Mercurial > hg > xemacs-beta
changeset 267:966663fcf606 r20-5b32
Import from CVS: tag r20-5b32
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 10:25:39 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:26:29 2007 +0200 @@ -1,4 +1,20 @@ -*- indented-text -*- +to 21.0 beta32 "Nachi" +-- NT image support from Andy Piper +-- Various fixes from Hrvoje Niksic +-- Canna detection now looks for includes in /usr/local/canna +-- load-gc renamed to pureload +-- itimer.el-1.07 courtesy of Kyle Jones +-- package-path searching fixes courtesy of Michael Sperber +-- buffer overrun prevention patches from Hrvoje Niksic, and Jan Vroonhof +-- various patches from Hrvoje Niksic +-- Miscellaneous patches from Kyle Jones, Kirill Katsnelson, +-- decode-path-internal added as lisp level interface to decode_path +-- parse-colon-path restored to files.el +-- miscellaneous startup fixes +-- DLL fixes from William Perry +-- PNG autodetectin update + to 20.5 beta31 "Myotonic" -- modules directory with dll examples courtesy of William Perry -- Upside-down TIFF fix from Jareth Hein
--- a/ChangeLog Mon Aug 13 10:25:39 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:26:29 2007 +0200 @@ -1,3 +1,41 @@ +1998-03-24 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-beta32 is released. + +1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * configure.in: Extended package path by version-specific + hierarchies. Changed allow-site-lisp to inhibit-site-lisp. + +1998-03-22 SL Baur <steve@altair.xemacs.org> + + * Makefile.in (distclean): Remove packages and mule-packages if they + have been linked into place. + +1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * <Today>: The Big Path Searching Overhaul. + + * Makefile.in, configure.in: Now pass all configure-specified paths + into the binary in a uniform way. + +1998-03-20 SL Baur <steve@altair.xemacs.org> + + * configure.in (have_libmcheck): Add test for glibc's malloc + checker. + - Fix HP/UX dynamic linking flag. + +1998-03-19 SL Baur <steve@altair.xemacs.org> + + * configure.in (quoted_arguments): Fix unquoted variable in + error-checking test. + - fix bogus substitution. + +1998-03-17 SL Baur <steve@altair.xemacs.org> + + * configure.in: In -lpng test, look for png_set_strip_alpha. + Suggested by William M. Perry <wmperry@aventail.com> + 1998-03-16 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0 beta31 is released.
--- a/Makefile.in Mon Aug 13 10:25:39 2007 +0200 +++ b/Makefile.in Mon Aug 13 10:26:29 2007 +0200 @@ -152,10 +152,17 @@ ## --datadir flag at configuration time. lispdir_user_defined=@lispdir_user_defined@ -## Directories XEmacs should search for lisp files specific +## Where packages are found. +packagepath=@packagepath@ + +## This is set to 'yes' if the user specified the --package_path +## at configuration time. +packagepath_user_defined=@packagepath_user_defined@ + + +## Directory XEmacs should search for lisp files specific ## to this site (i.e. customizations), before consulting -## ${lispdir}. This should be a colon-separated list of -## directories. +## ${lispdir}. sitelispdir=@sitelispdir@ ## Where XEmacs will search for its lisp files while @@ -304,6 +311,14 @@ then echo '#define PATH_LOADSEARCH "${lispdir}"'; \ else echo '/* #define PATH_LOADSEARCH "${lispdir}" */'; \ fi; \ + if test "${packagepath_user_defined}" = "yes"; \ + then echo '#define PATH_PACKAGEPATH "${packagepath}"'; \ + else echo '/* #define PATH_PACKAGEPATH "${packagepath}" */'; \ + 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}" */'; \ @@ -571,7 +586,8 @@ $(RM) $$d/Makefile $$d/Makefile.in ; \ done ; \ $(RM) core .sbinit Makefile lock/*; \ - $(RM) lisp/finder-inf.el* Installation.el Installation.elc + $(RM) lisp/finder-inf.el* Installation.el Installation.elc; \ + $(RM) packages mule-packages distclean: FRC.distclean for d in $(SUBDIR); do (cd $$d && $(RECURSIVE_MAKE) $@); done
--- a/configure Mon Aug 13 10:25:39 2007 +0200 +++ b/configure Mon Aug 13 10:26:29 2007 +0200 @@ -61,7 +61,6 @@ x_includes=NONE x_libraries=NONE CDPATH=.; export CDPATH -package_path=NONE if test -n "$ZSH_VERSION"; then setopt NO_BAD_PATTERN NO_BANG_HIST NO_BG_NICE NO_EQUALS NO_FUNCTION_ARGZERO @@ -225,12 +224,16 @@ lispdir='${datadir}/xemacs-${version}/lisp' lispdir_user_defined='no' sitelispdir='${datadir}/xemacs/site-lisp' +sitelispdir_user_defined='no' +packagepath='~/.xemacs::${datadir}/xemacs/mule-packages:${datadir}/xemacs-${version}/mule-packages:${datadir}/xemacs/packages:${datadir}/xemacs-${version}/packages' +packagepath_user_defined='no' 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='yes' with_menubars='' with_scrollbars='' with_dialogs='' @@ -367,7 +370,7 @@ puresize | \ cache_file | \ native_sound_lib | \ - package_path | \ + site_lisp | \ x_includes | \ x_libraries | \ site_includes | \ @@ -484,7 +487,7 @@ "error_checking" ) - for x in `echo "$val" | sed -e 's/,/ /'` ; do + for x in `echo "$val" | sed -e 's/,/ /g'` ; do case "$x" in n | no | non | none ) new_default=no ;; a | al | all ) new_default=yes ;; @@ -508,7 +511,7 @@ esac if test "$bogus_error_check" -o \ \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then - if test $error_check_default = yes ; then + if test "$error_check_default" = yes ; then types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'." else types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." @@ -532,7 +535,7 @@ prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ - archlibdir | sitelispdir | docdir ) + archlibdir | sitelispdir | docdir | packagepath ) if test "$valomitted" = "yes"; then if test "$#" = 0; then (echo "$progname: Usage error:" @@ -545,9 +548,11 @@ case "$opt" in lispdir ) lispdir_user_defined=yes ;; + sitelispdir ) sitelispdir_user_defined=yes ;; etcdir ) etcdir_user_defined=yes ;; infodir ) infodir_user_defined=yes ;; infopath ) infopath_user_defined=yes ;; + packagepath ) packagepath_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 ;; @@ -642,7 +647,7 @@ if test -z "$configuration"; then echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:646: checking "host system type"" >&5 +echo "configure:651: checking "host system type"" >&5 if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \ sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` ; then echo "$ac_t""$configuration" 1>&6 @@ -656,7 +661,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:660: checking whether ln -s works" >&5 +echo "configure:665: checking whether ln -s works" >&5 rm -f conftestdata if ln -s X conftestdata 2>/dev/null @@ -833,7 +838,7 @@ echo "checking "the configuration name"" 1>&6 -echo "configure:837: checking "the configuration name"" >&5 +echo "configure:842: checking "the configuration name"" >&5 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'` if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else exit $? @@ -1290,7 +1295,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:1294: checking for $ac_word" >&5 +echo "configure:1299: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1316,7 +1321,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:1320: checking for $ac_word" >&5 +echo "configure:1325: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1361,7 +1366,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1365: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1370: 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' @@ -1373,11 +1378,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1377 "configure" +#line 1382 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1386: \"$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 @@ -1397,19 +1402,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:1401: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1406: 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:1406: checking whether we are using GNU C" >&5 +echo "configure:1411: 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:1413: \"$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:1418: \"$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 @@ -1423,7 +1428,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1427: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1432: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1452,7 +1457,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:1456: checking for $ac_word" >&5 +echo "configure:1461: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1478,7 +1483,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:1482: checking for $ac_word" >&5 +echo "configure:1487: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1523,7 +1528,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1527: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1532: 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' @@ -1535,11 +1540,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1539 "configure" +#line 1544 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1548: \"$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 @@ -1559,19 +1564,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:1563: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1568: 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:1568: checking whether we are using GNU C" >&5 +echo "configure:1573: 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:1575: \"$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:1580: \"$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 @@ -1585,7 +1590,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1589: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1594: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1614,7 +1619,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:1618: checking for $ac_word" >&5 +echo "configure:1623: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1640,7 +1645,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:1644: checking for $ac_word" >&5 +echo "configure:1649: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1685,7 +1690,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1689: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1694: 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' @@ -1697,11 +1702,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1701 "configure" +#line 1706 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1710: \"$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 @@ -1721,19 +1726,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:1725: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1730: 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:1730: checking whether we are using GNU C" >&5 +echo "configure:1735: 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:1737: \"$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:1742: \"$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 @@ -1747,7 +1752,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1751: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1756: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1780,7 +1785,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:1784: checking how to run the C preprocessor" >&5 +echo "configure:1789: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1793,13 +1798,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1797 "configure" +#line 1802 "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:1803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1808: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1810,13 +1815,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1814 "configure" +#line 1819 "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:1820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1839,9 +1844,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:1843: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 1845 "configure" +echo "configure:1848: checking for AIX" >&5 +cat > conftest.$ac_ext <<EOF +#line 1850 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -1868,9 +1873,9 @@ echo $ac_n "checking for GNU libc""... $ac_c" 1>&6 -echo "configure:1872: checking for GNU libc" >&5 -cat > conftest.$ac_ext <<EOF -#line 1874 "configure" +echo "configure:1877: checking for GNU libc" >&5 +cat > conftest.$ac_ext <<EOF +#line 1879 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -1882,7 +1887,7 @@ ; return 0; } EOF -if { (eval echo configure:1886: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1891: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -1895,9 +1900,9 @@ echo "$ac_t""$have_glibc" 1>&6 echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6 -echo "configure:1899: checking whether we are using SunPro C" >&5 -cat > conftest.$ac_ext <<EOF -#line 1901 "configure" +echo "configure:1904: checking whether we are using SunPro C" >&5 +cat > conftest.$ac_ext <<EOF +#line 1906 "configure" #include "confdefs.h" int main() { @@ -1908,7 +1913,7 @@ ; return 0; } EOF -if { (eval echo configure:1912: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* __sunpro_c=yes else @@ -2184,7 +2189,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2188: checking for dynodump" >&5 +echo "configure:2193: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2282,19 +2287,19 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2286: checking "for runtime libraries flag"" >&5 +echo "configure:2291: 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" cat > conftest.$ac_ext <<EOF -#line 2291 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2298: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 2296 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2381,10 +2386,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2385: checking for malloc_get_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2388 "configure" +echo "configure:2390: checking for malloc_get_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2393 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_get_state(); below. */ @@ -2407,7 +2412,7 @@ ; return 0; } EOF -if { (eval echo configure:2411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2416: \"$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 @@ -2427,10 +2432,10 @@ fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2431: checking for malloc_set_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2434 "configure" +echo "configure:2436: checking for malloc_set_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2439 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_set_state(); below. */ @@ -2453,7 +2458,7 @@ ; return 0; } EOF -if { (eval echo configure:2457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2462: \"$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 @@ -2473,16 +2478,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2477: checking whether __after_morecore_hook exists" >&5 -cat > conftest.$ac_ext <<EOF -#line 2479 "configure" +echo "configure:2482: checking whether __after_morecore_hook exists" >&5 +cat > conftest.$ac_ext <<EOF +#line 2484 "configure" #include "confdefs.h" extern void (* __after_morecore_hook)(); int main() { __after_morecore_hook = 0 ; return 0; } EOF -if { (eval echo configure:2486: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2544,10 +2549,12 @@ fi + + # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2551: checking for $ac_word" >&5 +echo "configure:2558: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -2600,7 +2607,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:2604: checking for a BSD compatible install" >&5 +echo "configure:2611: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" @@ -2651,7 +2658,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:2655: checking for $ac_word" >&5 +echo "configure:2662: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -2682,15 +2689,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2686: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2689 "configure" +echo "configure:2693: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2696 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2694: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2723,15 +2730,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2727: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2730 "configure" +echo "configure:2734: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2737 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2735: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2742: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2764,15 +2771,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2768: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2771 "configure" +echo "configure:2775: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2778 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2802,10 +2809,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2806: checking for sys/wait.h that is POSIX.1 compatible" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2809 "configure" +echo "configure:2813: checking for sys/wait.h that is POSIX.1 compatible" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2816 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -2821,7 +2828,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2832: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2845,10 +2852,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:2849: checking for ANSI C header files" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2852 "configure" +echo "configure:2856: checking for ANSI C header files" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2859 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -2856,7 +2863,7 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2867: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2873,7 +2880,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 2877 "configure" +#line 2884 "configure" #include "confdefs.h" #include <string.h> EOF @@ -2891,7 +2898,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 2895 "configure" +#line 2902 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -2909,7 +2916,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 2913 "configure" +#line 2920 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2920,7 +2927,7 @@ exit (0); } EOF -if { (eval echo configure:2924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:2931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else @@ -2945,10 +2952,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2949: checking whether time.h and sys/time.h may both be included" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2952 "configure" +echo "configure:2956: checking whether time.h and sys/time.h may both be included" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2959 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -2957,7 +2964,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2961: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2981,10 +2988,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:2985: checking for sys_siglist declaration in signal.h or unistd.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2988 "configure" +echo "configure:2992: checking for sys_siglist declaration in signal.h or unistd.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2995 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -2996,7 +3003,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3000: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3007: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3021,9 +3028,9 @@ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3025: checking for struct utimbuf" >&5 -cat > conftest.$ac_ext <<EOF -#line 3027 "configure" +echo "configure:3032: checking for struct utimbuf" >&5 +cat > conftest.$ac_ext <<EOF +#line 3034 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3042,7 +3049,7 @@ static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3053: \"$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 @@ -3062,10 +3069,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3066: checking return type of signal handlers" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3069 "configure" +echo "configure:3073: checking return type of signal handlers" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3076 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3082,7 +3089,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3104,10 +3111,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3108: checking for size_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3111 "configure" +echo "configure:3115: checking for size_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3118 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3138,10 +3145,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3142: checking for pid_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3145 "configure" +echo "configure:3149: checking for pid_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3152 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3172,10 +3179,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3176: checking for uid_t in sys/types.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3179 "configure" +echo "configure:3183: checking for uid_t in sys/types.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3186 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3211,10 +3218,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3215: checking for mode_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3218 "configure" +echo "configure:3222: checking for mode_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3225 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3245,10 +3252,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3249: checking for off_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3252 "configure" +echo "configure:3256: checking for off_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3259 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3280,9 +3287,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3284: checking for struct timeval" >&5 -cat > conftest.$ac_ext <<EOF -#line 3286 "configure" +echo "configure:3291: checking for struct timeval" >&5 +cat > conftest.$ac_ext <<EOF +#line 3293 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3298,7 +3305,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3309: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3320,10 +3327,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:3324: checking whether struct tm is in sys/time.h or time.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3327 "configure" +echo "configure:3331: checking whether struct tm is in sys/time.h or time.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3334 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -3331,7 +3338,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3342: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3355,10 +3362,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3359: checking for tm_zone in struct tm" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3362 "configure" +echo "configure:3366: checking for tm_zone in struct tm" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3369 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_cv_struct_tm> @@ -3366,7 +3373,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3389,10 +3396,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3393: checking for tzname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3396 "configure" +echo "configure:3400: checking for tzname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3403 "configure" #include "confdefs.h" #include <time.h> #ifndef tzname /* For SGI. */ @@ -3402,7 +3409,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3428,10 +3435,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3432: checking for working const" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3435 "configure" +echo "configure:3439: checking for working const" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3442 "configure" #include "confdefs.h" int main() { @@ -3480,7 +3487,7 @@ ; return 0; } EOF -if { (eval echo configure:3484: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3505,7 +3512,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3509: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:3516: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -3530,12 +3537,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3534: checking whether byte ordering is bigendian" >&5 +echo "configure:3541: 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 3539 "configure" +#line 3546 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3546,11 +3553,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3557: \"$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 3554 "configure" +#line 3561 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3561,7 +3568,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3565: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3572: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3578,7 +3585,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <<EOF -#line 3582 "configure" +#line 3589 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -3591,7 +3598,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:3595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_bigendian=no else @@ -3617,10 +3624,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:3621: checking size of short" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3624 "configure" +echo "configure:3628: checking size of short" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3631 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3631,7 +3638,7 @@ exit(0); } EOF -if { (eval echo configure:3635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -3658,10 +3665,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3662: checking size of int" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3665 "configure" +echo "configure:3669: checking size of int" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3672 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3672,7 +3679,7 @@ exit(0); } EOF -if { (eval echo configure:3676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -3693,10 +3700,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3697: checking size of long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3700 "configure" +echo "configure:3704: checking size of long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3707 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3707,7 +3714,7 @@ exit(0); } EOF -if { (eval echo configure:3711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -3728,10 +3735,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:3732: checking size of long long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3735 "configure" +echo "configure:3739: checking size of long long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3742 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3742,7 +3749,7 @@ exit(0); } EOF -if { (eval echo configure:3746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3753: \"$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 @@ -3763,10 +3770,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:3767: checking size of void *" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3770 "configure" +echo "configure:3774: checking size of void *" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3777 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3777,7 +3784,7 @@ exit(0); } EOF -if { (eval echo configure:3781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3788: \"$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 @@ -3799,7 +3806,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:3803: checking for long file names" >&5 +echo "configure:3810: 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: @@ -3846,12 +3853,12 @@ echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:3850: checking for sin in -lm" >&5 +echo "configure:3857: 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 3855 "configure" +#line 3862 "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 @@ -3862,7 +3869,7 @@ sin() ; return 0; } EOF -if { (eval echo configure:3866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3873: \"$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 @@ -3904,14 +3911,14 @@ cat > conftest.$ac_ext <<EOF -#line 3908 "configure" +#line 3915 "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:3915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3922: \"$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 @@ -3928,7 +3935,7 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:3932: checking type of mail spool file locking" >&5 +echo "configure:3939: 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 @@ -3952,12 +3959,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:3956: checking for kstat_open in -lkstat" >&5 +echo "configure:3963: 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 3961 "configure" +#line 3968 "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 @@ -3968,7 +3975,7 @@ kstat_open() ; return 0; } EOF -if { (eval echo configure:3972: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3979: \"$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 @@ -4002,12 +4009,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:4006: checking for kvm_read in -lkvm" >&5 +echo "configure:4013: 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 4011 "configure" +#line 4018 "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 @@ -4018,7 +4025,7 @@ kvm_read() ; return 0; } EOF -if { (eval echo configure:4022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4029: \"$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 @@ -4052,12 +4059,12 @@ echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4056: checking for cma_open in -lpthreads" >&5 +echo "configure:4063: 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 4061 "configure" +#line 4068 "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 @@ -4068,7 +4075,7 @@ cma_open() ; return 0; } EOF -if { (eval echo configure:4072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4079: \"$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,7 +4111,7 @@ fi echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4108: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4115: 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; @@ -4115,7 +4122,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:4119: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4126: 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 ;; @@ -4125,7 +4132,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:4129: checking "for specified window system"" >&5 +echo "configure:4136: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4155,7 +4162,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:4159: checking for X" >&5 +echo "configure:4166: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4215,12 +4222,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 4219 "configure" +#line 4226 "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:4224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4231: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4289,14 +4296,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 4293 "configure" +#line 4300 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:4300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4307: \"$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. @@ -4405,17 +4412,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:4409: checking whether -R must be followed by a space" >&5 +echo "configure:4416: 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 4412 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4419 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4431,14 +4438,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 4435 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4442 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4474,12 +4481,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4478: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4485: 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 4483 "configure" +#line 4490 "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 @@ -4490,7 +4497,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4501: \"$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 @@ -4514,12 +4521,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:4518: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4525: 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 4523 "configure" +#line 4530 "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 @@ -4530,7 +4537,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4541: \"$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 @@ -4559,10 +4566,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:4563: checking for gethostbyname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4566 "configure" +echo "configure:4570: checking for gethostbyname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4573 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -4585,7 +4592,7 @@ ; 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:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4606,12 +4613,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4610: checking for gethostbyname in -lnsl" >&5 +echo "configure:4617: 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 4615 "configure" +#line 4622 "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 @@ -4622,7 +4629,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:4626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4633: \"$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 @@ -4652,10 +4659,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:4656: checking for connect" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4659 "configure" +echo "configure:4663: checking for connect" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4666 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -4678,7 +4685,7 @@ ; return 0; } EOF -if { (eval echo configure:4682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4701,12 +4708,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:4705: checking "$xe_msg_checking"" >&5 +echo "configure:4712: 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 4710 "configure" +#line 4717 "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 @@ -4717,7 +4724,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:4721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4728: \"$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 @@ -4741,10 +4748,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:4745: checking for remove" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4748 "configure" +echo "configure:4752: checking for remove" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4755 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -4767,7 +4774,7 @@ ; return 0; } EOF -if { (eval echo configure:4771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4788,12 +4795,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4792: checking for remove in -lposix" >&5 +echo "configure:4799: 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 4797 "configure" +#line 4804 "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 @@ -4804,7 +4811,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:4808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4815: \"$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 @@ -4828,10 +4835,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:4832: checking for shmat" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4835 "configure" +echo "configure:4839: checking for shmat" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4842 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -4854,7 +4861,7 @@ ; return 0; } EOF -if { (eval echo configure:4858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -4875,12 +4882,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:4879: checking for shmat in -lipc" >&5 +echo "configure:4886: 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 4884 "configure" +#line 4891 "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 @@ -4891,7 +4898,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:4895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4902: \"$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 @@ -4925,12 +4932,12 @@ # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:4929: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:4936: 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 4934 "configure" +#line 4941 "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 @@ -4941,7 +4948,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:4945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4952: \"$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 @@ -5095,7 +5102,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5099: checking for X defines extracted by xmkmf" >&5 +echo "configure:5106: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5127,15 +5134,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5131: checking for X11/Intrinsic.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5134 "configure" +echo "configure:5138: checking for X11/Intrinsic.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5141 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5139: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5146: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5159,12 +5166,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5163: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5170: 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 5168 "configure" +#line 5175 "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 @@ -5175,7 +5182,7 @@ XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5186: \"$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 @@ -5200,12 +5207,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:5204: checking "$xe_msg_checking"" >&5 +echo "configure:5211: 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 5209 "configure" +#line 5216 "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 @@ -5216,7 +5223,7 @@ XGetFontProperty() ; return 0; } EOF -if { (eval echo configure:5220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5227: \"$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 @@ -5243,12 +5250,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5247: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5254: 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 5252 "configure" +#line 5259 "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 @@ -5259,7 +5266,7 @@ XShapeSelectInput() ; return 0; } EOF -if { (eval echo configure:5263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5270: \"$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 @@ -5282,12 +5289,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5286: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5293: 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 5291 "configure" +#line 5298 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5298,7 +5305,7 @@ XtOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5309: \"$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 @@ -5321,14 +5328,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5325: checking the version of X11 being used" >&5 +echo "configure:5332: checking the version of X11 being used" >&5 cat > conftest.$ac_ext <<EOF -#line 5327 "configure" +#line 5334 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> main(int c, char* v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5352,15 +5359,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5356: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5359 "configure" +echo "configure:5363: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5366 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5391,7 +5398,7 @@ echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5395: checking for XFree86" >&5 +echo "configure:5402: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5411,12 +5418,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5415: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5422: 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 5420 "configure" +#line 5427 "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 @@ -5427,7 +5434,7 @@ XmuReadBitmapDataFromFile() ; return 0; } EOF -if { (eval echo configure:5431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5438: \"$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 @@ -5466,19 +5473,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5470: checking for main in -lXbsd" >&5 +echo "configure:5477: 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 5475 "configure" +#line 5482 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5489: \"$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 @@ -5506,22 +5513,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5510: checking for MS-Windows" >&5 +echo "configure:5517: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5513: checking for main in -lgdi32" >&5 +echo "configure:5520: 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 5518 "configure" +#line 5525 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5532: \"$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 @@ -5573,8 +5580,8 @@ fi const_is_losing=no with_file_coding=yes - extra_objs="$extra_objs console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o" && if test "$extra_verbose" = "yes"; then - echo " xemacs will be linked with \"console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o\"" + extra_objs="$extra_objs console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o" && if test "$extra_verbose" = "yes"; then + echo " xemacs will be linked with \"console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o\"" fi fi fi @@ -5612,7 +5619,7 @@ esac echo "checking for session-management option" 1>&6 -echo "configure:5616: checking for session-management option" >&5; +echo "configure:5623: checking for session-management option" >&5; if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SESSION @@ -5627,15 +5634,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:5631: checking for X11/Xauth.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5634 "configure" +echo "configure:5638: checking for X11/Xauth.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5641 "configure" #include "confdefs.h" #include <X11/Xauth.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5639: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5646: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5658,12 +5665,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:5662: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:5669: 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 5667 "configure" +#line 5674 "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 @@ -5674,7 +5681,7 @@ XauGetAuthByAddr() ; return 0; } EOF -if { (eval echo configure:5678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5685: \"$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 @@ -5738,15 +5745,15 @@ for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:5742: checking for ${dir}tt_c.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5745 "configure" +echo "configure:5749: checking for ${dir}tt_c.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5752 "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:5750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5775,12 +5782,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:5779: checking "$xe_msg_checking"" >&5 +echo "configure:5786: 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 5784 "configure" +#line 5791 "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 @@ -5791,7 +5798,7 @@ tt_message_create() ; return 0; } EOF -if { (eval echo configure:5795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5802: \"$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 @@ -5840,15 +5847,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:5844: checking for Dt/Dt.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5847 "configure" +echo "configure:5851: checking for Dt/Dt.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5854 "configure" #include "confdefs.h" #include <Dt/Dt.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5852: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5859: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5871,12 +5878,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:5875: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:5882: 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 5880 "configure" +#line 5887 "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 @@ -5887,7 +5894,7 @@ DtDndDragStart() ; return 0; } EOF -if { (eval echo configure:5891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5898: \"$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 @@ -5924,18 +5931,18 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:5928: checking for LDAP" >&5 +echo "configure:5935: 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:5931: checking for ldap.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5934 "configure" +echo "configure:5938: checking for ldap.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5941 "configure" #include "confdefs.h" #include <ldap.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5939: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5958,15 +5965,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:5962: checking for lber.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5965 "configure" +echo "configure:5969: checking for lber.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5972 "configure" #include "confdefs.h" #include <lber.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5977: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5991,12 +5998,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:5995: checking "$xe_msg_checking"" >&5 +echo "configure:6002: 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 6000 "configure" +#line 6007 "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 @@ -6007,7 +6014,7 @@ ldap_open() ; return 0; } EOF -if { (eval echo configure:6011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6018: \"$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 @@ -6030,12 +6037,12 @@ } test \( -z "$with_ldap" -o "$with_ldap" = "yes" \) -a "$with_umich_ldap" = "no" && { echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6034: checking for ldap_set_option in -lldap10" >&5 +echo "configure:6041: 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 6039 "configure" +#line 6046 "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 @@ -6046,7 +6053,7 @@ ldap_set_option() ; return 0; } EOF -if { (eval echo configure:6050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6057: \"$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 @@ -6130,13 +6137,13 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:6134: checking for X11 graphics libraries" >&5 +echo "configure:6141: checking for X11 graphics libraries" >&5 echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:6137: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6144: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm test -z "$with_xpm" && { cat > conftest.$ac_ext <<EOF -#line 6140 "configure" +#line 6147 "configure" #include "confdefs.h" #include <X11/xpm.h> int main(int c, char **v) { @@ -6146,7 +6153,7 @@ 0 ; } EOF -if { (eval echo configure:6150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:6157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest foobar; xpm_status=$?; if test "$xpm_status" = "0"; then with_xpm=yes; else with_xpm=no; fi; @@ -6184,15 +6191,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:6188: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6191 "configure" +echo "configure:6195: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6198 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6196: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6203: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6215,12 +6222,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:6219: checking for UnGenFace in -lcompface" >&5 +echo "configure:6226: 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 6224 "configure" +#line 6231 "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 @@ -6231,7 +6238,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:6235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6242: \"$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 @@ -6266,18 +6273,18 @@ fi echo $ac_n "checking for giflib - no older than 3.1""... $ac_c" 1>&6 -echo "configure:6270: checking for giflib - no older than 3.1" >&5 +echo "configure:6277: 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:6273: checking for gif_lib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6276 "configure" +echo "configure:6280: checking for gif_lib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6283 "configure" #include "confdefs.h" #include <gif_lib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6288: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6300,12 +6307,12 @@ } test -z "$with_gif" && { echo $ac_n "checking for GetGifError in -lgif""... $ac_c" 1>&6 -echo "configure:6304: checking for GetGifError in -lgif" >&5 +echo "configure:6311: 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 6309 "configure" +#line 6316 "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 @@ -6316,7 +6323,7 @@ GetGifError() ; return 0; } EOF -if { (eval echo configure:6320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6327: \"$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 @@ -6352,15 +6359,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:6356: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6359 "configure" +echo "configure:6363: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6366 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6383,12 +6390,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6387: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6394: 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 6392 "configure" +#line 6399 "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 @@ -6399,7 +6406,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6410: \"$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 @@ -6435,15 +6442,15 @@ test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for png.h""... $ac_c" 1>&6 -echo "configure:6439: checking for png.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6442 "configure" +echo "configure:6446: checking for png.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6449 "configure" #include "confdefs.h" #include <png.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6465,10 +6472,10 @@ fi } test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6469: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6472 "configure" +echo "configure:6476: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6479 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6491,7 +6498,7 @@ ; return 0; } EOF -if { (eval echo configure:6495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -6513,26 +6520,26 @@ if test "$with_png" != "no"; then for extra_libs in "" "-lz" "-lgz"; do -xe_msg_checking="for png_read_image in -lpng" +xe_msg_checking="for png_set_strip_alpha in -lpng" 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:6520: checking "$xe_msg_checking"" >&5 -ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` +echo "configure:6527: checking "$xe_msg_checking"" >&5 +ac_lib_var=`echo png'_'png_set_strip_alpha | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng $extra_libs" cat > conftest.$ac_ext <<EOF -#line 6525 "configure" +#line 6532 "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 builtin and then its argument prototype would still apply. */ -char png_read_image(); - -int main() { -png_read_image() -; return 0; } -EOF -if { (eval echo configure:6536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +char png_set_strip_alpha(); + +int main() { +png_set_strip_alpha() +; return 0; } +EOF +if { (eval echo configure:6543: \"$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 @@ -6574,12 +6581,12 @@ xe_msg_checking="for TIFFReadScanline in -ltiff" 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:6578: checking "$xe_msg_checking"" >&5 +echo "configure:6585: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tiff'_'TIFFReadScanline | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff $extra_libs" cat > conftest.$ac_ext <<EOF -#line 6583 "configure" +#line 6590 "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 @@ -6590,7 +6597,7 @@ TIFFReadScanline() ; return 0; } EOF -if { (eval echo configure:6594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6601: \"$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 @@ -6628,12 +6635,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:6632: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:6639: 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 6637 "configure" +#line 6644 "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 @@ -6644,7 +6651,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:6648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6655: \"$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 @@ -6668,15 +6675,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6672: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6675 "configure" +echo "configure:6679: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6682 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6680: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6693,12 +6700,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:6697: checking for XmStringFree in -lXm" >&5 +echo "configure:6704: 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 6702 "configure" +#line 6709 "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 @@ -6709,7 +6716,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:6713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6720: \"$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 @@ -7000,7 +7007,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7004: checking for Mule-related features" >&5 +echo "configure:7011: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7025,15 +7032,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7029: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7032 "configure" +echo "configure:7036: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7039 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7037: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7044: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7064,12 +7071,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7068: checking for strerror in -lintl" >&5 +echo "configure:7075: 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 7073 "configure" +#line 7080 "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 @@ -7080,7 +7087,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7091: \"$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 @@ -7113,19 +7120,19 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7117: checking for Mule input methods" >&5 +echo "configure:7124: checking for Mule input methods" >&5 test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7121: checking for XIM" >&5 +echo "configure:7128: checking for XIM" >&5 echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7124: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7131: 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 7129 "configure" +#line 7136 "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 @@ -7136,7 +7143,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7147: \"$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 @@ -7201,15 +7208,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7205: checking for XFontSet" >&5 +echo "configure:7212: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7208: checking for XmbDrawString in -lX11" >&5 +echo "configure:7215: 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 7213 "configure" +#line 7220 "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 @@ -7220,7 +7227,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7231: \"$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 @@ -7260,15 +7267,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:7264: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7267 "configure" +echo "configure:7271: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7274 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7272: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7293,10 +7300,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7297: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7300 "configure" +echo "configure:7304: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7307 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7319,7 +7326,7 @@ ; return 0; } EOF -if { (eval echo configure:7323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7348,12 +7355,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7352: checking for crypt in -lcrypt" >&5 +echo "configure:7359: 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 7357 "configure" +#line 7364 "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 @@ -7364,7 +7371,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7375: \"$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 @@ -7398,12 +7405,12 @@ fi test -z "$with_wnn" && { echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7402: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:7409: 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 7407 "configure" +#line 7414 "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 @@ -7414,7 +7421,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7425: \"$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 @@ -7451,12 +7458,12 @@ fi echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6 -echo "configure:7455: checking for jl_fi_dic_list in -lwnn" >&5 +echo "configure:7462: 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 7460 "configure" +#line 7467 "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 @@ -7467,7 +7474,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:7471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7478: \"$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 @@ -7497,17 +7504,90 @@ fi - test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` + canna_includes_found=no + 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:7512: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7515 "configure" +#include "confdefs.h" +#include <canna/jrkanji.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:7520: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + canna_includes_found=yes +else + echo "$ac_t""no" 1>&6 +fi + + fi + if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \ + -d "/usr/local/canna/include"; then + save_c_switch_site="$c_switch_site" + 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:7547: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7550 "configure" +#include "confdefs.h" +#include <canna/jrkanji.h> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:7555: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + canna_includes_found=yes +else + echo "$ac_t""no" 1>&6 +fi + + if test "$canna_includes_found" != "yes"; then + c_switch_site="$save_c_switch_site" + with_canna="no" + fi + fi + + test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:7503: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7506 "configure" +echo "configure:7583: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7586 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7591: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7530,12 +7610,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:7534: checking for RkBgnBun in -lRKC" >&5 +echo "configure:7614: 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 7539 "configure" +#line 7619 "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 @@ -7546,7 +7626,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:7550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7630: \"$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 @@ -7569,12 +7649,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:7573: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:7653: 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 7578 "configure" +#line 7658 "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 @@ -7585,7 +7665,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:7589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7669: \"$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 @@ -7634,12 +7714,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:7638: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:7718: 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 7643 "configure" +#line 7723 "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 @@ -7650,7 +7730,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:7654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7734: \"$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 @@ -7723,10 +7803,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:7727: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7730 "configure" +echo "configure:7807: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7810 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7749,7 +7829,7 @@ ; return 0; } EOF -if { (eval echo configure:7753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7786,10 +7866,10 @@ for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7790: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7793 "configure" +echo "configure:7870: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7873 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7812,7 +7892,7 @@ ; return 0; } EOF -if { (eval echo configure:7816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7845,16 +7925,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:7849: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 7851 "configure" +echo "configure:7929: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 7931 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:7858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7938: \"$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 @@ -7874,16 +7954,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:7878: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 7880 "configure" +echo "configure:7958: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 7960 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:7887: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7967: \"$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 @@ -7903,11 +7983,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:7907: checking whether localtime caches TZ" >&5 +echo "configure:7987: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 7911 "configure" +#line 7991 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -7942,7 +8022,7 @@ exit (0); } EOF -if { (eval echo configure:7946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then emacs_cv_localtime_cache=no else @@ -7971,9 +8051,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday cannot accept two arguments""... $ac_c" 1>&6 -echo "configure:7975: checking whether gettimeofday cannot accept two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 7977 "configure" +echo "configure:8055: checking whether gettimeofday cannot accept two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8057 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -7995,7 +8075,7 @@ ; return 0; } EOF -if { (eval echo configure:7999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""no" 1>&6 else @@ -8017,19 +8097,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8021: checking for inline" >&5 +echo "configure:8101: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8026 "configure" +#line 8106 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8079,17 +8159,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:8083: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8086 "configure" +echo "configure:8163: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8166 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8173: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -8113,10 +8193,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8117: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8120 "configure" +echo "configure:8197: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8200 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -8139,7 +8219,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -8178,10 +8258,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8182: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8185 "configure" +echo "configure:8262: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8265 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8205,10 +8285,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:8209: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8212 "configure" +echo "configure:8289: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8292 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8231,7 +8311,7 @@ ; return 0; } EOF -if { (eval echo configure:8235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8261,10 +8341,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:8265: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8268 "configure" +echo "configure:8345: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8348 "configure" #include "confdefs.h" find_stack_direction () { @@ -8283,7 +8363,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:8287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_stack_direction=1 else @@ -8311,15 +8391,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8315: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8318 "configure" +echo "configure:8395: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8398 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8347,10 +8427,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:8351: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8354 "configure" +echo "configure:8431: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8434 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -8445,7 +8525,7 @@ } } EOF -if { (eval echo configure:8449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_vfork_works=yes else @@ -8470,10 +8550,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:8474: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8477 "configure" +echo "configure:8554: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8557 "configure" #include "confdefs.h" #include <string.h> main () @@ -8483,7 +8563,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:8487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -8510,10 +8590,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8514: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8517 "configure" +echo "configure:8594: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8597 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8536,7 +8616,7 @@ ; return 0; } EOF -if { (eval echo configure:8540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8564,10 +8644,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:8568: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8571 "configure" +echo "configure:8648: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8651 "configure" #include "confdefs.h" /* @@ -8622,7 +8702,7 @@ } EOF -if { (eval echo configure:8626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -8648,10 +8728,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:8652: checking for working mmap" >&5 +echo "configure:8732: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 8655 "configure" +#line 8735 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -8684,7 +8764,7 @@ return 1; } EOF -if { (eval echo configure:8688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then have_mmap=yes else @@ -8718,15 +8798,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:8722: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8725 "configure" +echo "configure:8802: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8805 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8730: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8810: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8769,15 +8849,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:8773: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8776 "configure" +echo "configure:8853: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8856 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8781: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8861: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8809,10 +8889,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:8813: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8816 "configure" +echo "configure:8893: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8896 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -8835,7 +8915,7 @@ ; return 0; } EOF -if { (eval echo configure:8839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -8850,15 +8930,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:8854: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8857 "configure" +echo "configure:8934: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8937 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8942: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8875,15 +8955,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:8879: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8882 "configure" +echo "configure:8959: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8962 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8967: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8908,9 +8988,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:8912: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:8992: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 8914 "configure" +#line 8994 "configure" #include "confdefs.h" #include <sys/types.h> @@ -8921,7 +9001,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:8925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9005: \"$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 @@ -8939,9 +9019,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:8943: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:9023: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 8945 "configure" +#line 9025 "configure" #include "confdefs.h" #include <netinet/in.h> @@ -8950,7 +9030,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:8954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9034: \"$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 @@ -8981,10 +9061,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:8985: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8988 "configure" +echo "configure:9065: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9068 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -9007,7 +9087,7 @@ ; return 0; } EOF -if { (eval echo configure:9011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -9022,15 +9102,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:9026: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9029 "configure" +echo "configure:9106: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9109 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9114: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9047,15 +9127,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:9051: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9054 "configure" +echo "configure:9131: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9134 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9059: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9139: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9093,15 +9173,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:9097: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9100 "configure" +echo "configure:9177: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9180 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9185: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9128,15 +9208,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:9132: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9135 "configure" +echo "configure:9212: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9215 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9169,15 +9249,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:9173: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9176 "configure" +echo "configure:9253: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9256 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9181: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9261: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9207,7 +9287,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:9211: checking "for sound support"" >&5 +echo "configure:9291: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -9218,15 +9298,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:9222: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9225 "configure" +echo "configure:9302: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9305 "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:9230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9274,12 +9354,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:9278: checking for ALopenport in -laudio" >&5 +echo "configure:9358: 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 9283 "configure" +#line 9363 "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 @@ -9290,7 +9370,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:9294: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9374: \"$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 @@ -9321,12 +9401,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:9325: checking for AOpenAudio in -lAlib" >&5 +echo "configure:9405: 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 9330 "configure" +#line 9410 "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 @@ -9337,7 +9417,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:9341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9421: \"$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 @@ -9375,15 +9455,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:9379: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9382 "configure" +echo "configure:9459: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9462 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9453,7 +9533,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 9457 "configure" +#line 9537 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -9480,7 +9560,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:9484: checking for TTY-related features" >&5 +echo "configure:9564: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -9496,12 +9576,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:9500: checking for tgetent in -lncurses" >&5 +echo "configure:9580: 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 9505 "configure" +#line 9585 "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 @@ -9512,7 +9592,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9596: \"$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 @@ -9545,15 +9625,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:9549: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9552 "configure" +echo "configure:9629: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9632 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9575,15 +9655,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:9579: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9582 "configure" +echo "configure:9659: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9662 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9587: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9667: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9613,15 +9693,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:9617: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9620 "configure" +echo "configure:9697: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9700 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9656,12 +9736,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:9660: checking for tgetent in -l$lib" >&5 +echo "configure:9740: 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 9665 "configure" +#line 9745 "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 @@ -9672,7 +9752,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9756: \"$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 @@ -9703,12 +9783,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:9707: checking for tgetent in -lcurses" >&5 +echo "configure:9787: 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 9712 "configure" +#line 9792 "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 @@ -9719,7 +9799,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9723: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9803: \"$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 @@ -9737,12 +9817,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:9741: checking for tgetent in -ltermcap" >&5 +echo "configure:9821: 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 9746 "configure" +#line 9826 "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 @@ -9753,7 +9833,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:9757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9837: \"$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 @@ -9801,15 +9881,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:9805: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9808 "configure" +echo "configure:9885: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9888 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9832,12 +9912,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:9836: checking for Gpm_Open in -lgpm" >&5 +echo "configure:9916: 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 9841 "configure" +#line 9921 "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 @@ -9848,7 +9928,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:9852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9932: \"$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 @@ -9897,22 +9977,22 @@ echo "checking for database support" 1>&6 -echo "configure:9901: checking for database support" >&5 +echo "configure:9981: 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:9908: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9911 "configure" +echo "configure:9988: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9991 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9944,12 +10024,12 @@ if test "$have_ndbm_h" = "yes"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:9948: checking for dbm_open in -lgdbm" >&5 +echo "configure:10028: 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 9953 "configure" +#line 10033 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9960,7 +10040,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:9964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10044: \"$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 @@ -9983,10 +10063,10 @@ fi if test "$with_database_gnudbm" != "yes"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:9987: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9990 "configure" +echo "configure:10067: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10070 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10009,7 +10089,7 @@ ; return 0; } EOF -if { (eval echo configure:10013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10093: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10045,10 +10125,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10049: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10052 "configure" +echo "configure:10129: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10132 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10071,7 +10151,7 @@ ; return 0; } EOF -if { (eval echo configure:10075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10092,12 +10172,12 @@ if test "$need_libdbm" != "no"; then echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:10096: checking for dbm_open in -ldbm" >&5 +echo "configure:10176: 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 10101 "configure" +#line 10181 "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 @@ -10108,7 +10188,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10192: \"$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 @@ -10145,10 +10225,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for dbopen""... $ac_c" 1>&6 -echo "configure:10149: checking for dbopen" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10152 "configure" +echo "configure:10229: checking for dbopen" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10232 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbopen(); below. */ @@ -10171,7 +10251,7 @@ ; return 0; } EOF -if { (eval echo configure:10175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbopen=yes" else @@ -10192,12 +10272,12 @@ if test "$need_libdb" != "no"; then echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6 -echo "configure:10196: checking for dbopen in -ldb" >&5 +echo "configure:10276: 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 10201 "configure" +#line 10281 "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 @@ -10208,7 +10288,7 @@ dbopen() ; return 0; } EOF -if { (eval echo configure:10212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10292: \"$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 @@ -10232,7 +10312,7 @@ if test "$with_database_berkdb" = "yes"; then for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 10236 "configure" +#line 10316 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -10250,7 +10330,7 @@ ; return 0; } EOF -if { (eval echo configure:10254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10334: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -10302,12 +10382,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:10306: checking for SOCKSinit in -lsocks" >&5 +echo "configure:10386: 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 10311 "configure" +#line 10391 "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 @@ -10318,7 +10398,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:10322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10402: \"$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 @@ -10375,15 +10455,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10379: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10382 "configure" +echo "configure:10459: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10462 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10414,12 +10494,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:10418: checking for dlopen in -ldl" >&5 +echo "configure:10498: 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 10423 "configure" +#line 10503 "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 @@ -10430,7 +10510,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:10434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10514: \"$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 @@ -10459,12 +10539,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:10463: checking for _dlopen in -lc" >&5 +echo "configure:10543: 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 10468 "configure" +#line 10548 "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 @@ -10475,7 +10555,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:10479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10559: \"$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 @@ -10504,12 +10584,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:10508: checking for dlopen in -lc" >&5 +echo "configure:10588: 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 10513 "configure" +#line 10593 "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 @@ -10520,7 +10600,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:10524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10604: \"$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 @@ -10549,12 +10629,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:10553: checking for shl_load in -ldld" >&5 +echo "configure:10633: 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 10558 "configure" +#line 10638 "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 @@ -10565,7 +10645,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:10569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10649: \"$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 @@ -10594,12 +10674,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:10598: checking for dld_init in -ldld" >&5 +echo "configure:10678: 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 10603 "configure" +#line 10683 "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 @@ -10610,7 +10690,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:10614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10694: \"$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 @@ -10660,7 +10740,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:10664: checking how to build a shared library" >&5 +echo "configure:10744: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -10750,7 +10830,7 @@ ld_dynamic_link_flags= case "$opsys" in - hpux*) ld_dynamic_link_flags="-E" ;; + hpux*) ld_dynamic_link_flags="-Wl,-E" ;; linux*) ld_dynamic_link_flags="-rdynamic" ;; *) ;; esac @@ -10926,6 +11006,9 @@ + + + RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" @@ -10934,19 +11017,17 @@ - -if test "${package_path}" = "NONE" ; then - package_path="~/.xemacs:${prefix}/lib/xemacs/packages" -fi -package_path=`echo $package_path | sed 'y/ /:/'` -{ test "$extra_verbose" = "yes" && cat << EOF - Defining PACKAGE_PATH = "$package_path" -EOF -cat >> confdefs.h <<EOF -#define PACKAGE_PATH "$package_path" -EOF -} - +# The default is yes +if test "$with_site_lisp" = "no"; then + { test "$extra_verbose" = "yes" && cat << \EOF + Defining INHIBIT_SITE_LISP +EOF +cat >> confdefs.h <<\EOF +#define INHIBIT_SITE_LISP 1 +EOF +} + +fi T="" @@ -11181,7 +11262,6 @@ Where should the build process find the source code? $srcdir What installation prefix should install use? $prefix - Where should XEmacs look for packages? $package_path What operating system and machine description files should XEmacs use? \`$opsysfile' and \`$machfile' What compiler should XEmacs be built with? $CC $CFLAGS @@ -11286,8 +11366,6 @@ test "$with_pop" = yes && echo " Using POP for mail access" test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication" test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host" -echo " The \`Info-default-directory-list' will be initialized from:" -echo " INFOPATH=\"$infopath\"" test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects." test "$with_minimal_tagbits" != "no" -o "$with_gung" != "no" && \ echo " Using Lisp_Objects with minimal tagbits." @@ -11444,9 +11522,12 @@ s%@infodir_user_defined@%$infodir_user_defined%g s%@infopath@%$infopath%g s%@infopath_user_defined@%$infopath_user_defined%g +s%@packagepath@%$packagepath%g +s%@packagepath_user_defined@%$packagepath_user_defined%g s%@lispdir@%$lispdir%g s%@lispdir_user_defined@%$lispdir_user_defined%g s%@sitelispdir@%$sitelispdir%g +s%@sitelispdir_user_defined@%$sitelispdir_user_defined%g s%@etcdir@%$etcdir%g s%@etcdir_user_defined@%$etcdir_user_defined%g s%@lockdir@%$lockdir%g
--- a/configure.in Mon Aug 13 10:25:39 2007 +0200 +++ b/configure.in Mon Aug 13 10:26:29 2007 +0200 @@ -255,8 +255,6 @@ x_includes=NONE x_libraries=NONE CDPATH=.; export CDPATH -dnl this will serve for testing if a default value should be given -package_path=NONE dnl Allow this script to work with zsh, by setting sh emulation options if test -n "$ZSH_VERSION"; then @@ -335,12 +333,16 @@ lispdir='${datadir}/xemacs-${version}/lisp' lispdir_user_defined='no' sitelispdir='${datadir}/xemacs/site-lisp' +sitelispdir_user_defined='no' +packagepath='~/.xemacs::${datadir}/xemacs/mule-packages:${datadir}/xemacs-${version}/mule-packages:${datadir}/xemacs/packages:${datadir}/xemacs-${version}/packages' +packagepath_user_defined='no' 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='yes' with_menubars='' with_scrollbars='' with_dialogs='' @@ -514,7 +516,7 @@ puresize | \ cache_file | \ native_sound_lib | \ - package_path | \ + site_lisp | \ x_includes | \ x_libraries | \ site_includes | \ @@ -629,7 +631,7 @@ dnl Example: --error-checking=all,noextents,nobufpos dnl Example: --error-checking=none,malloc,gc - for x in `echo "$val" | sed -e 's/,/ /'` ; do + for x in `echo "$val" | sed -e 's/,/ /g'` ; do case "$x" in dnl all and none are only permitted as the first in the list. n | no | non | none ) new_default=no ;; @@ -654,7 +656,7 @@ esac if test "$bogus_error_check" -o \ \( -n "$new_default" -a -n "$echeck_notfirst" \) ; then - if test $error_check_default = yes ; then + if test "$error_check_default" = yes ; then types="\`all' (default), \`none', \`noextents', \`notypecheck', \`nobufpos', \`nogc', and \`nomalloc'." else types="\`all', \`none' (default), \`extents', \`typecheck', \`bufpos', \`gc', and \`malloc'." @@ -681,7 +683,7 @@ dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ - archlibdir | sitelispdir | docdir ) + archlibdir | sitelispdir | docdir | packagepath ) dnl If the value was omitted, get it from the next argument. if test "$valomitted" = "yes"; then if test "$#" = 0; then @@ -697,9 +699,11 @@ 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 ;; infopath ) infopath_user_defined=yes ;; + packagepath ) packagepath_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 ;; @@ -1962,6 +1966,23 @@ with_minimal_tagbits=yes fi +dnl #### mcheck is broken in all versions of Linux libc and glibc. +dnl Try this again when 2.1 hits the streets. +dnl Avoid using free-hook.c if support exists for malloc debugging in libc +dnl have_libmcheck=no +dnl if test "$error_check_malloc" = "yes" -a \ +dnl "$have_glibc" = "yes" -a \ +dnl "$doug_lea_malloc" = "yes"; then +dnl AC_CHECK_HEADERS(mcheck.h) +dnl AC_CHECK_LIB(mcheck, mcheck, have_libmcheck=yes, have_libmcheck=no) +dnl fi + +dnl if test "$have_libmcheck" = "yes"; then +dnl AC_DEFINE(HAVE_LIBMCHECK) +dnl libmcheck=-lmcheck +dnl AC_SUBST(libmcheck) +dnl fi + dnl Some other nice autoconf tests. If you add a test here which dnl should make an entry in src/config.h, do not forget to add an dnl #undef clause to src/config.h.in for autoconf to modify. @@ -2324,7 +2345,7 @@ fi const_is_losing=no with_file_coding=yes - XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o) + XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o) fi fi @@ -2525,7 +2546,7 @@ test -z "$with_png" && { AC_CHECK_FUNC(pow, , with_png=no) } if test "$with_png" != "no"; then for extra_libs in "" "-lz" "-lgz"; do - AC_CHECK_LIB(png, png_read_image, + AC_CHECK_LIB(png, png_set_strip_alpha, png_libs="-lpng $extra_libs" with_png=yes; break,[:],$extra_libs) done fi @@ -2733,6 +2754,21 @@ fi dnl Autodetect canna + canna_includes_found=no + if test "$with_canna" != "no"; then + AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes) + fi + if test "$canna_includes_found" = "no" -a "$with_canna" != "no" -a \ + -d "/usr/local/canna/include"; then + save_c_switch_site="$c_switch_site" + c_switch_site="$c_switch_site -I/usr/local/canna/include" + AC_CHECK_HEADER(canna/jrkanji.h,canna_includes_found=yes) + if test "$canna_includes_found" != "yes"; then + c_switch_site="$save_c_switch_site" + with_canna="no" + fi + fi + test -z "$with_canna" && { AC_CHECK_HEADER(canna/RK.h, , with_canna=no) } test -z "$with_canna" && { AC_CHECK_LIB(RKC, RkBgnBun, [:],with_canna=no) } test -z "$with_canna" && { AC_CHECK_LIB(canna,jrKanjiControl,[:],with_canna=no) } @@ -3264,7 +3300,7 @@ ld_dynamic_link_flags= dnl Fill this in with other values as this gets more testing case "$opsys" in - hpux*) ld_dynamic_link_flags="-E" ;; + hpux*) ld_dynamic_link_flags="-Wl,-E" ;; linux*) ld_dynamic_link_flags="-rdynamic" ;; *) ;; esac @@ -3373,9 +3409,12 @@ AC_SUBST(infodir_user_defined) AC_SUBST(infopath) AC_SUBST(infopath_user_defined) +AC_SUBST(packagepath) +AC_SUBST(packagepath_user_defined) AC_SUBST(lispdir) AC_SUBST(lispdir_user_defined) AC_SUBST(sitelispdir) +AC_SUBST(sitelispdir_user_defined) AC_SUBST(etcdir) AC_SUBST(etcdir_user_defined) AC_SUBST(lockdir) @@ -3414,14 +3453,10 @@ AC_SUBST(RANLIB) AC_SUBST(dynodump_arch) - -dnl if --package-path wasn't passed to configure, give the default value -if test "${package_path}" = "NONE" ; then - package_path="~/.xemacs:${prefix}/lib/xemacs/packages" +# The default is yes +if test "$with_site_lisp" = "no"; then + AC_DEFINE(INHIBIT_SITE_LISP) fi -dnl change blanks to colons in package path, and make available to config.h -package_path=`echo $package_path | sed 'y/ /:/'` -AC_DEFINE_UNQUOTED(PACKAGE_PATH, "$package_path") XE_SPACE(ac_configure_args, $ac_configure_args) AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical") @@ -3489,7 +3524,6 @@ Where should the build process find the source code? $srcdir What installation prefix should install use? $prefix - Where should XEmacs look for packages? $package_path What operating system and machine description files should XEmacs use? \`$opsysfile' and \`$machfile' What compiler should XEmacs be built with? $CC $CFLAGS @@ -3594,8 +3628,6 @@ test "$with_pop" = yes && echo " Using POP for mail access" test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication" test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host" -echo " The \`Info-default-directory-list' will be initialized from:" -echo " INFOPATH=\"$infopath\"" test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects." test "$with_minimal_tagbits" != "no" -o "$with_gung" != "no" && \ echo " Using Lisp_Objects with minimal tagbits."
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/editclient.sh Mon Aug 13 10:26:29 2007 +0200 @@ -0,0 +1,13 @@ +#!/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 +
--- a/etc/sample.emacs Mon Aug 13 10:25:39 2007 +0200 +++ b/etc/sample.emacs Mon Aug 13 10:26:29 2007 +0200 @@ -376,7 +376,8 @@ ;; (e.g. turner@lanl.gov), if set. (if (and running-xemacs - (or (and (= emacs-major-version 20) (>= emacs-minor-version 1)) + (or (> emacs-major-version 20) + (and (= emacs-major-version 20) (>= emacs-minor-version 1)) (and (= emacs-major-version 19) (>= emacs-minor-version 15)))) (progn (message "Loading and configuring bundled packages... efs")
--- a/lib-src/ChangeLog Mon Aug 13 10:25:39 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 10:26:29 2007 +0200 @@ -1,3 +1,8 @@ +1998-03-18 Jan Vroonhof <vroonhof@math.ethz.ch> + + * gnuclient.c (main): Do not copy string unnecessary in (too) + small buffers. + 1998-03-02 SL Baur <steve@altair.xemacs.org> * update-elc.sh: Change all -q -no-site-file to -vanilla
--- a/lib-src/config.values.in Mon Aug 13 10:25:39 2007 +0200 +++ b/lib-src/config.values.in Mon Aug 13 10:26:29 2007 +0200 @@ -93,12 +93,15 @@ native_sound_lib "@native_sound_lib@" oldincludedir "@oldincludedir@" opsysfile "@opsysfile@" +packagepath "@packagepath@" +packagepath_user_defined "@packagepath_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/lib-src/gnuclient.c Mon Aug 13 10:25:39 2007 +0200 +++ b/lib-src/gnuclient.c Mon Aug 13 10:26:29 2007 +0200 @@ -447,18 +447,19 @@ send_string (s, command); if (load_library) { - sprintf (command, " (load-library %s)", clean_string (load_library)); - send_string (s, command); + send_string (s , "(load-library "); + send_string (s, clean_string(load_library)); + send_string (s, ") "); } if (eval_form) { - sprintf (command, " %s", eval_form); - send_string (s, command); + send_string (s, eval_form); } if (eval_function) { - sprintf (command, " (%s)", eval_function); - send_string (s, command); + send_string (s, "("); + send_string (s, eval_function); + send_string (s, ")"); } send_string (s, "))"); send_string (s, EOT_STR);
--- a/lisp/ChangeLog Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:26:29 2007 +0200 @@ -1,9 +1,112 @@ +1998-03-23 SL Baur <steve@altair.xemacs.org> + + * minibuf.el (mouse-read-file-name-1): If a default directory was + specified, use it for generating the completions. + +1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * update-elc.el: Now respects inhibit-package-init and + inhibit-site-lisp. + Now does path construction with loadup-paths. + + * startup.el (normal-top-level, startup-setup-paths): Now respects + inhibit-package-init and inhibit-site-lisp. + + * packages.el (packages-find-package-path): Extended package path + by version-specific hierarchies. + (packages-find-packages): Now respects inhibit flag and + inhibit-site-lisp. + Moved path setup to loadup-paths. + + * make-docfile.el: Now respects inhibit-package-init and + inhibit-site-lisp. + Now does path construction with loadup-paths. + + * loadup.el: Now respects inhibit-package-init and + inhibit-site-lisp. + + * dumped-lisp.el (preloaded-file-list): Added loadup-paths. + + * loadup-paths.el: New file: setup load-path to encompass + packages. + +1998-03-22 SL Baur <steve@altair.xemacs.org> + + * auto-show.el: load-gc renamed to pureload. + * site-load.el: Ditto. + * packages.el (toplevel): Ditto. + * loadup.el (really-early-error-handler): Ditto. + * dumped-lisp.el (preloaded-file-list): Ditto. + * cus-face.el (custom-declare-face): Ditto. + +1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * <Today>: The Big Path Searching Overhaul. + + * find-paths.el: New file: find and assemble paths in the + installation hierarchy. + + * setup-paths.el: New file: global layout of paths and directories + within the XEmacs hierarchy. + + * packages.el: Replaced everything related to path searching and + startup by code in terms of find-paths. + + * loadup.el, make-docfile.el, update-elc.el, startup.el: Now calls + the new path searching engine. + + * dumped-lisp.el (preloaded-file-list): Added new files find-paths + and setup-paths. + +1998-03-22 SL Baur <steve@altair.xemacs.org> + + * dumped-lisp.el (preloaded-file-list): Load setup-paths.elc not + setup-paths.el. + +1998-03-20 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-glyphs.el: Added check for 'mswindows feature, so the file + compiles identically in any configuration. + Removed irrelevant commentary. + +1998-03-20 Kirill M. Katsnelson <kkm@kis.ru> + + * simple.el (set-variable): Allow setting specifiers. + +1998-03-19 SL Baur <steve@altair.xemacs.org> + + * lisp.el (forward-sexp): Revert previous change. + +1998-03-18 SL Baur <steve@altair.xemacs.org> + + * frame.el (frame-initialize): Use `delete-console' instead of + `delete-device' to delete the stream console to match the usage in + Fkill_emacs. + 1998-03-16 SL Baur <steve@altair.xemacs.org> * files.el (cdpath-previous): New variable. (cd): Use it. From Bob Weiner <weiner@wave.altrasoft.com> +1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> + + * keydefs.el: Changed keybindings of forward-char, + backward, scroll-up and scroll-down to point to their + -command counterparts. + + * simple.el: New functions: forwarc-char-command, + backwrad-char-command, scroll-up-command, + scroll-down-command which work liek their counterparts + except that they honor the variable + signal-error-on-buffer-boundary. + + Definition of signal-error-on-buffer-boundary received + from src/cmds.c. + + defvar declaration added for word-across-newline to avoid + byte-compiler warning about the free variable reference. + 1998-03-14 Kirill M. Katsnelson <kkm@kis.ru> * winnt.el: Removed "%t" from the beginning of
--- a/lisp/about.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/about.el Mon Aug 13 10:26:29 2007 +0200 @@ -1243,6 +1243,7 @@ (print-short "Gennady Agranov" "agranov@csa.CS.Technion.Ac.IL") (print-short "Adrian Aichner" "aichner@ecf.teradyne.com") (print-short "Mark Allender" "allender@vnet.IBM.COM") + (print-short "Stephen R. Anderson" "sra@bloch.ling.yale.edu") (print-short "Butch Anton" "butch@zaphod.uchicago.edu") (print-short "Fred Appelman" "Fred.Appelman@cv.ruu.nl") (print-short "Erik \"The Pope\" Arneson" "lazarus@mind.net") @@ -1447,6 +1448,7 @@ (print-short "Remek Trzaska" "remek@npac.syr.edu") (print-short "TSUTOMU Nakamura" "tsutomu@rs.kyoto.omronsoft.co.jp") (print-short "Stefanie Teufel" "s.teufel@ndh.net") + (print-short "Gary Thomas" "g.thomas@opengroup.org") (print-short "Stephen Turnbull" "turnbull@sk.tsukuba.ac.jp") (print-short "John Turner" "turner@xdiv.lanl.gov") (print-short "UENO Fumihiro" "7m2vej@ritp.ye.IHI.CO.JP") @@ -1459,8 +1461,10 @@ (print-short "Peter Ware" "ware@cis.ohio-state.edu") (print-short "Christoph Wedler" "wedler@fmi.uni-passau.de") (print-short "Yoav Weiss" "yoav@zeus.datasrv.co.il") + (print-short "Peter B. West" "p.west@uq.net.au") (print-short "Rod Whitby" "rwhitby@asc.corp.mot.com") (print-short "Rich Williams" "rdw@hplb.hpl.hp.com") + (print-short "Peter Windle" "peterw@SDL.UG.EDS.COM") (print-short "David C Worenklein" "dcw@gcm.com") (print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp") (print-short "Katsumi Yamaoka" "yamaoka@ga.sony.co.jp")
--- a/lisp/auto-show.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/auto-show.el Mon Aug 13 10:26:29 2007 +0200 @@ -191,7 +191,7 @@ ;;(add-hook 'post-command-hook 'auto-show-make-point-visible) ;; If being dumped, turn it on right away. -(when (boundp 'load-gc) +(when (boundp 'pureload) (auto-show-mode 1)) ;; Do auto-scrolling in comint buffers after process output also.
--- a/lisp/cus-face.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/cus-face.el Mon Aug 13 10:26:29 2007 +0200 @@ -28,7 +28,7 @@ ;;;###autoload (defun custom-declare-face (face spec doc &rest args) "Like `defface', but FACE is evaluated as a normal argument." - ;; (when (fboundp 'load-gc) + ;; (when (fboundp 'pureload) ;; (error "Attempt to declare a face during dump")) (unless (get face 'face-defface-spec) (put face 'face-defface-spec spec)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/dump-paths.el Mon Aug 13 10:26:29 2007 +0200 @@ -0,0 +1,47 @@ +;; dump-paths.el --- set up XEmacs paths for dumping + +;; Copyright (C) 1985, 1986, 1992, 1994, 1997 Free Software Foundation, Inc. + +;; Maintainer: XEmacs Development Team +;; Keywords: internal, dumped + +;; 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 + +;;; Commentary: + +;; This sets up the various paths for continuing loading files for +;; dumping. + +(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))) + (setq late-packages (cdr stuff))) + + (setq late-package-load-path (packages-find-package-load-path late-packages)) + + (setq load-path (paths-construct-load-path roots + '() + late-package-load-path + inhibit-site-lisp))) + +;;; dump-paths.el ends here
--- a/lisp/dumped-lisp.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/dumped-lisp.el Mon Aug 13 10:26:29 2007 +0200 @@ -1,13 +1,15 @@ (setq preloaded-file-list '("backquote" ; needed for defsubst etc. "bytecomp-runtime" ; define defsubst - ;; "setup-paths" ; We're not ready for this + #-infodock "Installation.el" + "find-paths" "packages" ; Bootstrap run-time lisp environment + "setup-paths" + "dump-paths" "subr" ; load the most basic Lisp functions "replace" ; match-string used in version.el. ; Ignore compiled-by-mistake version.elc "version.el" - #-infodock "Installation.el" "cl" "cl-extra" "cl-seq" @@ -23,7 +25,7 @@ "obsolete" "specifier" "faces" ; must be loaded before any make-face call -;;(load-gc "facemenu") #### not yet ported +;;(pureload "facemenu") #### not yet ported "glyphs" "objects" "extents" @@ -46,14 +48,14 @@ ;; autoloads file with the dumped packages removed. ;; After fixing, eos/loaddefs-eos and loaddefs appear identical?!! ;; So just make loaddefs-eos go away... -;;(load-gc (if (featurep 'sparcworks) "eos/loaddefs-eos" "loaddefs")) +;;(pureload (if (featurep 'sparcworks) "eos/loaddefs-eos" "loaddefs")) "startup" ; For initialization of ; `emacs-user-extension-dir' "misc" - ;; (load-gc "profile") + ;; (pureload "profile") #-mule "help-nomule" "help" - ;; (load-gc "hyper-apropos") Soon... + ;; (pureload "hyper-apropos") Soon... #-file-coding "files-nomule" "files" #-infodock "lib-complete" ; InfoDock uses an older version @@ -110,12 +112,12 @@ ;; or user switching of input systems??? ;(if (featurep 'wnn) ; (progn -; (load-gc "egg") -; (load-gc "egg-wnn") +; (pureload "egg") +; (pureload "egg-wnn") ; (setq egg-default-startup-file "eggrc-wnn"))) ;; (if (and (boundp 'CANNA) CANNA) -;; (load-gc "canna") +;; (pureload "canna") ;; ) ;; Now load files to set up all the different languages/environments @@ -123,11 +125,11 @@ #+mule "arabic" #+mule "chinese" - #+mule "cyrillic" + #+mule "mule-base/cyrillic" ; overloaded in leim/quail #+mule "english" ;; #+mule "ethiopic" #+mule "european" - #+mule "greek" + #+mule "mule-base/greek" ; overloaded in leim/quail #+mule "hebrew" #+mule "japanese" #+mule "korean" @@ -152,7 +154,7 @@ ;; Enable Mule capability for Gnus, mail, etc... ;; Moved to sunpro-load.el - the default only for Sun. -;;(load-gc "mime-setup") +;;(pureload "mime-setup") ;;; mule-load.el ends here #+window-system "gui" #+window-system "mode-motion"
--- a/lisp/files.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/files.el Mon Aug 13 10:26:29 2007 +0200 @@ -392,22 +392,23 @@ (defvar path-separator ":" "Character used to separate concatenated paths.") -;; Merged with equivalent C Code. -;(defun parse-colon-path (cd-path) -; "Explode a colon-separated list of paths into a string list." -; (and cd-path -; (let (cd-list (cd-start 0) cd-colon) -; (setq cd-path (concat cd-path path-separator)) -; (while (setq cd-colon (string-match path-separator cd-path cd-start)) -; (setq cd-list -; (nconc cd-list -; (list (if (= cd-start cd-colon) -; nil -; (substitute-in-file-name -; (file-name-as-directory -; (substring cd-path cd-start cd-colon))))))) -; (setq cd-start (+ cd-colon 1))) -; cd-list))) +(defun parse-colon-path (cd-path) + "Explode a colon-separated list of paths into a string list. +This will be moved into \"C\" when decode_path is no longer called so +early in XEmacs initialization." + (and cd-path + (let (cd-list (cd-start 0) cd-colon) + (setq cd-path (concat cd-path path-separator)) + (while (setq cd-colon (string-match path-separator cd-path cd-start)) + (setq cd-list + (nconc cd-list + (list (if (= cd-start cd-colon) + nil + (substitute-in-file-name + (file-name-as-directory + (substring cd-path cd-start cd-colon))))))) + (setq cd-start (+ cd-colon 1))) + cd-list))) (defun cd-absolute (dir) "Change current directory to given absolute file name DIR."
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/find-paths.el Mon Aug 13 10:26:29 2007 +0200 @@ -0,0 +1,241 @@ +;;; find-paths.el --- setup various XEmacs paths + +;; Copyright (C) 1985-1986, 1990, 1992-1997 Free Software Foundation, Inc. +;; Copyright (c) 1993, 1994 Sun Microsystems, Inc. +;; Copyright (C) 1995 Board of Trustees, University of Illinois + +;; Author: Mike Sperber <sperber@informatik.uni-tuebingen.de> +;; Maintainer: XEmacs Development Team +;; Keywords: internal, dumped + +;; 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, 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Synched up with: Not in FSF. + +;;; Commentary: + +;; This file is dumped with XEmacs. + +;; This file contains the library functionality to find paths into the +;; XEmacs hierarchy. + +;;; Code: + +(defvar paths-version-control-bases '("RCS" "CVS" "SCCS") + "File bases associated with version control.") + +(defun paths-find-recursive-path (directories &optional exclude) + "Return a list of the directory hierarchy underneath DIRECTORIES. +The returned list is sorted by pre-order and lexicographically." + (let ((path '())) + (while directories + (let ((directory (file-name-as-directory + (expand-file-name + (car directories))))) + (if (file-directory-p directory) + (let ((raw-dirs (directory-files directory nil "^[^-.]" nil 'dirs-only)) + (reverse-dirs '())) + + (while raw-dirs + (if (null (member (car raw-dirs) exclude)) + (setq reverse-dirs + (cons (expand-file-name (car raw-dirs) directory) + reverse-dirs))) + (setq raw-dirs (cdr raw-dirs))) + + (let ((sub-path + (paths-find-recursive-path (reverse reverse-dirs) exclude))) + (setq path (nconc path + (list directory) + sub-path)))))) + (setq directories (cdr directories))) + path)) + +(defun paths-find-recursive-load-path (directories) + "Construct a recursive load path underneath DIRECTORIES." + (paths-find-recursive-path directories paths-version-control-bases)) + +(defun paths-emacs-root-p (directory) + "Check if DIRECTORY is a plausible installation root for XEmacs." + (or + ;; installed + (file-directory-p + (concat directory "lib/xemacs-" (construct-emacs-version))) + ;; in-place + (and + (file-directory-p (concat directory "lib-src")) + (file-directory-p (concat directory "lisp")) + (file-directory-p (concat directory "src"))))) + +(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 ((directory (file-name-directory maybe-symlink))) + (paths-find-emacs-root directory invocation-name)) + nil)))))) + +(defun paths-construct-emacs-directory (root suffix base) + "Construct a directory name within the XEmacs hierarchy." + (file-name-as-directory + (expand-file-name + (concat + (file-name-as-directory root) + suffix + base)))) + +(defun paths-find-emacs-directory (roots suffix base &optional envvar default) + "Find a directory in the XEmacs hierarchy. +ROOTS must be a list of installation roots. +SUFFIX is the subdirectory from there. +BASE is the base to look for. +ENVVAR is the name of the environment variable that might also +specify the directory. +DEFAULT is a fall-back value." + (let ((envvar-value (and envvar (getenv envvar)))) + (if (and envvar-value + (file-directory-p envvar-value)) + (file-name-as-directory envvar-value) + (catch 'gotcha + (while roots + (let* ((root (car roots)) + (path (paths-construct-emacs-directory root suffix base))) + ;; installed + (if (file-directory-p path) + (throw 'gotcha path) + (let ((path (paths-construct-emacs-directory root "" base))) + ;; in-place + (if (file-directory-p path) + (throw 'gotcha path))))) + (setq roots (cdr roots))) + (if (and default + (file-directory-p default)) + (file-name-as-directory default) + nil))))) + +(defun paths-find-site-directory (roots base &optional envvar default) + "Find a site-specific directory in the XEmacs hierarchy." + (paths-find-emacs-directory roots "lib/xemacs/" base envvar default)) + +(defun paths-find-version-directory (roots base &optional envvar default) + "Find a version-specific directory in the XEmacs hierarchy." + (paths-find-emacs-directory roots + (concat "lib/xemacs-" (construct-emacs-version) "/") + base + envvar default)) + +(defun paths-find-architecture-directory (roots base &optional envvar default) + "Find an architecture-specific directory in the XEmacs hierarchy." + (or + ;; from more to less specific + (paths-find-version-directory roots + (concat base system-configuration) + envvar default) + (paths-find-version-directory roots + system-configuration + envvar default) + (paths-find-version-directory roots + base + envvar default))) + +(defvar paths-path-emacs-version nil + "Emacs version as it appears in paths.") + +(defun construct-emacs-version () + "Construct the raw version number of XEmacs in the form XX.XX." + ;; emacs-version isn't available early, but we really don't care then + (if (null (boundp 'emacs-version)) + "XX.XX" + (or paths-path-emacs-version ; cache + (progn + (string-match "\\`[^0-9]*\\([0-9]+\\.[0-9]+\\)" emacs-version) + (let ((version (substring emacs-version + (match-beginning 1) (match-end 1)))) + (if (string-match "(beta *\\([0-9]+\\))" emacs-version) + (setq version (concat version + "-b" + (substring emacs-version + (match-beginning 1) (match-end 1))))) + (setq paths-path-emacs-version version) + version))))) + +(defun paths-find-emacs-path (roots suffix base &optional envvar default) + "Find a path in the XEmacs hierarchy. +ROOTS must be a list of installation roots. +SUFFIX is the subdirectory from there. +BASE is the base to look for. +ENVVAR is the name of the environment variable that might also +specify the path. +DEFAULT is a fall-back value." + (let ((envvar-value (and envvar (getenv envvar)))) + (if envvar-value + (decode-path-internal envvar-value) + (let ((directory (paths-find-emacs-directory roots base suffix))) + (if (and directory (file-directory-p directory)) + (list directory) + (paths-directories-which-exist default)))))) + +(defun paths-directories-which-exist (directories) + "Return the directories among DIRECTORIES." + (let ((reverse-directories '())) + (while directories + (if (file-directory-p (car directories)) + (setq reverse-directories + (cons (car directories) + reverse-directories))) + (setq directories (cdr directories))) + (reverse reverse-directories))) + +(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)) + +(defun paths-find-version-path (roots base &optional envvar default) + "Find a path underneath the site hierarchy." + (paths-find-emacs-path roots + (concat "lib/xemacs-" (construct-emacs-version) "/") + base + envvar default)) + +(defun paths-find-emacs-roots (invocation-directory + invocation-name) + "Find all plausible installation roots for XEmacs." + (let ((invocation-root + (paths-find-emacs-root invocation-directory invocation-name)) + (installation-root + (if (and configure-prefix-directory + (file-directory-p configure-prefix-directory)) + configure-prefix-directory))) + (append (and invocation-root + (list invocation-root)) + (and installation-root + (list installation-root))))) + +;;; find-paths.el ends here
--- a/lisp/frame.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/frame.el Mon Aug 13 10:26:29 2007 +0200 @@ -216,7 +216,9 @@ (frame-remove-geometry-props initial-frame-plist)))) ;; At this point, we know that we have a frame open, so we ;; can delete the terminal device. - (delete-device terminal-device) + ;; (delete-device terminal-device) + ;; Do it the same way Fkill_emacs does it. -slb + (delete-console terminal-console) (setq terminal-frame nil) ;; FSFmacs sets frame-creation-function here, but no need.
--- a/lisp/itimer.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/itimer.el Mon Aug 13 10:26:29 2007 +0200 @@ -1,36 +1,22 @@ -;;; itimer.el --- Interval timers for XEmacs - -;; Copyright (C) 1988, 1991, 1993, 1997 Kyle E. Jones - -;; Author: Kyle Jones <kyle_jones@wonderworks.com> -;; Keywords: internal, dumped - -;; 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 - -;;; Commentary: - -;; This file is dumped with XEmacs. - -;; Send bug reports to kyle_jones@wonderworks.com - -;;; Code: +;;; Interval timers for GNU Emacs +;;; Copyright (C) 1988, 1991, 1993, 1997, 1998 Kyle E. Jones +;;; +;;; This program 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. +;;; +;;; This program is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; A copy of the GNU General Public License can be obtained from this +;;; program's author (send electronic mail to kyle@uunet.uu.net) or from +;;; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA +;;; 02139, USA. +;;; +;;; Send bug reports to kyle_jones@wonderworks.com (provide 'itimer) @@ -60,7 +46,7 @@ ;; ;; See the doc strings of these functions for more information. -(defvar itimer-version "1.06" +(defvar itimer-version "1.07" "Version number of the itimer package.") (defvar itimer-list nil @@ -83,12 +69,12 @@ ;; This value is maintained internally; it does not determine ;; itimer granularity. Itimer granularity is 1 second if your -;; Emacs doens't support floats or your system doesn't have a +;; Emacs doesn't support floats or your system doesn't have a ;; clock with microsecond granularity. Otherwise granularity is -;; to the microsend, although you can't possibly get timers to be +;; to the microsecond, although you can't possibly get timers to be ;; executed with this kind of accuracy in practice. There will ;; be delays due to system and Emacs internal activity that delay -;; dealing with syunchronous events and process output. +;; dealing with synchronous events and process output. (defvar itimer-next-wakeup itimer-short-interval "Itimer process will wakeup to service running itimers within this many seconds.") @@ -517,7 +503,7 @@ tab-stop-list '(22 32 40 60 67)) (abbrev-mode 0) (auto-fill-mode 0) - (buffer-disable-undo (current-buffer)) + (buffer-flush-undo (current-buffer)) (use-local-map itimer-edit-map) (set-syntax-table emacs-lisp-mode-syntax-table)) @@ -684,15 +670,20 @@ ;; catch them and print a message. (inhibit-quit t)) (setq next-wakeup 600) - (if (and (boundp 'last-input-time) (consp last-input-time)) - (setq last-event-time (list (car last-input-time) - (cdr last-input-time) - 0) - idle-time (itimer-time-difference (current-time) - last-event-time)) - ;; no way to do this under FSF Emacs yet. - (setq last-event-time '(0 0 0) - idle-time 0)) + (cond ((and (boundp 'last-command-event-time) + (consp 'last-command-event-time)) + (setq last-event-time last-command-event-time + idle-time (itimer-time-difference (current-time) + last-event-time))) + ((and (boundp 'last-input-time) (consp last-input-time)) + (setq last-event-time (list (car last-input-time) + (cdr last-input-time) + 0) + idle-time (itimer-time-difference (current-time) + last-event-time))) + ;; no way to do this under FSF Emacs yet. + (t (setq last-event-time '(0 0 0) + idle-time 0))) (while itimers (setq itimer (car itimers)) (if (itimer-is-idle itimer) @@ -741,9 +732,17 @@ (set-itimer-value-internal itimer (itimer-restart itimer)) (setq next-wakeup (min next-wakeup (itimer-value itimer)))))) (setq itimers (cdr itimers))) - ;; if user is editing itimers, update displayed info - (if (eq major-mode 'itimer-edit-mode) - (list-itimers)) + ;; make another sweep through the list to catch any timers + ;; that might have been added by timer functions above. + (setq itimers itimer-list) + (while itimers + (setq next-wakeup (min next-wakeup (itimer-value (car itimers))) + itimers (cdr itimers))) + ;; if user is viewing the timer list, update displayed info. + (let ((b (get-buffer "*Itimer List*"))) + (if (and b (get-buffer-window b)) + (save-excursion + (list-itimers)))) next-wakeup )) (defun itimer-process-filter (process string) @@ -812,12 +811,17 @@ itimer-timer (add-timeout itimer-short-interval 'itimer-timer-driver nil nil)))) +(defun itimer-disable-timeout (timeout) + ;; Disgusting hack, but necessary because there is no other way + ;; to remove a timer that has a restart value from while that + ;; timer's function is being run. (FSF Emacs only.) + (if (vectorp timeout) + (aset timeout 4 nil)) + (disable-timeout timeout)) + (defun itimer-timer-wakeup () (let ((inhibit-quit t)) - (cond ((fboundp 'disable-timeout) - (disable-timeout itimer-timer)) - ((fboundp 'cancel-timer) - (cancel-timer itimer-timer))) + (itimer-disable-timeout itimer-timer) (setq itimer-timer (add-timeout itimer-short-interval 'itimer-timer-driver nil 5)))) @@ -842,7 +846,7 @@ (defun itimer-timer-driver (&rest ignored) ;; inhibit quit because if the user quits at an inopportune - ;; time, the timer process won't bne launched again and the + ;; time, the timer process won't be launched again and the ;; system stops working. itimer-run-expired-timers allows ;; individual timer function to be aborted, so the user can ;; escape a feral timer function. @@ -854,7 +858,7 @@ (sleep nil)) (setq itimer-timer-last-wakeup now sleep (itimer-run-expired-timers elapsed)) - (disable-timeout itimer-timer) + (itimer-disable-timeout itimer-timer) (setq itimer-next-wakeup sleep itimer-timer (add-timeout sleep 'itimer-timer-driver nil 5))))) @@ -867,5 +871,3 @@ (if (fboundp 'add-timeout) (itimer-timer-wakeup) (itimer-process-wakeup))) - -;;; itimer.el ends here
--- a/lisp/lisp.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/lisp.el Mon Aug 13 10:26:29 2007 +0200 @@ -62,8 +62,7 @@ ;; XEmacs: evil hack! The other half of the evil hack below. (if (and (> arg 0) (looking-at "#s(")) (goto-char (+ (point) 2))) - ;; XEmacs change -- don't bomb out if unbalanced sexp - (goto-char (or (scan-sexps (point) arg nil t) (buffer-end arg))) + (goto-char (or (scan-sexps (point) arg) (buffer-end arg))) (if (< arg 0) (backward-prefix-chars)) ;; XEmacs: evil hack! Skip back over #s so that structures are read ;; properly. the current cheesified syntax tables just aren't up to
--- a/lisp/loadup.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/loadup.el Mon Aug 13 10:26:29 2007 +0200 @@ -1,4 +1,4 @@ -;;; loadup.el --- load up standardly loaded Lisp files for XEmacs. +;; loadup.el --- load up standardly loaded Lisp files for XEmacs. ;; Copyright (C) 1985, 1986, 1992, 1994, 1997 Free Software Foundation, Inc. ;; Copyright (C) 1996 Richard Mlynarik. @@ -48,6 +48,8 @@ (call-with-condition-handler 'really-early-error-handler #'(lambda () ;; message not defined yet ... + (setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) + (external-debugging-output (format "\nUsing load-path %s" load-path)) ;; We don't want to have any undo records in the dumped XEmacs. @@ -76,7 +78,7 @@ ;; minimize the size of the dumped image (if we don't do this, ;; there will be lots of extra space in the data segment filled ;; with garbage-collected junk) - (defun load-gc (file) + (defun pureload (file) (let ((full-path (locate-file file load-path (if load-ignore-elc-files @@ -91,10 +93,11 @@ nil))) (load (concat default-directory "../lisp/dumped-lisp.el")) + (let ((dumped-lisp-packages preloaded-file-list) file) (while (setq file (car dumped-lisp-packages)) - (or (load-gc file) + (or (pureload file) (progn (external-debugging-output "Fatal error during load, aborting") (kill-emacs 1))) @@ -104,7 +107,11 @@ ;; else still define a few functions. (defun toolbar-button-p (obj) "No toolbar support." nil) (defun toolbar-specifier-p (obj) "No toolbar support." nil))) - (fmakunbound 'load-gc)) + (fmakunbound 'pureload)) + + (if (null inhibit-package-init) + (packages-load-package-dumped-lisps late-package-load-path)) + )) ;; end of call-with-condition-handler ;; Fix up the preloaded file list
--- a/lisp/make-docfile.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/make-docfile.el Mon Aug 13 10:26:29 2007 +0200 @@ -76,6 +76,9 @@ ;; Then process the list of Lisp files. (define-function 'defalias 'define-function) + +(setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) + (let ((temp-path (expand-file-name "." (car load-path)))) (setq load-path (nconc (mapcar #'(lambda (i) (concat i "/")) @@ -88,17 +91,22 @@ (setq autoload-file-name "auto-autoloads.elc") (setq source-directory (concat default-directory "../lisp")) ;; (print (concat "Source directory: " source-directory)) +(load "find-paths.el") (load "packages.el") -;; (load "setup-paths.el") +(load "setup-paths.el") +(load "dump-paths.el") (let (preloaded-file-list) (load (concat default-directory "../lisp/dumped-lisp.el")) - ;; Add package lisp directories to load-path (for autoloads) - ;; Add files dumped from lisp packages - ;(paths-setup-paths) - (packages-find-packages package-path t t) - (setq preloaded-file-list - (append preloaded-file-list packages-hardcoded-lisp)) + + (let ((package-preloaded-file-list + (packages-collect-package-dumped-lisps late-package-load-path))) + + (setq preloaded-file-list + (append package-preloaded-file-list + preloaded-file-list + packages-hardcoded-lisp))) + (while preloaded-file-list (let ((arg0 (packages-add-suffix (car preloaded-file-list))) arg)
--- a/lisp/minibuf.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/minibuf.el Mon Aug 13 10:26:29 2007 +0200 @@ -1934,6 +1934,8 @@ (setq user-data (list filebuf dirbuff filewin dirwin)) (set-window-buffer (frame-lowest-window frame) butbuff) (set-buffer butbuff) + (when dir + (setq default-directory dir)) (when (featurep 'scrollbar) (set-specifier scrollbar-width 0 butbuff)) (insert " ")
--- a/lisp/msw-glyphs.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/msw-glyphs.el Mon Aug 13 10:26:29 2007 +0200 @@ -36,10 +36,23 @@ ;;; Code: -(eval-and-compile +(progn (set-console-type-image-conversion-list 'mswindows - '(("^#define" [string :data "[xpm]"]) + `(("\\.bmp\\'" [bmp :file nil] 2) + ("\\`BM" [bmp :data nil] 2) + ,@(if (featurep 'xpm) '(("\\.xpm\\'" [xpm :file nil] 2))) + ,@(if (featurep 'xpm) '(("\\`/\\* XPM \\*/" [xpm :data nil] 2))) +; ,@(if (featurep 'xface) '(("\\`X-Face:" [xface :data nil] 2))) +; ,@(if (featurep 'gif) '(("\\.gif\\'" [gif :file nil] 2) +; ("\\`GIF8[79]" [gif :data nil] 2))) +; ,@(if (featurep 'jpeg) '(("\\.jpe?g\\'" [jpeg :file nil] 2))) +; ;; all of the JFIF-format JPEG's that I've seen begin with +; ;; the following. I have no idea if this is standard. +; ,@(if (featurep 'jpeg) '(("\\`\377\330\377\340\000\020JFIF" +; [jpeg :data nil] 2))) +; ,@(if (featurep 'png) '(("\\.png\\'" [png :file nil] 2))) +; ,@(if (featurep 'png) '(("\\`\211PNG" [png :data nil] 2))) ("\\`X-Face:" [string :data "[xface]"]) ("\\`/\\* XPM \\*/" [string :data "[xpm]"]) ("\\`GIF87" [string :data "[gif]"]) @@ -49,25 +62,25 @@ ;; strings are not allowed so they will be ignored. ("" [nothing]))) - ;; finish initializing truncation glyph -- created internally - ;; because it has a built-in bitmap (set-glyph-image truncation-glyph "$" 'global 'mswindows) - - ;; finish initializing continuation glyph -- created internally - ;; because it has a built-in bitmap (set-glyph-image continuation-glyph "\\" 'global 'mswindows) - - ;; finish initializing hscroll glyph -- created internally - ;; because it has a built-in bitmap (set-glyph-image hscroll-glyph "$" 'global 'mswindows) (set-glyph-image octal-escape-glyph "\\") (set-glyph-image control-arrow-glyph "^") (set-glyph-image invisible-text-glyph " ...") - (set-glyph-image xemacs-logo - "XEmacs <Images support is due in 20.6!>" - 'global 'mswindows) + (cond ((featurep 'xpm) + (set-glyph-image xemacs-logo + (concat "../etc/" + (if emacs-beta-version + "xemacs-beta.xpm" + "xemacs.xpm")) + 'global 'mswindows)) + (t + (set-glyph-image xemacs-logo + "XEmacs <insert spiffy graphic logo here>" + 'global 'mswindows))) ) ;;; msw-glyphs.el ends here
--- a/lisp/package-get-base.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/package-get-base.el Mon Aug 13 10:26:29 2007 +0200 @@ -1,19 +1,19 @@ (setq package-get-base '((eudc (standards-version 1.0 - version "1.0" - author-version "0.2" - date "1998-02-25" - build-date "1998-02-27" + version "1.01" + author-version "1.0" + date "1998-03-15" + build-date "1998-03-22" maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>" distribution stable priority low category "comm" dump nil description "Emacs Unified Directory Client." - filename "eudc-1.0-pkg.tar.gz" - md5sum "c9a7556ad99205b4dab655781f8b2895" - size 25863 + filename "eudc-1.01-pkg.tar.gz" + md5sum "c5b44d0c33a6232c8e2095e30259b870" + size 28687 provides (eudc eudc-ldap eudc-ph) requires (xemacs-base) type regular @@ -58,19 +58,19 @@ )) (gnus (standards-version 1.0 - version "1.09" - author-version "5.6.1" - date "1998-03-07" - build-date "1998-03-08" + version "1.11" + author-version "5.6.3" + date "1998-03-19" + build-date "1998-03-20" 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.09-pkg.tar.gz" - md5sum "8e5dd9a1d861f59a5961ba22d511fcbe" - size 1648527 + filename "gnus-1.11-pkg.tar.gz" + md5sum "13d451110a73a55cd8537a9d38909b66" + size 1650283 provides (gnus message) requires (gnus w3 mh-e mailcrypt rmail mail-lib xemacs-base) type regular @@ -229,19 +229,19 @@ )) (w3 (standards-version 1.0 - version "1.03" - author-version "4.0pre14" - date "1998-01-20" - build-date "1998-02-27" + version "1.04" + author-version "4.0pre16" + date "1998-03-07" + build-date "1998-03-08" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution experimental priority high category "comm" dump nil description "A Web browser." - filename "w3-1.03-pkg.tar.gz" - md5sum "1870ae4bc79d5c38827fd6fdce0fa16d" - size 584854 + filename "w3-1.04-pkg.tar.gz" + md5sum "41efc75e9ea1cc6287e5e86d89cb3572" + size 584497 provides (w3 url) requires (w3 mail-lib xemacs-base) type regular @@ -381,57 +381,57 @@ )) (edebug (standards-version 1.0 - version "1.03" - author-version "20.5b29" - date "1998-01-24" - build-date "1998-02-27" + version "1.04" + author-version "21.0b31" + date "1998-03-12" + build-date "1998-03-20" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "libs" dump nil description "An Emacs Lisp debugger." - filename "edebug-1.03-pkg.tar.gz" - md5sum "767100572c7dd771f59277a808515a3e" - size 117962 + filename "edebug-1.04-pkg.tar.gz" + md5sum "ac269699ffcfba6396f1cd27e3c2bbed" + size 118166 provides (edebug cl-read cust-print eval-reg cl-specs) requires (xemacs-base) type regular )) (efs (standards-version 1.0 - version "1.07" - author-version "1.16" - date "1998-02-17" - build-date "1998-02-27" + version "1.08" + author-version "1.16x1" + date "1998-03-21" + build-date "1998-03-21" maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>" distribution stable priority medium category "libs" dump nil description "Treat files on remote systems the same as local files." - filename "efs-1.07-pkg.tar.gz" - md5sum "07a76f9a45d62d1087fc8a79049bb665" - size 370308 + filename "efs-1.08-pkg.tar.gz" + md5sum "1c650947f5c9011455327602a2e7f25b" + size 358151 provides (efs) requires (xemacs-base vm dired) type regular )) (mail-lib (standards-version 1.0 - version "1.07" - author-version "20.5b29" - date "1998-02-24" - build-date "1998-02-27" + version "1.08" + author-version "21.0b31" + date "S and SLB." + build-date "1998-03-22" 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.07-pkg.tar.gz" - md5sum "58f719dd3b9e4e6f20f9c38ca2776b79" - size 118919 + filename "mail-lib-1.08-pkg.tar.gz" + md5sum "e0c4144f55c0d4b40d24125692420c97" + size 119632 provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail) requires (xemacs-base) type single @@ -476,23 +476,42 @@ )) (xemacs-devel (standards-version 1.0 - version "1.09" - author-version "20.5b30" - date "1998-03-03" - build-date "1998-03-08" + version "1.10" + author-version "21.0b31" + date "1998-03-09" + build-date "1998-03-20" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "libs" dump nil description "Emacs Lisp developer support." - filename "xemacs-devel-1.09-pkg.tar.gz" - md5sum "d81dbc1af8301c2339720936a1e77768" - size 75206 - provides (docref eldoc elp find-func ielm regexp-opt trace) + filename "xemacs-devel-1.10-pkg.tar.gz" + md5sum "4f9d605e05c24d1219ed74f3f3553b89" + size 76390 + provides (docref eldoc elp find-func hide-copyleft ielm regexp-opt trace) requires (xemacs-base) type single )) +(edict + (standards-version 1.0 + version "1.01" + author-version "0.9.6X1" + date "1998-03-13" + build-date "1998-03-13" + maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" + distribution mule + priority high + category "mule" + dump t + description "Lisp Interface to EDICT, Kanji Dictionary" + filename "edict-1.01-pkg.tar.gz" + md5sum "f3e4eab5058a028d1d5224adf8d6fc91" + size 85019 + provides () + requires (skk egg-its mule-base xemacs-base) + type regular +)) (egg-its (standards-version 1.0 version "1.04" @@ -552,19 +571,19 @@ )) (mule-base (standards-version 1.0 - version "1.10" - author-version "20.5b30" - date "1998-03-07" - build-date "1998-03-08" + version "1.11" + author-version "21.0b31" + date "1998-03-13" + build-date "1998-03-22" 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.10-pkg.tar.gz" - md5sum "9eeb07585a000efb9172f2c081eaaad3" - size 487358 + filename "mule-base-1.11-pkg.tar.gz" + md5sum "370c0a3dc8569beded926950c5e447f4" + size 487578 provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) requires (xemacs-base) type regular @@ -590,19 +609,19 @@ )) (calc (standards-version 1.0 - version "1.02" - author-version "2.02f" + version "1.03" + author-version "2.02fX1" date "1998-03-03" - build-date "1998-03-08" + build-date "1998-03-22" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "oa" dump nil description "Emacs calculator" - filename "calc-1.02-pkg.tar.gz" - md5sum "9e5f89ecd0f03e1abab4d78ca4dbe79e" - size 1158346 + filename "calc-1.03-pkg.tar.gz" + md5sum "842bee3ddff8695683917d92afd2b401" + size 1158637 provides (calc) requires () type regular @@ -628,19 +647,19 @@ )) (edit-utils (standards-version 1.0 - version "1.13" - author-version "20.5b30" - date "1998-03-02" - build-date "1998-03-08" + version "1.14" + author-version "21.0b31" + date "1998-03-19" + build-date "1998-03-20" 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.13-pkg.tar.gz" - md5sum "89d088c6ac182fe5941d7ed3d239544f" - size 557868 + filename "edit-utils-1.14-pkg.tar.gz" + md5sum "dfa29846f0dfc07b5f4a22ce93efe996" + size 557068 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 @@ -704,19 +723,19 @@ )) (ispell (standards-version 1.0 - version "1.06" - author-version "3.0beta" - date "1998-02-25" - build-date "1998-02-27" + version "1.07" + author-version "3.0" + date "1998-03-21" + build-date "1998-03-22" 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.06-pkg.tar.gz" - md5sum "7b04d028581c0c7c3b9c7812dbaf70ca" - size 65123 + filename "ispell-1.07-pkg.tar.gz" + md5sum "7c366f560ccde1c513e3cbcfea739a1e" + size 64455 provides (ispell) requires () type regular @@ -742,19 +761,19 @@ )) (psgml (standards-version 1.0 - version "1.05" + version "1.06" author-version "1.01" - date "1998-02-06" - build-date "1998-03-08" + date "1998-03-20" + build-date "1998-03-22" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "oa" dump nil description "Validated HTML/SGML editing." - filename "psgml-1.05-pkg.tar.gz" - md5sum "d9d9bcb7434b0bf39724e4f3d4119e22" - size 402844 + filename "psgml-1.06-pkg.tar.gz" + md5sum "9dfb79a1f9532a0725f0d8a8aafb863b" + size 418577 provides (psgml sgml) requires (edit-utils) type regular @@ -989,23 +1008,42 @@ )) (c-support (standards-version 1.0 - version "1.05" - author-version "20.5b29" - date "1998-02-26" - build-date "1998-02-27" + version "1.06" + author-version "21.0b31" + date "1998-03-21" + build-date "1998-03-22" 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.05-pkg.tar.gz" - md5sum "9f82872d426d4364543bc9e36b59074d" - size 41785 + filename "c-support-1.06-pkg.tar.gz" + md5sum "358de6577a1e5405e9b065b9661427d1" + size 41866 provides (c-comment-edit cmacexp hideif hideshow) requires (cc-mode xemacs-base) type regular )) +(cc-mode + (standards-version 1.0 + version "1.09" + author-version "5.22" + date "1998-03-05" + build-date "1998-03-16" + 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 + provides (cc-mode) + requires (xemacs-base) + type regular +)) (debug (standards-version 1.0 version "1.01" @@ -1027,19 +1065,19 @@ )) (ediff (standards-version 1.0 - version "1.05" - author-version "2.70" + version "1.06" + author-version "2.70.1" date "1998-02-25" - build-date "1998-02-27" + build-date "1998-03-22" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "prog" dump nil description "Interface over GNU patch." - filename "ediff-1.05-pkg.tar.gz" - md5sum "51b558d3af30e129d82ca5a62a2eefaa" - size 244330 + filename "ediff-1.06-pkg.tar.gz" + md5sum "4c604cf4b004557659252ba82b8a27a9" + size 244441 provides (ediff) requires (pcl-cvs dired xemacs-base) type regular @@ -1160,19 +1198,19 @@ )) (vc (standards-version 1.0 - version "1.05" - author-version "20.5b30" - date "1998-03-08" - build-date "1998-03-08" + version "1.06" + author-version "21.0b31" + date "1998-03-20" + build-date "1998-03-22" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "prog" dump t description "Version Control for Free systems." - filename "vc-1.05-pkg.tar.gz" - md5sum "9448703c390f3b4e1c0a4b2a2daf7da9" - size 74464 + filename "vc-1.06-pkg.tar.gz" + md5sum "04519e6a475308de47da52f3cb927e68" + size 74601 provides (vc) requires (dired xemacs-base) type regular @@ -1255,19 +1293,19 @@ )) (reftex (standards-version 1.0 - version "1.02" - author-version "3.18.0.4" - date "1998-02-25" - build-date "1998-03-08" + version "1.03" + author-version "3.22" + date "1998-03-21" + build-date "1998-03-22" 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.02-pkg.tar.gz" - md5sum "15da65e996854bdc212bbfaff9db8417" - size 140412 + filename "reftex-1.03-pkg.tar.gz" + md5sum "7e650c64e653631b1cb8c14975af6941" + size 141804 provides (reftex) requires (xemacs-base) type regular @@ -1331,19 +1369,19 @@ )) (viper (standards-version 1.0 - version "1.05" - author-version "3.005" + version "1.06" + author-version "3.02" date "1998-02-25" - build-date "1998-02-27" + build-date "1998-03-22" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "wp" dump nil description "VI emulation support." - filename "viper-1.05-pkg.tar.gz" - md5sum "9fdea665cb1021fd8ce70ef17ba1a19d" - size 261076 + filename "viper-1.06-pkg.tar.gz" + md5sum "d868d8e027ae6e86b77a9737acab6885" + size 261257 provides (viper) requires (xemacs-base) type regular
--- a/lisp/packages.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/packages.el Mon Aug 13 10:26:29 2007 +0200 @@ -48,6 +48,7 @@ ;; Because of all this, make sure that the stuff you put here really ;; belongs here. +;; This file requires find-paths.el. ;;; Code: @@ -56,6 +57,18 @@ (defvar packages-package-list nil "database of loaded packages and version numbers") +(defvar early-packages nil + "Packages early in the load path.") + +(defvar early-package-load-path nil + "Load path for packages early in the load path.") + +(defvar early-packages nil + "Packages late in the load path.") + +(defvar late-package-load-path nil + "Load path for packages late in the load path.") + (defun package-get-key-1 (info key) "Locate keyword `key' in list." (cond ((null info) @@ -249,151 +262,6 @@ ;; Nothing for the moment nil) -;; The following function is called from temacs -(defun packages-find-packages-1 (package path-only append-p user-package) - "Search the supplied directory for associated directories. -The top level is assumed to look like: -info/ Contain texinfo files for lisp installed in this hierarchy -etc/ Contain data files for lisp installled in this hierarchy -lisp/ Contain directories which either have straight lisp code - or are self-contained packages of their own. - -If the argument `append-p' is non-nil, the found directories will be -appended to the paths, otherwise, they will be prepended. - -This is an internal function. Do not call it after startup." - ;; Info files - (if (and (null path-only) (file-directory-p (concat package "/info"))) - (let ((dir (concat package "/info/"))) - (if (not (member dir Info-default-directory-list)) - (nconc Info-default-directory-list (list dir))))) - ;; Data files - (if (and (null path-only) (file-directory-p (concat package "/etc"))) - (setq data-directory-list - (if append-p - (append data-directory-list (list (concat package "/etc/"))) - (cons (concat package "/etc/") data-directory-list)))) - ;; Lisp files - (if (file-directory-p (concat package "/lisp")) - (progn -; (print (concat "DIR: " -; (if user-package "[USER]" "") -; package -; "/lisp/")) - (setq load-path - (if append-p - (append load-path (list (concat package "/lisp/"))) - (cons (concat package "/lisp/") load-path))) - - ;; Locate and process a dumped-lisp.el file if it exists - (if (and (running-temacs-p) - (file-exists-p (concat package "/lisp/dumped-lisp.el"))) - (let (package-lisp) - (let (preloaded-file-list) - (load (concat package "/lisp/dumped-lisp.el"))) - (if package-lisp - (progn - (if (boundp 'preloaded-file-list) - (setq preloaded-file-list - (append preloaded-file-list package-lisp))) - (if (fboundp 'load-gc) - (setq dumped-lisp-packages - (append dumped-lisp-packages package-lisp))))))) - - (if user-package - (condition-case error - (load (concat package "/lisp/" - (file-name-sans-extension autoload-file-name)) - t) - (error - (warn (format "Autoload error in: %s/lisp/:\n\t%s" - package - (with-output-to-string - (display-error error nil))))))) - (let ((dirs (directory-files (concat package "/lisp/") - t "^[^-.]" nil 'dirs-only)) - dir) - (while dirs - (setq dir (car dirs)) -; (print (concat "DIR: " dir "/")) - (setq load-path - (if append-p - (append load-path (list (concat dir "/"))) - (cons (concat dir "/") load-path))) - - ;; Locate and process a dumped-lisp.el file if it exists - (if (and (running-temacs-p) - (file-exists-p (concat dir "/dumped-lisp.el"))) - (let (package-lisp) - (let (preloaded-file-list) - (load (concat dir "/dumped-lisp.el"))) - (if package-lisp - (progn - (if (boundp 'preloaded-file-list) - (setq preloaded-file-list - (append preloaded-file-list package-lisp))) - (if (fboundp 'load-gc) - (setq dumped-lisp-packages - (append dumped-lisp-packages - package-lisp))))))) - - (if user-package - (condition-case error - (progn -; (print -; (concat dir "/" -; (file-name-sans-extension autoload-file-name))) - (load - (concat dir "/" - (file-name-sans-extension autoload-file-name)) - t)) - (error - (warn (format "Autoload error in: %s/:\n\t%s" - dir - (with-output-to-string - (display-error error nil))))))) - (packages-find-packages-1 dir path-only append-p user-package) - (setq dirs (cdr dirs))))))) - -;; The following function is called from temacs -(defun packages-find-packages-2 (path path-only append-p suppress-user) - "Search the supplied path for associated directories. -If the argument `append-p' is non-nil, the found directories will be -appended to the paths, otherwise, they will be prepended. - -This is an internal function. Do not call it after startup." - (let (dir) - (while path - (setq dir (car path)) - ;; (prin1 (concat "Find: " (expand-file-name dir) "\n")) - (if (null (and (or suppress-user inhibit-package-init) - (string-match "^~" dir))) - (progn - ;; (print dir) - (packages-find-packages-1 (expand-file-name dir) - path-only - append-p - (string-match "^~" dir)))) - (setq path (cdr path))))) - -;; The following function is called from temacs -(defun packages-find-packages (pkg-path path-only &optional suppress-user) - "Search the supplied path for additional info/etc/lisp directories. -Lisp directories if configured prior to build time will have equivalent -status as bundled packages. -If the argument `path-only' is non-nil, only the `load-path' will be set, -otherwise data directories and info directories will be added. -If the optional argument `suppress-user' is non-nil, package directories -rooted in a user login directory (like ~/.xemacs) will not be searched. -This is used at dump time to suppress the builder's local environment." - (let ((prefix-path nil)) - (while (and pkg-path (car pkg-path)) - (setq prefix-path (cons (car pkg-path) prefix-path) - pkg-path (cdr pkg-path))) - (packages-find-packages-2 (cdr pkg-path) path-only t suppress-user) - (packages-find-packages-2 prefix-path path-only nil suppress-user))) - - ;; Data-directory is really a list now. Provide something to search it for ;; directories. @@ -422,10 +290,159 @@ (setq dir-list data-directory-list)) (locate-file name dir-list)) -;; If we are being loaded as part of being dumped, bootstrap the rest of the -;; load-path for loaddefs. -(if (fboundp 'load-gc) - (packages-find-packages package-path t t)) +;; 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")))) + (append '("~/.xemacs/") + '(nil) + (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))))) + +(defvar packages-special-bases '("etc" "info" "lisp" "lib-src" "bin") + "Special subdirectories of packages.") + +(defun packages-find-packages-in-directories (directories) + "Find all packages underneath directories in DIRECTORIES." + (paths-find-recursive-path directories + (append paths-version-control-bases + packages-special-bases))) + +(defun packages-split-path (path) + "Split PATH at NIL, return pair with two components. +The second component is shared with PATH." + (let ((reverse-early '())) + (while (and path (null (null (car path)))) + (setq reverse-early (cons (car path) reverse-early)) + (setq path (cdr path))) + (if (null path) + (cons nil path) + (cons (reverse reverse-early) (cdr path))))) + +(defun packages-find-packages (package-path &optional inhibit) + "Search for all packages in PACKAGE-PATH. +PACKAGE-PATH may distinguish (by NIL-separation) between early +and late packages. +If INHIBIT is non-NIL, return empty paths. +This returns (CONS EARLY-PACKAGES LATE-PACKAGES)." + (if inhibit + (cons '() '()) + (let* ((stuff (packages-split-path package-path)) + (early (car stuff)) + (late (cdr stuff))) + (cons (packages-find-packages-in-directories early) + (packages-find-packages-in-directories late))))) + +(defun packages-find-package-library-path (packages suffixes) + "Construct a path into a component of the packages hierarchy. +PACKAGES is a list of package directories. +SUFFIXES is a list of names of package subdirectories to look for." + (let ((directories + (apply + #'append + (mapcar #'(lambda (package) + (mapcar #'(lambda (suffix) + (concat package suffix)) + suffixes)) + packages)))) + (paths-directories-which-exist directories))) + +(defun packages-find-package-load-path (packages) + "Construct the load-path component for packages. +PACKAGES is a list of package directories." + (paths-find-recursive-load-path + (packages-find-package-library-path packages '("lisp/")))) + +(defun packages-find-package-exec-path (packages) + (packages-find-package-library-path packages + (list (concat "bin/" system-configuration "/") + "lib-src/"))) + +(defun packages-find-package-info-path (packages) + (packages-find-package-library-path packages '("info/"))) + +(defun packages-find-package-data-path (packages) + (packages-find-package-library-path packages '("etc/"))) + +;; Loading package initialization files + +(defun packages-load-package-lisps (package-load-path base) + "Load all Lisp files of a certain name along a load path. +BASE is the base name of the files." + (mapc #'(lambda (dir) + (let ((file-name (expand-file-name base dir))) + (if (file-exists-p file-name) + (condition-case error + (load file-name) + (error + (warn (format "Autoload error in: %s:\n\t%s" + file-name + (with-output-to-string + (display-error error nil))))))))) + package-load-path)) + +(defun packages-load-package-auto-autoloads (package-load-path) + "Load auto-autoload files along a load path." + (packages-load-package-lisps package-load-path + (file-name-sans-extension autoload-file-name))) + +(defun packages-handle-package-dumped-lisps (handle package-load-path) + "Load dumped-lisp.el files along a load path. +Call HANDLE on each file off definitions of PACKAGE-LISP there." + (mapc #'(lambda (dir) + (let ((file-name (expand-file-name "dumped-lisp.el" dir))) + (if (file-exists-p file-name) + (let (package-lisp + ;; 20.4 packages could set this + preloaded-file-list) + (load file-name) + ;; dumped-lisp.el could have set this ... + (if package-lisp + (mapc #'(lambda (base) + (funcall handle (expand-file-name base dir))) + package-lisp)))))) + package-load-path)) + +(defun packages-load-package-dumped-lisps (package-load-path) + "Load dumped-lisp.el files along a load path. +Also load files off PACKAGE-LISP definitions there" + (packages-handle-package-dumped-lisps #'load package-load-path)) + +(defun packages-collect-package-dumped-lisps (package-load-path) + "Load dumped-lisp.el files along a load path. +Return list of files off PACKAGE-LISP definitions there" + (let ((*files* '())) + (packages-handle-package-dumped-lisps + #'(lambda (file) + (setq *files* (cons (file-name-nondirectory file) + *files*))) + package-load-path) + (reverse *files*))) (provide 'packages)
--- a/lisp/setup-paths.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/setup-paths.el Mon Aug 13 10:26:29 2007 +0200 @@ -31,322 +31,51 @@ ;; This file is dumped with XEmacs. -;; This file contains the machinery necessary to find the various -;; paths into the XEmacs hierarchy. - -(defvar paths-version-control-bases '("RCS" "CVS" "SCCS") - "File bases associated with version control.") - -(defun paths-find-recursive-path (directories &optional exclude) - "Return a list of the directory hierarchy underneath DIRECTORIES. -The returned list is sorted by pre-order and lexicographically." - (let ((path '())) - (while directories - (let ((directory (file-name-as-directory - (expand-file-name - (car directories))))) - (if (file-directory-p directory) - (let ((raw-dirs (directory-files directory nil "^[^-.]" nil 'dirs-only)) - (reverse-dirs '())) - - (while raw-dirs - (if (null (member (car raw-dirs) exclude)) - (setq reverse-dirs - (cons (expand-file-name (car raw-dirs) directory) - reverse-dirs))) - (setq raw-dirs (cdr raw-dirs))) - - (let ((sub-path - (paths-find-recursive-path (reverse reverse-dirs) exclude))) - (setq path (nconc path - (list directory) - sub-path)))))) - (setq directories (cdr directories))) - path)) - -(defun paths-find-recursive-load-path (directories) - "Construct a recursive load path underneath DIRECTORIES." - (paths-find-recursive-path directories paths-version-control-bases)) - -(defun paths-emacs-root-p (directory) - "Check if DIRECTORY is a plausible installation root for XEmacs." - (or - ;; installed - (and (boundp 'emacs-version) - (file-directory-p - (concat directory "lib/xemacs-" (construct-emacs-version)))) - ;; in-place - (and - (file-directory-p (concat directory "lib-src")) - (file-directory-p (concat directory "lisp")) - (file-directory-p (concat directory "src"))))) +;; This file describes and constructs the various paths into the +;; XEmacs hierarchy from a global viewpoint. -(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 ((directory (file-name-directory maybe-symlink))) - (paths-find-emacs-root directory invocation-name)) - nil)))))) - -(defun paths-construct-emacs-directory (root suffix base) - "Construct a directory name within the XEmacs hierarchy." - (file-name-as-directory - (expand-file-name - (concat - (file-name-as-directory root) - suffix - base)))) - -(defun paths-find-emacs-directory (roots suffix base &optional envvar default) - "Find a directory in the XEmacs hierarchy. -ROOTS must be a list of installation roots. -SUFFIX is the subdirectory from there. -BASE is the base to look for. -ENVVAR is the name of the environment variable that might also -specify the directory. -DEFAULT is a fall-back value." - (let ((envvar-value (and envvar (getenv envvar)))) - (if (and envvar-value - (file-directory-p envvar-value)) - (file-name-as-directory envvar-value) - (catch 'gotcha - (while roots - (let* ((root (car roots)) - (path (paths-construct-emacs-directory root suffix base))) - ;; installed - (if (file-directory-p path) - (throw 'gotcha path) - (let ((path (paths-construct-emacs-directory root "" base))) - ;; in-place - (if (file-directory-p path) - (throw 'gotcha path))))) - (setq roots (cdr roots))) - (if (and default - (file-directory-p default)) - (file-name-as-directory default) - nil))))) - -(defun paths-find-site-directory (roots base &optional envvar default) - "Find a site-specific directory in the XEmacs hierarchy." - (paths-find-emacs-directory roots "lib/xemacs/" base envvar default)) - -(defun paths-find-version-directory (roots base &optional envvar default) - "Find a version-specific directory in the XEmacs hierarchy." - (paths-find-emacs-directory roots - (concat "lib/xemacs-" (construct-emacs-version) "/") - base - envvar default)) - -(defun paths-find-architecture-directory (roots base &optional envvar default) - "Find an architecture-specific directory in the XEmacs hierarchy." - (or - ;; from more to less specific - (paths-find-version-directory roots - (concat base system-configuration) - envvar default) - (paths-find-version-directory roots - system-configuration - envvar default) - (paths-find-version-directory roots - base - envvar default))) - -(defvar paths-path-emacs-version nil - "Emacs version as it appears in paths.") +;; It requires find-paths.el and packages.el. + +;;; Code: -(defun construct-emacs-version () - "Construct the raw version number of XEmacs in the form XX.XX." - ;; emacs-version isn't available early, but we really don't care then - (if (null (boundp 'emacs-version)) - "" - (or paths-path-emacs-version ; cache - (progn - (string-match "\\`[^0-9]*\\([0-9]+\\.[0-9]+\\)" emacs-version) - (let ((version (substring emacs-version - (match-beginning 1) (match-end 1)))) - (if (string-match "(beta *\\([0-9]+\\))" emacs-version) - (setq version (concat version - "-b" - (substring emacs-version - (match-beginning 1) (match-end 1))))) - (setq paths-path-emacs-version version) - version))))) - -(defun paths-find-emacs-path (roots suffix base &optional envvar default) - "Find a path in the XEmacs hierarchy. -ROOTS must be a list of installation roots. -SUFFIX is the subdirectory from there. -BASE is the base to look for. -ENVVAR is the name of the environment variable that might also -specify the path. -DEFAULT is a fall-back value." - (let ((envvar-value (and envvar (getenv envvar)))) - (if (and (fboundp 'parse-colon-path) envvar-value) - (parse-colon-path envvar-value) - (let ((directory (paths-find-emacs-directory roots base suffix))) - (if (and directory (file-directory-p directory)) - (list directory) - (paths-directories-which-exist default)))))) - -(defun paths-directories-which-exist (directories) - "Return the directories among DIRECTORIES." - (let ((reverse-directories '())) - (while directories - (if (file-directory-p (car directories)) - (setq reverse-directories - (cons (car directories) - reverse-directories))) - (setq directories (cdr directories))) - (reverse reverse-directories))) - -(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)) - -(defun paths-find-version-path (roots base &optional envvar default) - "Find a path underneath the site hierarchy." - (paths-find-emacs-path roots - (concat "lib/xemacs-" (construct-emacs-version) "/") - base - envvar default)) - -; Packages are special ... - -(defun paths-find-package-path (roots) - "Construct the package path underneath installation roots ROOTS." - (let ((envvar-value (getenv "EMACSPACKAGEPATH"))) - (if (and (fboundp 'parse-colon-path) envvar-value) - (parse-colon-path envvar-value) - (let ((base-directory (paths-find-site-directory roots "packages"))) - (if base-directory - (let ((mule-directory (and (featurep 'mule) - (paths-find-site-directory roots - "mule-packages")))) - (append '("~/.xemacs/") - '(nil) - (and mule-directory - (list mule-directory)) - (list base-directory))) - configure-package-path))))) +(defun paths-find-site-lisp-directory (roots) + "Find the site Lisp directory of the XEmacs hierarchy." + (paths-find-site-directory roots "site-lisp" + nil + configure-site-directory)) -(defvar paths-package-special-bases '("etc" "info" "lisp" "lib-src" "bin") - "Special subdirectories of packages.") - -(defun paths-find-packages-in-directories (directories) - "Find all packages underneath directories in DIRECTORIES." - (paths-find-recursive-path directories - (append paths-version-control-bases - paths-package-special-bases))) - -(defun paths-split-path (path) - "Split PATH at NIL, return pair with two components. -The second component is shared with PATH." - (let ((reverse-early '())) - (while (and path (null (null (car path)))) - (setq reverse-early (cons (car path) reverse-early)) - (setq path (cdr path))) - (if (null path) - (cons nil path) - (cons (reverse reverse-early) (cdr path))))) - -(defun paths-find-packages (package-path) - "Search for all packages in PACKAGE-PATH. -PACKAGE-PATH may distinguish (by NIL-separation) between early -and late packages. -This returns (CONS EARLY-PACKAGES LATE-PACKAGES)." - (let* ((stuff (paths-split-path package-path)) - (early (car stuff)) - (late (cdr stuff))) - (cons (paths-find-packages-in-directories early) - (paths-find-packages-in-directories late)))) +(defun paths-find-lisp-directory (roots) + "Find the main Lisp directory of the XEmacs hierarchy." + (paths-find-version-directory roots "lisp" + nil + configure-lisp-directory)) -(defun paths-find-package-library-path (packages suffixes) - "Construct a path into a component of the packages hierarchy. -PACKAGES is a list of package directories. -SUFFIXES is a list of names of package subdirectories to look for." - (let ((directories - (apply - #'append - (mapcar #'(lambda (package) - (mapcar #'(lambda (suffix) - (concat package suffix)) - suffixes)) - packages)))) - (paths-directories-which-exist directories))) - -(defun paths-find-package-load-path (packages) - "Construct the load-path component for packages. -PACKAGES is a list of package directories." - (paths-find-recursive-load-path - (paths-find-package-library-path packages '("lisp/")))) - -(defun paths-find-package-exec-path (packages) - (paths-find-package-library-path packages - (list (concat "bin/" system-configuration "/") - "lib-src/"))) - -(defun paths-find-package-info-path (packages) - (paths-find-package-library-path packages '("info/"))) - -(defun paths-find-package-data-path (packages) - (paths-find-package-library-path packages '("etc/"))) - -(defun paths-find-emacs-roots (invocation-directory - invocation-name) - "Find all plausible installation roots for XEmacs." - (let ((invocation-root - (paths-find-emacs-root invocation-directory invocation-name)) - (installation-root - (if (and configure-prefix-directory - (file-directory-p configure-prefix-directory)) - configure-prefix-directory))) - (append (and invocation-root - (list invocation-root)) - (and installation-root - (list installation-root))))) - -(defun paths-find-load-path (roots early-package-load-path late-package-load-path) +(defun paths-construct-load-path + (roots early-package-load-path late-package-load-path + &optional inhibit-site-lisp) "Construct the load path." (let ((envvar-value (getenv "EMACSLOADPATH"))) - (if (and (fboundp 'parse-colon-path) envvar-value) - (parse-colon-path envvar-value) + (if envvar-value + (decode-path-internal envvar-value) (let* ((site-lisp-directory - (and allow-site-lisp - (paths-find-site-directory roots "site-lisp" - nil - configure-site-directory))) + (and (null inhibit-site-lisp) + (paths-find-site-lisp-directory roots))) (site-lisp-load-path (and site-lisp-directory (paths-find-recursive-load-path (list site-lisp-directory)))) - (lisp-directory - (paths-find-version-directory roots "lisp" - nil - configure-lisp-directory)) + (lisp-directory (paths-find-lisp-directory roots)) (lisp-load-path (paths-find-recursive-load-path (list lisp-directory)))) - (nconc early-package-load-path - site-lisp-load-path - late-package-load-path - lisp-load-path))))) + (append early-package-load-path + site-lisp-load-path + late-package-load-path + lisp-load-path))))) -(defun paths-find-info-path (roots early-packages late-packages) +(defun paths-construct-info-path (roots early-packages late-packages) "Construct the info path." (append - (paths-find-package-info-path early-packages) - (paths-find-package-info-path late-packages) + (packages-find-package-info-path early-packages) + (packages-find-package-info-path late-packages) (let ((info-directory (paths-find-version-directory roots "info" nil @@ -357,8 +86,8 @@ (and info-directory (list info-directory))) (let ((info-path-envval (getenv "INFOPATH"))) - (if (and (fboundp 'parse-colon-path) info-path-envval) - (parse-colon-path info-path-envval))))) + (if info-path-envval + (decode-path-internal info-path-envval))))) (defun paths-find-doc-directory (roots) "Find the documentation directory." @@ -383,17 +112,17 @@ "Find the binary directory." (paths-find-architecture-directory roots "lib-src")) -(defun paths-find-exec-path (roots exec-directory early-packages late-packages) +(defun paths-construct-exec-path (roots exec-directory early-packages late-packages) "Find the binary path." (append (let ((path-envval (getenv "PATH"))) - (and (fboundp 'parse-colon-path) path-envval - (parse-colon-path path-envval))) - (paths-find-package-exec-path early-packages) - (paths-find-package-exec-path late-packages) + (if path-envval + (decode-path-internal path-envval))) + (packages-find-package-exec-path early-packages) + (packages-find-package-exec-path late-packages) (let ((emacspath-envval (getenv "EMACSPATH"))) - (if (and (fboundp 'parse-colon-path) emacspath-envval) - (parse-colon-path path-envval) + (if emacspath-envval + (decode-path-internal emacspath-envval) (paths-directories-which-exist configure-exec-path))) (and exec-directory (list exec-directory)))) @@ -402,132 +131,11 @@ "Find the data directory." (paths-find-version-directory roots "etc" "EMACSDATA" configure-data-directory)) -(defun paths-find-data-directory-list (data-directory early-packages late-packages) +(defun paths-construct-data-directory-list (data-directory early-packages late-packages) "Find the data path." (append - (paths-find-package-data-path early-packages) - (paths-find-package-data-path late-packages) + (packages-find-package-data-path early-packages) + (packages-find-package-data-path late-packages) (list data-directory))) -(defun paths-setup-paths () - "Setup all the various paths. -Call this as often as you like!" - ;; XEmacs -- Steven Baur says invocation directory is nil if you - ;; try to use XEmacs as a login shell. - (or invocation-directory (setq invocation-directory default-directory)) - (if (fboundp 'abbreviate-file-name) - ;; No abbreviate-file-name in temacs - (setq invocation-directory - ;; don't let /tmp_mnt/... get into the load-path or exec-path. - (abbreviate-file-name invocation-directory))) - - (let ((roots (paths-find-emacs-roots invocation-directory invocation-name))) - - (setq package-path (paths-find-package-path roots)) - - (let ((stuff (paths-find-packages package-path))) - (setq early-packages (car stuff)) - (setq late-packages (cdr stuff))) - - (setq early-package-load-path (paths-find-package-load-path early-packages)) - (setq late-package-load-path (paths-find-package-load-path late-packages)) - - (setq load-path (paths-find-load-path roots - early-package-load-path - late-package-load-path)) - - (setq info-path (paths-find-info-path roots early-packages late-packages)) - - (if (boundp 'lock-directory) - (progn - (setq lock-directory (paths-find-lock-directory roots)) - (setq superlock-file (paths-find-superlock-file lock-directory)))) - - (setq exec-directory (paths-find-exec-directory roots)) - - (setq exec-path (paths-find-exec-path roots exec-directory - early-packages late-packages)) - - (setq doc-directory (paths-find-doc-directory roots)) - - (setq data-directory (paths-find-data-directory roots)) - - (setq data-directory-list (paths-find-data-directory-list data-directory - early-packages - late-packages)))) - -(defun paths-setup-paths-warning () - (let ((lock (if (boundp 'lock-directory) lock-directory 't)) - warnings message guess) - (if (and (stringp lock) (null (file-directory-p lock))) - (setq lock nil)) - (cond - ((null (and exec-directory data-directory doc-directory load-path lock)) - (save-excursion - (set-buffer (get-buffer-create " *warning-tmp*")) - (erase-buffer) - (buffer-disable-undo (current-buffer)) - (if (null lock) (push "lock-directory" warnings)) - (if (null exec-directory) (push "exec-directory" warnings)) - (if (null data-directory) (push "data-directory" warnings)) - (if (null doc-directory) (push "doc-directory" warnings)) - (if (null load-path) (push "load-path" warnings)) - (cond ((cdr (cdr warnings)) - (setq message (apply 'format "%s, %s, and %s" warnings))) - ((cdr warnings) - (setq message (apply 'format "%s and %s" warnings))) - (t (setq message (format "variable %s" (car warnings))))) - (insert "couldn't find an obvious default for " message - ", and there were no defaults specified in paths.h when " - "XEmacs was built. Perhaps some directories don't exist, " - "or the XEmacs executable, " (concat invocation-directory - invocation-name) - " is in a strange place?") - - (if (fboundp 'fill-region) - ;; Might not be bound in the cold load environment... - (let ((fill-column 76)) - (fill-region (point-min) (point-max)))) - (goto-char (point-min)) - (princ "\nWARNING:\n" 'external-debugging-output) - (princ (buffer-string) 'external-debugging-output) - (erase-buffer) - t))))) - -(defun paths-load-package-lisps (package-load-path base) - "Load all Lisp files of a certain name along a load path. -BASE is the base name of the files." - (mapc #'(lambda (dir) - (let ((file-name (expand-file-name base dir))) - (if (file-exists-p file-name) - (condition-case error - (load file-name) - (error - (warn (format "Autoload error in: %s:\n\t%s" - file-name - (with-output-to-string - (display-error error nil))))))))) - package-load-path)) - -(defun paths-load-package-auto-autoloads (package-load-path) - "Load auto-autoload files along a load path." - (paths-load-package-lisps package-load-path - (file-name-sans-extension autoload-file-name))) - -(defun paths-load-package-dumped-lisps (package-load-path) - "Load dumped-lisp.el files along a load path." - (mapc #'(lambda (dir) - (let ((file-name (expand-file-name "dumped-lisp.el" dir))) - (if (file-exists-p file-name) - (let (package-lisp - ;; 20.4 packages could set this - preloaded-file-list) - (load file-name) - ;; dumped-lisp.el could have set this ... - (if package-lisp - (mapc #'(lambda (base) - (load (expand-file-name base dir))) - package-lisp)))))) - package-load-path)) - ;;; setup-paths.el ends here
--- a/lisp/simple.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/simple.el Mon Aug 13 10:26:29 2007 +0200 @@ -3213,6 +3213,8 @@ "Set VARIABLE to VALUE. VALUE is a Lisp object. When using this interactively, supply a Lisp expression for VALUE. If you want VALUE to be a string, you must surround it with doublequotes. +If VARIABLE is a specifier, VALUE is added to it as an instantiator in +the 'global locale with nil tag set (see `set-specifier'). If VARIABLE has a `variable-interactive' property, that is used as if it were the arg to `interactive' (which see) to interactively read the value." @@ -3246,7 +3248,9 @@ (list 'interactive prop) 'arg)) (eval-minibuffer (format "Set %s to value: " var))))))) - (set var val)) + (if (specifierp (symbol-value var)) + (set-specifier (symbol-value var) val) + (set var val))) ;; XEmacs (defun activate-region ()
--- a/lisp/site-load.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/site-load.el Mon Aug 13 10:26:29 2007 +0200 @@ -43,17 +43,17 @@ (when (file-exists-p site-load-package-file) (let ((file)) (load site-load-package-file t t t) - ;; The `load-gc' macro is provided as a clue that a package is being loaded - ;; in preparation of being dumped into XEmacs. - (defmacro load-gc (file) + ;; The `pureload' macro is provided as a clue that a package is + ;; being loaded in preparation of being dumped into XEmacs. + (defmacro pureload (file) (list 'prog1 (list 'load file) '(garbage-collect))) (message "Loading site-wide packages for dumping...") (while site-load-packages (setq file (car site-load-packages)) - (load-gc file) + (pureload file) (setq site-load-packages (cdr site-load-packages))) (message "Loading site-wide packages for dumping...done") - (fmakunbound 'load-gc))) + (fmakunbound 'pureload))) ;; This file is intended for end user additions. ;; Put other initialization here, like setting of language-environment, etc.
--- a/lisp/startup.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/startup.el Mon Aug 13 10:26:29 2007 +0200 @@ -369,6 +369,21 @@ (setq default-directory (file-name-as-directory value))))) (setq default-directory (abbreviate-file-name default-directory)) (initialize-xemacs-paths) + + (startup-set-invocation-environment) + + (let ((roots (paths-find-emacs-roots invocation-directory + invocation-name))) + (startup-setup-paths roots + inhibit-package-init + inhibit-site-lisp) + (startup-setup-paths-warning)) + + (if (not inhibit-package-init) + (progn + (packages-load-package-auto-autoloads early-package-load-path) + (packages-load-package-auto-autoloads late-package-load-path))) + (unwind-protect (command-line) ;; Do this again, in case .emacs defined more abbreviations. @@ -504,7 +519,6 @@ (let ((debugger 'early-error-handler) (debug-on-error t)) - (set-default-load-path) ;; Process magic command-line switches like -q and -u. Do this ;; before creating the first frame because some of these switches @@ -984,404 +998,71 @@ ;; (funcall present-file "sample.Xdefaults") ;; (insert (format "\nin the directory %s." data-directory))) - -;;;; Computing the default load-path, etc. -;;; -;;; This stuff is a complete mess and isn't nearly as general as it -;;; thinks it is. It should be rethunk. In particular, too much logic -;;; is duplicated between the code that looks around for the various -;;; directories, and the code which suggests where to create the various -;;; directories once it decides they are missing. - -;;; The source directory has this layout: -;;; -;;; BUILD_ROOT/src/xemacs* argv[0] -;;; BUILD_ROOT/xemacs* argv[0], possibly -;;; BUILD_ROOT/lisp/ -;;; BUILD_ROOT/etc/ data-directory -;;; BUILD_ROOT/info/ -;;; BUILD_ROOT/lib-src/ exec-directory, doc-directory -;;; BUILD_ROOT/lock/ -;;; -;;; The default tree created by "make install" has this layout: -;;; -;;; PREFIX/bin/xemacs* argv[0] -;;; PREFIX/lib/xemacs-VERSION/lisp/ -;;; PREFIX/lib/xemacs-VERSION/etc/ data-directory -;;; PREFIX/lib/xemacs-VERSION/info/ -;;; PREFIX/lib/xemacs-VERSION/CONFIGURATION/ exec-directory, doc-directory -;;; PREFIX/lib/xemacs/lock/ -;;; PREFIX/lib/xemacs/site-lisp/ -;;; -;;; The binary packages we ship have that layout, except that argv[0] has -;;; been moved one level deeper under the bin directory: -;;; -;;; PREFIX/bin/CONFIGURATION/xemacs* -;;; -;;; The following code has to deal with at least the above three situations, -;;; and it should be possible for it to deal with more. Though perhaps that -;;; does cover it all? The trick is, when something is missing, realizing -;;; which of those three layouts is mostly in place, so that we can suggest -;;; the right directories in the error message. - - -;; extremely low-tech debugging, since this happens so early in startup. -;;(or (fboundp 'orig-file-directory-p) -;; (fset 'orig-file-directory-p (symbol-function 'file-directory-p))) -;;(defun file-directory-p (path) -;; (send-string-to-terminal (format "PROBING %S" path)) -;; (let ((v (orig-file-directory-p path))) -;; (send-string-to-terminal (format " -> %S\n" v)) -;; v)) - -(defun startup-make-version-dir () - (let ((version (and (string-match "\\`[^0-9]*\\([0-9]+\\.[0-9]+\\)" - emacs-version) - (substring emacs-version - (match-beginning 1) (match-end 1))))) - (if (string-match "(beta *\\([0-9]+\\))" emacs-version) - (setq version (concat version "-b" - (substring emacs-version (match-beginning 1) - (match-end 1))))) - (if (string-match "(alpha *\\([0-9]+\\))" emacs-version) - (setq version (concat version "-a" - (substring emacs-version (match-beginning 1) - (match-end 1))))) - (concat "lib/xemacs-" version))) - -(defun find-emacs-root-internal-1 (path lisp-p) - ;; (prin1 (format "f-e-r-i-1: %s\n" path)) - (let ((dir (file-name-directory path))) - (or - ;; - ;; If this directory is a plausible root of the XEmacs tree, return it. - ;; - (and (or (not lisp-p) - (file-directory-p (expand-file-name "lisp" dir))) - (or (file-directory-p (expand-file-name "lib-src" dir)) - (file-directory-p (expand-file-name system-configuration dir))) - dir) - ;; - ;; If the parent of this directory is a plausible root, use it. - ;; (But don't do so recursively!) - ;; - (and (or (not lisp-p) - (file-directory-p (expand-file-name "../lisp" dir))) - (or (file-directory-p (expand-file-name - (format "../%s" system-configuration) - dir)) - (file-directory-p (expand-file-name "../lib-src" dir))) - (expand-file-name "../" dir)) - - ;; - ;; (--run-in-place) Same thing, but from one directory level deeper. - ;; - (and (or (not lisp-p) - (file-directory-p (expand-file-name "../../lisp" dir))) - (or (file-directory-p (expand-file-name - (format "../%s" system-configuration) - dir)) - (file-directory-p - (expand-file-name - (format "../../lib-src/%s" system-configuration) dir))) - (expand-file-name "../.." dir)) - - ;; If ../lib/xemacs-<version> exists check it. - ;; This is of the form "xemacs-19.10/" or "xemacs-19.10-b7/". - ;; - (let ((ver-dir (concat "../" (startup-make-version-dir)))) - (and (or (not lisp-p) - (file-directory-p (expand-file-name - (format "%s/lisp" ver-dir) - dir))) - (or (file-directory-p (expand-file-name - (format "%s/%s" ver-dir - system-configuration) - dir)) - (file-directory-p (expand-file-name - (format "%s/lib-src" ver-dir) - dir))) - (expand-file-name (file-name-as-directory ver-dir) dir))) - ;; - ;; Same thing, but one higher: ../../lib/xemacs-<version>. - ;; - (let ((ver-dir (concat "../../" (startup-make-version-dir)))) - (and (or (not lisp-p) - (file-directory-p (expand-file-name - (format "%s/lisp" ver-dir) - dir))) - (or (file-directory-p (expand-file-name - (format "%s/%s" ver-dir - system-configuration) - dir)) - (file-directory-p (expand-file-name - (format "%s/lib-src" ver-dir) - dir))) - (expand-file-name (file-name-as-directory ver-dir) dir))) - ;; - ;; If that doesn't work, and the XEmacs executable is a symlink, then - ;; chase the link and try again there. - ;; - (and (setq path (file-symlink-p path)) - (find-emacs-root-internal-1 (expand-file-name path dir) lisp-p)) - ;; - ;; Otherwise, this directory just doesn't cut it. - ;; Some bozos think they can use the 18.59 lisp directory with 19.*. - ;; This is because they're not using their brains. But it might be - ;; nice to notice that that is happening and point them in the - ;; general direction of a clue. - ;; - nil))) - -(defun find-emacs-root-internal (path) - ;; (send-string-to-terminal (format "FINDING ROOT FOR %S\n" path)) - ;; first look for lisp and lib-src; then just look for lib-src. - ;; XEmacs can run (kind of) if the lisp directory is omitted, which - ;; some people might want to do for space reasons. - (or (find-emacs-root-internal-1 path t) - ;; (find-emacs-root-internal-1 path nil) - ;; If we don't succeed we are going to crash and burn for sure. - ;; Try some paths relative to prefix-directory if it isn't nil. - ;; This is definitely necessary in cases such as when we're used - ;; as a login shell since we can't determine the invocation - ;; directory in that case. - - (find-emacs-root-internal-1 - (format "%s/bin/%s" prefix-directory invocation-name) t) - (find-emacs-root-internal-1 - (format "%s/bin/%s" prefix-directory invocation-name) nil) - (find-emacs-root-internal-1 - (format "%s/lib/%s" prefix-directory invocation-name) t) - (find-emacs-root-internal-1 - (format "%s/lib/%s" prefix-directory invocation-name) nil) - - ;; We're desperate -- try the prefix-directory correctly. - (find-emacs-root-internal-1 - (format "%s/%s/foo" prefix-directory (startup-make-version-dir)) t) - (find-emacs-root-internal-1 - (format "%s/%s/foo" prefix-directory (startup-make-version-dir)) nil) - )) - -(defun set-default-load-path () +(defun startup-set-invocation-environment () ;; XEmacs -- Steven Baur says invocation directory is nil if you ;; try to use XEmacs as a login shell. (or invocation-directory (setq invocation-directory default-directory)) (setq invocation-directory ;; don't let /tmp_mnt/... get into the load-path or exec-path. - (abbreviate-file-name invocation-directory)) + (abbreviate-file-name invocation-directory))) + +(defun startup-setup-paths (roots &optional inhibit-packages inhibit-site-lisp) + "Setup all the various paths. +ROOTS is a list of plausible roots of the XEmacs directory hierarchy. +If INHIBIT-PACKAGES is non-NIL, don't do packages. +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)) - ;; #### FSFmacs recognizes environment vars EMACSLOCKDIR, etc. - (let* ((root (find-emacs-root-internal (concat invocation-directory - invocation-name))) - (lisp (and root - (let ((f (expand-file-name "lisp" root))) - (and (file-directory-p f) f)))) - (site-lisp - (and root - (or - (let ((f (expand-file-name "xemacs/site-lisp" root))) - (and (file-directory-p f) f)) - (let ((f (expand-file-name "../xemacs/site-lisp" root))) - (and (file-directory-p f) f)) - ;; the next two are for --run-in-place - (let ((f (expand-file-name "site-lisp" root))) - (and (file-directory-p f) f)) - (let ((f (expand-file-name "lisp/site-lisp" root))) - (and (file-directory-p f) f)) - ))) - (lib-src - (and root - (or - (let ((f (expand-file-name - (concat "lib-src/" system-configuration) - root))) - (and (file-directory-p f) f)) - (let ((f (expand-file-name "lib-src" root))) - (and (file-directory-p f) f)) - (let ((f (expand-file-name system-configuration root))) - (and (file-directory-p f) f))))) - (etc - (and root - (let ((f (expand-file-name "etc" root))) - (and (file-directory-p f) f)))) - (info - (and root - (let ((f (expand-file-name "info" root))) - (and (file-directory-p f) (file-name-as-directory f))))) - (packages - (and root - (let ((f (expand-file-name "packages" root))) - (and (file-directory-p f) (file-name-as-directory f))))) - (lock - (and root - (boundp 'lock-directory) - (if (and lock-directory (file-directory-p lock-directory)) - (file-name-as-directory lock-directory) - (or - (let ((f (expand-file-name "xemacs/lock" root))) - (and (file-directory-p f) - (file-name-as-directory f))) - (let ((f (expand-file-name "../xemacs/lock" root))) - (and (file-directory-p f) - (file-name-as-directory f))) - (let ((f (expand-file-name "lock" root))) - (and (file-directory-p f) - (file-name-as-directory f))) - ;; if none of them exist, make the "guess" be - ;; the one that set-default-load-path-warning - ;; will suggest. - (file-name-as-directory - (expand-file-name "../xemacs/lock" root)) - ))))) - - ;; 1996/12/6 by MORIOKA Tomohiko <morioka@jaist.ac.jp> - ;; define `default-load-path' for file-detect.el - (setq default-load-path load-path) + (let ((stuff (packages-find-packages package-path inhibit-packages))) + (setq early-packages (car stuff)) + (setq late-packages (cdr stuff))) + + (setq early-package-load-path (packages-find-package-load-path early-packages)) + (setq late-package-load-path (packages-find-package-load-path late-packages)) - ;; add site-lisp dir to load-path - (when site-lisp - ;; If the site-lisp dir isn't on the load-path, add it to the end. - (or (member site-lisp load-path) - (setq load-path (append load-path - (list (file-name-as-directory site-lisp))))) - ;; Also add any direct subdirectories of the site-lisp directory - ;; to the load-path. But don't add dirs whose names begin - ;; with dot or hyphen. - (let ((files (directory-files site-lisp nil "^[^-.]" nil 'dirs-only)) - file) - (while files - (setq file (car files)) - (if (and (not (member file '("RCS" "CVS" "SCCS"))) - (setq file (expand-file-name file site-lisp)) - (not (member file load-path))) - (setq load-path - (nconc load-path - (list (file-name-as-directory file))))) - (setq files (cdr files))))) + (setq load-path (paths-construct-load-path roots + early-package-load-path + late-package-load-path + inhibit-site-lisp)) + + (setq info-path (paths-construct-info-path roots early-packages late-packages)) - ;; add lisp dir to load-path - (when lisp - ;; If the lisp dir isn't on the load-path, add it to the end. - (or (member lisp load-path) - (setq load-path (append load-path - (list (file-name-as-directory lisp))))) - ;; Also add any direct subdirectories of the lisp directory - ;; to the load-path. But don't add dirs whose names begin - ;; with dot or hyphen. - (let ((files (directory-files lisp nil "^[^-.]" nil 'dirs-only)) - file) - (while files - (setq file (car files)) - (when (and (not (member file '("RCS" "CVS" "SCCS"))) - (setq file (expand-file-name file lisp)) - (not (member file load-path))) - (setq load-path - (nconc load-path - (list (file-name-as-directory file))))) - (setq files (cdr files))))) + (if (boundp 'lock-directory) + (progn + (setq lock-directory (paths-find-lock-directory roots)) + (setq superlock-file (paths-find-superlock-file lock-directory)))) - ;; 1996/12/6 by MORIOKA Tomohiko <morioka@jaist.ac.jp> - ;; define `default-load-path' for file-detect.el - (setq default-load-path - (append default-load-path - (if site-lisp - (list site-lisp)) - (if lisp - (list lisp) - ) - )) + (setq exec-directory (paths-find-exec-directory roots)) - ;; 1997/03/06 by Jeff Miller <jmiller@bayserve.net> - ;; initialize 'site-directory'. This is the site-lisp dir used by - ;; XEmacs - (if site-lisp - (setq site-directory (file-name-as-directory site-lisp)) - ) - ;; If running from the build directory, always prefer the exec-directory - ;; that is here over to the one that came from paths.h. - (when (or (and (null exec-directory) lib-src) - (and (string= lib-src (expand-file-name "lib-src" root)) - (not (string= exec-directory lib-src)))) - (setq exec-directory (file-name-as-directory lib-src))) - (when (or (and (null doc-directory) lib-src) - (and (string= lib-src (expand-file-name "lib-src" root)) - (not (string= doc-directory lib-src)))) - (setq doc-directory (file-name-as-directory lib-src))) + (setq exec-path (paths-construct-exec-path roots exec-directory + early-packages late-packages)) - (when exec-directory - (or (member exec-directory exec-path) - (setq exec-path (append exec-path (list exec-directory))))) - (when (or (and (null data-directory) etc) - (and (string= etc (expand-file-name "etc" root)) - (not (string= data-directory etc)))) - (setq data-directory (file-name-as-directory etc))) + (setq doc-directory (paths-find-doc-directory roots)) - ;; If `configure' specified an info dir, use it. - ;; #### The above comment is suspect. - (or (boundp 'Info-default-directory-list) - (setq Info-default-directory-list nil)) - - ;; Add additional system directories. - (setq Info-default-directory-list - (append Info-default-directory-list - (split-string infopath-internal ":"))) + (setq data-directory (paths-find-data-directory roots)) - (let ((infopath (getenv "INFOPATH"))) - (when infopath - (setq Info-default-directory-list - (append Info-default-directory-list - (split-string infopath ":"))))) - - (cond (configure-info-directory - (setq configure-info-directory (file-name-as-directory - configure-info-directory)) - (or (member configure-info-directory Info-default-directory-list) - (setq Info-default-directory-list - (append (list configure-info-directory) - Info-default-directory-list))))) - ;; If we've guessed the info dir, use that (too). - (when (and info (not (member info Info-default-directory-list))) - (setq Info-default-directory-list - (append (list info) Info-default-directory-list))) + (setq data-directory-list (paths-construct-data-directory-list data-directory + early-packages + late-packages))) - ;; Default the lock dir to being a sibling of the data-directory. - ;; If superlock isn't set, or is set to a file in a nonexistent - ;; directory, derive it from the lock dir. - (when (boundp 'lock-directory) - (setq lock-directory lock) - (cond ((null lock-directory) - (setq superlock-file nil)) - ((or (null superlock-file) - (not (file-directory-p - (file-name-directory superlock-file)))) - (setq superlock-file - (expand-file-name "!!!SuperLock!!!" - lock-directory))))) - - (set-default-load-path-warning) - (when (and (null (running-temacs-p)) - data-directory - Info-default-directory-list) - (setq data-directory-list (list data-directory)) - (packages-find-packages package-path nil)))) - - -(defun set-default-load-path-warning () +(defun startup-setup-paths-warning () (let ((lock (if (boundp 'lock-directory) lock-directory 't)) - warnings message guess) - (when (and (stringp lock) (not (file-directory-p lock))) - (setq lock nil)) + warnings message) + (if (and (stringp lock) (null (file-directory-p lock))) + (setq lock nil)) (cond - ((not (and exec-directory data-directory doc-directory load-path lock)) + ((null (and exec-directory data-directory doc-directory load-path lock)) (save-excursion (set-buffer (get-buffer-create " *warning-tmp*")) (erase-buffer) (buffer-disable-undo (current-buffer)) - (when (null lock) (push "lock-directory" warnings)) - (when (null exec-directory) (push "exec-directory" warnings)) - (when (null data-directory) (push "data-directory" warnings)) - (when (null doc-directory) (push "doc-directory" warnings)) - (when (null load-path) (push "load-path" warnings)) + (if (null lock) (push "lock-directory" warnings)) + (if (null exec-directory) (push "exec-directory" warnings)) + (if (null data-directory) (push "data-directory" warnings)) + (if (null doc-directory) (push "doc-directory" warnings)) + (if (null load-path) (push "load-path" warnings)) (cond ((cdr (cdr warnings)) (setq message (apply 'format "%s, %s, and %s" warnings))) ((cdr warnings) @@ -1393,83 +1074,11 @@ "or the XEmacs executable, " (concat invocation-directory invocation-name) " is in a strange place?") - (setq guess (or exec-directory - data-directory - doc-directory - (car load-path) - (and (string-match "/[^/]+\\'" invocation-directory) - (substring invocation-directory 0 - (match-beginning 0))))) - (when (and guess - (or - ;; parent of a terminal bin/<configuration> pair (hack hack). - (string-match (concat "/bin/" - (regexp-quote system-configuration) - "/?\\'") - guess) - ;; parent of terminal src, lib-src, etc, or lisp dir. - (string-match - "/\\(bin\\|src\\|lib-src\\|etc\\|lisp\\)[^/]*/?\\'" - guess))) - (setq guess (substring guess 0 (match-beginning 0)))) - ;; If neither the exec nor lisp dirs are around, then "guess" that - ;; the new configure-style lib dir should be used. Otherwise, if - ;; only one of them appears to be missing, or it's just lock, - ;; then guess it to be a sibling of whatever already exists. - (when (and (null exec-directory) (null load-path)) - (setq guess (expand-file-name (startup-make-version-dir) guess))) - - (when (or (null exec-directory) (null load-path)) - (insert - "\n\nWithout both exec-directory and load-path, XEmacs will " - "be very broken. ")) - (when (and (null exec-directory) guess) - (insert - "Consider making a symbolic link from " - (expand-file-name system-configuration guess) - " to wherever the appropriate XEmacs exec-directory " - "directory is")) - (when (and (null data-directory) guess) - (insert - (if exec-directory - "\n\nConsider making a symbolic link " ", and ") - "from " - (expand-file-name "etc" (if load-path - (file-name-directory - (directory-file-name - (car load-path))) - guess)) - " to wherever the appropriate XEmacs data-directory is")) - (when (and (null load-path) guess) - (insert - (if (and exec-directory data-directory) - "Consider making a symbolic link " - ", and ") - "from " - (expand-file-name "lisp" guess) - " to wherever the appropriate XEmacs lisp library is")) - (insert ".") - - (when (null lock) - (insert - "\n\nWithout lock-directory set, file locking won't work. ") - (when guess - (insert - "Consider creating " - (expand-file-name "../xemacs/lock" - (or (find-emacs-root-internal - (concat invocation-directory - invocation-name)) - guess)) - " as a directory or symbolic link for use as the lock " - "directory. (This directory must be globally writable.)" - ))) - - (when (fboundp 'fill-region) - ;; Might not be bound in the cold load environment... - (let ((fill-column 76)) - (fill-region (point-min) (point-max)))) + (if (fboundp 'fill-region) + ;; Might not be bound in the cold load environment... + (let ((fill-column 76)) + (fill-region (point-min) (point-max)))) (goto-char (point-min)) (princ "\nWARNING:\n" 'external-debugging-output) (princ (buffer-string) 'external-debugging-output)
--- a/lisp/update-elc.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/update-elc.el Mon Aug 13 10:26:29 2007 +0200 @@ -63,8 +63,13 @@ ; (nthcdr 3 command-line-args)))) (define-function 'defalias 'define-function) + +(setq load-path (decode-path-internal (getenv "EMACSBOOTSTRAPLOADPATH"))) + +(load "find-paths.el") (load "packages.el") -;;; (load "setup-paths.el") +(load "setup-paths.el") +(load "dump-paths.el") (let ((autol (packages-list-autoloads))) ;; (print (prin1-to-string autol)) @@ -82,15 +87,22 @@ nil 'dirs-only) (cons temp-path load-path)))) - ;; (print (prin1-to-string update-elc-files-to-compile)) (let (preloaded-file-list site-load-packages) (load (concat default-directory "../lisp/dumped-lisp.el")) - ;; At this point we need to have the package path initialized - ;(paths-setup-paths) - (packages-find-packages package-path t t) - ;; (print (prin1-to-string preloaded-file-list)) + + (print (format "%S" package-path)) + + ;; Path setup + (let ((package-preloaded-file-list + (packages-collect-package-dumped-lisps late-package-load-path))) + + (setq preloaded-file-list + (append package-preloaded-file-list + preloaded-file-list + packages-hardcoded-lisp))) + (load (concat default-directory "../site-packages") t t) (setq preloaded-file-list (append packages-hardcoded-lisp
--- a/lisp/wid-edit.el Mon Aug 13 10:25:39 2007 +0200 +++ b/lisp/wid-edit.el Mon Aug 13 10:26:29 2007 +0200 @@ -2197,21 +2197,27 @@ ;; Insert the first choice that matches the value. (let ((value (widget-get widget :value)) (args (widget-get widget :args)) + (explicit (widget-get widget :explicit-choice)) current) - (while args - (setq current (car args) - args (cdr args)) - (when (widget-apply current :match value) - (widget-put widget :children (list (widget-create-child-value - widget current value))) - (widget-put widget :choice current) - (setq args nil - current nil))) - (when current - (let ((void (widget-get widget :void))) - (widget-put widget :children (list (widget-create-child-and-convert - widget void :value value))) - (widget-put widget :choice void))))) + (if explicit + (progn + (widget-put widget :children (list (widget-create-child-value + widget explicit value))) + (widget-put widget :choice explicit)) + (while args + (setq current (car args) + args (cdr args)) + (when (widget-apply current :match value) + (widget-put widget :children (list (widget-create-child-value + widget current value))) + (widget-put widget :choice current) + (setq args nil + current nil))) + (when current + (let ((void (widget-get widget :void))) + (widget-put widget :children (list (widget-create-child-and-convert + widget void :value value))) + (widget-put widget :choice void)))))) (defun widget-choice-value-get (widget) ;; Get value of the child widget. @@ -2283,7 +2289,10 @@ (cons (cons (widget-apply current :menu-tag-get) current) choices))) - (widget-choose tag (reverse choices) event)))) + (let ((choice + (widget-choose tag (reverse choices) event))) + (widget-put widget :explicit-choice choice) + choice)))) (when current (widget-value-set widget (widget-apply current :value-to-external
--- a/nt/ChangeLog Mon Aug 13 10:25:39 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:26:29 2007 +0200 @@ -1,3 +1,21 @@ +1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak (dump-xemacs): Replaced use of `touch' with `echo'. + +1998-03-20 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Removed all references to deleted dgif_lib.{c,obj}, + gif_err.{c,obj} and gifalloc.{c,obj}. New image support is not + compiled in yet. + +1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: HAVE_FILE_CODING removed: it is no longer an option, + since file I/O depends on it, and defined unconditioanlly in + src/s/windowsnt.h. + Added -nologo switch to different tools here and there. + Suppressed some irrelevant make output. + 1998-02-28 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Defined HAVE_FILE_CODING variable, an equivalent of
--- a/nt/xemacs.mak Mon Aug 13 10:25:39 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 10:26:29 2007 +0200 @@ -4,7 +4,6 @@ HAVE_X=0 HAVE_MSW=1 -HAVE_FILE_CODING=1 HAVE_MULE=0 HAVE_IMAGEMAGICK=0 @@ -25,10 +24,6 @@ #------------------------------------------------------------------------------ -!if $(HAVE_MULE) -HAVE_FILE_CODING=1 -!endif - !if $(HAVE_X) X11R6=h:\utils\X11R6 @@ -58,10 +53,6 @@ MULE_DEFINES=-DMULE !endif -!if $(HAVE_FILE_CODING) -CODING_DEFINES=-DFILE_CODING -!endif - !if $(DEBUG_XEMACS) DEBUG_DEFINES=-DDEBUG_XEMACS DEBUG_FLAGS= -debugtype:both -debug:full @@ -76,8 +67,7 @@ INCLUDES=$(X_INCLUDES) -I$(XEMACS)\nt\inc -I$(XEMACS)\src -I$(XEMACS)\lwlib -I"$(MSVCDIR)\include" -DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(CODING_DEFINES) $(MULE_DEFINES) \ - $(MSW_C_DIRED_DEFINES) \ +DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) $(MSW_C_DIRED_DEFINES) \ -DWIN32 -D_WIN32 -DWIN32_LEAN_AND_MEAN -DWINDOWSNT -Demacs \ -DHAVE_CONFIG_H -D_DEBUG @@ -200,8 +190,7 @@ $(XEMACS)\src\console-stream.c \ $(XEMACS)\src\console.c \ $(XEMACS)\src\data.c \ - $(XEMACS)\src\device.c \ - $(XEMACS)\src\dgif_lib.c + $(XEMACS)\src\device.c DOC_SRC2=\ $(XEMACS)\src\dialog.c \ $(XEMACS)\src\dired.c \ @@ -216,6 +205,7 @@ $(XEMACS)\src\events.c \ $(XEMACS)\src\extents.c \ $(XEMACS)\src\faces.c \ + $(XEMACS)\src\file-coding.c \ $(XEMACS)\src\fileio.c \ $(XEMACS)\src\filelock.c \ $(XEMACS)\src\filemode.c \ @@ -226,8 +216,6 @@ $(XEMACS)\src\frame.c \ $(XEMACS)\src\free-hook.c \ $(XEMACS)\src\general.c \ - $(XEMACS)\src\gif_err.c \ - $(XEMACS)\src\gifalloc.c \ $(XEMACS)\src\glyphs.c \ $(XEMACS)\src\gmalloc.c \ $(XEMACS)\src\gui.c \ @@ -318,13 +306,8 @@ $(MSW_C_DIRED_SRC) !endif -!if $(HAVE_FILE_CODING) +!if $(HAVE_MULE) DOC_SRC8=\ - $(XEMACS)\src\file-coding.c -!endif - -!if $(HAVE_MULE) -DOC_SRC9=\ $(XEMACS)\src\input-method-xlib.c \ $(XEMACS)\src\mule.c \ $(XEMACS)\src\mule-charset.c \ @@ -333,7 +316,7 @@ !endif !if $(DEBUG_XEMACS) -DOC_SRC10=\ +DOC_SRC9=\ $(XEMACS)\src\debug.c !endif @@ -343,12 +326,12 @@ link.exe -out:$@ $(LIB_SRC_LFLAGS) $** $(LIB_SRC_LIBS) $(OUTDIR)\make-docfile.obj: $(LIB_SRC)\make-docfile.c - $(CC) $(LIB_SRC_FLAGS) -c $** -Fo$@ + $(CC) -nologo $(LIB_SRC_FLAGS) -c $** -Fo$@ RUNEMACS=$(XEMACS)\src\runemacs.exe $(RUNEMACS): $(OUTDIR)\runemacs.obj - link.exe -out:$@ -subsystem:windows -entry:WinMainCRTStartup \ + link.exe -nologo -out:$@ -subsystem:windows -entry:WinMainCRTStartup \ -pdb:none -release -incremental:no $** \ kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib libc.lib @@ -425,10 +408,6 @@ $(MSW_C_DIRED_OBJ) !endif -!if $(HAVE_FILE_CODING) -TEMACS_CODING_OBJS=\ - $(OUTDIR)\file-coding.obj -!endif !if $(HAVE_MULE) TEMACS_MULE_OBJS=\ @@ -467,7 +446,6 @@ $(OUTDIR)\console.obj \ $(OUTDIR)\data.obj \ $(OUTDIR)\device.obj \ - $(OUTDIR)\dgif_lib.obj \ $(OUTDIR)\dialog.obj \ $(OUTDIR)\dired.obj \ $(OUTDIR)\doc.obj \ @@ -481,6 +459,7 @@ $(OUTDIR)\events.obj \ $(OUTDIR)\extents.obj \ $(OUTDIR)\faces.obj \ + $(OUTDIR)\file-coding.obj \ $(OUTDIR)\fileio.obj \ $(OUTDIR)\filelock.obj \ $(OUTDIR)\filemode.obj \ @@ -490,8 +469,6 @@ $(OUTDIR)\frame.obj \ $(OUTDIR)\free-hook.obj \ $(OUTDIR)\general.obj \ - $(OUTDIR)\gif_err.obj \ - $(OUTDIR)\gifalloc.obj \ $(OUTDIR)\glyphs.obj \ $(OUTDIR)\gmalloc.obj \ $(OUTDIR)\gui.obj \ @@ -573,9 +550,9 @@ # MSDEV Source Broswer file. "*.sbr" is too inclusive but this is harmless $(TEMACS_BROWSE): $(TEMACS_OBJS) - dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp - bscmake -o$@ @bscmake.tmp - del bscmake.tmp + @dir /b/s $(OUTDIR)\*.sbr > bscmake.tmp + bscmake /nologo -o$@ @bscmake.tmp + @del bscmake.tmp #------------------------------------------------------------------------------ @@ -595,7 +572,6 @@ !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC7) !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC8) !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC9) - !$(LIB_SRC)\make-docfile.exe -a $(DOC) -d $(TEMACS_SRC) $(DOC_SRC10) $(LISP)\Installation.el: Installation.el copy Installation.el $(LISP) @@ -604,16 +580,16 @@ !$(TEMACS) -batch -l update-elc.el rebuild: $(TEMACS_DIR)\puresize-adjust.h - !nmake -f xemacs.mak dump-xemacs + !nmake -nologo -f xemacs.mak dump-xemacs # This rule dumps xemacs and then checks to see if a rebuild is required due # to changing PURESPACE requirements. dump-xemacs: $(TEMACS) - !touch rebuild + !echo >rebuild cd $(TEMACS_DIR) !$(TEMACS) -batch -l loadup.el dump cd $(XEMACS)\nt - !nmake -f xemacs.mak rebuild + !nmake -nologo -f xemacs.mak rebuild #------------------------------------------------------------------------------ @@ -660,6 +636,7 @@ -del /s /q *.bak *.elc *.orig *.rej depend: + mkdepend -f xemacs.mak -p$(OUTDIR)\ -o.obj -w9999 -- $(TEMACS_CPP_FLAGS) -- $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(LASTFILE_SRC)\lastfile.c $(LIB_SRC)\make-docfile.c .\runemacs.c # DO NOT DELETE THIS LINE -- make depend depends on it. - mkdepend -f xemacs.mak -p$(OUTDIR)\ -o.obj -w9999 -- $(TEMACS_CPP_FLAGS) -- $(DOC_SRC1) $(DOC_SRC2) $(DOC_SRC3) $(DOC_SRC4) $(DOC_SRC5) $(DOC_SRC6) $(DOC_SRC7) $(DOC_SRC8) $(DOC_SRC9) $(LASTFILE_SRC)\lastfile.c $(LIB_SRC)\make-docfile.c .\runemacs.c +
--- a/src/ChangeLog Mon Aug 13 10:25:39 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:26:29 2007 +0200 @@ -1,3 +1,238 @@ +1998-03-25 Kirill M. Katsnelson <kkm@kis.ru> + + * process.c (Fprocess_send_eof): Close output stream before + deleting stream pair. + (deactivate_process): Ditto, both input and output streams. + + * event-unixoid.c (event_stream_unixoid_delete_stream_pair): Do + not close passed lstreams. + +1998-03-24 Kirill M. Katsnelson <kkm@kis.ru> + + * fileio.c (Ffile_readable_p): GC protect fix, MS Windows specific. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * configure.in: compile in glyphs-msw.o when compiling fopr + mswindows. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * msw-glyphs.el: add support for xpm and bmp. change + eval-and-compile to progn. + +Mon Mar 23 22:14:12 1998 Andy Piper <andyp@parallax.co.uk> + + * Makefile.in.in: fastdump - new target for dumping bypassing + bytecompilation, DOC. Add dependencies for glyphs-msw.o. Move + imgproc.o to object list. + + * glyphs-msw.h: + * glyphs-msw.c: new files adding support for xpm and bmp and + EImages. + + * redisply-msw.c: add support for outputing color pixmaps. + + * console-msw.h: add bitspixel field to mswindows frame. + + * device-msw.c: initialise bitspixel field in mswindows frame. + + * glyphs-x.c (xpm_instantiate): call mswindows_xpm_instantiate if + the device type is mswindows. + + * emacs.c: call glyphs-msw.c init functions if compiling with + mswindows. + + * symsinit.h: add prototypes for glyphs-msw.c functions. + + * sheap.c: make includes src-dir compliant. + + * events.c: remove cygwin ^H <-> erase hack. + + * s/cygwin32.h: remove NOMULTIPLEJOBS defn. + +1998-03-24 P. E. Jareth Hein <jareth@camelot-soft.com> + + * glyphs-x.c (my_jpeg_output_message): Added new function to redirect + any error/warning messages from the jpeg library to XEmacs. Also + get rid of an unneeded temp variable in the tiff code. + +1998-03-14 Hrvoje Niksic <hniksic@srce.hr> + + * insdel.c (fixup_internal_substring): Protect asserts with #ifdef + ERROR_CHECK_BUFPOS. + + * minibuf.c (scmp_1): c1 and c2 are Emchar, not Bufbyte. + (Ftry_completion): Fixed typo. + + * dired.c (file_name_completion): Removed `readfunc', a remnant of + dead VMS code. + +1998-03-13 Hrvoje Niksic <hniksic@srce.hr> + + * dired.c (Fdirectory_files): Simplify logic. + + * symbols.c (reject_constant_symbols): Allow setting a keyword's + function slot. + +1998-03-23 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (readevalloop): Don't specbind Qstandard_input to + READCHARFUN. + +1998-03-09 Hrvoje Niksic <hniksic@srce.hr> + + * wid-edit.el (widget-choice-action): Remember user's explicit + choice. + (widget-choice-value-create): Respect it. + From Richard Stallman <rms@gnu.org> + +1998-03-09 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (read_atom): Ditto. + + * symbols.c (reject_constant_symbols): Do the keyword stunts only + if the symbol is in Vobarray. + + * symbols.c (reject_constant_symbols): Signal error when + attempting to assign a value to a keyword, unless the value is the + keyword itself. + + * symbols.c (Fintern): Initialize symbol's ->obarray to t only + when OBARRAY is Vobarray. + +1998-03-21 Hrvoje Niksic <hniksic@srce.hr> + + * events.c (Fmake_event): Allow creation of misc-user-events. + +1998-03-23 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * config.h.in, emacs.c: Changed allow-site-lisp to + inhibit-site-lisp. Made -no-autoloads set inhibit-site-lisp. + +1998-03-22 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * <Today>: The Big Path Searching Overhaul. + + * symsinit.h: Added declaration for complex_vars_of_emacs in + emacs.c. + + * paths.h.in: Adjusted the comments to reality as dictated by + configure. + + * filelock.c (complex_vars_of_filelock): Added support for lock + directories passed in from configure. + + * emacs.c (complex_vars_of_emacs): Added all relevant installation + paths passed from configure. They all have the prefix "configure-" now. + + * config.h.in: Added HAVE_SITE_LISP configuration option. + + * callproc.c (init_callproc): Ripped out all the bogus path setup. + + * Makefile.in.in: Updated all calls of "temacs -l" with absolute + file names because auf the more minimalistic load-path setup in + lread.c. Also set EMACSBOOTSTRAPLOADPATH on calling temacs rather + than EMACSLOADPATH because EMACSLOADPATH is now more persistent than + before. + + * lread.c (init_lread): Ripped out bogus load-path setup. + +1998-03-21 Kyle Jones <kyle_jones@wonderworks.com> + + * frame.h: Move the check for an initialize_frame_toolbars + method into FRAME_RAW_REAL_TOOLBAR_VISIBLE to avoid getting + clunked by toolbar-less builds. + +1998-03-20 SL Baur <steve@altair.xemacs.org> + + * m/powerpc.h (LD_SWITCH_MACHINE): Fix path to ppc.ldscript. + +1998-03-16 Hrvoje Niksic <hniksic@srce.hr> + + * redisplay.c (window_line_number_buf): Made it larger. + + * opaque.c (print_opaque): Ditto. + + * lstream.c (print_lstream): Avoid `%p'. + + * keymap.c (ensure_meta_prefix_char_keymapp): Use + error_with_frob(). + + * input-method-xlib.c (EmacsXtCvtStringToXIMStyles): Allocate buf + dynamically. + + * event-Xt.c (describe_event_window): Allocate buf dynamically. + + * doc.c (Fsubstitute_command_keys): Warn of sprintf(). + + * device-x.c (x_init_device): Allocate path dynamically. + (x_init_device): Allocate buf1 and buf2 dynamically. + +1998-03-14 Hrvoje Niksic <hniksic@srce.hr> + + * ExternalShell.c (GetGeometry): Use a larger buffer for + sprintf(). + +1998-03-19 Kirill M. Katsnelson <kkm@kis.ru> + + * redisplay.c (point_would_be_visible): Fix + window::line_cache_validation_override reference counter. + (start_with_line_at_pixpos): Ditto. + +1998-03-20 Olivier Galibert <olivier.galibert@mines.u-nancy.fr> + + * insdel.c (bytecount_to_charcount): Use 'L' suffix on long + constants probably too large for an int. + +1998-03-18 Hrvoje Niksic <hniksic@srce.hr> + + * lread.c (read_atom_0): Signal Qend_of_file if readcharfun + returned -1. + (read_escape): Ditto. + (FSF_LOSSAGE): Ditto. + +1998-03-20 SL Baur <steve@altair.xemacs.org> + + * emacs.c: path-separator (and parse-colon-path) moved from Lisp + into C because we need it for early initialization. + + * Makefile.in.in (libmcheck): Add. + + * config.h.in: Add HAVE_LIBMCHECK and HAVE_MCHECK_H. + + * hash.c (grow_hashtable): Fix tests to compare against + Qnull_pointer since this function may be called before any symbols + or the Lisp engine is initialized. + + * emacs.c (main_1): Restore usage of free-hook.c. + + * free-hook.c (check_realloc): Change aborts to printfs. + (check_free): Ditto. + +1998-03-18 SL Baur <steve@altair.xemacs.org> + + * emacs.c (Fkill_emacs): Use LIST_LOOP_DELETING because our + control variable is being modified underneath us. + - Avoid calling delete_console_internal on stream consoles. + + * console-tty.c (free_tty_console_struct): NULL out pointers after + xfree'ing. + + * console-stream.c (allocate_stream_console_struct): Fix memory + leak -- if the stream_console struct is already allocated, don't + reallocate it. + (free_stream_console_struct): Don't leave dangling freed pointer + around. + + * redisplay-output.c (redisplay_redraw_cursor): Fully bracket. + +1998-03-17 SL Baur <steve@altair.xemacs.org> + + * frame.c (delete_frame_internal): Correct check. + + * imgproc.c: Include <config.h>. + 1998-03-13 P. E. Jareth Hein <jareth@camelot-soft.com> * glyphs-x.c: fix for upside-down TIFFs. @@ -67,24 +302,6 @@ 1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> - * keydefs.el: Changed keybindings of forward-char, - backward, scroll-up and scroll-down to point to their - -command counterparts. - - * simple.el: New functions: forwarc-char-command, - backwrad-char-command, scroll-up-command, - scroll-down-command which work liek their counterparts - except that they honor the variable - signal-error-on-buffer-boundary. - - Definition of signal-error-on-buffer-boundary received - from src/cmds.c. - - defvar declaration added for word-across-newline to avoid - byte-compiler warning about the free variable reference. - -1998-03-15 Kyle Jones <kyle_jones@wonderworks.com> - * redisplay-tty.c (tty_clear_frame): Record that the real location of teh cursor has been moved to 0,0. Failure to do this makes the display code believe the
--- a/src/ExternalShell.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/ExternalShell.c Mon Aug 13 10:26:29 2007 +0200 @@ -381,7 +381,7 @@ } if(w->shell.geometry != NULL) { - char def_geom[64]; + char def_geom[128]; int width, height; x = w->core.x;
--- a/src/Makefile.in.in Mon Aug 13 10:25:39 2007 +0200 +++ b/src/Makefile.in.in Mon Aug 13 10:26:29 2007 +0200 @@ -70,6 +70,7 @@ start_flags=@start_flags@ LD=@ld@ lib_gcc=@lib_gcc@ +#libmcheck=@libmcheck@ #define NOT_C_CODE #include "config.h" @@ -120,7 +121,7 @@ OFFIX_O = @OFFIX_O@ x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ - glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o imgproc.o + glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o #ifdef AIX4 LIBI18N = -li18n @@ -178,7 +179,7 @@ event-stream.o extents.o faces.o\ fileio.o $(LOCK_OBJ) filemode.o floatfns.o fns.o font-lock.o\ frame.o general.o getloadavg.o glyphs.o\ - $(gui_objs) hash.o indent.o insdel.o intl.o\ + $(gui_objs) hash.o imgproc.o indent.o insdel.o intl.o\ keymap.o $(RTC_patch_objs) line-number.o lread.o lstream.o\ macros.o marker.o md5.o minibuf.o objects.o opaque.o\ print.o process.o profile.o pure.o\ @@ -194,7 +195,7 @@ rallocobjs = ralloc.o #endif -malloclib = +malloclib = $(libmcheck) #ifndef SYSTEM_MALLOC # ifdef GNU_MALLOC /* GNU malloc */ # ifdef ERROR_CHECK_MALLOC @@ -289,7 +290,7 @@ mo_file = ${mo_dir}emacs.mo #endif -LOADPATH = EMACSLOADPATH="${lispdir}:${blddir}" +LOADPATH = EMACSBOOTSTRAPLOADPATH="${lispdir}:${blddir}" DUMPENV = $(LOADPATH) release: temacs ${libsrc}DOC $(mo_file) ${other_files} @@ -298,18 +299,18 @@ #else #ifdef HAVE_SHM -if [ -w ${srcdir}/../lisp ]; then \ - w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l inc-vers; \ + w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l ${srcdir}/../lisp/inc-vers; \ else true; fi @touch SATISFIED - -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump + -$(DUMPENV) ./temacs -nl -batch -l ${srcdir}/../lisp/loadup.el dump @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi @$(RM) SATISFIED #else /* ! defined (HAVE_SHM) */ -if [ -w ${srcdir}/../lisp ]; then \ - w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \ + w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l ${srcdir}/../lisp/inc-vers; \ else true; fi @touch SATISFIED - -$(DUMPENV) ./temacs -batch -l loadup.el dump + -$(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el dump @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi @$(RM) SATISFIED #endif /* ! defined (HAVE_SHM) */ @@ -318,18 +319,26 @@ xemacs: temacs ${libsrc}DOC $(mo_file) ${other_files} update-elc.stamp @$(RM) $@ && touch SATISFIED - -$(DUMPENV) ./temacs -batch -l loadup.el dump + -$(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el dump @if test -f $@; then if test -f SATISFIED; then \ ./xemacs -batch -vanilla -f list-load-path-shadows; fi; \ $(RM) SATISFIED; exit 0; fi; \ if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \ $(RECURSIVE_MAKE) $@; +fastdump: temacs + @$(RM) xemacs && touch SATISFIED + -$(DUMPENV) ./temacs -batch -l loadup.el dump + @if test -f xemacs; then if test -f SATISFIED; then \ + ./xemacs -batch -vanilla -f list-load-path-shadows; fi; \ + $(RM) SATISFIED; exit 0; fi; \ + if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; + FRC.update-elc.stamp : update-elc.stamp : temacs FRC.update-elc.stamp @touch NOBYTECOMPILE - ${DUMPENV} ./temacs -batch -l update-elc.el + ${DUMPENV} ./temacs -batch -l ${srcdir}/../lisp/update-elc.el @if test ! -f $@ -o -f NOBYTECOMPILE; then touch $@; fi; \ $(RM) NOBYTECOMPILE @@ -350,14 +359,14 @@ ${libsrc}DOC: temacs update-elc.stamp $(RM) ${libsrc}DOC; \ - ${DUMPENV} ./temacs -batch -l make-docfile.el -- \ + ${DUMPENV} ./temacs -batch -l ${srcdir}/../lisp/make-docfile.el -- \ -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \ ${obj_src} ${mallocdocsrc} ${rallocdocsrc} dump_elcs: dump-elcs dump-elcs: temacs - -${DUMPENV} ./temacs -batch -l update-elc.el + -${DUMPENV} ./temacs -batch -l ${srcdir}/../lisp/update-elc.el all-elc all-elcs: cd .. && $(RECURSIVE_MAKE) all-elc @@ -418,7 +427,7 @@ .PHONY : run-temacs run-temacs: temacs - ./temacs -batch -l loadup.el run-temacs + ./temacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs ## Debugging targets: ## @@ -448,7 +457,7 @@ ignore POLL; \ check -access; \ suppress rui; \ - runargs -batch -l loadup.el run-temacs -q; \ + runargs -batch -l ${srcdir}/../lisp/loadup.el run-temacs -q; \ run' rtcmacs ## Purify @@ -459,7 +468,7 @@ $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) -lpthread run-puremacs: puremacs - ./puremacs -batch -l loadup.el run-temacs + ./puremacs -batch -l ${srcdir}/../lisp/loadup.el run-temacs ## Quantify #ifdef QUANTIFY @@ -1964,6 +1973,29 @@ glyphs.o: specifier.h glyphs.o: toolbar.h glyphs.o: window.h +glyphs-msw.o: bitmaps.h +glyphs-msw.o: blocktype.h +glyphs-msw.o: buffer.h +glyphs-msw.o: bufslots.h +glyphs-msw.o: config.h +glyphs-msw.o: conslots.h +glyphs-msw.o: console-msw.h +glyphs-msw.o: console.h +glyphs-msw.o: device.h +glyphs-msw.o: dynarr.h +glyphs-msw.o: frame.h +glyphs-msw.o: frameslots.h +glyphs-msw.o: glyphs-msw.h +glyphs-msw.o: glyphs.h +glyphs-msw.o: insdel.h +glyphs-msw.o: objects-msw.h +glyphs-msw.o: objects.h +glyphs-msw.o: opaque.h +glyphs-msw.o: scrollbar.h +glyphs-msw.o: specifier.h +glyphs-msw.o: sysfile.h +glyphs-msw.o: toolbar.h +glyphs-msw.o: imgproc.h gmalloc.o: config.h gmalloc.o: getpagesize.h gui-x.o: $(LWLIB_SRCDIR)/lwlib.h
--- a/src/callproc.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/callproc.c Mon Aug 13 10:26:29 2007 +0200 @@ -55,14 +55,6 @@ Lisp_Object Vbinary_process_output; #endif /* DOS_NT */ -Lisp_Object Vexec_path, Vexec_directory, Vdata_directory, Vdoc_directory; -Lisp_Object Vdata_directory_list; -Lisp_Object Vconfigure_info_directory, Vsite_directory; -Lisp_Object Vinfopath_internal; - -/* The default base directory XEmacs is installed under. */ -Lisp_Object Vprefix_directory; - Lisp_Object Vshell_file_name; /* The environment to pass to all subprocesses when they are started. @@ -877,134 +869,6 @@ } } - /* jwz: don't do these things when in temacs (this used to be the case by - virtue of egetenv() always returning 0, but that has been changed). - */ -#ifndef CANNOT_DUMP - if (!initialized) - { - Vdata_directory = Qnil; - Vsite_directory = Qnil; - Vdoc_directory = Qnil; - Vexec_path = Qnil; - } - else -#endif - { - char *data_dir = egetenv ("EMACSDATA"); - char *site_dir = egetenv ("EMACSSITE"); - char *doc_dir = egetenv ("EMACSDOC"); - -#ifdef PATH_DATA - if (!data_dir) - data_dir = (char *) PATH_DATA; -#endif -#ifdef PATH_DOC - if (!doc_dir) - doc_dir = (char *) PATH_DOC; -#endif -#ifdef PATH_SITE - if (!site_dir) - site_dir = (char *) PATH_SITE; -#endif - - if (data_dir) - Vdata_directory = Ffile_name_as_directory - (build_string (data_dir)); - else - Vdata_directory = Qnil; - if (doc_dir) - Vdoc_directory = Ffile_name_as_directory - (build_string (doc_dir)); - else - Vdoc_directory = Qnil; - if (site_dir) - Vsite_directory = Ffile_name_as_directory - (build_string (site_dir)); - else - Vsite_directory = Qnil; - - /* Check the EMACSPATH environment variable, defaulting to the - PATH_EXEC path from paths.h. */ - Vexec_path = decode_env_path ("EMACSPATH", -#ifdef PATH_EXEC - PATH_EXEC -#else - 0 -#endif - ); - } - - if (NILP (Vexec_path)) - Vexec_directory = Qnil; - else - Vexec_directory = Ffile_name_as_directory - (Fcar (Vexec_path)); - - if (initialized) - Vexec_path = nconc2 (decode_env_path ("PATH", 0), - Vexec_path); - - if (!NILP (Vexec_directory)) - { - tempdir = Fdirectory_file_name (Vexec_directory); - if (access ((char *) XSTRING_DATA (tempdir), 0) < 0) - { - /* If the hard-coded path is bogus, fail silently. - This will allow the normal heuristics to make an attempt. */ -#if 0 - warn_when_safe - (Qpath, Qwarning, - "Warning: machine-dependent data dir (%s) does not exist.\n", - XSTRING_DATA (Vexec_directory)); -#else - Vexec_directory = Qnil; -#endif - } - } - - if (!NILP (Vdata_directory)) - { - tempdir = Fdirectory_file_name (Vdata_directory); - if (access ((char *) XSTRING_DATA (tempdir), 0) < 0) - { - /* If the hard-coded path is bogus, fail silently. - This will allow the normal heuristics to make an attempt. */ -#if 0 - warn_when_safe - (Qpath, Qwarning, - "Warning: machine-independent data dir (%s) does not exist.\n", - XSTRING_DATA (Vdata_directory)); -#else - Vdata_directory = Qnil; -#endif - } - } - - if (!NILP (Vsite_directory)) - { - tempdir = Fdirectory_file_name (Vsite_directory); - if (access ((char *) XSTRING_DATA (tempdir), 0) < 0) - { - /* If the hard-coded path is bogus, fail silently. - This will allow the normal heuristics to make an attempt. */ -#if 0 - warn_when_safe - (Qpath, Qwarning, - "Warning: machine-independent site dir (%s) does not exist.\n", - XSTRING_DATA (Vsite_directory)); -#else - Vsite_directory = Qnil; -#endif - } - } - -#ifdef PATH_PREFIX - Vprefix_directory = build_string ((char *) PATH_PREFIX); -#else - Vprefix_directory = Qnil; -#endif - #ifdef WINDOWSNT /* Sync with FSF Emacs 19.34.6 note: this is not in 19.34.6. --marcpa */ /* @@ -1083,46 +947,6 @@ Initialized from the SHELL environment variable. */ ); - DEFVAR_LISP ("exec-path", &Vexec_path /* -*List of directories to search programs to run in subprocesses. -Each element is a string (directory name) or nil (try default directory). -*/ ); - - DEFVAR_LISP ("exec-directory", &Vexec_directory /* -Directory of architecture-dependent files that come with XEmacs, -especially executable programs intended for XEmacs to invoke. -*/ ); - - DEFVAR_LISP ("data-directory", &Vdata_directory /* -Directory of architecture-independent files that come with XEmacs, -intended for XEmacs to use. -Use of this variable in new code is almost never correct. See the -function `locate-data-directory' and the variable `data-directory-list'. -*/ ); - - DEFVAR_LISP ("data-directory-list", &Vdata_directory_list /* -List of directories of architecture-independent files that come with XEmacs -or were installed as packages, and are intended for XEmacs to use. -*/ ); - Vdata_directory_list = Qnil; - - DEFVAR_LISP ("site-directory", &Vsite_directory /* -Directory of architecture-independent files that do not come with XEmacs, -intended for XEmacs to use. -*/ ); - - /* FSF puts the DOC file into data-directory. They do a bunch of - contortions to attempt to put everything into the DOC file - whether the support is there or not. */ - DEFVAR_LISP ("doc-directory", &Vdoc_directory /* -Directory containing the DOC file that comes with XEmacs. -This is usually the same as exec-directory. -*/ ); - - DEFVAR_LISP ("prefix-directory", &Vprefix_directory /* -The default directory under which XEmacs is installed. -*/ ); - DEFVAR_LISP ("process-environment", &Vprocess_environment /* List of environment variables for subprocesses to inherit. Each element should be a string of the form ENVVARNAME=VALUE. @@ -1130,32 +954,3 @@ when Emacs starts. */ ); } - -void -complex_vars_of_callproc (void) -{ - DEFVAR_LISP ("configure-info-directory", &Vconfigure_info_directory /* -For internal use by the build procedure only. -This is the name of the directory in which the build procedure installed -Emacs's info files; the default value for Info-default-directory-list -includes this. -*/ ); - -#ifdef PATH_INFO - Vconfigure_info_directory = - Ffile_name_as_directory (build_string (PATH_INFO)); -#else - Vconfigure_info_directory = Qnil; -#endif - - DEFVAR_LISP ("infopath-internal", &Vinfopath_internal /* -The configured initial value of Info-default-directory-list. -*/ ); - -#ifdef PATH_INFOPATH - Vinfopath_internal = build_string (PATH_INFOPATH); -#else - Vinfopath_internal = - build_string ("/usr/info:/usr/local/info:/usr/lib/texmf/doc/info:/usr/local/lib/texmf/doc/info"); -#endif -}
--- a/src/config.h.in Mon Aug 13 10:25:39 2007 +0200 +++ b/src/config.h.in Mon Aug 13 10:26:29 2007 +0200 @@ -73,8 +73,8 @@ /* Used to identify the XEmacs version in stack traces. */ #undef STACK_TRACE_EYE_CATCHER -/* Allow the configurer to specify (additional) package directories. */ -#undef PACKAGE_PATH +/* Allow the configurer to specify if she wants site-lisp. */ +#undef INHIBIT_SITE_LISP /* This will be removed in 19.15. */ /* Hah! Try 20.3 ... */ @@ -94,6 +94,9 @@ /* Define if you are using the GNU C Library. -- experimental. */ #undef DOUG_LEA_MALLOC +/* Define if you are using libmcheck.a from the GNU C Library. */ +#undef HAVE_LIBMCHECK + /* Define if you are using dlmalloc from the Linux C library. */ #undef _NO_MALLOC_WARNING_ @@ -167,6 +170,7 @@ /* Some things figured out by the configure script, grouped as they are in configure.in. */ +#undef HAVE_MCHECK_H #undef HAVE_MACH_MACH_H #undef HAVE_SYS_STROPTS_H #undef HAVE_SYS_TIMEB_H
--- a/src/console-msw.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/console-msw.h Mon Aug 13 10:26:29 2007 +0200 @@ -84,6 +84,7 @@ int planes, cells; int horzres, vertres; /* Size in pixels */ int horzsize, vertsize; /* Size in mm */ + int bitspixel; }; #define DEVICE_MSWINDOWS_DATA(d) DEVICE_TYPE_DATA (d, mswindows) @@ -95,6 +96,7 @@ #define DEVICE_MSWINDOWS_VERTRES(d) (DEVICE_MSWINDOWS_DATA (d)->vertres) #define DEVICE_MSWINDOWS_HORZSIZE(d) (DEVICE_MSWINDOWS_DATA (d)->horzsize) #define DEVICE_MSWINDOWS_VERTSIZE(d) (DEVICE_MSWINDOWS_DATA (d)->vertsize) +#define DEVICE_MSWINDOWS_BITSPIXEL(d) (DEVICE_MSWINDOWS_DATA (d)->bitspixel) /*
--- a/src/console-stream.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/console-stream.c Mon Aug 13 10:26:29 2007 +0200 @@ -47,7 +47,14 @@ static void allocate_stream_console_struct (struct console *con) { - con->console_data = xnew_and_zero (struct stream_console); + if (!con->console_data) + { + con->console_data = xnew_and_zero (struct stream_console); + } + else + { + memset(con->console_data, 0, sizeof (struct stream_console)); + } } static void @@ -101,7 +108,10 @@ { struct stream_console *tcon = (struct stream_console *) con->console_data; if (tcon) - xfree (tcon); + { + xfree (tcon); + con->console_data = NULL; + } } extern int stdout_needs_newline; @@ -167,9 +177,10 @@ stream_init_frame_1 (struct frame *f, Lisp_Object props) { struct device *d = XDEVICE (FRAME_DEVICE (f)); +#if 0 if (!NILP (DEVICE_FRAME_LIST (d))) error ("Only one frame allowed on stream devices"); - +#endif f->name = build_string ("stream"); f->height = 80; f->width = 24;
--- a/src/console-tty.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/console-tty.c Mon Aug 13 10:26:29 2007 +0200 @@ -181,9 +181,15 @@ { struct tty_console *tcon = (struct tty_console *) con->console_data; if (tcon && tcon->term_entry_buffer) /* allocated in term_init () */ - xfree (tcon->term_entry_buffer); + { + xfree (tcon->term_entry_buffer); + tcon->term_entry_buffer = NULL; + } if (tcon) - xfree (tcon); + { + xfree (tcon); + con->console_data = NULL; + } } static void
--- a/src/device-msw.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/device-msw.c Mon Aug 13 10:26:29 2007 +0200 @@ -83,6 +83,7 @@ DEVICE_MSWINDOWS_VERTRES(d) = GetDeviceCaps(hdc, VERTRES); DEVICE_MSWINDOWS_HORZSIZE(d) = GetDeviceCaps(hdc, HORZSIZE); DEVICE_MSWINDOWS_VERTSIZE(d) = GetDeviceCaps(hdc, VERTSIZE); + DEVICE_MSWINDOWS_BITSPIXEL(d) = GetDeviceCaps(hdc, BITSPIXEL); ReleaseDC(desktop, hdc); DEVICE_CLASS(d) = Qcolor;
--- a/src/device-x.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/device-x.c Mon Aug 13 10:26:29 2007 +0200 @@ -329,7 +329,7 @@ This is in addition to the standard app-defaults files, and does not override resources defined elsewhere */ CONST char *data_dir; - char path[MAXPATHLEN]; + char *path; XrmDatabase db = XtDatabase (dpy); /* ### XtScreenDatabase(dpy) ? */ CONST char *locale = XrmLocaleOfDatabase (db); @@ -337,6 +337,7 @@ XSTRING_LENGTH (Vx_app_defaults_directory) > 0) { GET_C_STRING_FILENAME_DATA_ALLOCA(Vx_app_defaults_directory, data_dir); + path = (char *)alloca (strlen (data_dir) + strlen (locale) + 7); sprintf (path, "%s%s/Emacs", data_dir, locale); if (!access (path, R_OK)) XrmCombineFileDatabase (path, &db, False); @@ -344,6 +345,7 @@ else if (STRINGP (Vdata_directory) && XSTRING_LENGTH (Vdata_directory) > 0) { GET_C_STRING_FILENAME_DATA_ALLOCA (Vdata_directory, data_dir); + path = (char *)alloca (strlen (data_dir) + 13 + strlen (locale) + 7); sprintf (path, "%sapp-defaults/%s/Emacs", data_dir, locale); if (!access (path, R_OK)) XrmCombineFileDatabase (path, &db, False); @@ -364,7 +366,8 @@ /* search for a matching visual if requested by the user, or setup the display default */ numargs = 0; { - char buf1[100],buf2[100]; + char *buf1 = (char *)alloca (strlen (app_name) + 17); + char *buf2 = (char *)alloca (strlen (app_class) + 17); char *type; XrmValue value;
--- a/src/dired.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/dired.c Mon Aug 13 10:26:29 2007 +0200 @@ -63,43 +63,41 @@ */ (dirname, full, match, nosort, files_only)) { - /* This function can GC. GC checked 1997.04.06. */ + /* This function can GC */ DIR *d; - Bytecount name_as_dir_length; - Lisp_Object list = Qnil, name, dirfilename = Qnil; + Lisp_Object list = Qnil; + Bytecount dirnamelen; Lisp_Object handler; struct re_pattern_buffer *bufp = NULL; - Lisp_Object name_as_dir = Qnil; int speccount = specpdl_depth (); char *statbuf, *statbuf_tail; - struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; - GCPRO4 (dirname, name_as_dir, dirfilename, list); + struct gcpro gcpro1, gcpro2; + GCPRO2 (dirname, list); /* If the file name has special constructs in it, call the corresponding file handler. */ handler = Ffind_file_name_handler (dirname, Qdirectory_files); if (!NILP (handler)) - { - UNGCPRO; - if (!NILP (files_only)) - return call6 (handler, Qdirectory_files, dirname, full, match, nosort, - files_only); - else - return call5 (handler, Qdirectory_files, dirname, full, match, - nosort); - } + { + UNGCPRO; + if (!NILP (files_only)) + return call6 (handler, Qdirectory_files, dirname, full, match, nosort, + files_only); + else + return call5 (handler, Qdirectory_files, dirname, full, match, + nosort); + } /* #### why do we do Fexpand_file_name after file handlers here, but earlier everywhere else? */ dirname = Fexpand_file_name (dirname, Qnil); - dirfilename = Fdirectory_file_name (dirname); - name_as_dir = Ffile_name_as_directory (dirname); + dirname = Ffile_name_as_directory (dirname); + dirnamelen = XSTRING_LENGTH (dirname); - name_as_dir_length = XSTRING_LENGTH (name_as_dir); - statbuf = (char *) alloca (name_as_dir_length + MAXNAMLEN + 1); - memcpy (statbuf, XSTRING_DATA (name_as_dir), name_as_dir_length); - statbuf_tail = statbuf + name_as_dir_length; + statbuf = (char *)alloca (dirnamelen + MAXNAMLEN + 1); + memcpy (statbuf, XSTRING_DATA (dirname), dirnamelen); + statbuf_tail = statbuf + dirnamelen; /* XEmacs: this should come after Ffile_name_as_directory() to avoid potential regexp cache smashage. It comes before the opendir() @@ -117,81 +115,82 @@ /* Now *bufp is the compiled form of MATCH; don't call anything which might compile a new regexp until we're done with the loop! */ - /* Do this opendir after anything which might signal an error; - previosly, there was no unwind-protection in case of error, but - now there is. */ - d = opendir ((char *) XSTRING_DATA (dirfilename)); - if (! d) + /* Do this opendir after anything which might signal an error. + NOTE: the above comment is old; previosly, there was no + unwind-protection in case of error, but now there is. */ + d = opendir ((char *) XSTRING_DATA (dirname)); + if (!d) report_file_error ("Opening directory", list1 (dirname)); record_unwind_protect (close_directory_unwind, make_opaque_ptr ((void *)d)); - list = Qnil; - /* Loop reading blocks */ while (1) { DIRENTRY *dp = readdir (d); + Lisp_Object name; int len; - if (!dp) break; + if (!dp) + break; len = NAMLEN (dp); - if (DIRENTRY_NONEMPTY (dp)) + if (DIRENTRY_NONEMPTY (dp) + && (NILP (match) + || (0 <= re_search (bufp, dp->d_name, len, 0, len, 0)))) { - int result; - result = (NILP (match) - || (0 <= re_search (bufp, dp->d_name, len, 0, len, 0))); - if (result) + if (!NILP (files_only)) { - if (!NILP (files_only)) - { - int dir_p; - struct stat st; - char *cur_statbuf = statbuf; - char *cur_statbuf_tail = statbuf_tail; + int dir_p; + struct stat st; + char *cur_statbuf = statbuf; + char *cur_statbuf_tail = statbuf_tail; + + /* #### I don't think the code under `if' is necessary + anymore. The crashes in this function were reported + because MAXNAMLEN was used to remember the *whole* + statbuf, instead of using MAXPATHLEN. This should be + tested after 20.5 is released. */ - /* A trick: we normally use the buffer created by - alloca. However, if the filename is too big - (meaning MAXNAMLEN is wrong or useless on the - system), we'll use a malloced buffer, and free - it. */ - if (len > MAXNAMLEN) - { - cur_statbuf = (char *) xmalloc (name_as_dir_length - + len + 1); - memcpy (cur_statbuf, statbuf, name_as_dir_length); - cur_statbuf_tail = cur_statbuf + name_as_dir_length; - } - memcpy (cur_statbuf_tail, dp->d_name, len); - cur_statbuf_tail [len] = 0; - - if (stat (cur_statbuf, &st) < 0) - dir_p = 0; - else - dir_p = ((st.st_mode & S_IFMT) == S_IFDIR); + /* We normally use the buffer created by alloca. + However, if the file name we get too big, we'll use a + malloced buffer, and free it. It is undefined how + stat() will react to this, but we avoid a buffer + overrun. */ + if (len > MAXNAMLEN) + { + cur_statbuf = (char *)xmalloc (dirnamelen + len + 1); + memcpy (cur_statbuf, statbuf, dirnamelen); + cur_statbuf_tail = cur_statbuf + dirnamelen; + } + memcpy (cur_statbuf_tail, dp->d_name, len); + cur_statbuf_tail[len] = 0; - if (cur_statbuf != statbuf) - xfree (cur_statbuf); + if (stat (cur_statbuf, &st) < 0) + dir_p = 0; + else + dir_p = ((st.st_mode & S_IFMT) == S_IFDIR); - if (EQ (files_only, Qt) && dir_p) - continue; - else if (!EQ (files_only, Qt) && !dir_p) - continue; - } + if (cur_statbuf != statbuf) + xfree (cur_statbuf); - if (!NILP (full)) - name = concat2 (name_as_dir, - make_ext_string ((Bufbyte *)dp->d_name, - len, FORMAT_FILENAME)); - else - name = make_ext_string ((Bufbyte *)dp->d_name, - len, FORMAT_FILENAME); + if (EQ (files_only, Qt) && dir_p) + continue; + else if (!EQ (files_only, Qt) && !dir_p) + continue; + } - list = Fcons (name, list); - } + if (!NILP (full)) + name = concat2 (dirname, make_ext_string ((Bufbyte *)dp->d_name, + len, FORMAT_FILENAME)); + else + name = make_ext_string ((Bufbyte *)dp->d_name, + len, FORMAT_FILENAME); + + list = Fcons (name, list); } } unbind_to (speccount, Qnil); /* This will close the dir */ + if (!NILP (nosort)) RETURN_UNGCPRO (list); else @@ -292,17 +291,17 @@ } static Lisp_Object -file_name_completion_unwind (Lisp_Object unwind_obj) +file_name_completion_unwind (Lisp_Object locative) { DIR *d; - Lisp_Object obj = XCAR (unwind_obj); + Lisp_Object obj = XCAR (locative); if (NILP (obj)) return Qnil; d = (DIR *)get_opaque_ptr (obj); closedir (d); free_opaque_ptr (obj); - free_cons (XCONS (unwind_obj)); + free_cons (XCONS (locative)); return Qnil; } @@ -319,8 +318,7 @@ int passcount; int speccount = specpdl_depth (); Charcount file_name_length; - DIRENTRY *((*readfunc) (DIR *)) = readdir; - Lisp_Object unwind_closure; + Lisp_Object locative; struct gcpro gcpro1, gcpro2, gcpro3; GCPRO3 (file, dirname, bestmatch); @@ -331,7 +329,7 @@ /* Filename completion on Windows ignores case, since Windows filesystems do. */ specbind (Qcompletion_ignore_case, Qt); -#endif /* HAVE_WINDOWS */ +#endif /* WINDOWSNT */ #ifdef FILE_SYSTEM_CASE file = FILE_SYSTEM_CASE (file); @@ -352,15 +350,15 @@ call closedir, but it was wrong, because it made sane handling of QUIT impossible and, besides, various utility functions like regexp_ignore_completion_p can signal errors. */ - unwind_closure = noseeum_cons (Qnil, Qnil); - record_unwind_protect (file_name_completion_unwind, unwind_closure); + locative = noseeum_cons (Qnil, Qnil); + record_unwind_protect (file_name_completion_unwind, locative); for (passcount = !!all_flag; NILP (bestmatch) && passcount < 2; passcount++) { d = opendir ((char *) XSTRING_DATA (Fdirectory_file_name (dirname))); if (!d) report_file_error ("Opening directory", list1 (dirname)); - XCAR (unwind_closure) = make_opaque_ptr ((void *)d); + XCAR (locative) = make_opaque_ptr ((void *)d); /* Loop reading blocks */ while (1) @@ -374,7 +372,7 @@ int ignored_extension_p = 0; Bufbyte *d_name; - dp = (*readfunc) (d); + dp = readdir (d); if (!dp) break; /* #### This is a bad idea, because d_name can contain @@ -516,8 +514,8 @@ } } closedir (d); - free_opaque_ptr (XCAR (unwind_closure)); - XCAR (unwind_closure) = Qnil; + free_opaque_ptr (XCAR (locative)); + XCAR (locative) = Qnil; } unbind_to (speccount, Qnil);
--- a/src/doc.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/doc.c Mon Aug 13 10:26:29 2007 +0200 @@ -923,6 +923,7 @@ { char boof[255], *b = boof; *b++ = '\n'; + /* #### This sprintf() is potentially dangerous! */ sprintf (b, GETTEXT ( "Uses keymap \"%s\", which is not currently defined."), (char *) XSTRING_DATA (Fsymbol_name (name)));
--- a/src/emacs.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/emacs.c Mon Aug 13 10:26:29 2007 +0200 @@ -86,14 +86,6 @@ /* Preserves a pointer to the memory allocated that copies that static data inside glibc's malloc. */ void *malloc_state_ptr; -/*#define SLB_MEMORY_CHECKING 1*/ -/* I have observed free being passed the value 0x01 in gdb from somewhere */ -/* in the locale initialization, except that as soon as the following */ -/* monitoring code was added, the problem went away. I don't trust gdb */ -/* at all with glibc, sigh. -slb */ -#ifdef SLB_MEMORY_CHECKING -void slb_memory_checker(__malloc_ptr_t); -#endif #endif /* Variable whose value is symbol giving operating system type. */ @@ -112,9 +104,6 @@ Lisp_Object Vemacs_beta_version; Lisp_Object Vxemacs_codename; -/* Package directories built in at configure time */ -Lisp_Object Vpackage_path; - /* The name under which XEmacs was invoked, with any leading directory names discarded. */ Lisp_Object Vinvocation_name; @@ -128,6 +117,21 @@ Lisp_Object Vinstallation_directory; #endif +Lisp_Object Vexec_path, Vconfigure_exec_path; +Lisp_Object Vexec_directory; +Lisp_Object Vconfigure_lisp_directory; +Lisp_Object Vconfigure_package_path; +Lisp_Object Vdata_directory, Vconfigure_data_directory; +Lisp_Object Vdoc_directory, Vconfigure_doc_directory; +Lisp_Object Vconfigure_lock_directory; +Lisp_Object Vdata_directory_list; +Lisp_Object Vinfo_directory, Vconfigure_info_directory; +Lisp_Object Vsite_directory, Vconfigure_site_directory; +Lisp_Object Vconfigure_info_path; + +/* The default base directory XEmacs is installed under. */ +Lisp_Object Vconfigure_prefix_directory; + /* If nonzero, set XEmacs to run at this priority. This is also used in child_setup and sys_suspend to make sure subshells run at normal priority. */ @@ -173,6 +177,9 @@ int noninteractive1; +/* Nonzero means don't perform site-lisp searches at startup */ +int inhibit_site_lisp; + /* Nonzero means don't perform package searches at startup */ int inhibit_package_init; @@ -506,14 +513,14 @@ extern int malloc_cookie; #endif -#ifndef SYSTEM_MALLOC +#if !defined(SYSTEM_MALLOC) && !defined(HAVE_LIBMCHECK) /* Make sure that any libraries we link against haven't installed a hook for a gmalloc of a potentially incompatible version. */ + /* If we're using libmcheck, the hooks have already been initialized, */ + /* don't touch them. -slb */ __malloc_hook = NULL; __realloc_hook = NULL; -#ifndef SLB_MEMORY_CHECKING __free_hook = NULL; -#endif #endif /* not SYSTEM_MALLOC */ noninteractive = 0; @@ -532,11 +539,12 @@ printf ("malloc jumpstart failed!\n"); #endif /* NeXT */ -#if defined (GNU_MALLOC) && defined (ERROR_CHECK_MALLOC) -#if 0 - if (!initialized) - init_free_hook (); -#endif +#if defined (GNU_MALLOC) && \ + defined (ERROR_CHECK_MALLOC) && \ + !defined (HAVE_LIBMCHECK) + /* Prior to XEmacs 21, this was `#if 0'ed out. I'm putting it back in + because it provides extremely valuable debugging code. -slb */ + init_free_hook (); #endif sort_args (argc, argv); @@ -677,6 +685,7 @@ { /* Inhibit everything */ inhibit_package_init = 1; + inhibit_site_lisp = 1; inhibit_update_autoloads = 1; inhibit_update_dumped_lisp = 1; skip_args--; @@ -945,6 +954,7 @@ syms_of_frame_mswindows (); syms_of_objects_mswindows (); syms_of_select_mswindows (); + syms_of_glyphs_mswindows (); #ifdef HAVE_MENUBARS syms_of_menubar_mswindows (); #endif @@ -982,11 +992,12 @@ syms_of_btl (); #endif -#if defined (GNU_MALLOC) && defined (ERROR_CHECK_MALLOC) -#if 0 +#if defined (GNU_MALLOC) && \ + defined (ERROR_CHECK_MALLOC) && \ + !defined (HAVE_LIBMCHECK) + /* Prior to XEmacs 21, this was `#if 0'ed out. -slb */ syms_of_free_hook (); #endif -#endif #ifdef TOOLTALK syms_of_tooltalk (); @@ -1050,6 +1061,7 @@ console_type_create_frame_mswindows (); console_type_create_objects_mswindows (); console_type_create_redisplay_mswindows (); + console_type_create_glyphs_mswindows (); # ifdef HAVE_SCROLLBARS console_type_create_scrollbar_mswindows (); # endif @@ -1107,6 +1119,9 @@ #ifdef HAVE_X_WINDOWS image_instantiator_format_create_glyphs_x (); #endif /* HAVE_X_WINDOWS */ +#ifdef HAVE_MS_WINDOWS + image_instantiator_format_create_glyphs_mswindows (); +#endif /* HAVE_MSWINDOWS_WINDOWS */ /* Now initialize the lstream types and associated symbols. Other than the first function below, the functions may @@ -1312,6 +1327,7 @@ vars_of_frame_mswindows (); vars_of_objects_mswindows (); vars_of_select_mswindows (); + vars_of_glyphs_mswindows (); #ifdef HAVE_SCROLLBARS vars_of_scrollbar_mswindows (); #endif @@ -1415,6 +1431,9 @@ #ifdef HAVE_X_WINDOWS complex_vars_of_glyphs_x (); #endif +#ifdef HAVE_MS_WINDOWS + complex_vars_of_glyphs_mswindows (); +#endif /* This calls Fmake_glyph_internal(). */ complex_vars_of_alloc (); @@ -1460,7 +1479,8 @@ /* These two might call Ffile_name_as_directory(), which might depend on all sorts of things; I'm not sure. */ - complex_vars_of_callproc (); + complex_vars_of_emacs (); + #ifdef CLASH_DETECTION complex_vars_of_filelock (); #endif /* CLASH_DETECTION */ @@ -1911,25 +1931,6 @@ return Qnil; /* not reached; warning suppression */ } -#ifdef SLB_MEMORY_CHECKING -void -slb_memory_checker(__malloc_ptr_t mem) -{ - unsigned int u = (unsigned int)mem; - /* 08f6b0a8 */ - if (u < 0x08000000) { - printf("free(%08x)\n", u); - /* abort(); */ - } else { - __free_hook = 0; - - free(mem); - - __free_hook = slb_memory_checker; - } -} -#endif - /* ARGSUSED */ int main (int argc, char **argv, char **envp) @@ -1965,9 +1966,6 @@ quantify_clear_data (); #endif /* QUANTIFY */ -#ifdef SLB_MEMORY_CHECKING - __free_hook = slb_memory_checker; -#endif suppress_early_backtrace = 0; lim_data = 0; /* force reinitialization of this variable */ @@ -2076,7 +2074,7 @@ if (!preparing_for_armageddon) { - Lisp_Object concons; + Lisp_Object concons, nextcons; /* Normally, go ahead and delete all the consoles now. Some unmentionably lame window systems (MS Wwwww...... eek, @@ -2085,8 +2083,17 @@ If we're going down, however, we don't do this (might be too dangerous), and if we get a crash somewhere within this loop, we'll still autosave and won't try this again. */ - CONSOLE_LOOP (concons) - delete_console_internal (XCONSOLE (XCAR (concons)), 1, 1, 0); + + LIST_LOOP_DELETING(concons, nextcons, Vconsole_list) + { + /* There is very little point in deleting the stream console. + It uses stdio, which should flush any buffered output and + something can only go wrong. -slb */ + /* I changed my mind. There's a stupid hack in close to add + a trailing newline. */ + /*if (!CONSOLE_STREAM_P (XCONSOLE (XCAR (concons))))*/ + delete_console_internal (XCONSOLE (XCAR (concons)), 1, 1, 0); + } } UNGCPRO; @@ -2371,14 +2378,20 @@ #define SEPCHAR ':' #endif -DEFUN ("parse-colon-path", Fparse_colon_path, 1, 1, 0, /* +DEFUN ("decode-path-internal", Fdecode_path_internal, 1, 1, 0, /* Explode a colon-separated list of paths into a string list. */ (cd_path)) { + if (NILP(cd_path)) + { + return Qnil; + } CHECK_STRING (cd_path); - return decode_path(XSTRING_DATA(cd_path)); + return (!XSTRING_LENGTH(cd_path)) ? + list1(Qnil) : + decode_path(XSTRING_DATA(cd_path)); } Lisp_Object @@ -2398,7 +2411,7 @@ p = strchr (path, SEPCHAR); if (!p) p = path + strlen (path); lpath = Fcons (((p != path) -#if 0 +#if 1 ? Ffile_name_as_directory(make_string ((CONST Bufbyte *) path, p - path)) #else ? make_string ((CONST Bufbyte *) path, p - path) @@ -2512,7 +2525,7 @@ DEFSUBR (Fquantify_clear_data); #endif /* QUANTIFY */ - DEFSUBR (Fparse_colon_path); + DEFSUBR (Fdecode_path_internal); defsymbol (&Qkill_emacs_hook, "kill-emacs-hook"); defsymbol (&Qsave_buffers_kill_emacs, "save-buffers-kill-emacs"); @@ -2607,14 +2620,6 @@ #endif Vxemacs_codename = Fpurecopy (build_string (XEMACS_CODENAME)); - DEFVAR_LISP ("package-path", &Vpackage_path /* -List of directories configured for package searching. -*/ ); -#ifndef PACKAGE_PATH -#define PACKAGE_PATH "~/.xemacs:" PATH_PREFIX "/lib/xemacs/packages" -#endif - Vpackage_path = decode_path(PACKAGE_PATH); - DEFVAR_BOOL ("noninteractive", &noninteractive1 /* Non-nil means XEmacs is running without interactive terminal. */ ); @@ -2623,6 +2628,10 @@ Set to non-nil when the package-path should not be searched at startup. */ ); + DEFVAR_BOOL ("inhibit-site-lisp", &inhibit_site_lisp /* +Set to non-nil when the site-lisp should not be searched at startup. +*/ ); + DEFVAR_BOOL ("inhibit-update-dumped-lisp", &inhibit_update_dumped_lisp /* Set to non-nil when modified dumped lisp should not be reloaded at startup. */ ); @@ -2644,3 +2653,148 @@ emacs_priority = 0; } + +void +complex_vars_of_emacs (void) +{ + DEFVAR_LISP ("exec-path", &Vexec_path /* +*List of directories to search programs to run in subprocesses. +Each element is a string (directory name) or nil (try default directory). +*/ ); + Vexec_path = Qnil; + + DEFVAR_LISP ("configure-exec-path", &Vconfigure_exec_path /* +For internal use by the build procedure only. +configure's idea of what EXEC-PATH will be. +*/ ); +#ifdef PATH_EXEC + Vconfigure_exec_path = decode_path (PATH_EXEC); +#else + Vconfigure_exec_path = Qnil; +#endif + + DEFVAR_LISP ("exec-directory", &Vexec_directory /* +*Directory of architecture-dependent files that come with XEmacs, +especially executable programs intended for XEmacs to invoke. +*/ ); + Vexec_directory = Qnil; + + DEFVAR_LISP ("configure-lisp-directory", &Vconfigure_lisp_directory /* +Directory of core Lisp files that come with XEmacs. +*/ ); +#ifdef PATH_LOADSEARCH + Vconfigure_lisp_directory = Ffile_name_as_directory + (build_string ((char *) PATH_LOADSEARCH)); +#else + Vconfigure_lisp_directory = Qnil; +#endif + + DEFVAR_LISP ("configure-package-path", &Vconfigure_package_path /* +For internal use by the build procedure only. +configure's idea of what PACKAGE-DIRECTORY will be. +*/ ); +#ifdef PATH_PACKAGEPATH + Vconfigure_package_path = decode_path (PATH_PACKAGEPATH); +#else + Vconfigure_package_path = Qnil; +#endif + + DEFVAR_LISP ("data-directory", &Vdata_directory /* +*Directory of architecture-independent files that come with XEmacs, +intended for XEmacs to use. +Use of this variable in new code is almost never correct. See the +function `locate-data-directory' and the variable `data-directory-list'. +*/ ); + Vdata_directory = Qnil; + + DEFVAR_LISP ("configure-data-directory", &Vconfigure_data_directory /* +For internal use by the build procedure only. +configure's idea of what DATA-DIRECTORY will be. +*/ ); +#ifdef PATH_DATA + Vconfigure_data_directory = Ffile_name_as_directory + (build_string ((char *) PATH_DATA)); +#else + Vconfigure_data_directory = Qnil; +#endif + + DEFVAR_LISP ("data-directory-list", &Vdata_directory_list /* +*List of directories of architecture-independent files that come with XEmacs +or were installed as packages, and are intended for XEmacs to use. +*/ ); + Vdata_directory_list = Qnil; + +#ifdef CLASH_DETECTION + DEFVAR_LISP ("configure-lock-directory", &Vconfigure_lock_directory /* +For internal use by the build procedure only. +configure's idea of what LOCK-DIRECTORY will be. +*/ ); +#ifdef PATH_LOCK + Vconfigure_lock_directory = Ffile_name_as_directory + (build_string ((char *) PATH_LOCK)); +#else + Vconfigure_lock_directory = Qnil; +#endif +#endif /* CLASH_DETECTION */ + + DEFVAR_LISP ("configure-site-directory", &Vconfigure_site_directory /* +For internal use by the build procedure only. +configure's idea of what SITE-DIRECTORY will be. +*/ ); +#ifdef PATH_SITE + Vconfigure_site_directory = Ffile_name_as_directory + (build_string ((char *) PATH_SITE)); +#else + Vconfigure_site_directory = Qnil; +#endif + + DEFVAR_LISP ("doc-directory", &Vdoc_directory /* +*Directory containing the DOC file that comes with XEmacs. +This is usually the same as exec-directory. +*/ ); + Vdoc_directory = Qnil; + + DEFVAR_LISP ("configure-doc-directory", &Vconfigure_doc_directory /* +For internal use by the build procedure only. +configure's idea of what DOC-DIRECTORY will be. +*/ ); +#ifdef PATH_DOC + Vconfigure_doc_directory = Ffile_name_as_directory + (build_string ((char *) PATH_DOC)); +#else + Vconfigure_doc_directory = Qnil; +#endif + + DEFVAR_LISP ("configure-prefix-directory", &Vconfigure_prefix_directory /* +For internal use by the build procedure only. +configure's idea of what PREFIX-DIRECTORY will be. +*/ ); +#ifdef PATH_PREFIX + Vconfigure_prefix_directory = Ffile_name_as_directory + (build_string ((char *) PATH_PREFIX)); +#else + Vconfigure_prefix_directory = Qnil; +#endif + + DEFVAR_LISP ("configure-info-directory", &Vconfigure_info_directory /* +For internal use by the build procedure only. +This is the name of the directory in which the build procedure installed +Emacs's info files; the default value for Info-default-directory-list +includes this. +*/ ); +#ifdef PATH_INFO + Vconfigure_info_directory = + Ffile_name_as_directory (build_string (PATH_INFO)); +#else + Vconfigure_info_directory = Qnil; +#endif + + DEFVAR_LISP ("configure-info-path", &Vconfigure_info_path /* +The configured initial path for info documentation. +*/ ); +#ifdef PATH_INFOPATH + Vconfigure_info_path = decode_path (PATH_INFOPATH); +#else + Vconfigure_info_path = Qnil; +#endif +}
--- a/src/event-Xt.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/event-Xt.c Mon Aug 13 10:26:29 2007 +0200 @@ -2044,12 +2044,13 @@ if (w) stderr_out (" %s", w->core.widget_class->core_class.class_name); f = x_any_window_to_frame (get_device_from_display (display), window); - if (f) { - char buf[500]; - sprintf (buf, " \"%s\"", XSTRING_DATA (f->name)); - write_string_to_stdio_stream (stderr, 0, (Bufbyte *) buf, 0, strlen (buf), - FORMAT_TERMINAL); - } + if (f) + { + char *buf = alloca (XSTRING_LENGTH (f->name) + 4); + sprintf (buf, " \"%s\"", XSTRING_DATA (f->name)); + write_string_to_stdio_stream (stderr, 0, (Bufbyte *) buf, 0, + strlen (buf), FORMAT_TERMINAL); + } stderr_out ("\n"); }
--- a/src/event-stream.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/event-stream.c Mon Aug 13 10:26:29 2007 +0200 @@ -3184,14 +3184,14 @@ while (!NILP (t)) { i++; - sprintf(buf,"OPERATE (%d): ",i); - write_c_string (buf,Qexternal_debugging_output); + sprintf (buf,"OPERATE (%d): ",i); + write_c_string (buf, Qexternal_debugging_output); print_internal (t, Qexternal_debugging_output, 1); write_c_string ("\n", Qexternal_debugging_output); t = XEVENT_NEXT (t); } } -#endif +#endif /* 0 */ /* menu accelerator keys don't go into keyboard macros */ if (!NILP (con->defining_kbd_macro) && NILP (Vexecuting_macro))
--- a/src/event-unixoid.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/event-unixoid.c Mon Aug 13 10:26:29 2007 +0200 @@ -325,11 +325,6 @@ if (out != in && out >= 0) close (out); - if (!NILP (instream)) - Lstream_close (XLSTREAM (instream)); - if (!NILP (outstream)) - Lstream_close (XLSTREAM (outstream)); - return FD_TO_USID (in); }
--- a/src/events.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/events.c Mon Aug 13 10:26:29 2007 +0200 @@ -482,6 +482,11 @@ e->event_type = button_release_event; else if (EQ (type, Qmotion)) e->event_type = pointer_motion_event; + else if (EQ (type, Qmisc_user)) + { + e->event_type = misc_user_event; + e->event.eval.function = e->event.eval.object = Qnil; + } #if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS) else if (EQ (type, Qdnd_drop)) { @@ -491,37 +496,38 @@ #endif else { - /* Not allowed: Qmisc_user, Qprocess, Qtimeout, Qmagic, Qeval, - Qmagic_eval. */ - /* #### Should we allow misc-user events? */ + /* Not allowed: Qprocess, Qtimeout, Qmagic, Qeval, Qmagic_eval. */ signal_simple_error ("Invalid event type", type); } + EVENT_CHANNEL (e) = Qnil; + plist = Fcopy_sequence (plist); Fcanonicalize_plist (plist, Qnil); - /* Process the plist. */ +#define WRONG_EVENT_TYPE_FOR_PROPERTY(prop) \ + error_with_frob (type, "Invalid event type for `%s' property", keyword) + EXTERNAL_PROPERTY_LIST_LOOP (tail, keyword, value, plist) { if (EQ (keyword, Qchannel)) { if (e->event_type == key_press_event) { - if (!CONSOLEP (value)) - wrong_type_argument (Qconsolep, value); + while (!CONSOLEP (value)) + value = wrong_type_argument (Qconsolep, value); } - else + else if (e->event_type != misc_user_event) { - if (!FRAMEP (value)) - wrong_type_argument (Qframep, value); + while (!FRAMEP (value)) + value = wrong_type_argument (Qframep, value); } EVENT_CHANNEL (e) = value; } else if (EQ (keyword, Qkey)) { if (e->event_type != key_press_event) - signal_simple_error ("Invalid event type for `key' property", - type); + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); if (!SYMBOLP (value) && !CHARP (value)) signal_simple_error ("Invalid event key", value); e->event.key.keysym = value; @@ -529,28 +535,28 @@ else if (EQ (keyword, Qbutton)) { CHECK_NATNUM (value); - check_int_range (XINT(value), 1, 3); + check_int_range (XINT (value), 0, 7); if (e->event_type != button_press_event && e->event_type != button_release_event) - signal_simple_error ("Invalid event type for `button' property", - type); + { + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); + } e->event.button.button = XINT (value); } else if (EQ (keyword, Qmodifiers)) { - Lisp_Object modtail, sym; + Lisp_Object modtail; int modifiers = 0; if (e->event_type != key_press_event && e->event_type != button_press_event && e->event_type != button_release_event && e->event_type != pointer_motion_event) - /* Currently unreached. */ - signal_simple_error ("Invalid event type for modifiers", type); + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); EXTERNAL_LIST_LOOP (modtail, value) { - sym = XCAR (modtail); + Lisp_Object sym = XCAR (modtail); if (EQ (sym, Qcontrol)) modifiers |= MOD_CONTROL; else if (EQ (sym, Qmeta)) modifiers |= MOD_META; else if (EQ (sym, Qsuper)) modifiers |= MOD_SUPER; @@ -559,7 +565,7 @@ else if (EQ (sym, Qsymbol)) modifiers |= MOD_ALT; else if (EQ (sym, Qshift)) modifiers |= MOD_SHIFT; else - signal_simple_error ("Invalid key modifier", XCAR (modtail)); + signal_simple_error ("Invalid key modifier", sym); } if (e->event_type == key_press_event) e->event.key.modifiers = modifiers; @@ -578,8 +584,7 @@ && e->event_type != button_press_event && e->event_type != button_release_event) { - signal_simple_error ("Cannot assign `x' property to event", - type); + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); } coord_x = XINT (value); } @@ -591,8 +596,7 @@ && e->event_type != button_press_event && e->event_type != button_release_event) { - signal_simple_error ("Cannot assign `y' property to event", - type); + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); } coord_y = XINT (value); } @@ -601,6 +605,18 @@ CHECK_NATNUM (value); e->timestamp = XINT (value); } + else if (EQ (keyword, Qfunction)) + { + if (e->event_type != misc_user_event) + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); + e->event.eval.function = value; + } + else if (EQ (keyword, Qobject)) + { + if (e->event_type != misc_user_event) + WRONG_EVENT_TYPE_FOR_PROPERTY (keyword); + e->event.eval.object = value; + } #if defined(HAVE_OFFIX_DND) || defined(HAVE_MS_WINDOWS) else if (EQ (keyword, Qdnd_data)) { @@ -627,15 +643,15 @@ } #endif /* HAVE_OFFIX_DND || HAVE_MS_WINDOWS */ else - signal_simple_error ("Invalid property", keyword); - } /* while */ + signal_simple_error_2 ("Invalid property", keyword, value); + } /* Insert the channel, if missing. */ if (NILP (EVENT_CHANNEL (e))) { if (e->event_type == key_press_event) EVENT_CHANNEL (e) = Vselected_console; - else + else if (e->event_type != misc_user_event) EVENT_CHANNEL (e) = Fselected_frame (Qnil); } @@ -1001,7 +1017,7 @@ case 'M': k = QKreturn; m &= ~MOD_CONTROL; break; case '[': k = QKescape; m &= ~MOD_CONTROL; break; default: -#if defined(HAVE_TTY) && !defined(__CYGWIN32__) +#if defined(HAVE_TTY) if (do_backspace_mapping && CHARP (con->tty_erase_char) && c - '@' == XCHAR (con->tty_erase_char)) @@ -1014,7 +1030,7 @@ } if (c >= 'A' && c <= 'Z') c -= 'A'-'a'; } -#if defined(HAVE_TTY) && !defined(__CYGWIN32__) +#if defined(HAVE_TTY) else if (do_backspace_mapping && CHARP (con->tty_erase_char) && c == XCHAR (con->tty_erase_char)) k = QKbackspace;
--- a/src/fileio.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/fileio.c Mon Aug 13 10:26:29 2007 +0200 @@ -2191,9 +2191,11 @@ #ifdef WINDOWSNT /* Under MS-DOS and Windows, open does not work for directories. */ + UNGCPRO; if (access (XSTRING_DATA (abspath), 0) == 0) return Qt; - return Qnil; + else + return Qnil; #else /* not WINDOWSNT */ { int desc = interruptible_open ((char *) XSTRING_DATA (abspath), O_RDONLY | OPEN_BINARY, 0);
--- a/src/filelock.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/filelock.c Mon Aug 13 10:26:29 2007 +0200 @@ -40,7 +40,7 @@ /* The name of the directory in which we keep lock files, with a '/' appended. */ -Lisp_Object Vlock_directory; +Lisp_Object Vlock_directory, Vconfigure_lock_directory; #if 0 /* FSFmacs */ /* Look in startup.el */ @@ -51,7 +51,7 @@ /* The name of the superlock file. This is SUPERLOCK_NAME appended to Vlock_directory. */ -Lisp_Object Vsuperlock_file; +Lisp_Object Vsuperlock_file, Vconfigure_superlock_file; Lisp_Object Qask_user_about_supersession_threat; Lisp_Object Qask_user_about_lock; @@ -523,25 +523,34 @@ DEFVAR_LISP ("lock-directory", &Vlock_directory /* Don't change this */ ); + Vlock_directory = Qnil; DEFVAR_LISP ("superlock-file", &Vsuperlock_file /* Don't change this */ ); + Vsuperlock_file = Qnil; } void complex_vars_of_filelock (void) { + DEFVAR_LISP ("configure-lock-directory", &Vconfigure_lock_directory /* +For internal use by the build procedure only. +configure's idea of what LOCK-DIRECTORY will be. +*/ ); #ifdef PATH_LOCK - Vlock_directory = + Vconfigure_lock_directory = Ffile_name_as_directory (build_string (PATH_LOCK)); #else - Vlock_directory = Qnil; + Vconfigure_lock_directory = Qnil; #endif + DEFVAR_LISP ("configure-superlock-file", &Vconfigure_superlock_file /* +For internal use by the build procedure only. +configure's idea of what SUPERLOCK-FILE will be. +*/ ); #ifdef PATH_SUPERLOCK - Vsuperlock_file = - Ffile_name_as_directory (build_string (PATH_SUPERLOCK)); + Vconfigure_superlock_file = build_string (PATH_SUPERLOCK); #else - Vsuperlock_file = Qnil; + Vconfigure_superlock_file = Qnil; #endif /* All the rest done dynamically by startup.el */ }
--- a/src/frame.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/frame.c Mon Aug 13 10:26:29 2007 +0200 @@ -1513,7 +1513,7 @@ } double_break_1: - if (called_from_delete_device < 0) + if (!called_from_delete_device) /* then we're being called from delete-console, and we shouldn't try to find another default-minibuffer frame for the console. */
--- a/src/frame.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/frame.h Mon Aug 13 10:26:29 2007 +0200 @@ -450,7 +450,8 @@ #ifdef HAVE_TOOLBARS #define FRAME_RAW_REAL_TOOLBAR_VISIBLE(f, pos) \ - (!NILP (XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f))->toolbar_visible_p[pos])) + (HAS_DEVMETH_P (XDEVICE (FRAME_DEVICE (f)), initialize_frame_toolbars) \ + && !NILP (XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f))->toolbar_visible_p[pos])) #define FRAME_RAW_REAL_TOOLBAR_BORDER_WIDTH(f, pos) \ (XINT (XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f))->toolbar_border_width[pos])) #define FRAME_RAW_REAL_TOOLBAR_SIZE(f, pos) \
--- a/src/free-hook.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/free-hook.c Mon Aug 13 10:26:29 2007 +0200 @@ -77,6 +77,7 @@ void *malloc (unsigned long); #endif +#if !defined(HAVE_LIBMCHECK) #include <stdio.h> #include "hash.h" @@ -225,28 +226,36 @@ { /* This can only happen if you try to free something that didn't come from malloc */ - if (strict_free_check) - abort (); - else - { - __free_hook = check_free; - __malloc_hook = check_malloc; - goto end; - } +#if 1 + /* I originally wrote: "There's really no need to drop core." + I have seen the error of my ways. -slb */ + if (strict_free_check) + { + abort (); + } +#endif + printf("Freeing unmalloc'ed memory at %p\n", ptr); + __free_hook = check_free; + __malloc_hook = check_malloc; + goto end; } if (size < 0) { - /* This happens when you free twice */ - if (strict_free_check) - abort (); - else - { - __free_hook = check_free; - __malloc_hook = check_malloc; - goto end; - } + /* This happens when you free twice */ +#if 1 + /* See above comment. */ + if (strict_free_check) + { + abort (); + } +#endif + printf("Freeing %p twice\n", ptr); + __free_hook = check_free; + __malloc_hook = check_malloc; + goto end; } + puthash (ptr, (void *)-size, pointer_table); #ifdef UNMAPPED_FREE /* Round up size to an even number of pages. */ @@ -345,9 +354,16 @@ present = (EMACS_INT) gethash (ptr, pointer_table, (void **) &old_size); if (!present) + { /* This can only happen by reallocing a pointer that didn't come from malloc. */ - abort (); +#if 1 + /* see comment in check_free(). */ + abort (); +#endif + printf("Realloc'ing unmalloc'ed pointer at %p\n", ptr); + } + if (result == 0) goto end; memcpy (result, ptr, MIN (size, old_size)); @@ -490,6 +506,7 @@ void *(*__realloc_hook)() = check_realloc; #endif +#endif /* !defined(HAVE_LIBMCHECK) */ #if defined(DEBUG_INPUT_BLOCKING) || defined (DEBUG_GCPRO)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/glyphs-msw.c Mon Aug 13 10:26:29 2007 +0200 @@ -0,0 +1,741 @@ +/* mswindows-specific Lisp objects. + 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. */ + +/* written by Andy Piper <andyp@parallax.co.uk> plagerising buts from + glyphs-x.c */ + +#include <config.h> +#include "lisp.h" +#include "lstream.h" +#include "console-msw.h" +#include "glyphs-msw.h" +#include "objects-msw.h" + +#include "buffer.h" +#include "frame.h" +#include "insdel.h" +#include "opaque.h" +#include "sysfile.h" +#include "faces.h" +#include "imgproc.h" + +#ifdef HAVE_XPM +#include <X11/xpm.h> +#endif + +#ifdef FILE_CODING +#include "file-coding.h" +#endif + +DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); +Lisp_Object Qbmp; +Lisp_Object Vmswindows_bitmap_file_path; + +static void +mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, + enum image_instance_type type); + +COLORREF mswindows_string_to_color(CONST char *name); + +/************************************************************************/ +/* convert from a series of RGB triples to a BITMAPINFO formated for the*/ +/* proper display */ +/************************************************************************/ +BITMAPINFO* EImage2DIBitmap(Lisp_Object device, int width, int height, + unsigned char *pic, + int *bit_count, + unsigned char** bmp_data) +{ + struct device *d = XDEVICE (device); + int i; + RGBQUAD* colortbl; + int ncolors; + BITMAPINFO* bmp_info; + + if (DEVICE_MSWINDOWS_BITSPIXEL(d) > 16) + { + /* FIXME: we can do this because 24bpp implies no colour table, once + * we start paletizing this is no longer true. The X versions of + * this function quantises to 256 colours or bit masks down to a + * long. Windows can actually handle rgb triples in the raw so I + * don't see much point trying to optimise down to the best + * structure - unless it has memory / color allocation implications + * .... */ + bmp_info=xnew_and_zero(BITMAPINFO); + + if (!bmp_info) + { + return NULL; + } + + bmp_info->bmiHeader.biBitCount=24; /* just RGB triples for now */ + bmp_info->bmiHeader.biCompression=BI_RGB; /* just RGB triples for now */ + bmp_info->bmiHeader.biSizeImage=width*height*3; + + /* bitmap data needs to be in blue, green, red triples - in that + order, eimage is in RGB format so we need to convert */ + *bmp_data = xnew_array_and_zero (unsigned char, width * height * 3); + *bit_count = width * height * 3; + + if (!bmp_data) + { + xfree(bmp_info); + return NULL; + } + for (i=0; i<width*height; i++) + { + (*bmp_data)[2]=*pic; + (*bmp_data)[1]= pic[1]; + **bmp_data = pic[2]; + (*bmp_data) += 3; + } + } + else /* scale to 256 colors */ + { + int rd,gr,bl, j; + unsigned char *ip, *dp; + quant_table *qtable; + int bpline= (int)(~3UL & (unsigned long)(width +3)); + /* Quantize the image and get a histogram while we're at it. + Do this first to save memory */ + qtable = EImage_build_quantable(pic, width, height, 256); + if (qtable == NULL) return NULL; + + /* use our quantize table to allocate the colors */ + ncolors = qtable->num_active_colors; + bmp_info=(BITMAPINFO*)xmalloc_and_zero(sizeof(BITMAPINFOHEADER) + + sizeof(RGBQUAD) * ncolors); + if (!bmp_info) + { + xfree(qtable); + return NULL; + } + + colortbl=(RGBQUAD*)(((unsigned char*)bmp_info)+sizeof(BITMAPINFOHEADER)); + + bmp_info->bmiHeader.biBitCount=8; + bmp_info->bmiHeader.biCompression=BI_RGB; + bmp_info->bmiHeader.biSizeImage=bpline*height; + bmp_info->bmiHeader.biClrUsed=ncolors; + bmp_info->bmiHeader.biClrImportant=ncolors; + + *bmp_data = (unsigned char *) xmalloc_and_zero (bpline * height); + *bit_count = bpline * height; + + if (!*bmp_data) + { + xfree(qtable); + xfree(bmp_info); + return NULL; + } + + /* build up an RGBQUAD colortable */ + for (i = 0; i < qtable->num_active_colors; i++) { + colortbl[i].rgbRed = qtable->rm[i]; + colortbl[i].rgbGreen = qtable->gm[i]; + colortbl[i].rgbBlue = qtable->bm[i]; + colortbl[i].rgbReserved = 0; + } + + /* now build up the data. picture has to be upside-down and + back-to-front for msw bitmaps */ + ip = pic; + for (i = height-1; i >= 0; i--) { + dp = (*bmp_data) + (i * bpline); + for (j = 0; j < width; j++) { + rd = *ip++; + gr = *ip++; + bl = *ip++; + *dp++ = QUANT_GET_COLOR(qtable,rd,gr,bl); + } + } + xfree(qtable); + } + /* fix up the standard stuff */ + bmp_info->bmiHeader.biWidth=width; + bmp_info->bmiHeader.biHeight=height; + bmp_info->bmiHeader.biPlanes=1; + bmp_info->bmiHeader.biSize=sizeof(BITMAPINFOHEADER); + bmp_info->bmiHeader.biXPelsPerMeter=3779; /* unless you know better */ + bmp_info->bmiHeader.biYPelsPerMeter=3779; + + return bmp_info; +} + +/* Given a pixmap filename, look through all of the "standard" places + where the file might be located. Return a full pathname if found; + otherwise, return Qnil. */ + +static Lisp_Object +locate_pixmap_file (Lisp_Object name) +{ + /* This function can GC if IN_REDISPLAY is false */ + + /* Check non-absolute pathnames with a directory component relative to + the search path; that's the way Xt does it. */ + /* #### Unix-specific */ + if (XSTRING_BYTE (name, 0) == '/' || + (XSTRING_BYTE (name, 0) == '.' && + (XSTRING_BYTE (name, 1) == '/' || + (XSTRING_BYTE (name, 1) == '.' && + (XSTRING_BYTE (name, 2) == '/'))))) + { + if (!NILP (Ffile_readable_p (name))) + return name; + else + return Qnil; + } + + if (!NILP(Vmswindows_bitmap_file_path)) + { + Lisp_Object found; + if (locate_file (Vmswindows_bitmap_file_path, name, "", &found, R_OK) < 0) + { + Lisp_Object temp = list1 (Vdata_directory); + struct gcpro gcpro1; + + GCPRO1 (temp); + locate_file (temp, name, "", &found, R_OK); + UNGCPRO; + } + + return found; + } + else + return Qnil; +} + +/* If INSTANTIATOR refers to inline data, return Qnil. + If INSTANTIATOR refers to data in a file, return the full filename + if it exists; otherwise, return a cons of (filename). + + FILE_KEYWORD and DATA_KEYWORD are symbols specifying the + keywords used to look up the file and inline data, + respectively, in the instantiator. Normally these would + be Q_file and Q_data, but might be different for mask data. */ + +static Lisp_Object +potential_pixmap_file_instantiator (Lisp_Object instantiator, + Lisp_Object file_keyword, + Lisp_Object data_keyword) +{ + Lisp_Object file; + Lisp_Object data; + + assert (VECTORP (instantiator)); + + data = find_keyword_in_vector (instantiator, data_keyword); + file = find_keyword_in_vector (instantiator, file_keyword); + + if (!NILP (file) && NILP (data)) + { + Lisp_Object retval = locate_pixmap_file (file); + if (!NILP (retval)) + return retval; + else + return Fcons (file, Qnil); /* should have been file */ + } + + return Qnil; +} + +static Lisp_Object +simple_image_type_normalize (Lisp_Object inst, Lisp_Object console_type, + Lisp_Object image_type_tag) +{ + /* This function can call lisp */ + Lisp_Object file = Qnil; + struct gcpro gcpro1, gcpro2; + Lisp_Object alist = Qnil; + + GCPRO2 (file, alist); + + /* Now, convert any file data into inline data. At the end of this, + `data' will contain the inline data (if any) or Qnil, and `file' + will contain the name this data was derived from (if known) or + Qnil. + + Note that if we cannot generate any regular inline data, we + skip out. */ + + file = potential_pixmap_file_instantiator (inst, Q_file, Q_data); + + if (CONSP (file)) /* failure locating filename */ + signal_double_file_error ("Opening pixmap file", + "no such file or directory", + Fcar (file)); + + if (NILP (file)) /* no conversion necessary */ + RETURN_UNGCPRO (inst); + + alist = tagged_vector_to_alist (inst); + + { + Lisp_Object data = make_string_from_file (file); + alist = remassq_no_quit (Q_file, alist); + /* there can't be a :data at this point. */ + alist = Fcons (Fcons (Q_file, file), + Fcons (Fcons (Q_data, data), alist)); + } + + { + Lisp_Object result = alist_to_tagged_vector (image_type_tag, alist); + free_alist (alist); + RETURN_UNGCPRO (result); + } +} + + +/* Initialize an image instance from a bitmap + + DEST_MASK specifies the mask of allowed image types. + + If this fails, signal an error. INSTANTIATOR is only used + in the error message. */ + +static void +init_image_instance_from_dibitmap (struct Lisp_Image_Instance *ii, + BITMAPINFO *bmp_info, + int dest_mask, + void *bmp_data, + int bmp_bits, + Lisp_Object instantiator) +{ + Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); + struct device *d = XDEVICE (device); + struct frame *f = XFRAME (DEVICE_SELECTED_FRAME(d)); + void* bmp_buf=0; + HBITMAP bitmap; + HDC hdc, cdc; + + if (!DEVICE_MSWINDOWS_P (d)) + signal_simple_error ("Not an mswindows device", device); + + if (NILP (DEVICE_SELECTED_FRAME (d))) + signal_simple_error ("No selected frame on mswindows device", device); + + if (!(dest_mask & IMAGE_COLOR_PIXMAP_MASK)) + incompatible_image_types (instantiator, dest_mask, + IMAGE_COLOR_PIXMAP_MASK); + hdc = FRAME_MSWINDOWS_DC (f); + + bitmap=CreateDIBSection(hdc, + bmp_info, + DIB_RGB_COLORS, + &bmp_buf, + 0,0); + + if (!bitmap || !bmp_buf) + signal_simple_error ("Unable to create bitmap", instantiator); + + /* copy in the actual bitmap */ + memcpy(bmp_buf, bmp_data, bmp_bits); + + /* create a memory dc */ + cdc = CreateCompatibleDC(hdc); + + mswindows_initialize_dibitmap_image_instance (ii, IMAGE_COLOR_PIXMAP); + + IMAGE_INSTANCE_PIXMAP_FILENAME (ii) = + find_keyword_in_vector (instantiator, Q_file); + + IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = bitmap; + IMAGE_INSTANCE_MSWINDOWS_DC (ii) = cdc; + IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = bmp_info->bmiHeader.biWidth; + IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = bmp_info->bmiHeader.biHeight; + IMAGE_INSTANCE_PIXMAP_DEPTH (ii) = bmp_info->bmiHeader.biBitCount; +} + +/********************************************************************** + * XPM * + **********************************************************************/ + +#ifdef HAVE_XPM +static int xpm_to_eimage(Lisp_Object image, CONST Extbyte *buffer, + unsigned char** data, + int* width, int* height, + COLORREF bg) +{ + XpmImage xpmimage; + XpmInfo xpminfo; + int result, i; + unsigned char* dptr; + unsigned int* sptr; + COLORREF color; /* the american spelling virus hits again .. */ + COLORREF* colortbl; + + memset (&xpmimage, 0, sizeof (xpmimage)); + memset (&xpminfo, 0, sizeof (xpmimage)); + + result = XpmCreateXpmImageFromBuffer((char*)buffer, + &xpmimage, + &xpminfo); + switch(result) + { + case XpmSuccess: + break; + case XpmFileInvalid: + { + signal_simple_error ("invalid XPM data", image); + } + case XpmNoMemory: + { + signal_double_file_error ("Parsing pixmap data", + "out of memory", image); + } + default: + { + signal_double_file_error_2 ("Parsing pixmap data", + "unknown error code", + make_int (result), image); + } + } + + *width = xpmimage.width; + *height = xpmimage.height; + + *data = xnew_array_and_zero (unsigned char, *width * *height * 3); + if (!*data) + { + XpmFreeXpmImage(&xpmimage); + XpmFreeXpmInfo(&xpminfo); + return 0; + } + + /* build a color table to speed things up */ + colortbl = xnew_array_and_zero (COLORREF, xpmimage.ncolors); + if (!colortbl) + { + xfree(*data); + XpmFreeXpmImage(&xpmimage); + XpmFreeXpmInfo(&xpminfo); + return 0; + } + + for (i=0; i<xpmimage.ncolors; i++) + { + /* pick up transparencies */ + if (!strcmp(xpmimage.colorTable[i].c_color,"None")) + { + colortbl[i]=bg; + } + else + { + colortbl[i]= + mswindows_string_to_color(xpmimage.colorTable[i].c_color); + } + } + + /* convert the image */ + sptr=xpmimage.data; + dptr=*data; + for (i = 0; i< *width * *height; i++) + { + color = colortbl[*sptr++]; + + /* split out the 0x02bbggrr colorref into an rgb triple */ + *dptr++=GetRValue(color); /* red */ + *dptr++=GetGValue(color); /* green */ + *dptr++=GetBValue(color); /* blue */ + } + + XpmFreeXpmImage(&xpmimage); + XpmFreeXpmInfo(&xpminfo); + xfree(colortbl); + return TRUE; +} + +void +mswindows_xpm_instantiate (Lisp_Object image_instance, + Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); + CONST Extbyte *bytes; + Extcount len; + unsigned char *eimage; + int width, height; + BITMAPINFO* bmp_info; + unsigned char* bmp_data; + int bmp_bits; + COLORREF bkcolor; + + Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); + + if (!DEVICE_MSWINDOWS_P (XDEVICE (device))) + signal_simple_error ("Not an mswindows device", device); + + assert (!NILP (data)); + + GET_STRING_BINARY_DATA_ALLOCA (data, bytes, len); + + /* this is a hack but MaskBlt and TransparentBlt are not supported + on most windows variants */ + bkcolor = COLOR_INSTANCE_MSWINDOWS_COLOR + (XCOLOR_INSTANCE (FACE_BACKGROUND(Vdefault_face, domain))); + + /* convert to an eimage to make processing easier */ + if (!xpm_to_eimage(image_instance, bytes, &eimage, &width, &height, + bkcolor)) + { + signal_simple_error ("XPM to EImage conversion failed", + image_instance); + } + + /* build a bitmap from the eimage */ + if (!(bmp_info=EImage2DIBitmap(device, width, height, eimage, + &bmp_bits, &bmp_data))) + { + signal_simple_error ("XPM to EImage conversion failed", + image_instance); + } + xfree(eimage); + + /* Now create the pixmap and set up the image instance */ + init_image_instance_from_dibitmap (ii, bmp_info, dest_mask, + bmp_data, bmp_bits, instantiator); + + xfree(bmp_info); + xfree(bmp_data); +} +#endif /* HAVE_XPM */ + +/********************************************************************** + * BMP * + **********************************************************************/ + +static void +bmp_validate (Lisp_Object instantiator) +{ + file_or_data_must_be_present (instantiator); +} + +static Lisp_Object +bmp_normalize (Lisp_Object inst, Lisp_Object console_type) +{ + return simple_image_type_normalize (inst, console_type, Qbmp); +} + +static int +bmp_possible_dest_types (void) +{ + return IMAGE_COLOR_PIXMAP_MASK; +} + +static void +bmp_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); + CONST Extbyte *bytes; + Extcount len; + BITMAPFILEHEADER* bmp_file_header; + BITMAPINFO* bmp_info; + void* bmp_data; + int bmp_bits; + Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); + + if (!DEVICE_MSWINDOWS_P (XDEVICE (device))) + signal_simple_error ("Not an mswindows device", device); + + assert (!NILP (data)); + + GET_STRING_BINARY_DATA_ALLOCA (data, bytes, len); + + /* Then slurp the image into memory, decoding along the way. + The result is the image in a simple one-byte-per-pixel + format. */ + + bmp_file_header=(BITMAPFILEHEADER*)bytes; + bmp_info = (BITMAPINFO*)(bytes + sizeof(BITMAPFILEHEADER)); + bmp_data = (Extbyte*)bytes + bmp_file_header->bfOffBits; + bmp_bits = bmp_file_header->bfSize - bmp_file_header->bfOffBits; + + /* Now create the pixmap and set up the image instance */ + init_image_instance_from_dibitmap (ii, bmp_info, dest_mask, + bmp_data, bmp_bits, instantiator); +} + + +/************************************************************************/ +/* image instance methods */ +/************************************************************************/ + +static void +mswindows_print_image_instance (struct Lisp_Image_Instance *p, + Lisp_Object printcharfun, + int escapeflag) +{ + char buf[100]; + + switch (IMAGE_INSTANCE_TYPE (p)) + { + case IMAGE_MONO_PIXMAP: + case IMAGE_COLOR_PIXMAP: + case IMAGE_POINTER: + sprintf (buf, " (0x%lx", + (unsigned long) IMAGE_INSTANCE_MSWINDOWS_BITMAP (p)); + write_c_string (buf, printcharfun); + if (IMAGE_INSTANCE_MSWINDOWS_MASK (p)) + { + sprintf (buf, "/0x%lx", + (unsigned long) IMAGE_INSTANCE_MSWINDOWS_MASK (p)); + write_c_string (buf, printcharfun); + } + write_c_string (")", printcharfun); + break; + default: + break; + } +} + +static void +mswindows_finalize_image_instance (struct Lisp_Image_Instance *p) +{ + if (!p->data) + return; + + if (DEVICE_LIVE_P (XDEVICE (p->device))) + { + if (IMAGE_INSTANCE_MSWINDOWS_DC (p)) + DeleteDC(IMAGE_INSTANCE_MSWINDOWS_DC (p)); + if (IMAGE_INSTANCE_MSWINDOWS_BITMAP (p)) + DeleteObject(IMAGE_INSTANCE_MSWINDOWS_BITMAP (p)); + IMAGE_INSTANCE_MSWINDOWS_BITMAP (p) = 0; + IMAGE_INSTANCE_MSWINDOWS_DC (p) = 0; + } + + xfree (p->data); + p->data = 0; +} + +static int +mswindows_image_instance_equal (struct Lisp_Image_Instance *p1, + struct Lisp_Image_Instance *p2, int depth) +{ + switch (IMAGE_INSTANCE_TYPE (p1)) + { + case IMAGE_MONO_PIXMAP: + case IMAGE_COLOR_PIXMAP: + case IMAGE_POINTER: + if (IMAGE_INSTANCE_MSWINDOWS_BITMAP (p1) + != IMAGE_INSTANCE_MSWINDOWS_BITMAP (p2)) + return 0; + break; + default: + break; + } + + return 1; +} + +static unsigned long +mswindows_image_instance_hash (struct Lisp_Image_Instance *p, int depth) +{ + switch (IMAGE_INSTANCE_TYPE (p)) + { + case IMAGE_MONO_PIXMAP: + case IMAGE_COLOR_PIXMAP: + case IMAGE_POINTER: + return (unsigned long) IMAGE_INSTANCE_MSWINDOWS_BITMAP (p); + default: + return 0; + } +} + +/* Set all the slots in an image instance structure to reasonable + default values. This is used somewhere within an instantiate + method. It is assumed that the device slot within the image + instance is already set -- this is the case when instantiate + methods are called. */ + +static void +mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, + enum image_instance_type type) +{ + ii->data = xnew_and_zero (struct mswindows_image_instance_data); + IMAGE_INSTANCE_TYPE (ii) = type; + IMAGE_INSTANCE_PIXMAP_FILENAME (ii) = Qnil; + IMAGE_INSTANCE_PIXMAP_MASK_FILENAME (ii) = Qnil; + IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii) = Qnil; + IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii) = Qnil; + IMAGE_INSTANCE_PIXMAP_FG (ii) = Qnil; + IMAGE_INSTANCE_PIXMAP_BG (ii) = Qnil; +} + + +/************************************************************************/ +/* initialization */ +/************************************************************************/ + +void +syms_of_glyphs_mswindows (void) +{ +} + +void +console_type_create_glyphs_mswindows (void) +{ + /* image methods */ + + CONSOLE_HAS_METHOD (mswindows, print_image_instance); + CONSOLE_HAS_METHOD (mswindows, finalize_image_instance); + CONSOLE_HAS_METHOD (mswindows, image_instance_equal); + CONSOLE_HAS_METHOD (mswindows, image_instance_hash); +} + +void +image_instantiator_format_create_glyphs_mswindows (void) +{ + /* image-instantiator types */ + + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (bmp, "bmp"); + + IIFORMAT_HAS_METHOD (bmp, validate); + IIFORMAT_HAS_METHOD (bmp, normalize); + IIFORMAT_HAS_METHOD (bmp, possible_dest_types); + IIFORMAT_HAS_METHOD (bmp, instantiate); + + IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); + IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); +} + +void +vars_of_glyphs_mswindows (void) +{ + Fprovide (Qbmp); + DEFVAR_LISP ("mswindows-bitmap-file-path", &Vmswindows_bitmap_file_path /* +A list of the directories in which mswindows bitmap files may be found. +This is used by the `make-image-instance' function. +*/ ); + Vmswindows_bitmap_file_path = Qnil; +} + +void +complex_vars_of_glyphs_mswindows (void) +{ +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/glyphs-msw.h Mon Aug 13 10:26:29 2007 +0200 @@ -0,0 +1,61 @@ +/* mswindows-specific glyphs and related. + Copyright (C) 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1995 Board of Trustees, University of Illinois. + Copyright (C) 1995, 1996 Ben Wing + Copyright (C) 1995 Sun Microsystems, 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. */ + +#ifndef _XEMACS_GLYPHS_MSW_H_ +#define _XEMACS_GLYPHS_MSW_H_ + +#ifdef HAVE_MS_WINDOWS + +#include <windows.h> +#include "glyphs.h" + +/**************************************************************************** + * Image-Instance Object * + ****************************************************************************/ + +struct mswindows_image_instance_data +{ + HBITMAP bitmap; + HDC dc; +}; + +#define MSWINDOWS_IMAGE_INSTANCE_DATA(i) \ +((struct mswindows_image_instance_data *) (i)->data) + +#define IMAGE_INSTANCE_MSWINDOWS_BITMAP(i) \ +(MSWINDOWS_IMAGE_INSTANCE_DATA (i)->bitmap) +#define IMAGE_INSTANCE_MSWINDOWS_DC(i) \ + (MSWINDOWS_IMAGE_INSTANCE_DATA (i)->dc) +#define IMAGE_INSTANCE_MSWINDOWS_MASK(i) 0 + +#define XIMAGE_INSTANCE_MSWINDOWS_BITMAP(i) \ + IMAGE_INSTANCE_MSWINDOWS_BITMAP (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_MSWINDOWS_DC(i) \ + IMAGE_INSTANCE_MSWINDOWS_DC (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_MSWINDOWS_MASK(i) \ + IMAGE_INSTANCE_MSWINDOWS_MASK (XIMAGE_INSTANCE (i)) + +#endif /* HAVE_MS_WINDOWS */ +#endif /* _XEMACS_GLYPHS_MSW_H_ */
--- a/src/glyphs-x.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/glyphs-x.c Mon Aug 13 10:26:29 2007 +0200 @@ -98,6 +98,10 @@ DEFINE_IMAGE_INSTANTIATOR_FORMAT (xpm); Lisp_Object Qxpm; Lisp_Object Q_color_symbols; +void mswindows_xpm_instantiate (Lisp_Object image_instance, + Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain); #endif #ifdef HAVE_XFACE @@ -1618,6 +1622,12 @@ enum image_instance_type type; int force_mono; unsigned int w, h; +#ifdef HAVE_MS_WINDOWS + if (DEVICE_MSWINDOWS_P (XDEVICE (device))) + return mswindows_xpm_instantiate(image_instance, instantiator, + pointer_fg, pointer_bg, + dest_mask, domain); +#endif if (!DEVICE_X_P (XDEVICE (device))) signal_simple_error ("Not an X device", device); @@ -2154,6 +2164,20 @@ longjmp (myerr->setjmp_buffer, 1); } +#if defined(JPEG_LIB_VERSION) && (JPEG_LIB_VERSION >= 61) +METHODDEF(void) +#else +METHODDEF void +#endif +my_jpeg_output_message (j_common_ptr cinfo) +{ + char buffer[JMSG_LENGTH_MAX]; + + /* Create the message */ + (*cinfo->err->format_message) (cinfo, buffer); + warn_when_safe (Qjpeg, Qinfo, "%s", buffer); +} + /* The code in this routine is based on example.c from the JPEG library source code and from gif_instantiate() */ static void @@ -2226,6 +2250,7 @@ /* We set up the normal JPEG error routines, then override error_exit. */ cinfo.err = jpeg_std_error (&jerr.pub); jerr.pub.error_exit = my_jpeg_error_exit; + jerr.pub.output_message = my_jpeg_output_message; /* Establish the setjmp return context for my_error_exit to use. */ if (setjmp (jerr.setjmp_buffer)) @@ -2258,7 +2283,7 @@ #else { Lisp_Object data = find_keyword_in_vector (instantiator, Q_data); - Extbyte *bytes; + CONST Extbyte *bytes; Extcount len; /* #### This is a definite problem under Mule due to the amount of @@ -3587,11 +3612,11 @@ /* set up error facilities */ if (setjmp(tiff_err_data.setjmp_buffer)) { - /* An error was signaled. No clean up is needed, as unwind handles that - for us. Just pass the error along. */ - Lisp_Object errstring; - errstring = build_string (tiff_err_data.err_str); - signal_simple_error_2 ("TIFF decoding error", errstring, instantiator); + /* An error was signaled. No clean up is needed, as unwind handles that + for us. Just pass the error along. */ + signal_simple_error_2 ("TIFF decoding error", + build_string(tiff_err_data.err_str), + instantiator); } TIFFSetErrorHandler((TIFFErrorHandler)tiff_error_func); TIFFSetWarningHandler((TIFFErrorHandler)tiff_warning_func);
--- a/src/hash.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/hash.c Mon Aug 13 10:26:29 2007 +0200 @@ -272,7 +272,9 @@ been set and is thus all zeroes. Qzero is "automatically" initialized at startup because its correct value is also all zeroes. */ - if (!NILP (hash->elisp_table) && !ZEROP (hash->elisp_table)) + if (!EQ (hash->elisp_table, Qnull_pointer) && + !NILP (hash->elisp_table) && + !ZEROP (hash->elisp_table)) new_harray = (hentry *) elisp_hvector_malloc (sizeof (hentry) * new_hsize, hash->elisp_table); else @@ -293,7 +295,9 @@ } #ifdef emacs - if (!NILP (hash->elisp_table) && !ZEROP (hash->elisp_table)) + if (!EQ (hash->elisp_table, Qnull_pointer) && + !NILP (hash->elisp_table) && + !ZEROP (hash->elisp_table)) elisp_hvector_free (old_harray, hash->elisp_table); else #endif
--- a/src/imgproc.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/imgproc.c Mon Aug 13 10:26:29 2007 +0200 @@ -40,7 +40,7 @@ Color Image Quantization for Frame Buffer Display, Paul Heckbert, Siggraph '82 proceedings, pp. 297-307 */ -#include "config.h" +#include <config.h> #include "lisp.h" #include "imgproc.h"
--- a/src/input-method-xlib.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/input-method-xlib.c Mon Aug 13 10:26:29 2007 +0200 @@ -538,7 +538,9 @@ if (p->count_styles == 0) { /* No valid styles? */ - char buf[1024]; + char *buf = (char *)alloca (strlen (fromVal->addr) + + strlen (DefaultXIMStyles) + + 100); XrmValue new_from; XtAppContext the_app_con = XtDisplayToApplicationContext (dpy); @@ -703,7 +705,7 @@ void describe_Window (Window win) { - char xwincmd[64]; + char xwincmd[128]; sprintf (xwincmd, "xwininfo -id 0x%x >&2; xwininfo -events -id 0x%x >&2", (int) win, (int) win); system (xwincmd);
--- a/src/insdel.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/insdel.c Mon Aug 13 10:26:29 2007 +0200 @@ -316,9 +316,9 @@ # define HIGH_BIT_MASK 0x80808080U # else # define LONG_BYTES 8 -# define ALIGN_MASK 0xFFFFFFFFFFFFFFF8U +# define ALIGN_MASK 0xFFFFFFFFFFFFFFF8UL /* I had a dream, I was being overrun with early Intel processors ... */ -# define HIGH_BIT_MASK 0x8080808080808080U +# define HIGH_BIT_MASK 0x8080808080808080UL # endif /* When we have a large number of bytes to scan, we can be trickier @@ -2331,12 +2331,14 @@ else *len = XSTRING_LENGTH (reloc) - offset; } +#ifdef ERROR_CHECK_BUFPOS assert (*len >= 0); if (STRINGP (reloc)) { assert (offset >= 0 && offset <= XSTRING_LENGTH (reloc)); assert (offset + *len <= XSTRING_LENGTH (reloc)); } +#endif } /* Insert a string into BUF at Bufpos POS. The string data comes
--- a/src/keymap.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/keymap.c Mon Aug 13 10:26:29 2007 +0200 @@ -287,6 +287,7 @@ write_c_string ("#<keymap ", printcharfun); if (!NILP (keymap->name)) print_internal (keymap->name, printcharfun, 1); + /* #### Yuck! This is no way to form plural! --hniksic */ sprintf (buf, "%s%d entr%s 0x%x>", ((NILP (keymap->name)) ? "" : " "), size, @@ -1719,7 +1720,6 @@ Lisp_Object keymap) { /* This function can GC */ - char buf [255]; Lisp_Object new_keys; int i; Lisp_Object mpc_binding; @@ -1746,18 +1746,20 @@ } else abort (); + if (EQ (keys, new_keys)) - sprintf (buf, GETTEXT ("can't bind %s: %s has a non-keymap binding"), - (char *) XSTRING_DATA (Fkey_description (keys)), - (char *) XSTRING_DATA (Fsingle_key_description - (Vmeta_prefix_char))); + error_with_frob (mpc_binding, + "can't bind %s: %s has a non-keymap binding", + (char *) XSTRING_DATA (Fkey_description (keys)), + (char *) XSTRING_DATA (Fsingle_key_description + (Vmeta_prefix_char))); else - sprintf (buf, GETTEXT ("can't bind %s: %s %s has a non-keymap binding"), - (char *) XSTRING_DATA (Fkey_description (keys)), - (char *) XSTRING_DATA (Fkey_description (new_keys)), - (char *) XSTRING_DATA (Fsingle_key_description - (Vmeta_prefix_char))); - signal_simple_error (buf, mpc_binding); + error_with_frob (mpc_binding, + "can't bind %s: %s %s has a non-keymap binding", + (char *) XSTRING_DATA (Fkey_description (keys)), + (char *) XSTRING_DATA (Fkey_description (new_keys)), + (char *) XSTRING_DATA (Fsingle_key_description + (Vmeta_prefix_char))); } DEFUN ("define-key", Fdefine_key, 3, 3, 0, /*
--- a/src/lisp.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/lisp.h Mon Aug 13 10:26:29 2007 +0200 @@ -1105,6 +1105,7 @@ struct Lisp_String *name; Lisp_Object value; Lisp_Object function; + /* non-nil if the symbol is interned in Vobarray */ Lisp_Object obarray; Lisp_Object plist; };
--- a/src/lread.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/lread.c Mon Aug 13 10:26:29 2007 +0200 @@ -1297,7 +1297,10 @@ else if (MARKERP (readcharfun)) b = XMARKER (readcharfun)->buffer; - specbind (Qstandard_input, readcharfun); + /* Don't do this. It is not necessary, and it needlessly exposes + READCHARFUN (which can be a stream) to Lisp. --hniksic */ + /*specbind (Qstandard_input, readcharfun);*/ + specbind (Qcurrent_load_list, Qnil); #ifdef COMPILED_FUNCTION_ANNOTATION_HACK @@ -1580,6 +1583,10 @@ { /* This function can GC */ Emchar c = readchar (readcharfun); + + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); + switch (c) { case 'a': return '\007'; @@ -1595,9 +1602,13 @@ case 'M': c = readchar (readcharfun); + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); if (c != '-') error ("Invalid escape character syntax"); c = readchar (readcharfun); + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); if (c == '\\') c = read_escape (readcharfun); return c | 0200; @@ -1615,11 +1626,14 @@ #define ctl_modifier (0x400000) #define meta_modifier (0x800000) */ -#define FSF_LOSSAGE(mask) \ - if (puke_on_fsf_keys || ((c = readchar (readcharfun)) != '-')) \ - error ("Invalid escape character syntax"); \ - if ((c = readchar (readcharfun)) == '\\') \ - c = read_escape (readcharfun); \ +#define FSF_LOSSAGE(mask) \ + if (puke_on_fsf_keys || ((c = readchar (readcharfun)) != '-')) \ + error ("Invalid escape character syntax"); \ + c = readchar (readcharfun); \ + if (c < 0) \ + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); \ + if (c == '\\') \ + c = read_escape (readcharfun); \ return c | mask case 'S': FSF_LOSSAGE (shift_modifier); @@ -1636,10 +1650,14 @@ case 'C': c = readchar (readcharfun); + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); if (c != '-') error ("Invalid escape character syntax"); case '^': c = readchar (readcharfun); + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); if (c == '\\') c = read_escape (readcharfun); /* FSFmacs junk for non-ASCII controls. @@ -1730,6 +1748,8 @@ if (c == '\\') { c = readchar (readcharfun); + if (c < 0) + signal_error (Qend_of_file, list1 (READCHARFUN_MAYBE (readcharfun))); *saw_a_backslash = 1; } Lstream_put_emchar (XLSTREAM (Vread_buffer_stream), c); @@ -1822,13 +1842,15 @@ /* intern will purecopy pname if necessary */ Lisp_Object name = make_string ((Bufbyte *) read_ptr, len); sym = Fintern (name, Qnil); - } - if (SYMBOL_IS_KEYWORD (sym)) - { - /* the LISP way is to put keywords in their own package, but we don't - have packages, so we do something simpler. Someday, maybe we'll - have packages and then this will be reworked. --Stig. */ - XSYMBOL (sym)->value = sym; + + if (SYMBOL_IS_KEYWORD (sym)) + { + /* the LISP way is to put keywords in their own package, + but we don't have packages, so we do something simpler. + Someday, maybe we'll have packages and then this will + be reworked. --Stig. */ + XSYMBOL (sym)->value = sym; + } } return sym; } @@ -2259,7 +2281,7 @@ /* purecons #[...] syntax */ case '[': return read_compiled_function (readcharfun, ']' /*, purify_flag */ ); - /* "#:"-- quasi-implemented gensym syntax */ + /* "#:"-- gensym syntax */ case ':': return read_atom (readcharfun, -1, 1); /* #'x => (function x) */ case '\'': return list2 (Qfunction, read0 (readcharfun)); @@ -2972,57 +2994,17 @@ void init_lread (void) { -#ifdef PATH_LOADSEARCH - CONST char *normal = PATH_LOADSEARCH; - -/* Don't print this warning. If the hardcoded paths don't exist, then - startup.el will try and deduce one. If it fails, it knows how to - handle things. */ -#if 0 -#ifndef WINDOWSNT - /* When Emacs is invoked over network shares on NT, PATH_LOADSEARCH is - almost never correct, thereby causing a warning to be printed out that - confuses users. Since PATH_LOADSEARCH is always overriden by the - EMACSLOADPATH environment variable below, disable the warning on NT. */ - - /* Warn if dirs in the *standard* path don't exist. */ - if (!turn_off_warning) - { - Lisp_Object normal_path = decode_env_path (0, normal); - for (; !NILP (normal_path); normal_path = XCDR (normal_path)) - { - Lisp_Object dirfile; - dirfile = Fcar (normal_path); - if (!NILP (dirfile)) - { - dirfile = Fdirectory_file_name (dirfile); - if (access ((char *) XSTRING_DATA (dirfile), 0) < 0) - stdout_out ("Warning: lisp library (%s) does not exist.\n", - XSTRING_DATA (Fcar (normal_path))); - } - } - } -#endif /* WINDOWSNT */ -#endif /* 0 */ -#else /* !PATH_LOADSEARCH */ - CONST char *normal = 0; -#endif /* !PATH_LOADSEARCH */ Vvalues = Qnil; - /* further frobbed by startup.el if nil. */ - Vload_path = decode_env_path ("EMACSLOADPATH", normal); - -/* Vdump_load_path = Qnil; */ - if (purify_flag && NILP (Vload_path)) - { - /* loadup.el will frob this some more. */ - /* #### unix-specific */ - Vload_path = Fcons (build_string ("../lisp/"), Vload_path); - } load_in_progress = 0; - + Vload_descriptor_list = Qnil; + /* kludge: locate-file does not work for a null load-path, even if + the file name is absolute. */ + + Vload_path = Fcons (build_string (""), Qnil); + /* This used to get initialized in init_lread because all streams got closed when dumping occurs. This is no longer true -- Vread_buffer_stream is a resizing output stream, and there is no @@ -3100,6 +3082,7 @@ value for this variable by looking around in the file-system near the directory in which the XEmacs executable resides. */ ); + Vload_path = Qnil; /* xxxDEFVAR_LISP ("dump-load-path", &Vdump_load_path, "*Location of lisp files to be used when dumping ONLY."); */
--- a/src/m/powerpc.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/m/powerpc.h Mon Aug 13 10:26:29 2007 +0200 @@ -160,5 +160,5 @@ #undef NEED_PTEM_H #define ORDINARY_LINK -#define LD_SWITCH_MACHINE -T ppc.ldscript +#define LD_SWITCH_MACHINE -T ${srcdir}/src/ppc.ldscript #endif
--- a/src/minibuf.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/minibuf.c Mon Aug 13 10:26:29 2007 +0200 @@ -214,8 +214,8 @@ { while (l) { - Bufbyte c1 = DOWNCASE (current_buffer, charptr_emchar (s1)); - Bufbyte c2 = DOWNCASE (current_buffer, charptr_emchar (s2)); + Emchar c1 = DOWNCASE (current_buffer, charptr_emchar (s1)); + Emchar c2 = DOWNCASE (current_buffer, charptr_emchar (s2)); if (c1 == c2) { @@ -289,7 +289,16 @@ } +/* #### Maybe we should allow ALIST to be a hashtable. It is wrong + for the use of obarrays to be better-rewarded than the use of + hashtables. By better-rewarded I mean that you can pass an obarray + to all of the completion functions, whereas you can't do anything + like that with a hashtable. + To do so, there should probably be a + map_obarray_or_alist_or_hashtable function which would be used by + both Ftry_completion and Fall_completions. But would the + additional funcalls slow things down? */ DEFUN ("try-completion", Ftry_completion, 2, 3, 0, /* Return common substring of all completions of STRING in ALIST. @@ -326,13 +335,13 @@ CHECK_STRING (string); if (CONSP (alist)) - { - Lisp_Object tem = XCAR (alist); - if (SYMBOLP (tem)) /* lambda, autoload, etc. Emacs-lisp sucks */ - return call3 (alist, string, pred, Qnil); - else - list = 1; - } + { + Lisp_Object tem = XCAR (alist); + if (SYMBOLP (tem)) /* lambda, autoload, etc. Emacs-lisp sucks */ + return call3 (alist, string, pred, Qnil); + else + list = 1; + } else if (VECTORP (alist)) list = 0; else if (NILP (alist)) @@ -379,10 +388,11 @@ if (!ZEROP (bucket)) { struct Lisp_Symbol *next; - if (!SYMBOLP (bucket)) { - signal_simple_error("Bad obarry passed to try-completions", - bucket); - } + if (!SYMBOLP (bucket)) + { + signal_simple_error ("Bad obarray passed to try-completions", + bucket); + } next = symbol_next (XSYMBOL (bucket)); elt = bucket; eltstring = Fsymbol_name (elt); @@ -529,13 +539,13 @@ CHECK_STRING (string); if (CONSP (alist)) - { - Lisp_Object tem = XCAR (alist); - if (SYMBOLP (tem)) /* lambda, autoload, etc. Emacs-lisp sucks */ - return call3 (alist, string, pred, Qt); - else - list = 1; - } + { + Lisp_Object tem = XCAR (alist); + if (SYMBOLP (tem)) /* lambda, autoload, etc. Emacs-lisp sucks */ + return call3 (alist, string, pred, Qt); + else + list = 1; + } else if (VECTORP (alist)) list = 0; else if (NILP (alist))
--- a/src/objects-msw.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/objects-msw.c Mon Aug 13 10:26:29 2007 +0200 @@ -732,7 +732,7 @@ return c-'0'; } -static COLORREF +COLORREF mswindows_string_to_color(CONST char *name) { int i;
--- a/src/opaque.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/opaque.c Mon Aug 13 10:26:29 2007 +0200 @@ -91,11 +91,11 @@ { char buf[200]; if (INTP (XOPAQUE (obj)->size_or_chain)) - sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%ld) 0x%p>", - (long) XOPAQUE_SIZE (obj), (void *) XPNTR (obj)); + sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%ld) 0x%lx>", + (long) XOPAQUE_SIZE (obj), (unsigned long) XPNTR (obj)); else - sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%p>", - (void *) XPNTR (obj)); + sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%lx>", + (unsigned long) XPNTR (obj)); write_c_string (buf, printcharfun); }
--- a/src/paths.h.in Mon Aug 13 10:25:39 2007 +0200 +++ b/src/paths.h.in Mon Aug 13 10:26:29 2007 +0200 @@ -29,6 +29,10 @@ 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.) @@ -42,9 +46,6 @@ Emacs. This directory should be writable by everyone. If this is specified, the string must end with a slash! - PATH_SUPERLOCK The name of the file !!!SuperLock!!! in the lock - directory. You probably should let this default... - PATH_INFO This is where the info documentation is installed. PATH_INFOPATH The default value of `Info-directory-list'.
--- a/src/process.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/process.c Mon Aug 13 10:26:29 2007 +0200 @@ -1750,11 +1750,15 @@ if (!MAYBE_INT_PROCMETH (process_send_eof, (proc))) { - event_stream_delete_stream_pair (Qnil, XPROCESS (proc)->pipe_outstream); - XPROCESS (proc)->pipe_outstream = Qnil; + if (!NILP (DATA_OUTSTREAM (XPROCESS (proc)))) + { + Lstream_close (XLSTREAM (DATA_OUTSTREAM (XPROCESS (proc)))); + event_stream_delete_stream_pair (Qnil, XPROCESS (proc)->pipe_outstream); + XPROCESS (proc)->pipe_outstream = Qnil; #ifdef FILE_CODING - XPROCESS (proc)->coding_outstream = Qnil; + XPROCESS (proc)->coding_outstream = Qnil; #endif + } } return process; @@ -1781,6 +1785,11 @@ /* Must call this before setting the streams to nil */ event_stream_unselect_process (p); + if (!NILP (DATA_OUTSTREAM (p))) + Lstream_close (XLSTREAM (DATA_OUTSTREAM (p))); + if (!NILP (DATA_INSTREAM (p))) + Lstream_close (XLSTREAM (DATA_INSTREAM (p))); + /* Provide minimal implementation for deactivate_process if there's no process-specific one */ if (HAS_PROCMETH_P (deactivate_process))
--- a/src/redisplay-msw.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/redisplay-msw.c Mon Aug 13 10:26:29 2007 +0200 @@ -40,7 +40,7 @@ #include "events.h" #include "faces.h" #include "frame.h" -#include "glyphs.h" /* XXX FIXME: Should be glyphs-mswindows when we make one */ +#include "glyphs-msw.h" #include "redisplay.h" #include "sysdep.h" #include "window.h" @@ -72,8 +72,6 @@ static void mswindows_redraw_exposed_windows (Lisp_Object window, int x, int y, int width, int height); - - typedef struct textual_run { Lisp_Object charset; @@ -228,7 +226,7 @@ debug_print (fg); #endif fg = Qnil; - } + } if (!NILP (bg) && !COLOR_INSTANCEP (bg)) { @@ -238,7 +236,7 @@ debug_print (bg); #endif bg = Qnil; - } + } #endif if (!NILP (fg)) @@ -490,6 +488,203 @@ } } +void +mswindows_output_dibitmap (struct frame *f, struct Lisp_Image_Instance *p, + int x, int y, + int clip_x, int clip_y, + int clip_width, int clip_height, + int width, int height, int pixmap_offset) +{ + HDC hdc = FRAME_MSWINDOWS_DC (f); + HGDIOBJ old; + int need_clipping = (clip_x || clip_y); + + if (need_clipping) + { +#if 0 + XRectangle clip_box[1]; + + clip_box[0].x = clip_x; + clip_box[0].y = clip_y; + clip_box[0].width = clip_width; + clip_box[0].height = clip_height; + + XSetClipRectangles (dpy, gc, x, y, clip_box, 1, Unsorted); +#endif + } + + /* Select the bitmaps into the compatible DC. */ + if ((old=SelectObject(IMAGE_INSTANCE_MSWINDOWS_DC(p), + IMAGE_INSTANCE_MSWINDOWS_BITMAP(p)))) + { + BitBlt(hdc, + x,y, + width, height, + IMAGE_INSTANCE_MSWINDOWS_DC(p), + 0,0, + SRCCOPY); + SelectObject(IMAGE_INSTANCE_MSWINDOWS_DC(p),old); + } + else + { + /* error */ + } + +#if 0 + if (need_clipping) + { + XSetClipMask (dpy, gc, None); + XSetClipOrigin (dpy, gc, 0, 0); + } +#endif +} + +static void +mswindows_output_pixmap (struct window *w, struct display_line *dl, + Lisp_Object image_instance, int xpos, int xoffset, + int start_pixpos, int width, face_index findex, + int cursor_start, int cursor_width, int cursor_height) +{ + struct frame *f = XFRAME (w->frame); + struct device *d = XDEVICE (f->device); + HDC hdc = FRAME_MSWINDOWS_DC (f); + struct Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); + Lisp_Object window; + + int lheight = dl->ascent + dl->descent - dl->clip; + int pheight = ((int) IMAGE_INSTANCE_PIXMAP_HEIGHT (p) > lheight ? lheight : + IMAGE_INSTANCE_PIXMAP_HEIGHT (p)); + int pwidth = min (width + xoffset, (int) IMAGE_INSTANCE_PIXMAP_WIDTH (p)); + int clip_x, clip_y, clip_width, clip_height; + + /* The pixmap_offset is used to center the pixmap on lines which are + shorter than it is. This results in odd effects when scrolling + pixmaps off of the bottom. Let's try not using it. */ +#if 0 + int pixmap_offset = (int) (IMAGE_INSTANCE_PIXMAP_HEIGHT (p) - lheight) / 2; +#else + int pixmap_offset = 0; +#endif + + XSETWINDOW (window, w); + + if ((start_pixpos >= 0 && start_pixpos > xpos) || xoffset) + { + if (start_pixpos > xpos && start_pixpos > xpos + width) + return; + + clip_x = xoffset; + clip_width = width; + if (start_pixpos > xpos) + { + clip_x += (start_pixpos - xpos); + clip_width -= (start_pixpos - xpos); + } + } + else + { + clip_x = 0; + clip_width = 0; + } + + /* Place markers for possible future functionality (clipping the top + half instead of the bottom half; think pixel scrolling). */ + clip_y = 0; + clip_height = pheight; + + /* Clear the area the pixmap is going into. The pixmap itself will + always take care of the full width. We don't want to clear where + it is going to go in order to avoid flicker. So, all we have to + take care of is any area above or below the pixmap. */ + /* #### We take a shortcut for now. We know that since we have + pixmap_offset hardwired to 0 that the pixmap is against the top + edge so all we have to worry about is below it. */ + /* #### Unless the pixmap has a mask in which case we have to clear + the whole damn thing since we can't yet clear just the area not + included in the mask. */ + if (((int) (dl->ypos - dl->ascent + pheight) < + (int) (dl->ypos + dl->descent - dl->clip)) + || IMAGE_INSTANCE_MSWINDOWS_MASK (p)) + { + int clear_x, clear_y, clear_width, clear_height; + + if (IMAGE_INSTANCE_MSWINDOWS_MASK (p)) + { + clear_y = dl->ypos - dl->ascent; + clear_height = lheight; + } + else + { + clear_y = dl->ypos - dl->ascent + pheight; + clear_height = lheight - pheight; + } + + if (start_pixpos >= 0 && start_pixpos > xpos) + { + clear_x = start_pixpos; + clear_width = xpos + width - start_pixpos; + } + else + { + clear_x = xpos; + clear_width = width; + } + + mswindows_clear_region (window, findex, clear_x, clear_y, + clear_width, clear_height); + } + + /* Output the pixmap. */ + { + Lisp_Object tmp_pixel; + COLORREF tmp_bcolor, tmp_fcolor; + + tmp_pixel = WINDOW_FACE_CACHEL_FOREGROUND (w, findex); + tmp_fcolor = COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (tmp_pixel)); + tmp_pixel = WINDOW_FACE_CACHEL_BACKGROUND (w, findex); + tmp_bcolor = COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (tmp_pixel)); +#if 0 + mswindows_update_dc (hdc, Qnil, tmp_fcolor, + tmp_bcolor, Qnil); +#endif + mswindows_output_dibitmap (f, p, xpos - xoffset, dl->ypos - dl->ascent, + clip_x, clip_y, clip_width, clip_height, + pwidth, pheight, pixmap_offset); + } + + /* Draw a cursor over top of the pixmap. */ + if (cursor_width && cursor_height && (cursor_start >= xpos) + && !NILP (w->text_cursor_visible_p) + && (cursor_start < xpos + pwidth)) + { + int focus = EQ (w->frame, DEVICE_FRAME_WITH_FOCUS_REAL (d)); + int y = dl->ypos - dl->ascent; + struct face_cachel *cursor_cachel = + WINDOW_FACE_CACHEL (w, + get_builtin_face_cache_index + (w, Vtext_cursor_face)); + + mswindows_update_dc(hdc, Qnil, cursor_cachel->background, Qnil, + Qnil); + + if (cursor_width > xpos + pwidth - cursor_start) + cursor_width = xpos + pwidth - cursor_start; + + if (focus) + { + RECT rect={cursor_start, y + cursor_height, + cursor_start + cursor_width, y}; + FrameRect(hdc, &rect, + COLOR_INSTANCE_MSWINDOWS_BRUSH + (XCOLOR_INSTANCE(cursor_cachel->background))); + } + else + { + Rectangle (hdc, cursor_start, y, cursor_width, + cursor_height); + } + } +} #ifdef HAVE_SCROLLBARS /* @@ -941,12 +1136,10 @@ case IMAGE_MONO_PIXMAP: case IMAGE_COLOR_PIXMAP: -#if 0 mswindows_output_pixmap (w, dl, instance, xpos, rb->object.dglyph.xoffset, start_pixpos, rb->width, findex, cursor_start, cursor_width, cursor_height); -#endif break; case IMAGE_POINTER: @@ -1216,7 +1409,6 @@ } - /************************************************************************/ /* initialization */
--- a/src/redisplay-output.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/redisplay-output.c Mon Aug 13 10:26:29 2007 +0200 @@ -983,12 +983,16 @@ extern int cursor_in_echo_area; if (cursor_in_echo_area) + { if (FRAME_HAS_MINIBUF_P (f)) { w = XWINDOW (FRAME_MINIBUF_WINDOW (f)); } else + { return; + } + } redraw_cursor_in_window (w, run_end_begin_meths); }
--- a/src/redisplay.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/redisplay.c Mon Aug 13 10:26:29 2007 +0200 @@ -6259,7 +6259,7 @@ } -static char window_line_number_buf[16]; +static char window_line_number_buf[32]; /* Efficiently determine the window line number, and return a pointer to its printed representation. Do this regardless of whether @@ -7089,10 +7089,7 @@ fail. */ if (startp < BUF_BEGV (b) || startp > BUF_ZV (b) || point < BUF_BEGV (b) || point > BUF_ZV (b)) - { - w->line_cache_validation_override--; - return 0; - } + return 0; validate_line_start_cache (w); w->line_cache_validation_override++; @@ -7278,7 +7275,10 @@ cur_elt = point_in_line_start_cache (w, point, 0); /* #### See comment in update_line_start_cache about big minibuffers. */ if (cur_elt < 0) - return point; + { + w->line_cache_validation_override--; + return point; + } point_line_height = Dynarr_atp (w->line_start_cache, cur_elt)->height;
--- a/src/s/cygwin32.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/s/cygwin32.h Mon Aug 13 10:26:29 2007 +0200 @@ -194,12 +194,6 @@ #define NO_MATHERR -/* NOMULTIPLEJOBS should be defined if your system's shell - does not have "job control" (the ability to stop a program, - run some other program, then continue the first one). */ - -#define NOMULTIPLEJOBS - /* define MAIL_USE_FLOCK if the mailer uses flock to interlock access to /usr/spool/mail/$USER. The alternative is that a lock file named
--- a/src/sheap.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/sheap.c Mon Aug 13 10:26:29 2007 +0200 @@ -18,9 +18,9 @@ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.*/ -#include "config.h" +#include <config.h> #include <stdio.h> -#include <lisp.h> +#include "lisp.h" #include <stddef.h> #include "sheap-adjust.h"
--- a/src/symbols.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/symbols.c Mon Aug 13 10:26:29 2007 +0200 @@ -199,8 +199,13 @@ not mark through this slot, so it is not usable later (because the obarray might have been collected). Marking through the ->obarray slot is an even worse idea, because it would keep - obarrays from being collected because of symbols pointed to them. */ - XSYMBOL (sym)->obarray = Qt; + obarrays from being collected because of symbols pointed to them. + + NOTE: We place Qt here only if OBARRAY is actually Vobarray. It + is safer to do it this way, to avoid hosing with symbols within + pure objects. */ + if (EQ (obarray, Vobarray)) + XSYMBOL (sym)->obarray = Qt; if (SYMBOLP (*ptr)) symbol_next (XSYMBOL (sym)) = XSYMBOL (*ptr); @@ -531,19 +536,15 @@ XSYMBOL_VALUE_MAGIC_TYPE (val) == SYMVAL_CONST_BOOLEAN_FORWARD || XSYMBOL_VALUE_MAGIC_TYPE (val) == SYMVAL_CONST_CURRENT_BUFFER_FORWARD || XSYMBOL_VALUE_MAGIC_TYPE (val) == SYMVAL_CONST_SELECTED_CONSOLE_FORWARD)) -#if 0 - /* #### - This is disabled until a new magic symbol_value for - constants is added */ - || SYMBOL_IS_KEYWORD (sym) -#endif + /* We don't return true for keywords here because they are handled + specially by reject_constant_symbols(). */ ; } /* We are setting SYM's value slot (or function slot, if FUNCTION_P is - non-zero) to NEWVAL. Make sure this is allowed. NEWVAL is only - used in the error message. FOLLOW_PAST_LISP_MAGIC specifies - whether we delve past symbol-value-lisp-magic objects. - */ + non-zero) to NEWVAL. Make sure this is allowed. + FOLLOW_PAST_LISP_MAGIC specifies whether we delve past + symbol-value-lisp-magic objects. */ static void reject_constant_symbols (Lisp_Object sym, Lisp_Object newval, int function_p, @@ -558,7 +559,9 @@ signal_simple_error ("Use `set-specifier' to change a specifier's value", sym); - if (symbol_is_constant (sym, val)) + if (symbol_is_constant (sym, val) + || (SYMBOL_IS_KEYWORD (sym) && !EQ (newval, sym) + && !NILP (XSYMBOL (sym)->obarray))) signal_error (Qsetting_constant, UNBOUNDP (newval) ? list1 (sym) : list2 (sym, newval)); } @@ -1617,7 +1620,8 @@ retry: valcontents = XSYMBOL (sym)->value; - if (NILP (sym) || EQ (sym, Qt) || SYMBOL_VALUE_MAGIC_P (valcontents)) + if (NILP (sym) || EQ (sym, Qt) || SYMBOL_VALUE_MAGIC_P (valcontents) + || SYMBOL_IS_KEYWORD (sym)) reject_constant_symbols (sym, newval, 0, UNBOUNDP (newval) ? Qmakunbound : Qset); else
--- a/src/symsinit.h Mon Aug 13 10:25:39 2007 +0200 +++ b/src/symsinit.h Mon Aug 13 10:26:29 2007 +0200 @@ -90,6 +90,7 @@ void syms_of_free_hook (void); void syms_of_general (void); void syms_of_glyphs_x (void); +void syms_of_glyphs_mswindows (void); void syms_of_glyphs (void); void syms_of_gui_x (void); void syms_of_gui (void); @@ -163,6 +164,7 @@ void console_type_create_redisplay_mswindows (void); void console_type_create_scrollbar_mswindows (void); void console_type_create_toolbar_mswindows (void); +void console_type_create_glyphs_mswindows (void); /* Initialize the specifier types (dump-time only). */ @@ -183,6 +185,7 @@ void image_instantiator_format_create (void); void image_instantiator_format_create_glyphs_x (void); +void image_instantiator_format_create_glyphs_mswindows (void); /* Initialize the lstream types (dump-time only). */ @@ -244,6 +247,7 @@ void vars_of_frame_x (void); void vars_of_frame (void); void vars_of_glyphs_x (void); +void vars_of_glyphs_mswindows (void); void vars_of_glyphs (void); void vars_of_gui_x (void); void vars_of_gui (void); @@ -315,6 +319,7 @@ void complex_vars_of_mule_coding (void); void complex_vars_of_glyphs (void); void complex_vars_of_glyphs_x (void); +void complex_vars_of_glyphs_mswindows (void); void complex_vars_of_alloc (void); void complex_vars_of_menubar (void); void complex_vars_of_scrollbar (void); @@ -324,6 +329,7 @@ void complex_vars_of_chartab (void); void complex_vars_of_buffer (void); void complex_vars_of_console (void); +void complex_vars_of_emacs (void); void complex_vars_of_minibuf (void); void complex_vars_of_callproc (void); void complex_vars_of_filelock (void);
--- a/src/sysdll.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/sysdll.c Mon Aug 13 10:26:29 2007 +0200 @@ -93,17 +93,30 @@ } dll_handle dll_open(CONST char *fname) { - return((dll_handle)shl_load(fname,BIND_DEFERRED,0L)); + shl_t h = shl_load(fname,BIND_DEFERRED,0L); + shl_t *hp = NULL; + + if (h) { + hp = (shl_t *)malloc(sizeof(shl_t)); + if (!hp) { + shl_unload(h); + } else { + *hp = h; + } + } + return((dll_handle)hp); } int dll_close(dll_handle h) { - return (shl_unload((shl_t)h)); + shl_t h = *((shl_t *)hp); + free(hp); + return (shl_unload(h)); } dll_func dll_function(dll_handle h,CONST char *n) { long handle = 0L; - if (shl_findsym(&(shl_t)h,n,TYPE_PROCEDURE,&handle)) + if (shl_findsym((shl_t *)h,n,TYPE_PROCEDURE,&handle)) return(NULL); return((dll_func)handle); @@ -112,7 +125,7 @@ dll_var dll_variable(dll_handle h,CONST char *n) { long handle = 0L; - if (shl_findsym(&(shl_t)h,n,TYPE_DATA,&handle)) + if (shl_findsym((shl_t *)h,n,TYPE_DATA,&handle)) return(NULL); return((dll_var)handle);
--- a/src/window.c Mon Aug 13 10:25:39 2007 +0200 +++ b/src/window.c Mon Aug 13 10:26:29 2007 +0200 @@ -1366,6 +1366,7 @@ return make_int (decode_window (window)->hscroll); } +#ifdef MODELINE_IS_SCROLLABLE DEFUN ("modeline-hscroll", Fmodeline_hscroll, 0, 1, 0, /* Return the number of columns by which WINDOW's modeline is scrolled from left margin. If the window has no modeline, return nil. @@ -1377,6 +1378,7 @@ w = decode_window (window); return (WINDOW_HAS_MODELINE_P (w)) ? make_int (w->modeline_hscroll) : Qnil; } +#endif DEFUN ("set-window-hscroll", Fset_window_hscroll, 2, 2, 0, /* Set number of columns WINDOW is scrolled from left margin to NCOL. @@ -1397,6 +1399,7 @@ return ncol; } +#ifdef MODELINE_IS_SCROLLABLE DEFUN ("set-modeline-hscroll", Fset_modeline_hscroll, 2, 2, 0, /* Set number of columns WINDOW's modeline is scrolled from left margin to NCOL. NCOL should be zero or positive. If NCOL is negative, it will be forced to 0. @@ -1420,6 +1423,7 @@ } return Qnil; } +#endif #if 0 /* bogus crock */