Mercurial > hg > xemacs-beta
changeset 286:57709be46d1b r21-0b41
Import from CVS: tag r21-0b41
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 10:34:15 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:35:03 2007 +0200 @@ -1,4 +1,37 @@ -*- indented-text -*- +to 21.0 beta41 "San Clemente" +-- MS Windows font charset support from Kirill Katsnelson +-- Special glyph fixes from Kirill Katsnelson +-- MS Windows Dialog boxes from Kirill Katsnelson +-- allow electric slash to be a backslash from Hrvoje Niksic +-- Selection cleanup from Andy Piper +-- LDAP compilation fixes from Martin Buchholz and Oscar Figueiredo +-- MS Windows NT dump fix from Kirill Katsnelson +-- gnuserv for MS Windows NT and Cygwin from Andy Piper +-- Cursor resource update from Andy Piper +-- save-some-buffers fix from Hrvoje Niksic +-- Specifier fixes from Hrvoje Niksic +-- Various warning fixes from Martin Buchholz +-- face fix from Andy Piper +-- Various MS Windows fixes from Kirill Katsnelson +-- etags.c-13.6 courtesy of Francesco Potort́ +-- FreeBSD 2.2.6 now supports LC_ALL from Kazuyuki IENAGA +-- Toolbar fixes from Kirill Katsnelson +-- Ignore most recent libtiff from Martin Buchholz +-- minor mode menu cleanup from Hrvoje Niksic +-- OpenBSD support from Hans Guenter Weigand +-- MS Windows NT process fixes from Kirill Katsnelson +-- miscellaneous patches from Martin Buchholz +-- MS Windows toolbar hasing fix from Andy Piper +-- MS Windows cursor resources update from Andy Piper +-- AIX initialization fixes from Michael Sperber +-- Startup optimization from Michael Sperber +-- MS Windows cursor initialization from Kirill Katsnelson +-- miscellaneous patches from Kirill Katsnelson +-- 64 bit clean fixes from Olivier Galibert +-- Interactive compiled functions and anonymous forms fixes from Hrvoje Niksic +-- Miscellaneous cleanup fixes from Altrasoft + to 21.0 beta40 "Saanen" -- Vertical divider hacking from Didier Verna and Kirill Katsnelson -- Bind cut'n'paste keys to generic functions from Jonathan Harris
--- a/ChangeLog Mon Aug 13 10:34:15 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:35:03 2007 +0200 @@ -1,3 +1,12 @@ +1998-05-23 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-beta41 is released. + +1998-05-17 SL Baur <steve@altair.xemacs.org> + + * configure.in (CPP): Change -O2 to -O3. + Suggested by Martin Buchholz <martin@xemacs.org> + 1998-05-15 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-beta40 is released.
--- a/config.sub Mon Aug 13 10:34:15 2007 +0200 +++ b/config.sub Mon Aug 13 10:35:03 2007 +0200 @@ -678,7 +678,7 @@ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin32* | -pe* | -psos* | -moss* ) + | -cygwin32* | -pe* | -psos* | -moss* | -openbsd* ) # Remember, each alternative MUST END IN *, to match a version number. ;; -sunos5*)
--- a/configure Mon Aug 13 10:34:15 2007 +0200 +++ b/configure Mon Aug 13 10:35:03 2007 +0200 @@ -1017,6 +1017,7 @@ case "$canonical" in *-*-linux* ) opsys=linux ;; *-*-netbsd* ) opsys=netbsd ;; + *-*-openbsd* ) opsys=openbsd ;; *-*-nextstep* ) opsys=nextstep ;; *-*-vms ) opsys=vms ;; @@ -1071,6 +1072,18 @@ esac ;; + *-*-openbsd* ) + case "${canonical}" in + alpha*-*-openbsd*) machine=alpha ;; + i386-*-openbsd*) machine=intel386 ;; + m68k-*-openbsd*) machine=hp9000s300 ;; + mipsel-*-openbsd*) machine=pmax ;; + ns32k-*-openbsd*) machine=ns32000 ;; + sparc-*-openbsd*) machine=sparc ;; + vax-*-openbsd*) machine=vax ;; + esac + ;; + arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;; arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;; @@ -1456,7 +1469,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:1460: checking for $ac_word" >&5 +echo "configure:1473: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1482,7 +1495,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:1486: checking for $ac_word" >&5 +echo "configure:1499: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1527,7 +1540,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1531: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1544: 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' @@ -1539,11 +1552,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1543 "configure" +#line 1556 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1560: \"$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 @@ -1563,19 +1576,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:1567: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1580: 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:1572: checking whether we are using GNU C" >&5 +echo "configure:1585: 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:1579: \"$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:1592: \"$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 @@ -1589,7 +1602,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1593: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1606: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1618,7 +1631,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:1622: checking for $ac_word" >&5 +echo "configure:1635: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1644,7 +1657,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:1648: checking for $ac_word" >&5 +echo "configure:1661: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1689,7 +1702,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1693: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1706: 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' @@ -1701,11 +1714,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1705 "configure" +#line 1718 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1722: \"$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 @@ -1725,19 +1738,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:1729: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1742: 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:1734: checking whether we are using GNU C" >&5 +echo "configure:1747: 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:1741: \"$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:1754: \"$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 @@ -1751,7 +1764,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1755: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1768: 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 +1793,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:1784: checking for $ac_word" >&5 +echo "configure:1797: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1806,7 +1819,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:1810: checking for $ac_word" >&5 +echo "configure:1823: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1851,7 +1864,7 @@ fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1855: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1868: 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' @@ -1863,11 +1876,11 @@ cross_compiling=no cat > conftest.$ac_ext <<EOF -#line 1867 "configure" +#line 1880 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1884: \"$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 @@ -1887,19 +1900,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:1891: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1904: 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:1896: checking whether we are using GNU C" >&5 +echo "configure:1909: 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:1903: \"$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:1916: \"$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 @@ -1913,7 +1926,7 @@ ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1917: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1930: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1946,7 +1959,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:1950: checking how to run the C preprocessor" >&5 +echo "configure:1963: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1959,13 +1972,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1963 "configure" +#line 1976 "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:1969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1982: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1976,13 +1989,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1980 "configure" +#line 1993 "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:1986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -2005,9 +2018,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:2009: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 2011 "configure" +echo "configure:2022: checking for AIX" >&5 +cat > conftest.$ac_ext <<EOF +#line 2024 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -2034,9 +2047,9 @@ echo $ac_n "checking for GNU libc""... $ac_c" 1>&6 -echo "configure:2038: checking for GNU libc" >&5 -cat > conftest.$ac_ext <<EOF -#line 2040 "configure" +echo "configure:2051: checking for GNU libc" >&5 +cat > conftest.$ac_ext <<EOF +#line 2053 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -2048,7 +2061,7 @@ ; return 0; } EOF -if { (eval echo configure:2052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -2069,9 +2082,9 @@ echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6 -echo "configure:2073: checking whether we are using SunPro C" >&5 -cat > conftest.$ac_ext <<EOF -#line 2075 "configure" +echo "configure:2086: checking whether we are using SunPro C" >&5 +cat > conftest.$ac_ext <<EOF +#line 2088 "configure" #include "confdefs.h" int main() { @@ -2082,7 +2095,7 @@ ; return 0; } EOF -if { (eval echo configure:2086: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* __sunpro_c=yes else @@ -2266,7 +2279,7 @@ if test "$cflags_specified" = "no"; then if test "$GCC" = "yes"; then - CFLAGS="-g -O2 -Wall -Wno-switch" + CFLAGS="-g -O3 -Wall -Wno-switch" elif test "$__sunpro_c" = "yes"; then case "$opsys" in sol2 ) CFLAGS="-v -xO4" ;; @@ -2342,7 +2355,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2346: checking for dynodump" >&5 +echo "configure:2359: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2442,7 +2455,7 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2446: checking "for runtime libraries flag"" >&5 +echo "configure:2459: 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" @@ -2460,14 +2473,14 @@ done fi cat > conftest.$ac_ext <<EOF -#line 2464 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 2477 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2567,10 +2580,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2571: checking for malloc_get_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2574 "configure" +echo "configure:2584: checking for malloc_get_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2587 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_get_state(); below. */ @@ -2593,7 +2606,7 @@ ; return 0; } EOF -if { (eval echo configure:2597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2610: \"$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 @@ -2613,10 +2626,10 @@ fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2617: checking for malloc_set_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2620 "configure" +echo "configure:2630: checking for malloc_set_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2633 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_set_state(); below. */ @@ -2639,7 +2652,7 @@ ; return 0; } EOF -if { (eval echo configure:2643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2656: \"$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 @@ -2659,16 +2672,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2663: checking whether __after_morecore_hook exists" >&5 -cat > conftest.$ac_ext <<EOF -#line 2665 "configure" +echo "configure:2676: checking whether __after_morecore_hook exists" >&5 +cat > conftest.$ac_ext <<EOF +#line 2678 "configure" #include "confdefs.h" extern void (* __after_morecore_hook)(); int main() { __after_morecore_hook = 0 ; return 0; } EOF -if { (eval echo configure:2672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -2727,7 +2740,7 @@ # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2731: checking for $ac_word" >&5 +echo "configure:2744: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -2780,7 +2793,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:2784: checking for a BSD compatible install" >&5 +echo "configure:2797: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" @@ -2831,7 +2844,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:2835: checking for $ac_word" >&5 +echo "configure:2848: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -2862,15 +2875,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2866: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2869 "configure" +echo "configure:2879: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2882 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2887: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2903,15 +2916,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2907: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2910 "configure" +echo "configure:2920: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2923 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2944,15 +2957,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2948: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2951 "configure" +echo "configure:2961: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2964 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2982,10 +2995,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2986: checking for sys/wait.h that is POSIX.1 compatible" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2989 "configure" +echo "configure:2999: checking for sys/wait.h that is POSIX.1 compatible" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3002 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -3001,7 +3014,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3025,10 +3038,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3029: checking for ANSI C header files" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3032 "configure" +echo "configure:3042: checking for ANSI C header files" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3045 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -3036,7 +3049,7 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3040: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -3053,7 +3066,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 3057 "configure" +#line 3070 "configure" #include "confdefs.h" #include <string.h> EOF @@ -3071,7 +3084,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 3075 "configure" +#line 3088 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -3089,7 +3102,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 3093 "configure" +#line 3106 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3100,7 +3113,7 @@ exit (0); } EOF -if { (eval echo configure:3104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else @@ -3125,10 +3138,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3129: checking whether time.h and sys/time.h may both be included" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3132 "configure" +echo "configure:3142: checking whether time.h and sys/time.h may both be included" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3145 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -3137,7 +3150,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3141: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3154: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3161,10 +3174,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3165: checking for sys_siglist declaration in signal.h or unistd.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3168 "configure" +echo "configure:3178: checking for sys_siglist declaration in signal.h or unistd.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3181 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3176,7 +3189,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3180: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3193: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3201,9 +3214,9 @@ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3205: checking for struct utimbuf" >&5 -cat > conftest.$ac_ext <<EOF -#line 3207 "configure" +echo "configure:3218: checking for struct utimbuf" >&5 +cat > conftest.$ac_ext <<EOF +#line 3220 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3222,7 +3235,7 @@ static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3239: \"$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 @@ -3242,10 +3255,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3246: checking return type of signal handlers" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3249 "configure" +echo "configure:3259: checking return type of signal handlers" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3262 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3262,7 +3275,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3284,10 +3297,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3288: checking for size_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3291 "configure" +echo "configure:3301: checking for size_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3304 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3318,10 +3331,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3322: checking for pid_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3325 "configure" +echo "configure:3335: checking for pid_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3338 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3352,10 +3365,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3356: checking for uid_t in sys/types.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3359 "configure" +echo "configure:3369: checking for uid_t in sys/types.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3372 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3391,10 +3404,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3395: checking for mode_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3398 "configure" +echo "configure:3408: checking for mode_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3411 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3425,10 +3438,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3429: checking for off_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3432 "configure" +echo "configure:3442: checking for off_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3445 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3460,9 +3473,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3464: checking for struct timeval" >&5 -cat > conftest.$ac_ext <<EOF -#line 3466 "configure" +echo "configure:3477: checking for struct timeval" >&5 +cat > conftest.$ac_ext <<EOF +#line 3479 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3478,7 +3491,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3482: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3495: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3500,10 +3513,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:3504: checking whether struct tm is in sys/time.h or time.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3507 "configure" +echo "configure:3517: checking whether struct tm is in sys/time.h or time.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3520 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -3511,7 +3524,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3515: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3535,10 +3548,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3539: checking for tm_zone in struct tm" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3542 "configure" +echo "configure:3552: checking for tm_zone in struct tm" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3555 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_cv_struct_tm> @@ -3546,7 +3559,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3550: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3569,10 +3582,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3573: checking for tzname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3576 "configure" +echo "configure:3586: checking for tzname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3589 "configure" #include "confdefs.h" #include <time.h> #ifndef tzname /* For SGI. */ @@ -3582,7 +3595,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3608,10 +3621,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3612: checking for working const" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3615 "configure" +echo "configure:3625: checking for working const" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3628 "configure" #include "confdefs.h" int main() { @@ -3660,7 +3673,7 @@ ; return 0; } EOF -if { (eval echo configure:3664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3685,7 +3698,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3689: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:3702: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -3710,12 +3723,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3714: checking whether byte ordering is bigendian" >&5 +echo "configure:3727: 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 3719 "configure" +#line 3732 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3726,11 +3739,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3730: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3743: \"$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 3734 "configure" +#line 3747 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3741,7 +3754,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -3758,7 +3771,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <<EOF -#line 3762 "configure" +#line 3775 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -3771,7 +3784,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:3775: \"$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_c_bigendian=no else @@ -3797,10 +3810,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:3801: checking size of short" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3804 "configure" +echo "configure:3814: checking size of short" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3817 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3811,7 +3824,7 @@ exit(0); } EOF -if { (eval echo configure:3815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -3838,10 +3851,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3842: checking size of int" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3845 "configure" +echo "configure:3855: checking size of int" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3858 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3852,7 +3865,7 @@ exit(0); } EOF -if { (eval echo configure:3856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -3873,10 +3886,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3877: checking size of long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3880 "configure" +echo "configure:3890: checking size of long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3893 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3887,7 +3900,7 @@ exit(0); } EOF -if { (eval echo configure:3891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -3908,10 +3921,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:3912: checking size of long long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3915 "configure" +echo "configure:3925: checking size of long long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3928 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3922,7 +3935,7 @@ exit(0); } EOF -if { (eval echo configure:3926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3939: \"$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 @@ -3943,10 +3956,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:3947: checking size of void *" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3950 "configure" +echo "configure:3960: checking size of void *" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3963 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3957,7 +3970,7 @@ exit(0); } EOF -if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:3974: \"$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 @@ -3979,7 +3992,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:3983: checking for long file names" >&5 +echo "configure:3996: 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: @@ -4026,12 +4039,12 @@ echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4030: checking for sin in -lm" >&5 +echo "configure:4043: 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 4035 "configure" +#line 4048 "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 @@ -4042,7 +4055,7 @@ sin() ; return 0; } EOF -if { (eval echo configure:4046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4059: \"$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 @@ -4084,14 +4097,14 @@ cat > conftest.$ac_ext <<EOF -#line 4088 "configure" +#line 4101 "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:4095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4108: \"$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 @@ -4108,7 +4121,7 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4112: checking type of mail spool file locking" >&5 +echo "configure:4125: 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 @@ -4132,12 +4145,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:4136: checking for kstat_open in -lkstat" >&5 +echo "configure:4149: 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 4141 "configure" +#line 4154 "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 @@ -4148,7 +4161,7 @@ kstat_open() ; return 0; } EOF -if { (eval echo configure:4152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4165: \"$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 @@ -4182,12 +4195,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:4186: checking for kvm_read in -lkvm" >&5 +echo "configure:4199: 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 4191 "configure" +#line 4204 "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 @@ -4198,7 +4211,7 @@ kvm_read() ; return 0; } EOF -if { (eval echo configure:4202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4215: \"$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 @@ -4233,12 +4246,12 @@ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4237: checking for cma_open in -lpthreads" >&5 +echo "configure:4250: 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 4242 "configure" +#line 4255 "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 @@ -4249,7 +4262,7 @@ cma_open() ; return 0; } EOF -if { (eval echo configure:4253: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4266: \"$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 @@ -4285,7 +4298,7 @@ esac echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4289: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4302: 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; @@ -4296,7 +4309,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:4300: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4313: 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 ;; @@ -4306,7 +4319,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:4310: checking "for specified window system"" >&5 +echo "configure:4323: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4339,7 +4352,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:4343: checking for X" >&5 +echo "configure:4356: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4399,12 +4412,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 4403 "configure" +#line 4416 "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:4408: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4421: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -4473,14 +4486,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 4477 "configure" +#line 4490 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:4484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4497: \"$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. @@ -4589,17 +4602,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:4593: checking whether -R must be followed by a space" >&5 +echo "configure:4606: 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 4596 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4609 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_nospace=yes else @@ -4615,14 +4628,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 4619 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4632 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_R_space=yes else @@ -4658,12 +4671,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4662: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4675: 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 4667 "configure" +#line 4680 "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 @@ -4674,7 +4687,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4678: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4691: \"$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 @@ -4698,12 +4711,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:4702: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4715: 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 4707 "configure" +#line 4720 "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 @@ -4714,7 +4727,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4731: \"$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 @@ -4743,10 +4756,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:4747: checking for gethostbyname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4750 "configure" +echo "configure:4760: checking for gethostbyname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4763 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -4769,7 +4782,7 @@ ; return 0; } EOF -if { (eval echo configure:4773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -4790,12 +4803,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4794: checking for gethostbyname in -lnsl" >&5 +echo "configure:4807: 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 4799 "configure" +#line 4812 "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 @@ -4806,7 +4819,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:4810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4823: \"$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 @@ -4836,10 +4849,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:4840: checking for connect" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4843 "configure" +echo "configure:4853: checking for connect" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4856 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -4862,7 +4875,7 @@ ; return 0; } EOF -if { (eval echo configure:4866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -4885,12 +4898,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:4889: checking "$xe_msg_checking"" >&5 +echo "configure:4902: 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 4894 "configure" +#line 4907 "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 @@ -4901,7 +4914,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:4905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4918: \"$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,10 +4938,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:4929: checking for remove" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4932 "configure" +echo "configure:4942: checking for remove" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4945 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -4951,7 +4964,7 @@ ; return 0; } EOF -if { (eval echo configure:4955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -4972,12 +4985,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:4976: checking for remove in -lposix" >&5 +echo "configure:4989: 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 4981 "configure" +#line 4994 "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 @@ -4988,7 +5001,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:4992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5005: \"$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 @@ -5012,10 +5025,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:5016: checking for shmat" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5019 "configure" +echo "configure:5029: checking for shmat" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5032 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -5038,7 +5051,7 @@ ; return 0; } EOF -if { (eval echo configure:5042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -5059,12 +5072,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:5063: checking for shmat in -lipc" >&5 +echo "configure:5076: 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 5068 "configure" +#line 5081 "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 @@ -5075,7 +5088,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:5079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5092: \"$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 @@ -5109,12 +5122,12 @@ # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:5113: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:5126: 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 5118 "configure" +#line 5131 "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 @@ -5125,7 +5138,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:5129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5142: \"$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 @@ -5292,7 +5305,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5296: checking for X defines extracted by xmkmf" >&5 +echo "configure:5309: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5324,15 +5337,15 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5328: checking for X11/Intrinsic.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5331 "configure" +echo "configure:5341: checking for X11/Intrinsic.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5344 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5356,12 +5369,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5360: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5373: 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 5365 "configure" +#line 5378 "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 @@ -5372,7 +5385,7 @@ XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5389: \"$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 @@ -5397,12 +5410,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:5401: checking "$xe_msg_checking"" >&5 +echo "configure:5414: 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 5406 "configure" +#line 5419 "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 @@ -5413,7 +5426,7 @@ XGetFontProperty() ; return 0; } EOF -if { (eval echo configure:5417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5430: \"$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 @@ -5440,12 +5453,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5444: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5457: 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 5449 "configure" +#line 5462 "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 @@ -5456,7 +5469,7 @@ XShapeSelectInput() ; return 0; } EOF -if { (eval echo configure:5460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5473: \"$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 @@ -5479,12 +5492,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5483: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5496: 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 5488 "configure" +#line 5501 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5495,7 +5508,7 @@ XtOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5512: \"$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 @@ -5518,14 +5531,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5522: checking the version of X11 being used" >&5 +echo "configure:5535: checking the version of X11 being used" >&5 cat > conftest.$ac_ext <<EOF -#line 5524 "configure" +#line 5537 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5549,15 +5562,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5553: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5556 "configure" +echo "configure:5566: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5569 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5561: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5588,7 +5601,7 @@ echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5592: checking for XFree86" >&5 +echo "configure:5605: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5608,12 +5621,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5612: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5625: 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 5617 "configure" +#line 5630 "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 @@ -5624,7 +5637,7 @@ XmuReadBitmapDataFromFile() ; return 0; } EOF -if { (eval echo configure:5628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5641: \"$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 @@ -5663,19 +5676,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5667: checking for main in -lXbsd" >&5 +echo "configure:5680: 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 5672 "configure" +#line 5685 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5692: \"$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 @@ -5712,22 +5725,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5716: checking for MS-Windows" >&5 +echo "configure:5729: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5719: checking for main in -lgdi32" >&5 +echo "configure:5732: 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 5724 "configure" +#line 5737 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5744: \"$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 @@ -5785,12 +5798,12 @@ fi fi cat > conftest.$ac_ext <<EOF -#line 5789 "configure" +#line 5802 "configure" #include "confdefs.h" #include <fcntl.h> int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:5794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:5807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MSG_SELECT @@ -5868,7 +5881,7 @@ esac echo "checking for session-management option" 1>&6 -echo "configure:5872: checking for session-management option" >&5; +echo "configure:5885: checking for session-management option" >&5; if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SESSION @@ -5883,15 +5896,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:5887: checking for X11/Xauth.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5890 "configure" +echo "configure:5900: checking for X11/Xauth.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5903 "configure" #include "confdefs.h" #include <X11/Xauth.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -5914,12 +5927,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:5918: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:5931: 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 5923 "configure" +#line 5936 "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 @@ -5930,7 +5943,7 @@ XauGetAuthByAddr() ; return 0; } EOF -if { (eval echo configure:5934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5947: \"$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 @@ -5998,15 +6011,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:6002: checking for ${dir}tt_c.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6005 "configure" +echo "configure:6015: checking for ${dir}tt_c.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6018 "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:6010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6023: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6042,12 +6055,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:6046: checking "$xe_msg_checking"" >&5 +echo "configure:6059: 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 6051 "configure" +#line 6064 "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 @@ -6058,7 +6071,7 @@ tt_message_create() ; return 0; } EOF -if { (eval echo configure:6062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6075: \"$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 @@ -6115,15 +6128,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:6119: checking for Dt/Dt.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6122 "configure" +echo "configure:6132: checking for Dt/Dt.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6135 "configure" #include "confdefs.h" #include <Dt/Dt.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6146,12 +6159,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:6150: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:6163: 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 6155 "configure" +#line 6168 "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 @@ -6162,7 +6175,7 @@ DtDndDragStart() ; return 0; } EOF -if { (eval echo configure:6166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6179: \"$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 @@ -6204,7 +6217,7 @@ fi echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:6208: checking if drag and drop API is needed" >&5 +echo "configure:6221: checking if drag and drop API is needed" >&5 if test "$with_dragndrop" != "no" ; then if test -n "$dragndrop_proto" ; then with_dragndrop=yes @@ -6225,18 +6238,18 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:6229: checking for LDAP" >&5 +echo "configure:6242: 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:6232: checking for ldap.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6235 "configure" +echo "configure:6245: checking for ldap.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6248 "configure" #include "confdefs.h" #include <ldap.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6259,15 +6272,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:6263: checking for lber.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6266 "configure" +echo "configure:6276: checking for lber.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6279 "configure" #include "confdefs.h" #include <lber.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6284: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6293,12 +6306,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:6297: checking "$xe_msg_checking"" >&5 +echo "configure:6310: 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 6302 "configure" +#line 6315 "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 @@ -6309,7 +6322,7 @@ ldap_open() ; return 0; } EOF -if { (eval echo configure:6313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6326: \"$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 @@ -6332,12 +6345,12 @@ } test "$with_umich_ldap" = "no" && { echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6336: checking for ldap_set_option in -lldap10" >&5 +echo "configure:6349: 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 6341 "configure" +#line 6354 "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 @@ -6348,7 +6361,7 @@ ldap_set_option() ; return 0; } EOF -if { (eval echo configure:6352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6365: \"$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 @@ -6412,14 +6425,14 @@ if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:6416: checking for graphics libraries" >&5 +echo "configure:6429: checking for graphics libraries" >&5 if test -z "$with_xpm"; then echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:6420: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6433: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6423 "configure" +#line 6436 "configure" #include "confdefs.h" #include <X11/xpm.h> int main(int c, char **v) { @@ -6427,7 +6440,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:6431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:6444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$?" = "0"; then @@ -6468,17 +6481,17 @@ libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:6472: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:6485: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6475 "configure" +#line 6488 "configure" #include "confdefs.h" int main() { XpmCreatePixmapFromData() ; return 0; } EOF -if { (eval echo configure:6482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* xpm_for_msw=no else @@ -6505,12 +6518,12 @@ if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6509: checking for inflate in -lc" >&5 +echo "configure:6522: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 6514 "configure" +#line 6527 "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 @@ -6521,7 +6534,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6538: \"$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 @@ -6540,12 +6553,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6544: checking for inflate in -lz" >&5 +echo "configure:6557: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <<EOF -#line 6549 "configure" +#line 6562 "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 @@ -6556,7 +6569,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6573: \"$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 @@ -6575,12 +6588,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6579: checking for inflate in -lgz" >&5 +echo "configure:6592: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <<EOF -#line 6584 "configure" +#line 6597 "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 @@ -6591,7 +6604,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6608: \"$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 @@ -6620,18 +6633,18 @@ fi echo $ac_n "checking for giflib - no older than 3.1""... $ac_c" 1>&6 -echo "configure:6624: checking for giflib - no older than 3.1" >&5 +echo "configure:6637: 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:6627: checking for gif_lib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6630 "configure" +echo "configure:6640: checking for gif_lib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6643 "configure" #include "confdefs.h" #include <gif_lib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6635: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6648: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6654,12 +6667,12 @@ } test -z "$with_gif" && { echo $ac_n "checking for GetGifError in -lgif""... $ac_c" 1>&6 -echo "configure:6658: checking for GetGifError in -lgif" >&5 +echo "configure:6671: 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 6663 "configure" +#line 6676 "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 @@ -6670,7 +6683,7 @@ GetGifError() ; return 0; } EOF -if { (eval echo configure:6674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6687: \"$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 @@ -6706,15 +6719,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:6710: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6713 "configure" +echo "configure:6723: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6726 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6718: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6737,12 +6750,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6741: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6754: 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 6746 "configure" +#line 6759 "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 @@ -6753,7 +6766,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6770: \"$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 @@ -6789,9 +6802,9 @@ if test -z "$with_png"; then echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6 -echo "configure:6793: checking for png.h - no older than 0.96" >&5 +echo "configure:6806: checking for png.h - no older than 0.96" >&5 cat > conftest.$ac_ext <<EOF -#line 6795 "configure" +#line 6808 "configure" #include "confdefs.h" #include <png.h> #if PNG_LIBPNG_VER >= 96 @@ -6811,10 +6824,10 @@ fi test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6815: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6818 "configure" +echo "configure:6828: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6831 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6837,7 +6850,7 @@ ; return 0; } EOF -if { (eval echo configure:6841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -6858,12 +6871,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:6862: checking for png_read_image in -lpng" >&5 +echo "configure:6875: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <<EOF -#line 6867 "configure" +#line 6880 "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 @@ -6874,7 +6887,7 @@ png_read_image() ; return 0; } EOF -if { (eval echo configure:6878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6891: \"$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 @@ -6910,15 +6923,15 @@ test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:6914: checking for tiffio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6917 "configure" +echo "configure:6927: checking for tiffio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6930 "configure" #include "confdefs.h" #include <tiffio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6922: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6935: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6940,24 +6953,24 @@ fi } test -z "$with_tiff" && { -echo $ac_n "checking for TIFFReadScanline in -ltiff""... $ac_c" 1>&6 -echo "configure:6945: checking for TIFFReadScanline in -ltiff" >&5 -ac_lib_var=`echo tiff'_'TIFFReadScanline | sed 'y%./+-%__p_%'` +echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 +echo "configure:6958: checking for TIFFClientOpen in -ltiff" >&5 +ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <<EOF -#line 6950 "configure" +#line 6963 "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 TIFFReadScanline(); - -int main() { -TIFFReadScanline() -; return 0; } -EOF -if { (eval echo configure:6961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +char TIFFClientOpen(); + +int main() { +TIFFClientOpen() +; return 0; } +EOF +if { (eval echo configure:6974: \"$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 @@ -6996,19 +7009,19 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:7000: checking for X11 graphics libraries" >&5 +echo "configure:7013: checking for X11 graphics libraries" >&5 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:7004: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7007 "configure" +echo "configure:7017: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7020 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7025: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7031,12 +7044,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:7035: checking for UnGenFace in -lcompface" >&5 +echo "configure:7048: 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 7040 "configure" +#line 7053 "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 @@ -7047,7 +7060,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:7051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7064: \"$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 @@ -7083,12 +7096,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:7087: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:7100: 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 7092 "configure" +#line 7105 "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 @@ -7099,7 +7112,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:7103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7116: \"$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 @@ -7123,15 +7136,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:7127: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7130 "configure" +echo "configure:7140: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7143 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7135: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7148: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7148,12 +7161,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:7152: checking for XmStringFree in -lXm" >&5 +echo "configure:7165: 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 7157 "configure" +#line 7170 "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 @@ -7164,7 +7177,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:7168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7181: \"$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 @@ -7193,9 +7206,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:7197: checking for Lesstif" >&5 +echo "configure:7210: checking for Lesstif" >&5 cat > conftest.$ac_ext <<EOF -#line 7199 "configure" +#line 7212 "configure" #include "confdefs.h" #include <Xm/Xm.h> #ifdef LESSTIF_VERSION @@ -7479,7 +7492,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7483: checking for Mule-related features" >&5 +echo "configure:7496: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7504,15 +7517,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7508: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7511 "configure" +echo "configure:7521: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7524 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7543,12 +7556,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7547: checking for strerror in -lintl" >&5 +echo "configure:7560: 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 7552 "configure" +#line 7565 "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 @@ -7559,7 +7572,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7576: \"$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 @@ -7592,19 +7605,19 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7596: checking for Mule input methods" >&5 +echo "configure:7609: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7599: checking for XIM" >&5 +echo "configure:7612: checking for XIM" >&5 if test "$have_lesstif" = "yes"; then with_xim=xlib else echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7603: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7616: 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 7608 "configure" +#line 7621 "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 @@ -7615,7 +7628,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7632: \"$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 @@ -7681,15 +7694,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7685: checking for XFontSet" >&5 +echo "configure:7698: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7688: checking for XmbDrawString in -lX11" >&5 +echo "configure:7701: 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 7693 "configure" +#line 7706 "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 @@ -7700,7 +7713,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7717: \"$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 @@ -7740,15 +7753,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:7744: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7747 "configure" +echo "configure:7757: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7760 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7773,10 +7786,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7777: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7780 "configure" +echo "configure:7790: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7793 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7799,7 +7812,7 @@ ; return 0; } EOF -if { (eval echo configure:7803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7828,12 +7841,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7832: checking for crypt in -lcrypt" >&5 +echo "configure:7845: 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 7837 "configure" +#line 7850 "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 @@ -7844,7 +7857,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7861: \"$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 @@ -7878,12 +7891,12 @@ fi test -z "$with_wnn" && { echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7882: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:7895: 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 7887 "configure" +#line 7900 "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 @@ -7894,7 +7907,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7911: \"$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 @@ -7932,12 +7945,12 @@ if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6 -echo "configure:7936: checking for jl_fi_dic_list in -lwnn" >&5 +echo "configure:7949: 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 7941 "configure" +#line 7954 "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 @@ -7948,7 +7961,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:7952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7965: \"$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 @@ -7983,15 +7996,15 @@ if test "$with_canna" != "no"; then ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:7987: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7990 "configure" +echo "configure:8000: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8003 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8008: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8018,15 +8031,15 @@ c_switch_site="$c_switch_site -I/usr/local/canna/include" ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:8022: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8025 "configure" +echo "configure:8035: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8038 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8054,15 +8067,15 @@ test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:8058: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8061 "configure" +echo "configure:8071: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8074 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8066: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8079: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8085,12 +8098,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:8089: checking for RkBgnBun in -lRKC" >&5 +echo "configure:8102: 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 8094 "configure" +#line 8107 "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 @@ -8101,7 +8114,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:8105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8118: \"$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 @@ -8124,12 +8137,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:8128: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:8141: 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 8133 "configure" +#line 8146 "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 @@ -8140,7 +8153,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:8144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8157: \"$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 @@ -8189,12 +8202,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:8193: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8206: 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 8198 "configure" +#line 8211 "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 @@ -8205,7 +8218,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:8209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8222: \"$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 @@ -8291,10 +8304,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:8295: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8298 "configure" +echo "configure:8308: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8311 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8317,7 +8330,7 @@ ; return 0; } EOF -if { (eval echo configure:8321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8354,10 +8367,10 @@ for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8358: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8361 "configure" +echo "configure:8371: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8374 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8380,7 +8393,7 @@ ; return 0; } EOF -if { (eval echo configure:8384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8413,16 +8426,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:8417: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 8419 "configure" +echo "configure:8430: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 8432 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:8426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8439: \"$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 @@ -8442,16 +8455,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:8446: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 8448 "configure" +echo "configure:8459: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 8461 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:8455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8468: \"$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 @@ -8471,11 +8484,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:8475: checking whether localtime caches TZ" >&5 +echo "configure:8488: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 8479 "configure" +#line 8492 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -8510,7 +8523,7 @@ exit (0); } EOF -if { (eval echo configure:8514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then emacs_cv_localtime_cache=no else @@ -8539,9 +8552,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:8543: checking whether gettimeofday accepts one or two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 8545 "configure" +echo "configure:8556: checking whether gettimeofday accepts one or two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8558 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -8563,7 +8576,7 @@ ; return 0; } EOF -if { (eval echo configure:8567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -8585,19 +8598,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8589: checking for inline" >&5 +echo "configure:8602: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8594 "configure" +#line 8607 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8601: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8614: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8647,17 +8660,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:8651: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8654 "configure" +echo "configure:8664: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8667 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -8681,10 +8694,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8685: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8688 "configure" +echo "configure:8698: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8701 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -8707,7 +8720,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -8746,10 +8759,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8750: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8753 "configure" +echo "configure:8763: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8766 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8773,10 +8786,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:8777: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8780 "configure" +echo "configure:8790: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8793 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8799,7 +8812,7 @@ ; return 0; } EOF -if { (eval echo configure:8803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8829,10 +8842,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:8833: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8836 "configure" +echo "configure:8846: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8849 "configure" #include "confdefs.h" find_stack_direction () { @@ -8851,7 +8864,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:8855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:8868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_c_stack_direction=1 else @@ -8879,15 +8892,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8883: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8886 "configure" +echo "configure:8896: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8899 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8904: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8915,10 +8928,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:8919: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8922 "configure" +echo "configure:8932: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8935 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -9013,7 +9026,7 @@ } } EOF -if { (eval echo configure:9017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_vfork_works=yes else @@ -9038,10 +9051,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:9042: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9045 "configure" +echo "configure:9055: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9058 "configure" #include "confdefs.h" #include <string.h> main () @@ -9051,7 +9064,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:9055: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -9078,10 +9091,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9082: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9085 "configure" +echo "configure:9095: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9098 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9104,7 +9117,7 @@ ; return 0; } EOF -if { (eval echo configure:9108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9132,10 +9145,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:9136: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9139 "configure" +echo "configure:9149: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9152 "configure" #include "confdefs.h" /* @@ -9190,7 +9203,7 @@ } EOF -if { (eval echo configure:9194: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -9216,10 +9229,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9220: checking for working mmap" >&5 +echo "configure:9233: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 9223 "configure" +#line 9236 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -9252,7 +9265,7 @@ return 1; } EOF -if { (eval echo configure:9256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:9269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then have_mmap=yes else @@ -9286,15 +9299,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:9290: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9293 "configure" +echo "configure:9303: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9306 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9311: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9337,15 +9350,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:9341: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9344 "configure" +echo "configure:9354: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9357 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9349: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9377,10 +9390,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:9381: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9384 "configure" +echo "configure:9394: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9397 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -9403,7 +9416,7 @@ ; return 0; } EOF -if { (eval echo configure:9407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -9418,15 +9431,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:9422: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9425 "configure" +echo "configure:9435: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9438 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9430: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9443,15 +9456,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:9447: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9450 "configure" +echo "configure:9460: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9463 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9468: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9476,9 +9489,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:9480: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:9493: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 9482 "configure" +#line 9495 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9489,7 +9502,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:9493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9506: \"$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 @@ -9507,9 +9520,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:9511: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:9524: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 9513 "configure" +#line 9526 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9519,7 +9532,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:9523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9536: \"$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 @@ -9550,10 +9563,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:9554: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9557 "configure" +echo "configure:9567: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9570 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -9576,7 +9589,7 @@ ; return 0; } EOF -if { (eval echo configure:9580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -9591,15 +9604,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:9595: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9598 "configure" +echo "configure:9608: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9611 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9616: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9616,15 +9629,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:9620: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9623 "configure" +echo "configure:9633: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9636 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9628: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9662,15 +9675,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:9666: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9669 "configure" +echo "configure:9679: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9682 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9687: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9697,15 +9710,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:9701: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9704 "configure" +echo "configure:9714: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9717 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9738,15 +9751,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:9742: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9745 "configure" +echo "configure:9755: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9758 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9776,7 +9789,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:9780: checking "for sound support"" >&5 +echo "configure:9793: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -9787,15 +9800,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:9791: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9794 "configure" +echo "configure:9804: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9807 "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:9799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9843,12 +9856,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:9847: checking for ALopenport in -laudio" >&5 +echo "configure:9860: 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 9852 "configure" +#line 9865 "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 @@ -9859,7 +9872,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:9863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9876: \"$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 @@ -9890,12 +9903,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:9894: checking for AOpenAudio in -lAlib" >&5 +echo "configure:9907: 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 9899 "configure" +#line 9912 "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 @@ -9906,7 +9919,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:9910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9923: \"$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 @@ -9944,15 +9957,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:9948: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9951 "configure" +echo "configure:9961: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9964 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10022,7 +10035,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 10026 "configure" +#line 10039 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -10049,7 +10062,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:10053: checking for TTY-related features" >&5 +echo "configure:10066: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -10065,12 +10078,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:10069: checking for tgetent in -lncurses" >&5 +echo "configure:10082: 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 10074 "configure" +#line 10087 "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 @@ -10081,7 +10094,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10098: \"$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 @@ -10114,15 +10127,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10118: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10121 "configure" +echo "configure:10131: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10134 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10139: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10144,15 +10157,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:10148: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10151 "configure" +echo "configure:10161: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10164 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10156: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10182,15 +10195,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:10186: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10189 "configure" +echo "configure:10199: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10202 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10194: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10225,12 +10238,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:10229: checking for tgetent in -l$lib" >&5 +echo "configure:10242: 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 10234 "configure" +#line 10247 "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 @@ -10241,7 +10254,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10258: \"$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 @@ -10272,12 +10285,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:10276: checking for tgetent in -lcurses" >&5 +echo "configure:10289: 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 10281 "configure" +#line 10294 "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 @@ -10288,7 +10301,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10305: \"$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 @@ -10306,12 +10319,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:10310: checking for tgetent in -ltermcap" >&5 +echo "configure:10323: 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 10315 "configure" +#line 10328 "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 @@ -10322,7 +10335,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10339: \"$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 @@ -10370,15 +10383,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:10374: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10377 "configure" +echo "configure:10387: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10390 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10395: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10401,12 +10414,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:10405: checking for Gpm_Open in -lgpm" >&5 +echo "configure:10418: 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 10410 "configure" +#line 10423 "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 @@ -10417,7 +10430,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:10421: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10434: \"$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 @@ -10466,22 +10479,22 @@ echo "checking for database support" 1>&6 -echo "configure:10470: checking for database support" >&5 +echo "configure:10483: 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:10477: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10480 "configure" +echo "configure:10490: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10493 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10485: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10513,12 +10526,12 @@ if test "$have_ndbm_h" = "yes"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:10517: checking for dbm_open in -lgdbm" >&5 +echo "configure:10530: 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 10522 "configure" +#line 10535 "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 @@ -10529,7 +10542,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10552,10 +10565,10 @@ fi if test "$with_database_gnudbm" != "yes"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10556: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10559 "configure" +echo "configure:10569: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10572 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10578,7 +10591,7 @@ ; return 0; } EOF -if { (eval echo configure:10582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10614,10 +10627,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10618: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10621 "configure" +echo "configure:10631: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10634 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10640,7 +10653,7 @@ ; return 0; } EOF -if { (eval echo configure:10644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10661,12 +10674,12 @@ if test "$need_libdbm" != "no"; then echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:10665: checking for dbm_open in -ldbm" >&5 +echo "configure:10678: 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 10670 "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 @@ -10677,7 +10690,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10681: \"$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 @@ -10714,10 +10727,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for dbopen""... $ac_c" 1>&6 -echo "configure:10718: checking for dbopen" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10721 "configure" +echo "configure:10731: checking for dbopen" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10734 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbopen(); below. */ @@ -10740,7 +10753,7 @@ ; return 0; } EOF -if { (eval echo configure:10744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbopen=yes" else @@ -10761,12 +10774,12 @@ if test "$need_libdb" != "no"; then echo $ac_n "checking for dbopen in -ldb""... $ac_c" 1>&6 -echo "configure:10765: checking for dbopen in -ldb" >&5 +echo "configure:10778: 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 10770 "configure" +#line 10783 "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 @@ -10777,7 +10790,7 @@ dbopen() ; return 0; } EOF -if { (eval echo configure:10781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10794: \"$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 @@ -10801,7 +10814,7 @@ if test "$with_database_berkdb" = "yes"; then for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 10805 "configure" +#line 10818 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -10819,7 +10832,7 @@ ; return 0; } EOF -if { (eval echo configure:10823: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10836: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -10870,12 +10883,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:10874: checking for SOCKSinit in -lsocks" >&5 +echo "configure:10887: 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 10879 "configure" +#line 10892 "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 @@ -10886,7 +10899,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:10890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10903: \"$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 @@ -10943,15 +10956,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10947: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10950 "configure" +echo "configure:10960: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10963 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10955: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10982,12 +10995,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:10986: checking for dlopen in -ldl" >&5 +echo "configure:10999: 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 10991 "configure" +#line 11004 "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 @@ -10998,7 +11011,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11015: \"$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 @@ -11027,12 +11040,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11031: checking for _dlopen in -lc" >&5 +echo "configure:11044: 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 11036 "configure" +#line 11049 "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 @@ -11043,7 +11056,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:11047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11060: \"$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 @@ -11072,12 +11085,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11076: checking for dlopen in -lc" >&5 +echo "configure:11089: 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 11081 "configure" +#line 11094 "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 @@ -11088,7 +11101,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11105: \"$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 @@ -11117,12 +11130,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:11121: checking for shl_load in -ldld" >&5 +echo "configure:11134: 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 11126 "configure" +#line 11139 "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 @@ -11133,7 +11146,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:11137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11150: \"$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 @@ -11162,12 +11175,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:11166: checking for dld_init in -ldld" >&5 +echo "configure:11179: 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 11171 "configure" +#line 11184 "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 @@ -11178,7 +11191,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11195: \"$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 @@ -11228,7 +11241,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:11232: checking how to build a shared library" >&5 +echo "configure:11245: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -11319,10 +11332,10 @@ for ac_func in dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11323: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11326 "configure" +echo "configure:11336: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11339 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11345,7 +11358,7 @@ ; return 0; } EOF -if { (eval echo configure:11349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11381,11 +11394,11 @@ fi cat > conftest.$ac_ext <<EOF -#line 11385 "configure" +#line 11398 "configure" #include "confdefs.h" int main(int c,char *v[]){return 0;} EOF -if { (eval echo configure:11389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 +if { (eval echo configure:11402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5 then : else
--- a/configure.in Mon Aug 13 10:34:15 2007 +0200 +++ b/configure.in Mon Aug 13 10:35:03 2007 +0200 @@ -1038,6 +1038,7 @@ case "$canonical" in *-*-linux* ) opsys=linux ;; *-*-netbsd* ) opsys=netbsd ;; + *-*-openbsd* ) opsys=openbsd ;; *-*-nextstep* ) opsys=nextstep ;; *-*-vms ) opsys=vms ;; @@ -1098,6 +1099,19 @@ esac ;; + dnl OpenBSD ports + *-*-openbsd* ) + case "${canonical}" in + alpha*-*-openbsd*) machine=alpha ;; + i386-*-openbsd*) machine=intel386 ;; + m68k-*-openbsd*) machine=hp9000s300 ;; + mipsel-*-openbsd*) machine=pmax ;; + ns32k-*-openbsd*) machine=ns32000 ;; + sparc-*-openbsd*) machine=sparc ;; + vax-*-openbsd*) machine=vax ;; + esac + ;; + dnl Acorn RISCiX: arm-acorn-riscix1.1* ) machine=acorn opsys=riscix1-1 ;; arm-acorn-riscix1.2* | arm-acorn-riscix ) machine=acorn opsys=riscix1-2 ;; @@ -1718,7 +1732,7 @@ dnl Following values of CFLAGS are known to work well. dnl Should we take debugging options into consideration? if test "$GCC" = "yes"; then - CFLAGS="-g -O2 -Wall -Wno-switch" + CFLAGS="-g -O3 -Wall -Wno-switch" dnl I'm not convinced this is a good idea any more. -sb dnl test "$opsys $machine" = "linux intel386" && \ dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2" @@ -2716,8 +2730,8 @@ fi dnl autodetect TIFF - test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) } - test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFReadScanline,[:],with_tiff=no) } + test -z "$with_tiff" && { AC_CHECK_HEADER(tiffio.h, ,with_tiff=no) } + test -z "$with_tiff" && { AC_CHECK_LIB(tiff, TIFFClientOpen,[:],with_tiff=no) } test -z "$with_tiff" && with_tiff=yes if test "$with_tiff" = "yes"; then AC_DEFINE(HAVE_TIFF)
--- a/etc/NEWS Mon Aug 13 10:34:15 2007 +0200 +++ b/etc/NEWS Mon Aug 13 10:35:03 2007 +0200 @@ -105,6 +105,10 @@ ** The `C-h c' command, when given a prefix argument, will now insert the message into the current buffer. +** Horizontally split windows may now be dragged using the mouse. The +draggable vertical dividers may be turned off using the +`vertical-divider-draggable-p' specifier. + ** XEmacs/Mule (internationalization) changes. *** Mule support now works on TTY's. Use `set-terminal-coding-system' @@ -125,7 +129,7 @@ parsed, and objects which are recognized have context-sensitive commands attached to them. To use it, add the following to `.emacs': - (add-hook 'gdb-mode-hook '(lambda () (require 'gdb-highlight))) + (add-hook 'gdb-mode-hook (lambda () (require 'gdb-highlight))) ** C mode changes @@ -198,6 +202,32 @@ 128M to 1G. This setting will be made default in a future XEmacs version. +** Specifier changes. + +*** When instantiating a specifier, the window locale now has a higher +precedence than the buffer locale. This is because the window locale +is more specific than the buffer locale. + +*** The new specifiers `vertical-scrollbar-visible-p' and +`horizontal-scrollbar-visible-p' may be used to control scrollbar +visibility. Previously, the only way to toggle scrollbar visibility +was to set a scrollbar's size to 0. This method is still supported +for backward compatibility. + +*** The new specifiers `scrollbar-on-left-p' and `scrollbar-on-top-p' +may be used to control the position of the vertical and horizontal +toolbar. Previously, their position could be changed only through the +use of X resources. + +*** The new draggable vertical dividers between windows may be turned +off using the `vertical-divider-draggable-p' specifier. When this is +set to nil, the vertical dividers between windows are shown only when +needed, and they are not draggable. + +Other properties of the vertical dividers may be controlled using +`vertical-divider-shadow-thickness', `vertical-divider-line-width' and +`vertical-divider-spacing' specifiers, which see. + ** Frame focus management changes. *** When the variable focus-follows-mouse is non-nil, `select-frame' @@ -221,14 +251,6 @@ *** The behavior of `other-frame' command (`C-x 5 o') is unaffected by these changes. -** It is now possible to build XEmacs with LDAP support -You need to install a LDAP library first. The following have been -tested: - - LDAP 3.3 from the University of Michigan - (http://www.umich.edu/~dirsvcs/ldap/) - - LDAP SDK 1.0 from Netscape Corp. - (http://developer.netscape.com) - ** The arithmetic comparison functions <, >, =, /= now accept a variable number of arguments. @@ -252,21 +274,18 @@ #<hashtable size 2/13 data (key1 value1 key2 value2) 0x874d> -** The new specifiers `vertical-scrollbar-visible-p' and -`horizontal-scrollbar-visible-p' may be used to control scrollbar -visibility. Previously, the only way to toggle scrollbar visibility -was to set a scrollbar's size to 0. This method is still supported -for backward compatibility. - -** The new specifiers `scrollbar-on-left-p' and `scrollbar-on-top-p' -may be used to control the position of the vertical and horizontal -toolbar. Previously, their position could be changed only through the -use of X resources. +** It is now possible to build XEmacs with LDAP support. +You will need to install a LDAP library first. The following have +been tested: + - LDAP 3.3 from the University of Michigan + (get it from <URL:http://www.umich.edu/~dirsvcs/ldap/>) + - LDAP SDK 1.0 from Netscape Corp. + (get it from <URL:http://developer.netscape.com/>) ** When profiling is in effect, a call-count of all recorded functions is now calculated. This information is stored in `call-count-profile-table', and is utilized by `profile-results' as -well as the new function `profile-call-count-results'. +well as the new command `profile-call-count-results'. ** It is now an error to change the value of a symbol whose name starts with a colon, if it is interned in the standard obarray.
--- a/lib-src/ChangeLog Mon Aug 13 10:34:15 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 10:35:03 2007 +0200 @@ -1,3 +1,12 @@ +1998-05-16 SL Baur <steve@altair.xemacs.org> + + * etags.c (C_entries): Avoid short circuiting comparisons on + characters that may appear in C++ operator constructs. + + * ootags.c (C_entries): Commentary change. + + * Makefile.in.in (PKG_SCRIPTS): Remove add-little-package.sh. + 1998-05-11 Martin Buchholz <martin@xemacs.org> * Makefile.in.in:
--- a/lib-src/Makefile.in.in Mon Aug 13 10:34:15 2007 +0200 +++ b/lib-src/Makefile.in.in Mon Aug 13 10:35:03 2007 +0200 @@ -79,7 +79,7 @@ ## deleted by the distclean target. GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh install-sid send-pr TM_SCRIPTS = tm-au tm-file tm-html tm-image tm-mpeg tm-plain tm-ps tmdecode -PKG_SCRIPTS = add-little-package.sh add-big-package.sh +PKG_SCRIPTS = add-big-package.sh SCRIPTS = $(GEN_SCRIPTS) $(TM_SCRIPTS) $(PKG_SCRIPTS) EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
--- a/lib-src/etags.c Mon Aug 13 10:34:15 2007 +0200 +++ b/lib-src/etags.c Mon Aug 13 10:35:03 2007 +0200 @@ -1,5 +1,5 @@ /* Tags file maker to go with GNU Emacs - Copyright (C) 1984, 87, 88, 89, 93, 94, 95 + Copyright (C) 1984, 87, 88, 89, 93, 94, 95, 98 Free Software Foundation, Inc. and Ken Arnold This file is not considered part of GNU Emacs. @@ -31,31 +31,7 @@ * Francesco Potorti` (F.Potorti@cnuce.cnr.it) is the current maintainer. */ -char pot_etags_version[] = "@(#) pot revision number is 12.28"; - -/* Prototyping magic snarfed from gmalloc.c */ -#if defined (__cplusplus) || defined (__STDC__) -#undef PP -#define PP(args) args -#undef __ptr_t -#define __ptr_t void * -#else /* Not C++ or ANSI C. */ -#undef PP -#define PP(args) () -#undef const -#define const -#undef __ptr_t -#define __ptr_t char * -#endif /* C++ or ANSI C. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> - /* On some systems, Emacs defines static as nothing for the sake - of unexec. We don't want that here since we don't use unexec. */ -# undef static -# define ETAGS_REGEXPS /* use the regexp features */ -# define LONG_OPTIONS /* accept long options */ -#endif /* HAVE_CONFIG_H */ +char pot_etags_version[] = "@(#) pot revision number is 13.7"; #define TRUE 1 #define FALSE 0 @@ -88,6 +64,15 @@ # endif /* not HAVE_CONFIG_H */ #endif /* WINDOWSNT */ +#ifdef HAVE_CONFIG_H +# include <config.h> + /* On some systems, Emacs defines static as nothing for the sake + of unexec. We don't want that here since we don't use unexec. */ +# undef static +# define ETAGS_REGEXPS /* use the regexp features */ +# define LONG_OPTIONS /* accept long options */ +#endif /* HAVE_CONFIG_H */ + #if !defined (WINDOWSNT) && defined (STDC_HEADERS) #include <stdlib.h> #include <string.h> @@ -190,111 +175,80 @@ typedef struct { + char *suffix; + int sufflen; + char *command; /* Takes one arg and decompresses to stdout */ +} compressor; + +typedef struct +{ char *name; Lang_function *function; char **suffixes; char **interpreters; } language; -typedef struct node_st -{ /* sorting structure */ - char *name; /* function or type name */ - char *file; /* file name */ - bool is_func; /* use pattern or line no */ - bool been_warned; /* set if noticed dup */ - int lno; /* line number tag is on */ - long cno; /* character number line starts on */ - char *pat; /* search pattern */ - struct node_st *left, *right; /* left and right sons */ -} node; - -/* - * A `linebuffer' is a structure which holds a line of text. - * `readline_internal' reads a line from a stream into a linebuffer - * and works regardless of the length of the line. - * SIZE is the size of BUFFER, LEN is the length of the string in - * BUFFER after readline reads it. - */ -typedef struct -{ - long size; - int len; - char *buffer; -} linebuffer; - -extern char *getenv PP ((const char *envvar)); +extern char *getenv (); /* Many compilers barf on this: Lang_function Asm_labels; so let's write it this way */ -void Asm_labels PP ((FILE *inf)); -void C_entries PP ((int c_ext, FILE *inf)); -void default_C_entries PP ((FILE *inf)); -void plain_C_entries PP ((FILE *inf)); -void Cjava_entries PP ((FILE *inf)); -void Cplusplus_entries PP ((FILE *inf)); -void Yacc_entries PP ((FILE *inf)); -void Cobol_paragraphs PP ((FILE *inf)); -void Cstar_entries PP ((FILE *inf)); -void Erlang_functions PP ((FILE *inf)); -void Fortran_functions PP ((FILE *inf)); -void Lisp_functions PP ((FILE *inf)); -void Pascal_functions PP ((FILE *inf)); -void Perl_functions PP ((FILE *inf)); -void Postscript_functions PP ((FILE *inf)); -void Prolog_functions PP ((FILE *inf)); -void Python_functions PP ((FILE *inf)); -void Scheme_functions PP ((FILE *inf)); -void TeX_functions PP ((FILE *inf)); -void just_read_file PP ((FILE *inf)); - -void print_language_names PP ((void)); -void print_version PP ((void)); -void print_help PP ((void)); - -language *get_language_from_name PP ((char *name)); -language *get_language_from_interpreter PP ((char *interpreter)); -language *get_language_from_suffix PP ((char *suffix)); -int total_size_of_entries PP ((node *np)); -long readline PP ((linebuffer *lbp, FILE *stream)); -long readline_internal PP ((linebuffer *lbp, FILE *stream)); +void Asm_labels (); +void C_entries (); +void default_C_entries (); +void plain_C_entries (); +void Cjava_entries (); +void Cobol_paragraphs (); +void Cplusplus_entries (); +void Cstar_entries (); +void Erlang_functions (); +void Fortran_functions (); +void Yacc_entries (); +void Lisp_functions (); +void Pascal_functions (); +void Perl_functions (); +void Postscript_functions (); +void Prolog_functions (); +void Python_functions (); +void Scheme_functions (); +void TeX_functions (); +void just_read_file (); + +compressor *get_compressor_from_suffix (); +language *get_language_from_name (); +language *get_language_from_interpreter (); +language *get_language_from_suffix (); +int total_size_of_entries (); +long readline (), readline_internal (); #ifdef ETAGS_REGEXPS -void analyse_regex PP ((char *regex_arg)); -void add_regex PP ((char *regexp_pattern, language *lang)); -void free_patterns PP ((void)); +void analyse_regex (); +void add_regex (); +void free_patterns (); #endif /* ETAGS_REGEXPS */ -void error PP ((const char *s1, const char *s2)); -void suggest_asking_for_help PP ((void)); -void fatal PP ((char *s1, char *s2)); -void pfatal PP ((char *s1)); -void add_node PP ((node *np, node **cur_node_p)); - -void init PP ((void)); -void initbuffer PP ((linebuffer *lbp)); -void find_entries PP ((char *file, FILE *inf)); -void free_tree PP ((node *np)); -void pfnote PP ((char *name, bool is_func, char *linestart, int linelen, int lno, long cno)); -void new_pfnote PP ((char *name, int namelen, bool is_func, char *linestart, int linelen, int lno, long cno)); -void process_file PP ((char *file)); -void put_entries PP ((node *np)); -void takeprec PP ((void)); - -char *concat PP ((char *s1, char *s2, char *s3)); -char *skip_spaces PP ((char *cp)); -char *skip_non_spaces PP ((char *cp)); -char *savenstr PP ((char *cp, int len)); -char *savestr PP ((char *cp)); -char *etags_strchr PP ((char *sp, int c)); -char *etags_strrchr PP ((char *sp, int c)); -char *etags_getcwd PP ((void)); -char *relative_filename PP ((char *file, char *dir)); -char *absolute_filename PP ((char *file, char *dir)); -char *absolute_dirname PP ((char *file, char *dir)); -bool filename_is_absolute PP ((char *fn)); -void canonicalize_filename PP ((char *fn)); -void grow_linebuffer PP ((linebuffer *lbp, int toksize)); -long *xmalloc PP ((unsigned int size)); -long *xrealloc PP ((char *ptr, unsigned int size)); +void error (); +void suggest_asking_for_help (); +void fatal (), pfatal (); +void add_node (); + +void init (); +void initbuffer (); +void find_entries (); +void free_tree (); +void pfnote (), new_pfnote (); +void process_file (); +void put_entries (); +void takeprec (); + +char *concat (); +char *skip_spaces (), *skip_non_spaces (); +char *savenstr (), *savestr (); +char *etags_strchr (), *etags_strrchr (); +char *etags_getcwd (); +char *relative_filename (), *absolute_filename (), *absolute_dirname (); +bool filename_is_absolute (); +void canonicalize_filename (); +void grow_linebuffer (); +long *xmalloc (), *xrealloc (); char searchar = '/'; /* use /.../ searches */ @@ -312,8 +266,35 @@ long charno; /* current character number */ long linecharno; /* charno of start of current line */ char *dbp; /* pointer to start of current tag */ + +typedef struct node_st +{ /* sorting structure */ + char *name; /* function or type name */ + char *file; /* file name */ + bool is_func; /* use pattern or line no */ + bool been_warned; /* set if noticed dup */ + int lno; /* line number tag is on */ + long cno; /* character number line starts on */ + char *pat; /* search pattern */ + struct node_st *left, *right; /* left and right sons */ +} node; + node *head; /* the head of the binary tree of tags */ +/* + * A `linebuffer' is a structure which holds a line of text. + * `readline_internal' reads a line from a stream into a linebuffer + * and works regardless of the length of the line. + * SIZE is the size of BUFFER, LEN is the length of the string in + * BUFFER after readline reads it. + */ +typedef struct +{ + long size; + int len; + char *buffer; +} linebuffer; + linebuffer lb; /* the current line */ linebuffer token_name; /* used by C_entries as a temporary area */ struct @@ -405,6 +386,16 @@ pattern *p_head = NULL; #endif /* ETAGS_REGEXPS */ +compressor compressors[] = +{ + { "z", 1, "gzip -d -c"}, + { "Z", 1, "gzip -d -c"}, + { "gz", 2, "gzip -d -c"}, + { "GZ", 2, "gzip -d -c"}, + { "bz2", 3, "bzip2 -d -c" }, + { NULL } +}; + /* * Language stuff. */ @@ -419,6 +410,7 @@ "inc", /* Microcontroller include files */ "ins", /* Microcontroller include files */ "s", "sa", /* Unix assembler */ + "S", /* cpp-processed Unix assembler */ "src", /* BSO/Tasking C compiler output */ NULL }; @@ -483,7 +475,7 @@ { "TeX", "bib", "clo", "cls", "ltx", "sty", "tex", NULL }; char *Yacc_suffixes [] = - { "y", "ym", NULL }; /* .ym is Objective yacc file */ + { "y", "ym", "yy", "yxx", "y++", NULL }; /* .ym is Objective yacc file */ /* * Table of languages. @@ -516,7 +508,6 @@ { "none", just_read_file }, /* regexp matching only */ { NULL, NULL } /* end of list */ }; - void print_language_names () @@ -539,7 +530,8 @@ If no language is specified and no matching suffix is found,\n\ the first line of the file is read for a sharp-bang (#!) sequence\n\ followed by the name of an interpreter. If no such sequence is found,\n\ -Fortran is tried first; if no tags are found, C is tried next."); +Fortran is tried first; if no tags are found, C is tried next.\n\ +Compressed files are supported using gzip and bzip2."); } #ifndef VERSION @@ -686,7 +678,7 @@ { enum argument_type arg_type; char *what; - language *lang; + language *lang; /* language of the regexp */ } argument; #ifdef VMS /* VMS specific functions */ @@ -904,10 +896,7 @@ case 'o': if (tagfile) { - /* convert char to string, to call error with */ - char buf[2]; - sprintf (buf, "%c", opt); - error ("-%s option may only be given once.", buf); + error ("-%c option may only be given once.", opt); suggest_asking_for_help (); } tagfile = optarg; @@ -1087,6 +1076,8 @@ if (cxref_style) { put_entries (head); + free_tree (head); + head = NULL; exit (GOOD); } @@ -1110,6 +1101,8 @@ if (tagf == NULL) pfatal (tagfile); put_entries (head); + free_tree (head); + head = NULL; fclose (tagf); if (update) @@ -1122,6 +1115,30 @@ } + +/* + * Return a compressor given the file name. + * Idea by Vladimir Alexiev <vladimir@cs.ualberta.ca> + */ +compressor * +get_compressor_from_suffix (file) + char *file; +{ + compressor *compr; + char *suffix; + + suffix = etags_strrchr (file, '.'); + if (suffix == NULL) + return NULL; + suffix += 1; + for (compr = compressors; compr->suffix != NULL; compr++) + if (streq (compr->suffix, suffix)) + return compr; + return NULL; +} + + + /* * Return a language given the name. */ @@ -1169,27 +1186,29 @@ /* - * Return a language given the file suffix. + * Return a language given the file name. */ language * -get_language_from_suffix (suffix) - char *suffix; +get_language_from_suffix (file) + char *file; { language *lang; - char **ext; - + char **ext, *suffix; + + suffix = etags_strrchr (file, '.'); if (suffix == NULL) return NULL; + suffix += 1; for (lang = lang_names; lang->name != NULL; lang++) if (lang->suffixes != NULL) for (ext = lang->suffixes; *ext != NULL; ext++) if (streq (*ext, suffix)) - return lang; - + return lang; return NULL; } + /* * This routine is called on each file argument. */ @@ -1199,41 +1218,96 @@ { struct stat stat_buf; FILE *inf; + compressor *compr; + char *compressed_name, *uncompressed_name; + char *real_name; canonicalize_filename (file); - if (stat (file, &stat_buf) == 0 && !S_ISREG (stat_buf.st_mode)) - { - error ("skipping %s: it is not a regular file.", file); - return; - } if (streq (file, tagfile) && !streq (tagfile, "-")) { error ("skipping inclusion of %s in self.", file); return; } - inf = fopen (file, "r"); + if ((compr = get_compressor_from_suffix (file)) == NULL) + { + compressed_name = NULL; + real_name = uncompressed_name = savestr (file); + } + else + { + real_name = compressed_name = savestr (file); + uncompressed_name = savenstr (file, strlen(file) - compr->sufflen - 1); + } + if (stat (real_name, &stat_buf) != 0) + { + /* Reset real_name and try with a different name. */ + real_name = NULL; + if (compressed_name != NULL) /* try with the given suffix */ + { + if (stat (uncompressed_name, &stat_buf) == 0) + real_name = uncompressed_name; + } + else /* try all possible suffixes */ + { + for (compr = compressors; compr->suffix != NULL; compr++) + { + compressed_name = concat (file, ".", compr->suffix); + if (stat (compressed_name, &stat_buf) != 0) + free (compressed_name); + else + { + real_name = compressed_name; + break; + } + } + } + if (real_name == NULL) + { + perror (file); + goto exit; + } + } /* try with a different name */ + + if (!S_ISREG (stat_buf.st_mode)) + { + error ("skipping %s: it is not a regular file.", real_name); + goto exit; + } + if (real_name == compressed_name) + { + char *cmd = concat (compr->command, " ", real_name); + inf = popen (cmd, "r"); + free (cmd); + } + else + inf = fopen (real_name, "r"); if (inf == NULL) { - perror (file); - return; + perror (real_name); + goto exit; } - find_entries (file, inf); + find_entries (uncompressed_name, inf); + + if (real_name == compressed_name) + pclose (inf); + else + fclose (inf); if (!CTAGS) { char *filename; - if (filename_is_absolute (file)) + if (filename_is_absolute (uncompressed_name)) { /* file is an absolute file name. Canonicalise it. */ - filename = absolute_filename (file, cwd); + filename = absolute_filename (uncompressed_name, cwd); } else { /* file is a file name relative to cwd. Make it relative to the directory of the tags file. */ - filename = relative_filename (file, tagfiledir); + filename = relative_filename (uncompressed_name, tagfiledir); } fprintf (tagf, "\f\n%s,%d\n", filename, total_size_of_entries (head)); free (filename); @@ -1241,6 +1315,11 @@ free_tree (head); head = NULL; } + + exit: + if (compressed_name) free(compressed_name); + if (uncompressed_name) free(uncompressed_name); + return; } /* @@ -1286,6 +1365,11 @@ language *lang; node *old_last_node; + /* Memory leakage here: the string pointed by curfile is + never released, because curfile is copied into np->file + for each node, to be used in CTAGS mode. The amount of + memory leaked here is the sum of the lengths of the + file names. */ curfile = savestr (file); /* If user specified a language, use it. */ @@ -1294,24 +1378,16 @@ { curlang = lang; lang->function (inf); - free (curfile); - fclose (inf); return; } - cp = etags_strrchr (file, '.'); - if (cp != NULL) + /* Try to guess the language given the file name. */ + lang = get_language_from_suffix (file); + if (lang != NULL && lang->function != NULL) { - cp += 1; - lang = get_language_from_suffix (cp); - if (lang != NULL && lang->function != NULL) - { - curlang = lang; - lang->function (inf); - free (curfile); - fclose (inf); - return; - } + curlang = lang; + lang->function (inf); + return; } /* Look for sharp-bang as the first two characters. */ @@ -1340,12 +1416,13 @@ { curlang = lang; lang->function (inf); - fclose (inf); - free (curfile); return; } } } + /* We rewind here, even if inf may be a pipe. We fail if the + length of the first line is longer than the pipe block size, + which is unlikely. */ rewind (inf); /* Try Fortran. */ @@ -1356,12 +1433,12 @@ /* No Fortran entries found. Try C. */ if (old_last_node == last_node) { + /* We do not tag if rewind fails. + Only the file name will be recorded in the tags file. */ rewind (inf); curlang = get_language_from_name (cplusplus ? "c++" : "c"); default_C_entries (inf); } - free (curfile); - fclose (inf); return; } @@ -1386,10 +1463,10 @@ if (CTAGS && !cxref_style && streq (name, "main")) { register char *fp = etags_strrchr (curfile, '/'); - np->name = concat ("M", fp == 0 ? curfile : fp + 1, ""); + np->name = concat ("M", fp == NULL ? curfile : fp + 1, ""); fp = etags_strrchr (np->name, '.'); - if (fp && fp[1] != '\0' && fp[2] == '\0') - fp[0] = 0; + if (fp != NULL && fp[1] != '\0' && fp[2] == '\0') + fp[0] = '\0'; } else np->name = name; @@ -1628,7 +1705,6 @@ } /* Length of a number's decimal representation. */ -int number_len PP ((long num)); int number_len (num) long num; @@ -1680,6 +1756,7 @@ st_C_gnumacro, st_C_ignore, st_C_javastruct, + st_C_operator, st_C_struct, st_C_enum, st_C_define, st_C_typedef, st_C_typespec }; @@ -1706,6 +1783,7 @@ enum, 0, st_C_enum typedef, 0, st_C_typedef define, 0, st_C_define +operator, C_PLPL, st_C_operator bool, C_PLPL, st_C_typespec long, 0, st_C_typespec short, 0, st_C_typespec @@ -1736,125 +1814,120 @@ %] and replace lines between %< and %> with its output. */ /*%<*/ -/* starting time is 10:15:51 */ -/* C code produced by gperf version 2.1 (K&R C version) */ +/* C code produced by gperf version 2.5 (GNU C++ version) */ /* Command-line: gperf -c -k 1,3 -o -p -r -t */ - - struct C_stab_entry { char *name; int c_ext; enum sym_type type; }; +#define TOTAL_KEYWORDS 41 #define MIN_WORD_LENGTH 3 #define MAX_WORD_LENGTH 15 -#define MIN_HASH_VALUE 11 -#define MAX_HASH_VALUE 117 -/* - 40 keywords - 107 is the maximum key range -*/ - -static int +#define MIN_HASH_VALUE 20 +#define MAX_HASH_VALUE 136 +/* maximum key range = 117, duplicates = 0 */ + +static unsigned int hash (str, len) register char *str; - register unsigned int len; + register int unsigned len; { - static unsigned char hash_table[] = + static unsigned char asso_values[] = { - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 1, 117, 117, 117, 2, 42, - 16, 117, 117, 117, 117, 117, 117, 117, 117, 117, - 5, 117, 117, 21, 54, 117, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 24, 19, 43, - 2, 35, 3, 10, 117, 26, 117, 117, 9, 20, - 35, 9, 61, 117, 40, 52, 10, 57, 3, 117, - 117, 117, 117, 117, 117, 117, 117, 117 - }; - return len + hash_table[(int) str[2]] + hash_table[(int) str[0]]; + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 58, 137, 137, 137, 38, 37, + 45, 137, 137, 137, 137, 137, 137, 137, 137, 137, + 62, 137, 137, 14, 16, 137, 137, 137, 137, 137, + 137, 137, 137, 137, 137, 137, 137, 26, 16, 51, + 18, 61, 5, 19, 137, 23, 137, 137, 32, 63, + 54, 10, 26, 137, 24, 42, 30, 18, 46, 137, + 137, 137, 137, 137, 137, 137, 137, 137, + }; + return len + asso_values[str[2]] + asso_values[str[0]]; } -struct C_stab_entry * in_word_set PP ((char *str, unsigned int len)); struct C_stab_entry * in_word_set (str, len) register char *str; register unsigned int len; { - - static struct C_stab_entry wordlist[] = + static struct C_stab_entry wordlist[] = { {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, + {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, + {"float", 0, st_C_typespec}, + {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"define", 0, st_C_define}, - {"",}, {"",}, {"",}, {"",}, {"",}, - {"float", 0, st_C_typespec}, - {"",}, {"",}, - {"volatile", 0, st_C_typespec}, - {"",}, {"",}, - {"DEFUN", 0, st_C_gnumacro}, - {"",}, {"",}, {"",}, {"",}, - {"domain", C_STAR, st_C_struct}, + {"bool", C_PLPL, st_C_typespec}, {"",}, {"",}, {"",}, - {"bool", C_PLPL, st_C_typespec}, - {"void", 0, st_C_typespec}, - {"",}, {"friend", C_PLPL, st_C_ignore}, - {"@implementation", 0, st_C_objimpl}, - {"mutable", C_PLPL, st_C_typespec}, - {"auto", 0, st_C_typespec}, + {"SYSCALL", 0, st_C_gnumacro}, + {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, + {"double", 0, st_C_typespec}, + {"",}, {"",}, {"",}, + {"union", 0, st_C_struct}, + {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, + {"import", C_JAVA, st_C_ignore}, {"int", 0, st_C_typespec}, - {"@end", 0, st_C_objend}, - {"",}, {"",}, {"",}, {"",}, - {"interface", C_JAVA, st_C_struct}, - {"@interface", 0, st_C_objprot}, + {"short", 0, st_C_typespec}, + {"ENTRY", 0, st_C_gnumacro}, + {"implements", C_JAVA, st_C_javastruct}, + {"auto", 0, st_C_typespec}, {"",}, - {"long", 0, st_C_typespec}, - {"SYSCALL", 0, st_C_gnumacro}, - {"@protocol", 0, st_C_objprot}, - {"extern", 0, st_C_typespec}, - {"extends", C_JAVA, st_C_javastruct}, - {"PSEUDO", 0, st_C_gnumacro}, - {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, - {"",}, - {"namespace", C_PLPL, st_C_struct}, - {"double", 0, st_C_typespec}, - {"short", 0, st_C_typespec}, - {"",}, - {"signed", 0, st_C_typespec}, - {"",}, {"",}, - {"char", 0, st_C_typespec}, - {"class", C_PLPL, st_C_struct}, - {"",}, {"",}, {"",}, {"",}, {"",}, + {"interface", C_JAVA, st_C_struct}, {"typedef", 0, st_C_typedef}, {"typename", C_PLPL, st_C_typespec}, {"",}, {"",}, + {"signed", 0, st_C_typespec}, + {"unsigned", 0, st_C_typespec}, + {"",}, {"",}, {"",}, + {"struct", 0, st_C_struct}, + {"void", 0, st_C_typespec}, {"static", 0, st_C_typespec}, - {"const", 0, st_C_typespec}, {"",}, {"",}, {"",}, {"",}, - {"union", 0, st_C_struct}, - {"",}, {"",}, {"",}, {"",}, - {"import", C_JAVA, st_C_ignore}, - {"",}, {"",}, + {"operator", C_PLPL, st_C_operator}, + {"",}, + {"char", 0, st_C_typespec}, + {"class", C_PLPL, st_C_struct}, {"enum", 0, st_C_enum}, - {"implements", C_JAVA, st_C_javastruct}, - {"struct", 0, st_C_struct}, - {"",}, {"",}, - {"ENTRY", 0, st_C_gnumacro}, - {"",}, {"",}, + {"package", C_JAVA, st_C_ignore}, + {"",}, + {"volatile", 0, st_C_typespec}, + {"domain", C_STAR, st_C_struct}, + {"DEFUN", 0, st_C_gnumacro}, + {"",}, + {"long", 0, st_C_typespec}, + {"@protocol", 0, st_C_objprot}, + {"",}, {"",}, {"",}, {"explicit", C_PLPL, st_C_typespec}, - {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, - {"package", C_JAVA, st_C_ignore}, + {"",}, + {"extern", 0, st_C_typespec}, + {"extends", C_JAVA, st_C_javastruct}, + {"",}, + {"mutable", C_PLPL, st_C_typespec}, + {"",}, {"",}, {"",}, {"",}, + {"PSEUDO", 0, st_C_gnumacro}, + {"",}, {"",}, {"",}, {"",}, + {"const", 0, st_C_typespec}, {"",}, {"",}, {"",}, {"",}, {"",}, - {"unsigned", 0, st_C_typespec}, + {"@end", 0, st_C_objend}, + {"",}, {"",}, {"",}, {"",}, {"",}, + {"@interface", 0, st_C_objprot}, + {"",}, {"",}, {"",}, + {"namespace", C_PLPL, st_C_struct}, + {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, {"",}, + {"@implementation", 0, st_C_objimpl}, }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash (str, len); - if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE) + if (key <= MAX_HASH_VALUE && key >= 0) { register char *s = wordlist[key].name; @@ -1864,10 +1937,8 @@ } return 0; } -/* ending time is 10:15:52 */ /*%>*/ -enum sym_type C_symtype PP ((char *str, int len, int c_ext)); enum sym_type C_symtype (str, len, c_ext) char *str; @@ -1888,6 +1959,7 @@ enum { fvnone, /* nothing seen */ + foperator, /* func: operator keyword seen (cplpl) */ fvnameseen, /* function or variable name seen */ fstartlist, /* func: just after open parenthesis */ finlist, /* func: in parameter list */ @@ -2012,11 +2084,6 @@ * *IS_FUNC gets TRUE iff the token is a function or #define macro * with args. C_EXT is which language we are looking at. * - * In the future we will need some way to adjust where the end of - * the token is; for instance, implementing the C++ keyword - * `operator' properly will adjust the end of the token to be after - * whatever follows `operator'. - * * Globals * fvdef IN OUT * structdef IN OUT @@ -2025,13 +2092,12 @@ * objdef IN OUT * next_token_is_func IN OUT */ -bool consider_token PP ((char *str, int len, int c, int c_ext, - int cblev, int parlev, bool *is_func_or_var)); + bool consider_token (str, len, c, c_ext, cblev, parlev, is_func_or_var) register char *str; /* IN: token pointer */ register int len; /* IN: token length */ - register int c; /* IN: first char after the token */ + register char c; /* IN: first char after the token */ int c_ext; /* IN: C extensions mask */ int cblev; /* IN: curly brace level */ int parlev; /* IN: parenthesis level */ @@ -2267,6 +2333,10 @@ case st_C_ignore: fvdef = vignore; return FALSE; + case st_C_operator: + fvdef = foperator; + *is_func_or_var = TRUE; + return TRUE; case st_none: if (constantypedefs && structdef == sinbody && structtype == st_C_enum) return TRUE; @@ -2320,7 +2390,6 @@ } while (0) -void make_C_tag PP ((bool isfun)); void make_C_tag (isfun) bool isfun; @@ -2561,7 +2630,19 @@ && funorvar) /* function or var defined in C++ class body */ { - int len = strlen (structtag) + qlen + toklen; + int len; + if (fvdef == foperator) + { + char *oldlp = lp; + lp = skip_spaces (lp-1); + while (*lp != '\0' + && !isspace (*lp) && *lp != '(') + lp += 1; + c = *lp++; + toklen += lp - oldlp; + } + + len = strlen (structtag) + qlen + toklen; grow_linebuffer (&token_name, len + 1); strcpy (token_name.buffer, structtag); strcat (token_name.buffer, qualifier); @@ -2610,6 +2691,7 @@ if (definedef == dnone && (fvdef == fvnameseen + || fvdef == foperator || structdef == stagseen || typdef == tend || objdef != onone)) @@ -2746,6 +2828,7 @@ } switch (fvdef) { + case foperator: case finlist: case fignore: case vignore: @@ -2771,6 +2854,7 @@ } switch (fvdef) { + case foperator: case finlist: case fignore: case vignore: @@ -2807,6 +2891,7 @@ break; } /* switch (typdef) */ break; + case foperator: /* operator() is not handled */ case fvnameseen: fvdef = fstartlist; break; @@ -2924,6 +3009,7 @@ break; switch (fvdef) { + case foperator: case finlist: case fignore: case vignore: @@ -2948,9 +3034,17 @@ case '^': case '!': case '<': case '>': case '.': case '?': case ']': if (definedef != dnone) break; - /* These surely cannot follow a function tag. */ - if (fvdef != finlist && fvdef != fignore && fvdef != vignore) - fvdef = fvnone; + /* These surely cannot follow a function tag in C. */ + switch (fvdef) + { + case foperator: + case finlist: + case fignore: + case vignore: + break; + default: + fvdef = fvnone; + } break; case '\0': if (objdef == otagseen) @@ -3048,7 +3142,6 @@ /* Fortran parsing */ -bool tail PP ((char *cp)); bool tail (cp) char *cp; @@ -3088,7 +3181,6 @@ while (isdigit (*dbp)); } -void getit PP ((FILE *inf)); void getit (inf) FILE *inf; @@ -3113,7 +3205,7 @@ return; for (cp = dbp + 1; *cp && intoken (*cp); cp++) continue; - pfnote ((CTAGS) ? savenstr (dbp, cp-dbp) : NULL, TRUE, + pfnote (savenstr (dbp, cp-dbp), TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } @@ -3177,13 +3269,19 @@ getit (inf); continue; case 'p': - if (tail ("program")) + if (tail ("program") || tail ("procedure")) + getit (inf); + continue; + case 'b': + if (tail ("blockdata") || tail ("block data")) { - getit (inf); - continue; + dbp = skip_spaces (dbp); + if (*dbp == '\0') /* assume un-named */ + pfnote (savestr ("blockdata"), TRUE, + lb.buffer, dbp - lb.buffer, lineno, linecharno); + else + getit (inf); /* look for name */ } - if (tail ("procedure")) - getit (inf); continue; } } @@ -3241,10 +3339,11 @@ cp = skip_spaces (cp); if (*cp != '\0') { + char *sp = cp; while (*cp != '\0' && !isspace (*cp) && *cp != '{' && *cp != '(') cp++; - pfnote ((CTAGS) ? savenstr(lb.buffer, cp-lb.buffer) : NULL, TRUE, + pfnote (savenstr (sp, cp-sp), TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } } @@ -3306,7 +3405,7 @@ cp = skip_spaces (cp); while (*cp != '\0' && !isspace (*cp) && *cp != '(' && *cp != ':') cp++; - pfnote ((char *) NULL, TRUE, + pfnote (NULL, TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } @@ -3320,7 +3419,7 @@ cp = skip_spaces (cp); while (*cp != '\0' && !isspace (*cp) && *cp != '(' && *cp != ':') cp++; - pfnote ((char *) NULL, TRUE, + pfnote (NULL, TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } } @@ -3350,7 +3449,7 @@ for (ep = bp; isalnum (*ep) || *ep == '-'; ep++) continue; if (*ep++ == '.') - pfnote ((CTAGS) ? savenstr (bp, ep-bp) : NULL, TRUE, + pfnote (savenstr (bp, ep-bp), TRUE, lb.buffer, ep - lb.buffer + 1, lineno, linecharno); } } @@ -3508,7 +3607,7 @@ /* grab block name */ for (cp = dbp + 1; *cp != '\0' && !endtoken (*cp); cp++) continue; - namebuf = (CTAGS) ? savenstr (dbp, cp-dbp) : NULL; + namebuf = savenstr (dbp, cp-dbp); dbp = cp; /* set dbp to e-o-token */ save_len = dbp - lb.buffer + 1; get_tagname = FALSE; @@ -3541,7 +3640,6 @@ * lisp tag functions * look for (def or (DEF, quote or QUOTE */ -int L_isdef PP ((char *strp)); int L_isdef (strp) register char *strp; @@ -3550,7 +3648,7 @@ && (strp[2] == 'e' || strp[2] == 'E') && (strp[3] == 'f' || strp[3] == 'F')); } -int L_isquote PP ((char *strp)); + int L_isquote (strp) register char *strp; @@ -3563,7 +3661,6 @@ && isspace (*++strp)); } -void L_getit PP ((void)); void L_getit () { @@ -3587,7 +3684,7 @@ if (cp == dbp) return; - pfnote ((CTAGS) ? savenstr (dbp, cp-dbp) : NULL, TRUE, + pfnote (savenstr (dbp, cp-dbp), TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } @@ -3664,7 +3761,7 @@ * look for (set! xyzzy */ -void get_scheme PP ((void)); +void get_scheme (); void Scheme_functions (inf) @@ -3709,7 +3806,7 @@ *cp != '\0' && *cp != '(' && *cp != ')' && !isspace (*cp); cp++) continue; - pfnote ((CTAGS) ? savenstr (dbp, cp-dbp) : NULL, TRUE, + pfnote (savenstr (dbp, cp-dbp), TRUE, lb.buffer, cp - lb.buffer + 1, lineno, linecharno); } @@ -3733,9 +3830,9 @@ :chapter:section:subsection:subsubsection:eqno:label:ref:cite:bibitem\ :part:appendix:entry:index"; -void TEX_mode PP ((FILE *inf)); -struct TEX_tabent *TEX_decode_env PP ((char *evarname, char *defenv)); -int TEX_Token PP ((char *cp)); +void TEX_mode (); +struct TEX_tabent *TEX_decode_env (); +int TEX_Token (); char TEX_esc = '\\'; char TEX_opgrp = '{'; @@ -3819,6 +3916,8 @@ TEX_opgrp = '<'; TEX_clgrp = '>'; } + /* If the input file is compressed, inf is a pipe, and rewind may fail. + No attempt is made to correct the situation. */ rewind (inf); } @@ -3842,7 +3941,6 @@ { char *oldenv = env; env = concat (oldenv, defenv, ""); - free (oldenv); } /* Allocate a token table */ @@ -3900,9 +3998,9 @@ * Assumes that the predicate starts at column 0. * Only the first clause of a predicate is added. */ -int prolog_pred PP ((char *s, char *last)); -void prolog_skip_comment PP ((linebuffer *plb, FILE *inf)); -int prolog_atom PP ((char *s, int pos)); +int prolog_pred (); +void prolog_skip_comment (); +int prolog_atom (); void Prolog_functions (inf) @@ -3990,7 +4088,7 @@ /* Save only the first clause. */ if (last == NULL - || len != strlen (last) + || len != (int)strlen (last) || !strneq (s, last, len)) { pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE, @@ -4067,9 +4165,9 @@ * * Assumes that Erlang functions start at column 0. */ -int erlang_func PP ((char *s, char *last)); -void erlang_attribute PP ((char *s)); -int erlang_atom PP ((char *s, int pos)); +int erlang_func (); +void erlang_attribute (); +int erlang_atom (); void Erlang_functions (inf) @@ -4144,7 +4242,7 @@ /* Save only the first clause. */ if (s[pos++] == '(' && (last == NULL - || len != strlen (last) + || len != (int)strlen (last) || !strneq (s, last, len))) { pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE, @@ -4246,7 +4344,6 @@ an unquoted separator. Also turns "\t" into a Tab character. Returns pointer to terminating separator. Works in place. Null terminates name string. */ -char * scan_separators PP ((char *name)); char * scan_separators (name) char *name; @@ -4406,7 +4503,6 @@ * Do the substitutions indicated by the regular expression and * arguments. */ -char * substitute PP ((char *in, char *out, struct re_registers *regs)); char * substitute (in, out, regs) char *in, *out; @@ -4449,7 +4545,7 @@ *t++ = *out; *t = '\0'; - if (DEBUG && (t > result + size || t - result != strlen (result))) + if (DEBUG && (t > result + size || t - result != (int)strlen (result))) abort (); return result; @@ -4648,8 +4744,7 @@ */ char * etags_strrchr (sp, c) - register char *sp; - register int c; + register char *sp, c; { register char *r; @@ -4671,8 +4766,7 @@ */ char * etags_strchr (sp, c) - register char *sp; - register int c; + register char *sp, c; { do { @@ -4736,7 +4830,7 @@ /* Print error message. `s1' is printf control string, `s2' is arg for it. */ void error (s1, s2) - const char *s1, *s2; + char *s1, *s2; { fprintf (stderr, "%s: ", progname); fprintf (stderr, s1, s2); @@ -4952,6 +5046,7 @@ *fn = '/'; #else /* No action. */ + fn = NULL; /* shut up the compiler */ #endif }
--- a/lib-src/gnuclient.c Mon Aug 13 10:34:15 2007 +0200 +++ b/lib-src/gnuclient.c Mon Aug 13 10:35:03 2007 +0200 @@ -323,10 +323,12 @@ tmpdir = "/tmp"; display = getenv ("DISPLAY"); - if (!display) + if (display) + display = my_strdup (display); +#ifndef HAVE_MS_WINDOWS + else suppress_windows_system = 1; - else - display = my_strdup (display); +#endif for (i = 1; argv[i] && !errflg; i++) { @@ -594,8 +596,13 @@ } else /* !suppress_windows_system */ { - sprintf (command, "(gnuserv-edit-files '(x %s) '(", - clean_string (display)); + if (display) + sprintf (command, "(gnuserv-edit-files '(x %s) '(", + clean_string (display)); +#ifdef HAVE_MS_WINDOWS + else + sprintf (command, "(gnuserv-edit-files '(mswindows nil) '("); +#endif } /* !suppress_windows_system */ send_string (s, command);
--- a/lib-src/ootags.c Mon Aug 13 10:34:15 2007 +0200 +++ b/lib-src/ootags.c Mon Aug 13 10:35:03 2007 +0200 @@ -3344,10 +3344,13 @@ set_construct(C_VARIABLE); break; } - /* We need this hack because *tags doesn't really parse */ - /* the input, and the OO Browser scanning has slightly */ - /* more context. -slb */ + + /* ootags categorizes each tag found whereas etags doesn't. + Set the is_method flag if this tag has been marked as + such by an earlier section of code. + -- Steve Baur, Altrasoft, 5/7/1998 */ is_method = (oo_browser_construct == C_METHOD); + make_C_tag (FALSE); /* Force reset of st_C_enum structtype value. */ structtype = st_none; @@ -3381,8 +3384,11 @@ if (!cplpl) { #endif - /* These surely cannot follow a function tag. */ - /* Not if the language is C++ -slb */ + /* The above characters cannot follow a function tag in C, so + unmark this as a function entry. For C++, these characters + may follow an `operator' function construct, so skip the + unmarking conditional below. + -- Steve Baur, Altrasoft, 5/7/1998 */ if (fvdef != finlist && fvdef != fignore && fvdef != vignore) fvdef = fvnone; #ifdef OO_BROWSER
--- a/lisp/ChangeLog Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:35:03 2007 +0200 @@ -1,3 +1,177 @@ +1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> + + * glyphs.el (init-glyphs): Created `border-glyph' face, with no + attributes, and assinged it to continuation, truncation and + hscroll glyphs. + + * msw-glyphs.el: Assigned WinDings font to `border-glyph' face, + and made continuation, truncation and hscroll glyphs arrow + characters out of that font. + +1998-05-22 Hrvoje Niksic <hniksic@srce.hr> + + * minibuf.el (minibuffer-electric-separator): Play nicely with + directory-sep-char being \. + (minibuffer-electric-tilde): Ditto. + (read-file-name-map): Ditto. + +1998-05-22 Hrvoje Niksic <hniksic@srce.hr> + + * mouse.el (default-mouse-track-maybe-own-selection): Pause only + on X devices. + (default-mouse-track-deal-with-down-event): Avoid + `x-disown-selection'; use `disown-selection' instead. + +1998-05-21 Andy Piper <andyp@parallax.co.uk> + + * select.el: + * x-select.el: selection cleanup. (x-cut-copy-clear-internal) + moved to (cut-copy-clear-internal) in select.el. Ditto for + (x-delete-primary-selection) (x-kill-primary-selection) + (x-copy-primary-selection). + (own-clipboard): new function. + + * msw-select.el: use the new kill/delete/copy/cut-copy-clear + functions in select.el. remove old ones. + (mswindows-own-clipboard): new function. + +1998-05-21 Andy Piper <andyp@parallax.co.uk> + + * gnuserv.el: allow connections from mswindows type devices. + +1998-05-20 Andy Piper <andyp@parallax.co.uk> + + * msw-glyphs.el: change image type used from cursor to resource. + +1998-05-20 Kirill M. Katsnelson <kkm@kis.ru> + + * x-scrollbar.el (x-init-scrollbar-from-resources): Added support + for {top,bottom}-{left,right} values in addition to + {top,bottom}_{left,right}. + Use x-get-resource instead of x-get-resource-and-bogosity-check. + +1998-05-20 Hrvoje Niksic <hniksic@srce.hr> + + * cl-macs.el (specifier-instance): Undefine its setf method. + + * specifier.el (with-specifier-instance): Added docstring. + + * mouse.el (drag-window-divider): Ditto. + + * modeline.el (mouse-drag-modeline): Use it. + + * lisp-mode.el (with-specifier-instance): Define its indentation + level. + + * specifier.el (with-specifier-instance): New macro. + +1998-05-19 Andy Piper <andyp@parallax.co.uk> + + * package-get.el (package-get-create-custom): new function to + auto-generate package-get-custom.el from package-get-base.el. + * (package-get-ever-installedp): new function. + * (package-get-custom): new function to get all packages specified + by customize. + +1998-05-19 Hrvoje Niksic <hniksic@srce.hr> + + * cus-edit.el (custom-file): Revert to `~/.emacs'. + +1998-05-23 SL Baur <steve@altair.xemacs.org> + + * cl-extra.el: Reverse previous float change. + +1998-05-17 Andy Piper <andyp@parallax.co.uk> + + * x-faces.el: + * faces.el (try-font-name): moved from x-faces.el since it is + required by w3 under mswindows as well X. + +1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> + + * window-xemacs.el (push-window-configuration): Remove kludgery of + recaching default-toolbar specifier. + (pop-window-configuration): Ditto. + (unpop-window-configuration): Ditto. + +1998-05-16 Hrvoje Niksic <hniksic@srce.hr> + + * modeline.el (modeline-minor-mode-menu): Don't use :menu-tag. + +1998-05-17 Kirill M. Katsnelson <kkm@kis.ru> + + * winnt.el (nt-quote-args-verbatim): Added function. + (nt-quote-args-prefix-quote): Added function. + (nt-quote-args-backslash-quote): Added function. + (nt-quote-args-double-quote): Added function. + (nt-quote-args-functions-alist): New variable. + (nt-quote-process-args): Added function. This is the main quoting + work horse called from process-nt.c + +1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> + + * winnt.el: Removed duplicate definitions for backspace, + delete, M-backspace and C-M-backspace. + (file-name-buffer-file-type-alist): Removed this variable. + (find-buffer-file-type): Removed function. + (find-file-binary): Removed function. + (find-file-text): Removed function. + (find-file-not-found-set-buffer-file-type): Removed function. + (save-to-unix-hook): Removed function. + (revert-from-unix-hook): Removed function. + (using-unix-filesystems): Removed function. + (original-make-auto-save-file-name): DEFSUBR to avoid doc snarf + warning. + (x-set-selection): Removed function. + (x-get-selection): Removed function. + Removed commented FSFisms. + Replaced copyright notice (this file is not part of GNU Emacs). + (nt-shell-mode-hook): Moved here from a lambda expression. Added + comint-process-echoes setting to t. + +1998-05-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * packages.el (packages-no-package-hierarchy-regexp): Introduced + and used following the interface change of + `paths-find-recursive-path'. + + * find-paths.el (paths-find-recursive-path): Exclusion is now by a + regexp instead of a list of base names. + (paths-version-control-filename-regexp): + (paths-lisp-filename-regexp): (paths-no-lisp-directory-regexp): + Introduced and used following the interface change of + `paths-find-recursive-path'. + +1998-05-16 Hrvoje Niksic <hniksic@srce.hr> + + * simple.el (delete-forward-p): Make it a defun; do X garbage only + on X devices, rather than on all non-TTY devices. + +1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> + + * msw-mouse.el: New file. Sets up cursor shapes for Windows. + + * dumped-lisp.el (preloaded-file-list): Added msw-mouse.el + +1998-05-17 Adrian Aichner <aichner@ecf.teradyne.com> + + * itimer.el (activate-itimer): Fixed usage of integers + as argument to `concat'. + +1998-05-17 Glynn Clements <glynn@sensei.co.uk> + + * itimer.el (start-itimer): replace the use of `concat' with + `format' + +1998-05-16 SL Baur <steve@altair.xemacs.org> + + * mode-motion.el (mode-motion-hook): Clarify docstring. + From Bob Weiner <weiner@altrasoft.com> + + * loadhist.el (symbol-file): Supply prompt string when used + interactively. + From Bob Weiner <weiner@altrasoft.com> + 1998-05-16 Hrvoje Niksic <hniksic@srce.hr> * loadup.el (really-early-error-handler): Ditto.
--- a/lisp/auto-autoloads.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/auto-autoloads.el Mon Aug 13 10:35:03 2007 +0200 @@ -88,7 +88,7 @@ ;;;*** -;;;### (autoloads (batch-byte-recompile-directory batch-byte-recompile-directory-norecurse batch-byte-compile display-call-tree byte-compile-sexp byte-compile compile-defun byte-compile-file byte-recompile-file byte-recompile-directory byte-force-recompile) "bytecomp" "lisp/bytecomp.el") +;;;### (autoloads (batch-byte-recompile-directory batch-byte-recompile-directory-norecurse batch-byte-compile display-call-tree byte-compile-sexp byte-compile compile-defun byte-compile-buffer byte-compile-and-load-file byte-compile-file byte-recompile-file byte-recompile-directory byte-force-recompile) "bytecomp" "lisp/bytecomp.el") (autoload 'byte-force-recompile "bytecomp" "\ Recompile every `.el' file in DIRECTORY that already has a `.elc' file. @@ -123,6 +123,14 @@ The output file's name is made by appending `c' to the end of FILENAME. With prefix arg (noninteractively: 2nd arg), load the file after compiling." t nil) +(autoload 'byte-compile-and-load-file "bytecomp" "\ +Compile a file of Lisp code named FILENAME into a file of byte code, +and then load it. The output file's name is made by appending \"c\" to +the end of FILENAME." t nil) + +(autoload 'byte-compile-buffer "bytecomp" "\ +Byte-compile and evaluate contents of BUFFER (default: the current buffer)." t nil) + (autoload 'compile-defun "bytecomp" "\ Compile and evaluate the current top-level form. Print the result in the minibuffer. @@ -637,7 +645,7 @@ (autoload 'customize-browse "cus-edit" "\ Create a tree browser for the customize hierarchy." t nil) -(defcustom custom-file (if (boundp 'user-init-directory) (concat "~" init-file-user user-init-directory "options.el") "~/.emacs") "File used for storing customization information.\nIf you change this from the default \"~/.emacs\" you need to\nexplicitly load that file for the settings to take effect." :type 'file :group 'customize) +(defcustom custom-file "~/.emacs" "File used for storing customization information.\nIf you change this from the default \"~/.emacs\" you need to\nexplicitly load that file for the settings to take effect." :type 'file :group 'customize) (autoload 'customize-save-customized "cus-edit" "\ Save all user options which have been set in this session." t nil) @@ -826,7 +834,6 @@ (autoload 'tags-apropos "etags" "\ Display list of all tags in tag table REGEXP matches." t nil) - (define-key esc-map "*" 'pop-tag-mark) ;;;***
--- a/lisp/cl-extra.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/cl-extra.el Mon Aug 13 10:35:03 2007 +0200 @@ -516,45 +516,40 @@ (defvar float-epsilon) (defvar float-negative-epsilon) -;;(defun cl-float-limits () -(or most-positive-float - (not (featurep 'lisp-float-type)) - (let ((x '2e0) y z) - ;; Find maximum exponent (first two loops are optimizations) - (while (cl-finite-do '* x x) (setq x (* x x))) - (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2)))) - (while (cl-finite-do '+ x x) (setq x (+ x x))) - (setq z x y (/ x 2)) - ;; Now fill in 1's in the mantissa. - (while (and (cl-finite-do '+ x y) (/= (+ x y) x)) - (setq x (+ x y) y (/ y 2))) - (setq most-positive-float x - most-negative-float (- x)) - ;; Divide down until mantissa starts rounding. - (setq x (/ x z) y (/ 16 z) x (* x y)) - (while (condition-case err (and (= x (* (/ x 2) 2)) (> (/ y 2) 0)) - (arith-error nil)) - (setq x (/ x 2) y (/ y 2))) - (setq least-positive-normalized-float y - least-negative-normalized-float (- y)) - ;; Divide down until value underflows to zero. - (setq x (/ 1 z) y x) - (while (condition-case err (> (/ x 2) 0) (arith-error nil)) - (setq x (/ x 2))) - (setq least-positive-float x - least-negative-float (- x)) - (setq x '1e0) - (while (/= (+ '1e0 x) '1e0) (setq x (/ x 2))) - (setq float-epsilon (* x 2)) - (setq x '1e0) - (while (/= (- '1e0 x) '1e0) (setq x (/ x 2))) - (setq float-negative-epsilon (* x 2)))) -;;) +(defun cl-float-limits () + (or most-positive-float (not (numberp '2e1)) + (let ((x '2e0) y z) + ;; Find maximum exponent (first two loops are optimizations) + (while (cl-finite-do '* x x) (setq x (* x x))) + (while (cl-finite-do '* x (/ x 2)) (setq x (* x (/ x 2)))) + (while (cl-finite-do '+ x x) (setq x (+ x x))) + (setq z x y (/ x 2)) + ;; Now fill in 1's in the mantissa. + (while (and (cl-finite-do '+ x y) (/= (+ x y) x)) + (setq x (+ x y) y (/ y 2))) + (setq most-positive-float x + most-negative-float (- x)) + ;; Divide down until mantissa starts rounding. + (setq x (/ x z) y (/ 16 z) x (* x y)) + (while (condition-case err (and (= x (* (/ x 2) 2)) (> (/ y 2) 0)) + (arith-error nil)) + (setq x (/ x 2) y (/ y 2))) + (setq least-positive-normalized-float y + least-negative-normalized-float (- y)) + ;; Divide down until value underflows to zero. + (setq x (/ 1 z) y x) + (while (condition-case err (> (/ x 2) 0) (arith-error nil)) + (setq x (/ x 2))) + (setq least-positive-float x + least-negative-float (- x)) + (setq x '1e0) + (while (/= (+ '1e0 x) '1e0) (setq x (/ x 2))) + (setq float-epsilon (* x 2)) + (setq x '1e0) + (while (/= (- '1e0 x) '1e0) (setq x (/ x 2))) + (setq float-negative-epsilon (* x 2)))) + nil) -(defun cl-float-limits () - ;; No-op, defined for old code that calls this to setup the - ;; constants. - ) ;;; Sequence functions.
--- a/lisp/cl-macs.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/cl-macs.el Mon Aug 13 10:35:03 2007 +0200 @@ -1692,8 +1692,12 @@ (defsetf selected-device select-device t) (defsetf device-baud-rate (&optional d) (v) `(set-device-baud-rate ,d ,v)) -(defsetf specifier-instance (spec &optional dom def nof) (val) - `(set-specifier ,spec ,val ,dom)) +;; This setf method is a bad idea, because set-specifier *adds* a +;; specification, rather than just setting it. The net effect is that +;; it makes specifier-instance return VAL, but other things don't work +;; as expected -- letf, to name one. +;(defsetf specifier-instance (spec &optional dom def nof) (val) +; `(set-specifier ,spec ,val ,dom)) ;; Annotations (defsetf annotation-glyph set-annotation-glyph)
--- a/lisp/cus-edit.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/cus-edit.el Mon Aug 13 10:35:03 2007 +0200 @@ -2973,12 +2973,7 @@ ;;; The `custom-save-all' Function. ;;;###autoload -(defcustom custom-file (if (boundp 'user-init-directory) - (concat "~" - init-file-user - user-init-directory - "options.el") - "~/.emacs") +(defcustom custom-file "~/.emacs" "File used for storing customization information. If you change this from the default \"~/.emacs\" you need to explicitly load that file for the settings to take effect."
--- a/lisp/custom-load.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/custom-load.el Mon Aug 13 10:35:03 2007 +0200 @@ -45,6 +45,7 @@ (custom-add-loads 'programming '("cus-edit")) (custom-add-loads 'toolbar '("toolbar-items")) (custom-add-loads 'dired '("files")) +(custom-add-loads 'dnd-debug '("dragdrop")) (custom-add-loads 'killing '("simple")) (custom-add-loads 'widget-button '("wid-edit")) (custom-add-loads 'paren-blinking '("simple")) @@ -63,7 +64,7 @@ (custom-add-loads 'custom-magic-faces '("cus-edit")) (custom-add-loads 'display '("toolbar" "scrollbar" "auto-show")) (custom-add-loads 'faces '("faces" "cus-edit" "font-lock" "font" "hyper-apropos" "info" "wid-edit")) -(custom-add-loads 'emacs '("faces" "help" "files" "cus-edit")) +(custom-add-loads 'emacs '("faces" "help" "files" "cus-edit" "package-get")) (custom-add-loads 'processes '("process" "gnuserv")) (custom-add-loads 'hyper-apropos '("hyper-apropos")) (custom-add-loads 'wp '("cus-edit"))
--- a/lisp/dumped-lisp.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/dumped-lisp.el Mon Aug 13 10:35:03 2007 +0200 @@ -177,6 +177,7 @@ ;; preload the mswindows code. #+mswindows "msw-glyphs" #+mswindows "msw-faces" + #+mswindows "msw-mouse" #+mswindows "msw-init" #+mswindows "msw-select" ;; preload the TTY init code.
--- a/lisp/faces.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/faces.el Mon Aug 13 10:35:03 2007 +0200 @@ -770,6 +770,11 @@ See `face-property-instance' for the semantics of the DOMAIN argument." (not (face-equal face 'default domain))) +; moved from x-faces.el +(defun try-font-name (name &optional device) + ;; yes, name really should be here twice. + (and name (make-font-instance name device t) name)) + ;; This function is a terrible, disgusting hack!!!! Need to ;; separate out the font elements as separate face properties!
--- a/lisp/files.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/files.el Mon Aug 13 10:35:03 2007 +0200 @@ -2396,78 +2396,89 @@ as well as about file buffers." (interactive "P") (save-excursion - (save-window-excursion - ;; This can bomb during autoloads generation - (when (and (not noninteractive) - (not (eq (selected-window) (minibuffer-window))) - save-some-buffers-query-display-buffer) - (delete-other-windows)) - ;; XEmacs - do not use queried flag - (let ((files-done - (map-y-or-n-p - (function - (lambda (buffer) - (and (buffer-modified-p buffer) - (not (buffer-base-buffer buffer)) - ;; XEmacs addition: - (not (symbol-value-in-buffer 'save-buffers-skip buffer)) - (or - (buffer-file-name buffer) - (and exiting - (progn - (set-buffer buffer) - (and buffer-offer-save (> (buffer-size) 0))))) - (if arg - t - (when save-some-buffers-query-display-buffer - (condition-case nil - (switch-to-buffer buffer t) - (error nil))) - (if (buffer-file-name buffer) - (format "Save file %s? " - (buffer-file-name buffer)) - (format "Save buffer %s? " - (buffer-name buffer))))))) - (function - (lambda (buffer) - (set-buffer buffer) - (condition-case () - (save-buffer) - (error nil)))) - (buffer-list) - '("buffer" "buffers" "save") - ;;instead of this we just say "yes all", "no all", etc. - ;;"save all the rest" - ;;"save only this buffer" "save no more buffers") - ;; this is rather bogus. --ben - ;; (it makes the dialog box too big, and you get an error - ;; "wrong type argument: framep, nil" when you hit q after - ;; choosing the option from the dialog box) + ;; `delete-other-windows' can bomb during autoloads generation, so + ;; guard it well. + (if (or noninteractive + (eq (selected-window) (minibuffer-window)) + (not save-some-buffers-query-display-buffer)) + ;; If playing with windows is unsafe or undesired, just do the + ;; usual drill. + (save-some-buffers-1 arg exiting nil) + ;; Else, protect the windows. + (delete-other-windows) + (save-window-excursion + (save-some-buffers-1 arg exiting t)) + ;; Force redisplay. #### Perhaps this should be handled + ;; automatically by `save-window-excursion'. + (sit-for 1)))) - ;; We should fix the dialog box rather than disabling - ;; this! --hniksic - (list (list ?\C-r (lambda (buf) - ;; FSF has an EXIT-ACTION argument to - ;; `view-buffer'. - (view-buffer buf) - (setq view-exit-action - (lambda (ignore) - (exit-recursive-edit))) - (recursive-edit) - ;; Return nil to ask about BUF again. - nil) - "display the current buffer")))) - (abbrevs-done - (and save-abbrevs abbrevs-changed - (progn - (if (or arg - (y-or-n-p (format "Save abbrevs in %s? " abbrev-file-name))) - (write-abbrev-file nil)) - ;; Don't keep bothering user if he says no. - (setq abbrevs-changed nil) - t)))) - (or (> files-done 0) abbrevs-done - (display-message 'no-log "(No files need saving)")))))) +;; XEmacs - do not use queried flag +(defun save-some-buffers-1 (arg exiting switch-buffer) + (let ((files-done + (map-y-or-n-p + (lambda (buffer) + (and (buffer-modified-p buffer) + (not (buffer-base-buffer buffer)) + ;; XEmacs addition: + (not (symbol-value-in-buffer 'save-buffers-skip buffer)) + (or + (buffer-file-name buffer) + (and exiting + (progn + (set-buffer buffer) + (and buffer-offer-save (> (buffer-size) 0))))) + (if arg + t + ;; #### We should provide a per-buffer means to + ;; disable the switching. + (when switch-buffer + ;; #### Consider using `display-buffer' here for 21.1! + ;(display-buffer buffer nil (selected-frame))) + (switch-to-buffer buffer t)) + (if (buffer-file-name buffer) + (format "Save file %s? " + (buffer-file-name buffer)) + (format "Save buffer %s? " + (buffer-name buffer)))))) + (lambda (buffer) + (set-buffer buffer) + (condition-case () + (save-buffer) + (error nil))) + (buffer-list) + '("buffer" "buffers" "save") + ;;instead of this we just say "yes all", "no all", etc. + ;;"save all the rest" + ;;"save only this buffer" "save no more buffers") + ;; this is rather bogus. --ben + ;; (it makes the dialog box too big, and you get an error + ;; "wrong type argument: framep, nil" when you hit q after + ;; choosing the option from the dialog box) + + ;; We should fix the dialog box rather than disabling + ;; this! --hniksic + (list (list ?\C-r (lambda (buf) + ;; #### FSF has an EXIT-ACTION argument + ;; to `view-buffer'. + (view-buffer buf) + (setq view-exit-action + (lambda (ignore) + (exit-recursive-edit))) + (recursive-edit) + ;; Return nil to ask about BUF again. + nil) + "display the current buffer")))) + (abbrevs-done + (and save-abbrevs abbrevs-changed + (progn + (if (or arg + (y-or-n-p (format "Save abbrevs in %s? " abbrev-file-name))) + (write-abbrev-file nil)) + ;; Don't keep bothering user if he says no. + (setq abbrevs-changed nil) + t)))) + (or (> files-done 0) abbrevs-done + (display-message 'no-log "(No files need saving)")))) (defun not-modified (&optional arg)
--- a/lisp/find-paths.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/find-paths.el Mon Aug 13 10:35:03 2007 +0200 @@ -36,40 +36,52 @@ ;;; Code: -(defvar paths-version-control-bases '("RCS" "CVS" "SCCS") +(defvar paths-version-control-filename-regexp + "^\\(RCS\\|CVS\\|SCCS\\)$" "File bases associated with version control.") -(defun paths-find-recursive-path (directories &optional max-depth exclude) +(defvar paths-lisp-filename-regexp + "^\\(.*\\.elc?\\)$" + "File bases that contain Lisp file.") + +(defvar paths-no-lisp-directory-regexp + (concat "\\(" paths-version-control-filename-regexp "\\)" + "\\|" + "\\(" paths-lisp-filename-regexp "\\)") + "File bases that may not be directories containing Lisp code.") + +(defun paths-find-recursive-path (directories &optional max-depth exclude-regexp) "Return a list of the directory hierarchy underneath DIRECTORIES. The returned list is sorted by pre-order and lexicographically. MAX-DEPTH limits the depth of the search to MAX-DEPTH level, if it is a number. If MAX-DEPTH is NIL, the search depth is unlimited. -EXCLUDE is a list of directory names to exclude from the search." +EXCLUDE-REGEXP is a regexp that matches directory names to exclude +from the search." (let ((path '())) (while directories (let ((directory (file-name-as-directory (expand-file-name (car directories))))) (if (file-directory-p directory) - (let ((raw-dirs + (let ((raw-entries (if (equal 0 max-depth) '() - (directory-files directory nil "^[^-.]" nil 'dirs-only))) + (directory-files directory nil "^[^.-]"))) (reverse-dirs '())) - (while raw-dirs - (if (null (member (car raw-dirs) exclude)) + (while raw-entries + (if (null (string-match exclude-regexp (car raw-entries))) (setq reverse-dirs - (cons (expand-file-name (car raw-dirs) directory) + (cons (expand-file-name (car raw-entries) directory) reverse-dirs))) - (setq raw-dirs (cdr raw-dirs))) + (setq raw-entries (cdr raw-entries))) (let ((sub-path (paths-find-recursive-path (reverse reverse-dirs) (if (numberp max-depth) (- max-depth 1) max-depth) - exclude))) + exclude-regexp))) (setq path (nconc path (list directory) sub-path)))))) @@ -79,7 +91,7 @@ (defun paths-find-recursive-load-path (directories &optional max-depth) "Construct a recursive load path underneath DIRECTORIES." (paths-find-recursive-path directories - max-depth paths-version-control-bases)) + max-depth paths-no-lisp-directory-regexp)) (defun paths-emacs-root-p (directory) "Check if DIRECTORY is a plausible installation root for XEmacs."
--- a/lisp/glyphs.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/glyphs.el Mon Aug 13 10:35:03 2007 +0200 @@ -660,6 +660,12 @@ (set-glyph-image invisible-text-glyph " ...") ;; (set-glyph-image hscroll-glyph "$") + (let ((face (make-face 'border-glyph + "Truncation and continuation glyphs face"))) + (set-glyph-face continuation-glyph face) + (set-glyph-face truncation-glyph face) + (set-glyph-face hscroll-glyph face)) + ;; finish initializing xemacs logo -- created internally because it ;; has a built-in bitmap (if (featurep 'xpm)
--- a/lisp/gnuserv.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/gnuserv.el Mon Aug 13 10:35:03 2007 +0200 @@ -270,7 +270,8 @@ (defun gnuserv-main-frame-function (type) "Return a sensible value for the main Emacs frame." - (if (eq type 'x) + (if (or (eq type 'x) + (eq type 'mswindows)) (car (frame-list)) nil)) @@ -278,7 +279,8 @@ "Return a frame if there is a frame that is truly visible, nil otherwise. This is meant in the X sense, so it will not return frames that are on another visual screen. Totally visible frames are preferred. If none found, return nil." - (if (eq type 'x) + (if (or (eq type 'x) + (eq type 'mswindows)) (cond ((car (filtered-frame-list 'frame-totally-visible-p (selected-device)))) ((car (filtered-frame-list (lambda (frame) @@ -424,6 +426,7 @@ (case (car type) (tty (apply 'make-tty-device (cdr type))) (x (make-x-device (cadr type))) + (mswindows (make-mswindows-device)) (t (error "Invalid device type")))) (t (selected-device))))
--- a/lisp/itimer.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/itimer.el Mon Aug 13 10:35:03 2007 +0200 @@ -357,7 +357,7 @@ (let ((oname name) (num 2)) (while (get-itimer name) - (setq name (concat oname "<" num ">")) + (setq name (format "%s<%d>" oname num)) (itimer-increment num))) (activate-itimer (list name value restart function is-idle with-args function-arguments (list 0 0 0))) @@ -395,7 +395,7 @@ (oname "itimer-") (num 1)) (while (get-itimer name) - (setq name (concat oname "<" num ">")) + (setq name (format "%s<%d>" oname num)) (itimer-increment num)) (setcar itimer name)) ;; signal an error if the timer's name matches an already
--- a/lisp/lisp-mode.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/lisp-mode.el Mon Aug 13 10:35:03 2007 +0200 @@ -753,6 +753,7 @@ (put 'save-selected-window 'lisp-indent-function 0) (put 'save-selected-frame 'lisp-indent-function 0) (put 'with-selected-frame 'lisp-indent-function 1) +(put 'with-specifier-instance 'lisp-indent-function 3) (put 'save-restriction 'lisp-indent-function 0) (put 'save-match-data 'lisp-indent-function 0) (put 'let 'lisp-indent-function 1)
--- a/lisp/loadhist.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/loadhist.el Mon Aug 13 10:35:03 2007 +0200 @@ -37,7 +37,7 @@ (defun symbol-file (sym) "Return the input source from which SYM was loaded. This is a file name, or nil if the source was a buffer with no associated file." - (interactive "S") ; XEmacs + (interactive "SFind source file for symbol: ") ; XEmacs (catch 'foundit (mapcar (function (lambda (x) (if (memq sym (cdr x)) (throw 'foundit (car x)))))
--- a/lisp/minibuf.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/minibuf.el Mon Aug 13 10:35:03 2007 +0200 @@ -205,35 +205,39 @@ :type 'boolean :group 'minibuffer) -(defun minibuffer-electric-slash () - ;; by Stig@hackvan.com +;; originally by Stig@hackvan.com +(defun minibuffer-electric-separator () (interactive) - (and minibuffer-electric-file-name-behavior - (eq ?/ (char-before (point))) - (not (save-excursion + (let ((c last-command-char)) + (and minibuffer-electric-file-name-behavior + (eq c directory-sep-char) + (eq c (char-before (point))) + (not (save-excursion (goto-char (point-min)) - (and (looking-at "^/.+:~?[^/]*/.+") + (and (looking-at "/.+:~?[^/]*/.+") (re-search-forward "^/.+:~?[^/]*" nil t) (progn (delete-region (point) (point-max)) t)))) - (not (save-excursion - (goto-char (point-min)) - (and (looking-at "^.+://[^/]*/.+") - (re-search-forward "^.+:/" nil t) - (progn - (delete-region (point) (point-max)) - t)))) - (not (eq (point) (1+ (point-min)))) ; permit `//hostname/path/to/file' - (or (not (eq ?: (char-after (- (point) 2)))) ; permit `http://url/goes/here' - (eq ?/ (char-after (point-min)))) + (not (save-excursion + (goto-char (point-min)) + (and (looking-at ".+://[^/]*/.+") + (re-search-forward "^.+:/" nil t) + (progn + (delete-region (point) (point-max)) + t)))) + ;; permit `//hostname/path/to/file' + (not (eq (point) (1+ (point-min)))) + ;; permit `http://url/goes/here' + (or (not (eq ?: (char-after (- (point) 2)))) + (eq ?/ (char-after (point-min)))) (delete-region (point-min) (point))) - (insert ?/)) + (insert c))) (defun minibuffer-electric-tilde () (interactive) (and minibuffer-electric-file-name-behavior - (eq ?/ (char-before (point))) + (eq directory-sep-char (char-before (point))) ;; permit URL's with //, for e.g. http://hostname/~user (not (save-excursion (search-backward "//" nil t))) (delete-region (point-min) (point))) @@ -242,7 +246,7 @@ (defvar read-file-name-map (let ((map (make-sparse-keymap 'read-file-name-map))) (set-keymap-parents map (list minibuffer-local-completion-map)) - (define-key map "/" 'minibuffer-electric-slash) + (define-key map (vector directory-sep-char) 'minibuffer-electric-separator) (define-key map "~" 'minibuffer-electric-tilde) map )) @@ -250,7 +254,7 @@ (defvar read-file-name-must-match-map (let ((map (make-sparse-keymap 'read-file-name-map))) (set-keymap-parents map (list minibuffer-local-must-match-map)) - (define-key map "/" 'minibuffer-electric-slash) + (define-key map (vector directory-sep-char) 'minibuffer-electric-separator) (define-key map "~" 'minibuffer-electric-tilde) map ))
--- a/lisp/mode-motion.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/mode-motion.el Mon Aug 13 10:35:03 2007 +0200 @@ -32,6 +32,7 @@ (defvar mode-motion-hook nil "Function or functions which are called whenever the mouse moves. +Each function must take a single argument of the motion event. You should normally use this rather than `mouse-motion-handler', which does some additional window-system-dependent things. This hook is local to every buffer, and should normally be set up by major-modes which want
--- a/lisp/modeline.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/modeline.el Mon Aug 13 10:35:03 2007 +0200 @@ -65,10 +65,9 @@ (or (event-over-modeline-p event) (error "not over a modeline")) ;; Give the modeline a "pressed" look. --hniksic - (letf (((specifier-instance modeline-shadow-thickness - (event-window event)) - (- (specifier-instance modeline-shadow-thickness - (event-window event))))) + (with-specifier-instance modeline-shadow-thickness + (- (specifier-instance modeline-shadow-thickness (event-window event))) + (event-window event) (let ((done nil) (depress-line (event-y event)) (start-event-frame (event-frame event)) @@ -396,14 +395,17 @@ (cons toggle keymap) 'minor-mode-map-alist))))) -(put 'abbrev-mode :menu-tag "Abbreviation Expansion") +;; #### TODO: Add `:menu-tag' keyword to add-minor-mode. Or create a +;; separate function to manage the minor mode menu. + +;(put 'abbrev-mode :menu-tag "Abbreviation Expansion") (add-minor-mode 'abbrev-mode " Abbrev") ;; only when visiting a file... (add-minor-mode 'overwrite-mode 'overwrite-mode) -(put 'auto-fill-function :menu-tag "Auto Fill") +;(put 'auto-fill-function :menu-tag "Auto Fill") (add-minor-mode 'auto-fill-function " Fill" nil nil 'auto-fill-mode) -(put 'defining-kbd-macro :menu-tag "Keyboard Macro") +;(put 'defining-kbd-macro :menu-tag "Keyboard Macro") (add-minor-mode 'defining-kbd-macro " Def" nil nil (lambda () (interactive) @@ -435,15 +437,14 @@ 'modeline-toggle-function) (and (commandp toggle-sym) toggle-sym))) - (menu-tag (or (get toggle-sym :menu-tag nil) - (symbol-name (if (symbolp toggle-fun) - toggle-fun - toggle-sym)) - ;; Here a function should - ;; maybe be invoked to - ;; beautify the symbol's - ;; menu appearance. - ))) + (menu-tag (symbol-name (if (symbolp toggle-fun) + toggle-fun + toggle-sym)) + ;; Here a function should + ;; maybe be invoked to + ;; beautify the symbol's + ;; menu appearance. + )) (and toggle-fun (vector menu-tag toggle-fun @@ -538,22 +539,12 @@ other than ordinary files may change this (e.g. Info, Dired,...)") (make-variable-buffer-local 'modeline-buffer-identification) -(defvar modeline-line-number-map - (make-sparse-keymap 'modeline-line-number-map) -"Keymap consulted for mouse-clicks on the line number in the modeline.") - -(define-key modeline-line-number-map 'button2 'goto-line) - -(defvar modeline-line-number-extent (make-extent nil nil) - "Extent covering the modeline-line-number string.") -(set-extent-face modeline-line-number-extent 'modeline-mousable) -(set-extent-keymap modeline-line-number-extent modeline-line-number-map) -(set-extent-property modeline-line-number-extent 'help-echo - "button2 to goto a specific line") - -(put 'line-number-mode :menu-tag "Line Number") +;; These are for the sake of minor mode menu. #### All of this is +;; kind of dirty. `add-minor-mode' started out as a simple substitute +;; for (or (assq ...) ...) FSF stuff, but now is used for all kind of +;; stuff. There should perhaps be a separate function to add toggles +;; to the minor-mode-menu. (add-minor-mode 'line-number-mode "") -(put 'column-number-mode :menu-tag "Column Number") (add-minor-mode 'column-number-mode "") (defconst modeline-process nil @@ -602,7 +593,7 @@ (cons modeline-narrowed-extent "%n") 'modeline-process (purecopy ")%]----") - (cons modeline-line-number-extent (list 'line-number-mode (purecopy "L%l--"))) + (purecopy '(line-number-mode "L%l--")) (purecopy '(column-number-mode "C%c--")) (purecopy '(-3 . "%p")) (purecopy "-%-")))
--- a/lisp/mouse.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/mouse.el Mon Aug 13 10:35:03 2007 +0200 @@ -949,10 +949,10 @@ ;; would help guarantee success with the price that the ;; delay would start to become noticable. ;; - (sit-for 0.15 t) + (and (eq (console-type) 'x) + (sit-for 0.15 t)) (zmacs-activate-region))) - ((or (eq 'x (console-type)) - (eq 'mswindows (console-type))) + ((console-on-window-system-p) (if (= start end) (disown-selection type) (if (consp default-mouse-track-extent) @@ -1049,8 +1049,8 @@ (if (not adjust) (cond (zmacs-regions (zmacs-deactivate-region)) - ((eq 'x (console-type)) - (x-disown-selection))))) + ((console-on-window-system-p) + (disown-selection))))) (setq default-mouse-track-down-event nil)))) (defun default-mouse-track-down-hook (event click-count) @@ -1417,89 +1417,92 @@ (if (not (specifier-instance vertical-divider-draggable-p (event-window event))) (error "Not over a window!")) - (letf* ((window (event-window event)) - (frame (event-channel event)) - (last-timestamp (event-timestamp event)) - (doit t) - ((specifier-instance vertical-divider-shadow-thickness window) - (- (specifier-instance vertical-divider-shadow-thickness window)))) - (while doit - (let ((old-right (caddr (window-pixel-edges window))) - (old-left (car (window-pixel-edges window))) - (backup-conf (current-window-configuration frame)) - (old-edges-all-windows (mapcar 'window-pixel-edges (window-list)))) + (with-specifier-instance + vertical-divider-shadow-thickness + (- (specifier-instance vertical-divider-shadow-thickness + (event-window event))) + (event-window event) + (let* ((window (event-window event)) + (frame (event-channel event)) + (last-timestamp (event-timestamp event)) + (doit t)) + (while doit + (let ((old-right (caddr (window-pixel-edges window))) + (old-left (car (window-pixel-edges window))) + (backup-conf (current-window-configuration frame)) + (old-edges-all-windows (mapcar 'window-pixel-edges (window-list)))) - ;; This is borrowed from modeline.el: - ;; requeue event and quit if this is a misc-user, eval or - ;; keypress event. - ;; quit if this is a button press or release event, or if the event - ;; occurred in some other frame. - ;; drag if this is a mouse motion event and the time - ;; between this event and the last event is greater than - ;; drag-modeline-event-lag. - ;; do nothing if this is any other kind of event. - (setq event (next-event event)) - (cond ((or (misc-user-event-p event) - (key-press-event-p event)) - (setq unread-command-events (nconc unread-command-events - (list event)) - doit nil)) - ((button-release-event-p event) - (setq doit nil)) - ((button-event-p event) - (setq doit nil)) - ((not (motion-event-p event)) - (dispatch-event event)) - ((not (eq frame (event-frame event))) - (setq doit nil)) - ((< (abs (- (event-timestamp event) last-timestamp)) - drag-modeline-event-lag)) - (t - (setq last-timestamp (event-timestamp event)) - ;; Enlarge the window, calculating change in characters - ;; of default font. Do not let the window to become - ;; less than alolwed minimum (not because that's critical - ;; for the code performance, just the visual effect is - ;; better: when cursor goes to the left of the next left - ;; divider, the vindow being resized shrinks to minimal - ;; size. - (enlarge-window (max (- window-min-width (window-width window)) - (/ (- (event-x-pixel event) old-right) - (face-width 'default window))) - t window) - ;; Backout the change if some windows got deleted, or - ;; if the change caused more than two windows to resize - ;; (shifting the whole stack right is ugly), or if the - ;; left window side has slipped (right side cannot be - ;; moved any funrther to the right, so enlarge-window - ;; plays bad games with the left edge. - (if (or (/= (count-windows) (length old-edges-all-windows)) - (/= old-left (car (window-pixel-edges window))) - ;; This check is very hairy. We allow any number - ;; of left edges to change, but only to the same - ;; new value. Similar procedure is for the right edges. - (let ((all-that-bad nil) - (new-left-ok nil) - (new-right-ok nil)) - (mapcar* (lambda (window old-edges) - (let ((new (car (window-pixel-edges window)))) - (if (/= new (car old-edges)) - (if (and new-left-ok - (/= new-left-ok new)) - (setq all-that-bad t) - (setq new-left-ok new))))) - (window-list) old-edges-all-windows) - (mapcar* (lambda (window old-edges) - (let ((new (caddr (window-pixel-edges window)))) - (if (/= new (caddr old-edges)) - (if (and new-right-ok - (/= new-right-ok new)) - (setq all-that-bad t) - (setq new-right-ok new))))) - (window-list) old-edges-all-windows) - all-that-bad)) - (set-window-configuration backup-conf)))) - )))) + ;; This is borrowed from modeline.el: + ;; requeue event and quit if this is a misc-user, eval or + ;; keypress event. + ;; quit if this is a button press or release event, or if the event + ;; occurred in some other frame. + ;; drag if this is a mouse motion event and the time + ;; between this event and the last event is greater than + ;; drag-modeline-event-lag. + ;; do nothing if this is any other kind of event. + (setq event (next-event event)) + (cond ((or (misc-user-event-p event) + (key-press-event-p event)) + (setq unread-command-events (nconc unread-command-events + (list event)) + doit nil)) + ((button-release-event-p event) + (setq doit nil)) + ((button-event-p event) + (setq doit nil)) + ((not (motion-event-p event)) + (dispatch-event event)) + ((not (eq frame (event-frame event))) + (setq doit nil)) + ((< (abs (- (event-timestamp event) last-timestamp)) + drag-modeline-event-lag)) + (t + (setq last-timestamp (event-timestamp event)) + ;; Enlarge the window, calculating change in characters + ;; of default font. Do not let the window to become + ;; less than alolwed minimum (not because that's critical + ;; for the code performance, just the visual effect is + ;; better: when cursor goes to the left of the next left + ;; divider, the vindow being resized shrinks to minimal + ;; size. + (enlarge-window (max (- window-min-width (window-width window)) + (/ (- (event-x-pixel event) old-right) + (face-width 'default window))) + t window) + ;; Backout the change if some windows got deleted, or + ;; if the change caused more than two windows to resize + ;; (shifting the whole stack right is ugly), or if the + ;; left window side has slipped (right side cannot be + ;; moved any funrther to the right, so enlarge-window + ;; plays bad games with the left edge. + (if (or (/= (count-windows) (length old-edges-all-windows)) + (/= old-left (car (window-pixel-edges window))) + ;; This check is very hairy. We allow any number + ;; of left edges to change, but only to the same + ;; new value. Similar procedure is for the right edges. + (let ((all-that-bad nil) + (new-left-ok nil) + (new-right-ok nil)) + (mapcar* (lambda (window old-edges) + (let ((new (car (window-pixel-edges window)))) + (if (/= new (car old-edges)) + (if (and new-left-ok + (/= new-left-ok new)) + (setq all-that-bad t) + (setq new-left-ok new))))) + (window-list) old-edges-all-windows) + (mapcar* (lambda (window old-edges) + (let ((new (caddr (window-pixel-edges window)))) + (if (/= new (caddr old-edges)) + (if (and new-right-ok + (/= new-right-ok new)) + (setq all-that-bad t) + (setq new-right-ok new))))) + (window-list) old-edges-all-windows) + all-that-bad)) + (set-window-configuration backup-conf)))) + ))))) (setq vertical-divider-map (make-keymap)) (define-key vertical-divider-map 'button1 'drag-window-divider)
--- a/lisp/msw-glyphs.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/msw-glyphs.el Mon Aug 13 10:35:03 2007 +0200 @@ -60,9 +60,11 @@ ;; strings are not allowed so they will be ignored. ("" [nothing]))) - (set-glyph-image truncation-glyph "$" 'global 'mswindows) - (set-glyph-image continuation-glyph "\\" 'global 'mswindows) - (set-glyph-image hscroll-glyph "$" 'global 'mswindows) + (set-face-font 'border-glyph "WingDings:regular:11: :symbol" + 'global 'mswindows) + (set-glyph-image continuation-glyph "\xC3" 'global 'mswindows) + (set-glyph-image truncation-glyph "\xF0" 'global 'mswindows) + (set-glyph-image hscroll-glyph "\xEF" 'global 'mswindows) (set-glyph-image octal-escape-glyph "\\") (set-glyph-image control-arrow-glyph "^")
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/msw-mouse.el Mon Aug 13 10:35:03 2007 +0200 @@ -0,0 +1,46 @@ +;;; msw-mouse.el --- Mouse support for MS Windows. + +;; Copyright (C) 1998 Kirill M. Katsnelson + +;; Maintainer: XEmacs Development Team +;; Keywords: mouse, 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 synched. + +;;; Commentary: + +;; This file is dumped with XEmacs (when Windows support is compiled in). + +;;; Code: + +(set-glyph-image text-pointer-glyph + [resource :resource-type cursor :resource-id "Ibeam"]) +(set-glyph-image nontext-pointer-glyph + [resource :resource-type cursor :resource-id "Normal"]) +(set-glyph-image modeline-pointer-glyph + [resource :resource-type cursor :resource-id "SizeNS"]) +(set-glyph-image divider-pointer-glyph + [resource :resource-type cursor :resource-id "SizeWE"]) +(set-glyph-image busy-pointer-glyph + [resource :resource-type cursor :resource-id "Wait"]) +(set-glyph-image gc-pointer-glyph + [resource :resource-type cursor :resource-id "Wait"]) + +;;; msw-mouse.el ends here
--- a/lisp/msw-select.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/msw-select.el Mon Aug 13 10:35:03 2007 +0200 @@ -49,21 +49,9 @@ (insert-rectangle clip) (insert clip)))) -(defun mswindows-clear-clipboard () - "Delete the selection without copying it to the clipboard or the kill ring." - (interactive "*") - (mswindows-cut-copy-clear-clipboard 'clear)) - -(defun mswindows-copy-clipboard () - "Copy the selection to the mswindows clipboard and to the kill ring." - (interactive) - (mswindows-cut-copy-clear-clipboard 'copy)) - -(defun mswindows-cut-clipboard () - "Copy the selection to the mswindows clipboard and to the kill ring, -then delete it." - (interactive "*") - (mswindows-cut-copy-clear-clipboard 'cut)) +(defun mswindows-own-clipboard (string) + "Paste the given string to the mswindows clipboard." + (mswindows-set-clipboard string)) (defun mswindows-cut-copy-clear-clipboard (mode) "Don't use this function. @@ -134,7 +122,8 @@ (defun mswindows-disown-selection (&optional secondary-p) "Assuming we own the selection, disown it. With an argument, discard the secondary selection instead of the primary selection." - (setq mswindows-selection-owned-p nil)) + (setq mswindows-selection-owned-p nil) + (mswindows-delete-selection)) (defun mswindows-selection-owner-p (&optional selection) "Return t if current emacs process owns the given Selection.
--- a/lisp/package-get.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/package-get.el Mon Aug 13 10:35:03 2007 +0200 @@ -96,7 +96,6 @@ ;;; Code: -(provide 'package-get) (require 'package-admin) (defvar package-get-base nil @@ -167,8 +166,8 @@ ;; Load a fresh copy (load "package-get-base.el") (mapcar (lambda (pkg) - (package-get-all - (car pkg) nil)) + (package-get-all + (car pkg) nil)) packages-package-list)) (defun package-get-all (package version &optional fetched-packages) @@ -402,4 +401,90 @@ (setq packages (cdr packages))) found)) +;; +;; customize interfaces. +;; The group is in this file so that custom loads includes this file. +;; +(defgroup packages nil + "Configure XEmacs packages." + :group 'emacs) + +(defun package-get-custom () + "Fetch and install the latest versions of all customized packages." + (interactive) + ;; Load a fresh copy + (load "package-get-base.el") + (load "package-get-custom.el") + (mapcar (lambda (pkg) + (if (eval (intern (concat (symbol-name (car pkg)) "-package"))) + (package-get-all (car pkg) nil)) + t) + package-get-base)) + +(defun package-get-ever-installedp (pkg &optional notused) + (string-match "-package$" (symbol-name pkg)) + (custom-initialize-set + pkg + (if (package-get-info-find-package + packages-package-list + (intern (substring (symbol-name pkg) 0 (match-beginning 0)))) + t))) + +(defun package-get-create-custom () + "Creates a package customization file package-get-custom.el. +Entries in the customization file are retrieved from package-get-base.el." + (interactive) + ;; Load a fresh copy + (load "package-get-base.el") + (let ((custom-buffer (find-file-noselect + (or (file-installed-p "package-get-custom.el") + (concat (file-name-directory + (file-installed-p "package-get-base.el")) + "package-get-custom.el")))) + (pkg-groups nil)) + + ;; clear existing stuff + (delete-region (point-min custom-buffer) + (point-max custom-buffer) custom-buffer) + (insert-string "(require 'package-get)\n" custom-buffer) + + (mapcar (lambda (pkg) + (let ((category (plist-get (car (cdr pkg)) 'category))) + (or (memq (intern category) pkg-groups) + (progn + (setq pkg-groups (cons (intern category) pkg-groups)) + (insert-string + (concat "(defgroup " category "-packages nil\n" + " \"" category " package group\"\n" + " :group 'packages)\n\n") custom-buffer))) + + (insert-string + (concat "(defcustom " (symbol-name (car pkg)) + "-package nil \n" + " \"" (plist-get (car (cdr pkg)) 'description) "\"\n" + " :group '" category "-packages\n" + " :initialize 'package-get-ever-installedp\n" + " :type 'boolean)\n\n") custom-buffer))) + package-get-base) custom-buffer) + ) + +;; need this first to avoid infinite dependency loops +(provide 'package-get) + +;; potentially update the custom dependencies every time we load this +(let ((custom-file (file-installed-p "package-get-custom.el")) + (package-file (file-installed-p "package-get-base.el"))) + ;; update custom file if it doesn't exist + (if (or (not custom-file) + (and (< (car (nth 5 (file-attributes custom-file))) + (car (nth 5 (file-attributes package-file)))) + (< (car (nth 5 (file-attributes custom-file))) + (car (nth 5 (file-attributes package-file)))))) + (save-excursion + (message "generating package customizations...") + (set-buffer (package-get-create-custom)) + (save-buffer) + (message "generating package customizations...done"))) + (load "package-get-custom.el")) + ;;; package-get.el ends here
--- a/lisp/packages.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/packages.el Mon Aug 13 10:35:03 2007 +0200 @@ -329,15 +329,20 @@ (and version-directory (list version-directory)) (and site-directory (list site-directory))))) -(defvar packages-special-bases '("etc" "info" "lisp" "lib-src" "bin") +(defvar packages-special-base-regexp "^\\(etc\\|info\\|lisp\\|lib-src\\|bin\\)$" "Special subdirectories of packages.") +(defvar packages-no-package-hierarchy-regexp + (concat "\\(" paths-version-control-filename-regexp "\\)" + "\\|" + "\\(" packages-special-base-regexp "\\)") + "Directories which can't be the roots of package hierarchies.") + (defun packages-find-packages-in-directories (directories) "Find all packages underneath directories in DIRECTORIES." (paths-find-recursive-path directories packages-hierarchy-depth - (append paths-version-control-bases - packages-special-bases))) + packages-no-package-hierarchy-regexp)) (defun packages-split-path (path) "Split PATH at \"\", return pair with two components.
--- a/lisp/select.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/select.el Mon Aug 13 10:35:03 2007 +0200 @@ -35,26 +35,20 @@ (defun copy-primary-selection () "Copy the selection to the Clipboard and the kill ring." (interactive) - (case (device-type (selected-device)) - (x (x-copy-primary-selection)) - (mswindows (mswindows-copy-clipboard)) - (otherwise nil))) + (and (console-on-window-system-p) + (cut-copy-clear-internal 'copy))) (defun kill-primary-selection () "Copy the selection to the Clipboard and the kill ring, then delete it." (interactive "*") - (case (device-type (selected-device)) - (x (x-kill-primary-selection)) - (mswindows (mswindows-cut-clipboard)) - (otherwise nil))) + (and (console-on-window-system-p) + (cut-copy-clear-internal 'cut))) (defun delete-primary-selection () "Delete the selection without copying it to the Clipboard or the kill ring." (interactive "*") - (case (device-type (selected-device)) - (x (x-delete-primary-selection)) - (mswindows (mswindows-clear-clipboard)) - (otherwise nil))) + (and (console-on-window-system-p) + (cut-copy-clear-internal 'clear))) (defun yank-clipboard-selection () "Insert the current Clipboard selection at point." @@ -85,7 +79,7 @@ (interactive) (case (device-type (selected-device)) (x (x-selection-exists-p selection)) - (mswindows t) + (mswindows (mswindows-selection-exists-p)) (otherwise nil))) (defun own-selection (data &optional type) @@ -111,6 +105,13 @@ (mswindows (mswindows-own-selection data type)) (otherwise nil))) +(defun own-clipboard (string) + "Paste the given string to the Clipboard." + (case (device-type (selected-device)) + (x (x-own-clipboard string)) + (mswindows (mswindows-own-clipboard string)) + (otherwise nil))) + (defun disown-selection (&optional secondary-p) "Assuming we own the selection, disown it. With an argument, discard the secondary selection instead of the primary selection." @@ -119,6 +120,7 @@ (mswindows (mswindows-disown-selection secondary-p)) (otherwise nil))) + ;; from x-init.el ;; selections and active regions @@ -229,4 +231,46 @@ (buffer-live-p (marker-buffer (car data))) (buffer-live-p (marker-buffer (cdr data)))))) +(defun cut-copy-clear-internal (mode) + (or (memq mode '(cut copy clear)) (error "unkown mode %S" mode)) + (or (selection-owner-p) + (error "emacs does not own the primary selection")) + (setq last-command nil) + (or primary-selection-extent + (error "the primary selection is not an extent?")) + (save-excursion + (let (rect-p b s e) + (cond + ((consp primary-selection-extent) + (setq rect-p t + b (extent-object (car primary-selection-extent)) + s (extent-start-position (car primary-selection-extent)) + e (extent-end-position (car (reverse primary-selection-extent))))) + (t + (setq rect-p nil + b (extent-object primary-selection-extent) + s (extent-start-position primary-selection-extent) + e (extent-end-position primary-selection-extent)))) + (set-buffer b) + (cond ((memq mode '(cut copy)) + (if rect-p + (progn + ;; why is killed-rectangle free? Is it used somewhere? + ;; should it be defvarred? + (setq killed-rectangle (extract-rectangle s e)) + (kill-new (mapconcat 'identity killed-rectangle "\n"))) + (copy-region-as-kill s e)) + ;; Maybe killing doesn't own clipboard. Make sure it happens. + ;; This memq is kind of grody, because they might have done it + ;; some other way, but owning the clipboard twice in that case + ;; wouldn't actually hurt anything. + (or (and (consp kill-hooks) (memq 'own-clipboard kill-hooks)) + (own-clipboard (car kill-ring))))) + (cond ((memq mode '(cut clear)) + (if rect-p + (delete-rectangle s e) + (delete-region s e)))) + (disown-selection nil) + ))) + ;;; select.el ends here
--- a/lisp/simple.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/simple.el Mon Aug 13 10:35:03 2007 +0200 @@ -402,11 +402,11 @@ :type 'function :group 'editing-basics) -(eval-when-compile - (defmacro delete-forward-p () - '(and delete-key-deletes-forward - (or (eq 'tty (device-type)) - (x-keysym-on-keyboard-sans-modifiers-p 'backspace))))) +;; Trash me, baby. +(defsubst delete-forward-p () + (and delete-key-deletes-forward + (or (not (eq (device-type) 'x)) + (x-keysym-on-keyboard-sans-modifiers-p 'backspace)))) (defun backward-or-forward-delete-char (arg) "Delete either one character backwards or one character forwards.
--- a/lisp/specifier.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/specifier.el Mon Aug 13 10:35:03 2007 +0200 @@ -403,6 +403,53 @@ how-to-add)))) value) +;; Note: you cannot replace the following macro with `letf' because +;; `specifier-instance' does not have a setf method defined. (I tried +;; to use `set-specifier' as the setf method for `specifier-instance', +;; but it doesn't work for `letf' because set-specifier to the old +;; value cannot be used to "undo" a previous set-specifier, as letf +;; expects.) +;; +;; This macro might perhaps be made simpler, with an addition to +;; `remove-specifier'. Example (modulo gensyms for clarity): +;; +;; (defmacro with-specifier-instance (specifier value domain &rest body) +;; `(unwind-protect +;; (progn +;; (add-spec-to-specifier ,specifier ,value ,domain nil 'prepend) +;; ,@body) +;; (remove-specifier ,specifier ,domain))) +;; +;; So, the idea is to unconditionally prepend a specification for +;; DOMAIN, and unconditionally remove it. This does not work because +;; `remove-specifier' removes *all* the specifications of DOMAIN, +;; nuking the old ones, in the process. (for this purpose, it might +;; make sense for `remove-specifier' to have a HOW-TO-REMOVE +;; argument.) +;; +;; The following version remembers the old speclist and returns it +;; later. It's probably less error-prone anyway. + +(defmacro with-specifier-instance (specifier value domain &rest body) + "Evaluate forms in BODY with SPECIFIER instantiating to VALUE in DOMAIN. +The value returned is the value of the last form in BODY. +For meaning of DOMAIN, see `specifier-instance'." + (let ((specvar (gensym "wsi-")) + (valvar (gensym "wsi-")) + (domvar (gensym "wsi-")) + (oldvar (gensym "wsi-"))) + ;; Remember the arguments to prevent multiple evaluation. + `(let* ((,specvar ,specifier) + (,valvar ,value) + (,domvar ,domain) + (,oldvar (specifier-spec-list ,specvar ,domvar))) + (unwind-protect + (progn + (add-spec-to-specifier ,specvar ,valvar ,domvar nil 'prepend) + ,@body) + (remove-specifier ,specvar ,domvar nil t) + (add-spec-list-to-specifier ,specvar ,oldvar))))) + (define-specifier-tag 'win 'device-on-window-system-p) ;; Add tags for device types that don't have support compiled
--- a/lisp/window-xemacs.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/window-xemacs.el Mon Aug 13 10:35:03 2007 +0200 @@ -137,11 +137,7 @@ (stack (window-config-stack))) (if (or (= 0 (undoable-stack-a-length stack)) (not (equal (undoable-stack-a-top stack) wc))) - (progn - (undoable-stack-push stack wc) - ;; kludge. - (if (featurep 'toolbar) - (set-specifier-dirty-flag default-toolbar)))))) + (undoable-stack-push stack wc)))) (defun pop-window-configuration () "Pop the top window configuration off the window-config stack and set it. @@ -161,9 +157,6 @@ (undoable-stack-push stack wc) (undoable-stack-undo stack) (set-window-configuration popped) - ;; probably not necessary: - (if (featurep 'toolbar) - (set-specifier-dirty-flag default-toolbar)) popped) (trunc-stack-bottom (error "Bottom of window config stack"))))) @@ -191,9 +184,6 @@ (undoable-stack-pop stack)))) (undoable-stack-push stack wc) (set-window-configuration popped) - ;; probably not necessary: - (if (featurep 'toolbar) - (set-specifier-dirty-flag default-toolbar)) popped) (trunc-stack-bottom (error "Top of window config stack")))))
--- a/lisp/winnt.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/winnt.el Mon Aug 13 10:35:03 2007 +0200 @@ -2,153 +2,70 @@ ;; Copyright (C) 1994 Free Software Foundation, Inc. -;; Author: Geoff Voelker (voelker@cs.washington.edu) +;; Maintainer: XEmacs Development Team +;; Keywords: mouse, dumped -;; This file is part of GNU Emacs. +;; This file is part of XEmacs. -;; GNU Emacs is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by +;; 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. -;; GNU Emacs 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. +;; 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 GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; 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 synched with FSF. Almost completely divergent. + ;;; Commentary: -;; (August 12, 1993) -;; Created. +;; This file is dumped with XEmacs for MS Windows (without cygwin). -;; (November 21, 1994) -;; [C-M-backspace] defined. -;; mode-line-format defined to show buffer file type. -;; audio bell initialized. -;; -;; (March 18, 1997) +;; Based on NT Emacs version by Geoff Voelker (voelker@cs.washington.edu) ;; Ported to XEmacs by Marc Paquette <marcpa@cam.org> -;; +;; Largely modified by Kirill M. Katsnelson <kkm@kis.ru> ;;; Code: -;; Map delete and backspace -;; Not sure this is really needed in XEmacs... --marcpa -(define-key global-map [(backspace)] 'backward-delete-char) -(define-key global-map [(delete)] 'delete-char) -(define-key global-map [(meta backspace)] 'backward-kill-word) -(define-key global-map [(control meta backspace)] 'backward-kill-sexp) - -;; Ignore case on file-name completion -(setq completion-ignore-case t) - ;; The cmd.exe shell uses the "/c" switch instead of the "-c" switch ;; for executing its command line argument (from simple.el). +;; #### Oh if we had an alist of shells and their command switches. (setq shell-command-switch "/c") ;; For appending suffixes to directories and files in shell completions. -(add-hook 'shell-mode-hook - '(lambda () (setq comint-completion-addsuffix '("\\" . " ")))) +(defun nt-shell-mode-hook () + (setq comint-completion-addsuffix '("\\" . " ") + comint-process-echoes t)) +(add-hook 'shell-mode-hook 'nt-shell-mode-hook) ;; Use ";" instead of ":" as a path separator (from files.el). (setq path-separator ";") ;; Set the null device (for compile.el). +;; #### There should be such a global thingy as null-device - kkm (setq grep-null-device "NUL") ;; Set the grep regexp to match entries with drive letters. (setq grep-regexp-alist '(("^\\(\\([a-zA-Z]:\\)?[^:( \t\n]+\\)[:( \t]+\\([0-9]+\\)[:) \t]" 1 3))) -;; Taken from dos-fn.el ... don't want all that's in the file, maybe -;; separate it out someday. - -(defvar file-name-buffer-file-type-alist - '( - ("[:/].*config.sys$" . nil) ; config.sys text - ("\\.elc$" . t) ; emacs stuff - ("\\.\\(obj\\|exe\\|com\\|lib\\|sys\\|chk\\|out\\|bin\\|ico\\|pif\\)$" . t) - ; MS-Dos stuff - ("\\.\\(arc\\|zip\\|pak\\|lzh\\|zoo\\)$" . t) - ; Packers - ("\\.\\(a\\|o\\|tar\\|z\\|gz\\|taz\\)$" . t) - ; Unix stuff - ("\\.tp[ulpw]$" . t) - ; Borland Pascal stuff - ) - "*Alist for distinguishing text files from binary files. -Each element has the form (REGEXP . TYPE), where REGEXP is matched -against the file name, and TYPE is nil for text, t for binary.") - -(defun find-buffer-file-type (filename) - (let ((alist file-name-buffer-file-type-alist) - (found nil) - (code nil)) - (let ((case-fold-search t)) - (setq filename (file-name-sans-versions filename)) - (while (and (not found) alist) - (if (string-match (car (car alist)) filename) - (setq code (cdr (car alist)) - found t)) - (setq alist (cdr alist)))) - (if found - (cond((memq code '(nil t)) code) - ((and (symbolp code) (fboundp code)) - (funcall code filename))) - default-buffer-file-type))) +;;---------------------------------------------------------------------- +;; Autosave hack +;;-------------------- -(defun find-file-binary (filename) - "Visit file FILENAME and treat it as binary." - (interactive "FFind file binary: ") - (let ((file-name-buffer-file-type-alist '(("" . t)))) - (find-file filename))) - -(defun find-file-text (filename) - "Visit file FILENAME and treat it as a text file." - (interactive "FFind file text: ") - (let ((file-name-buffer-file-type-alist '(("" . nil)))) - (find-file filename))) - -(defun find-file-not-found-set-buffer-file-type () - (save-excursion - (set-buffer (current-buffer)) - (setq buffer-file-type (find-buffer-file-type (buffer-file-name)))) - nil) - -;;; To set the default file type on new files. -(add-hook 'find-file-not-found-hooks 'find-file-not-found-set-buffer-file-type) - -;;; For using attached Unix filesystems. -(defun save-to-unix-hook () - (save-excursion - (setq buffer-file-type t)) - nil) - -(defun revert-from-unix-hook () - (save-excursion - (setq buffer-file-type (find-buffer-file-type (buffer-file-name)))) - nil) - -;; Really should provide this capability at the drive letter granularity. -(defun using-unix-filesystems (flag) - "Read and write files without CR/LF translation, if FLAG is non-nil. -This is in effect assuming the files are on a remote Unix file system. -If FLAG is nil, resume using CR/LF translation as usual." - (if flag - (progn - (add-hook 'write-file-hooks 'save-to-unix-hook) - (add-hook 'after-save-hook 'revert-from-unix-hook)) - (progn - (remove-hook 'write-file-hooks 'save-to-unix-hook) - (remove-hook 'after-save-hook 'revert-from-unix-hook)))) - -;;; Avoid creating auto-save file names containing invalid characters -;;; (primarily "*", eg. for the *mail* buffer). +;; Avoid creating auto-save file names containing invalid characters +;; (primarily "*", eg. for the *mail* buffer). +;; Avoid "doc lost for function" warning +(defun original-make-auto-save-file-name (&optional junk) + "You do not want to call this." + ) (fset 'original-make-auto-save-file-name (symbol-function 'make-auto-save-file-name)) @@ -165,25 +82,56 @@ (setq start (1+ (match-end 0)))) name)) -;; ### FIX ME: need to look at XEmacs xmouse.el versus FSF mouse.el -;; and adjust accordingly: I think 'x-selections is an FSFism. -;; --marcpa -;;; Fix interface to (X-specific) mouse.el -(defun x-set-selection (type data) - (or type (setq type 'PRIMARY)) - (put 'x-selections type data)) +;;---------------------------------------------------------------------- +;; Quoting process args +;;-------------------- + +(defun nt-quote-args-verbatim (args) + "Copy ARG list verbatim, separating each arg with space." + (mapconcat 'identity args " ")) + +(defun nt-quote-args-prefix-quote (prefix args) + (mapconcat (lambda (str) + (concat "\"" + (mapconcat (lambda (ch) + (concat (if (eq ch ?\") prefix) + (char-to-string ch))) + str nil) + "\"")) + args " ")) + +(defun nt-quote-args-backslash-quote (args) + "Place ARG list in quotes, prefixing quotes in args with backslashes." + (nt-quote-args-prefix-quote "\\" args)) + +(defun nt-quote-args-double-quote (args) + "Place ARG list in quotes, doubling quotes in args." + (nt-quote-args-prefix-quote "\"" args)) -(defun x-get-selection (&optional type data-type) - (or type (setq type 'PRIMARY)) - (get 'x-selections type)) +(defvar nt-quote-args-functions-alist + '(("^.?.?sh\\." . nt-quote-args-double-quote)) + "An alist for determining proper argument quoting given executable file name. +Car of each cons must be a string, a regexp against which a file name sans +directory is matched. Cdr is a function symbol. The list is mathced in +forward order, and mathcing entry cdr's funcrion is called with a list of +strings, process arguments. It must return a string which is passed to +the newly created process. + +If not found, then `nt-quote-args-verbatim' is called on the argument list.") -;; FSFisms -;(fmakunbound 'font-menu-add-default) -;(global-unset-key [C-down-mouse-1]) -;(global-unset-key [C-down-mouse-2]) -;(global-unset-key [C-down-mouse-3]) - -;;; Set to a system sound if you want a fancy bell. -;(set-message-beep nil) +(defun nt-quote-process-args (args) + ;;Properly quote process ARGS for executing (car ARGS). + (let ((fname (file-name-nondirectory (car args))) + (alist nt-quote-args-functions-alist) + (case-fold-search nil) + (return-me nil) + (assoc nil)) + (while (and alist + (null return-me)) + (setq assoc (pop alist)) + (if (string-match (car assoc) fname) + (setq return-me (funcall (cdr assoc) (cdr args))))) + (or return-me + (nt-quote-args-verbatim args)))) ;;; winnt.el ends here
--- a/lisp/x-faces.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/x-faces.el Mon Aug 13 10:35:03 2007 +0200 @@ -163,10 +163,6 @@ (concat font which)) (t nil))) -(defun try-font-name (name &optional device) - ;; yes, name really should be here twice. - (and name (make-font-instance name device t) name)) - (defun x-make-font-bold (font &optional device) "Given an X font specification, this attempts to make a `bold' font. If it fails, it returns nil."
--- a/lisp/x-scrollbar.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/x-scrollbar.el Mon Aug 13 10:35:03 2007 +0200 @@ -79,20 +79,20 @@ ;; Now do ScrollBarPlacement.scrollBarPlacement (let ((case-fold-search t) - (resval (x-get-resource-and-maybe-bogosity-check - "ScrollBarPlacement" "scrollBarPlacement" 'string locale))) + (resval (x-get-resource "ScrollBarPlacement" "scrollBarPlacement" + 'string locale))) (cond ((null resval)) - ((string-match "^top_left$" resval) + ((string-match "^top[_-]left$" resval) (set-specifier scrollbar-on-top-p t locale) (set-specifier scrollbar-on-left-p t locale)) - ((string-match "^top_right$" resval) + ((string-match "^top[_-]right$" resval) (set-specifier scrollbar-on-top-p t locale) (set-specifier scrollbar-on-left-p nil locale)) - ((string-match "^bottom_left$" resval) + ((string-match "^bottom[_-]left$" resval) (set-specifier scrollbar-on-top-p nil locale) (set-specifier scrollbar-on-left-p t locale)) - ((string-match "^bottom_right$" resval) + ((string-match "^bottom[_-]right$" resval) (set-specifier scrollbar-on-top-p nil locale) (set-specifier scrollbar-on-left-p nil locale)) (t
--- a/lisp/x-select.el Mon Aug 13 10:34:15 2007 +0200 +++ b/lisp/x-select.el Mon Aug 13 10:35:03 2007 +0200 @@ -252,63 +252,6 @@ ;;; Random utility functions -(defun x-cut-copy-clear-internal (mode) - (or (memq mode '(cut copy clear)) (error "unkown mode %S" mode)) - (or (x-selection-owner-p) - (error "emacs does not own the primary selection")) - (setq last-command nil) - (or primary-selection-extent - (error "the primary selection is not an extent?")) - (save-excursion - (let (rect-p b s e) - (cond - ((consp primary-selection-extent) - (setq rect-p t - b (extent-object (car primary-selection-extent)) - s (extent-start-position (car primary-selection-extent)) - e (extent-end-position (car (reverse primary-selection-extent))))) - (t - (setq rect-p nil - b (extent-object primary-selection-extent) - s (extent-start-position primary-selection-extent) - e (extent-end-position primary-selection-extent)))) - (set-buffer b) - (cond ((memq mode '(cut copy)) - (if rect-p - (progn - ;; why is killed-rectangle free? Is it used somewhere? - ;; should it be defvarred? - (setq killed-rectangle (extract-rectangle s e)) - (kill-new (mapconcat 'identity killed-rectangle "\n"))) - (copy-region-as-kill s e)) - ;; Maybe killing doesn't own clipboard. Make sure it happens. - ;; This memq is kind of grody, because they might have done it - ;; some other way, but owning the clipboard twice in that case - ;; wouldn't actually hurt anything. - (or (and (consp kill-hooks) (memq 'x-own-clipboard kill-hooks)) - (x-own-clipboard (car kill-ring))))) - (cond ((memq mode '(cut clear)) - (if rect-p - (delete-rectangle s e) - (delete-region s e)))) - (x-disown-selection nil) - ))) - -(defun x-copy-primary-selection () - "Copy the selection to the Clipboard and the kill ring." - (interactive) - (x-cut-copy-clear-internal 'copy)) - -(defun x-kill-primary-selection () - "Copy the selection to the Clipboard and the kill ring, then delete it." - (interactive "*") - (x-cut-copy-clear-internal 'cut)) - -(defun x-delete-primary-selection () - "Delete the selection without copying it to the Clipboard or the kill ring." - (interactive "*") - (x-cut-copy-clear-internal 'clear)) - (defun x-yank-clipboard-selection () "Insert the current Clipboard selection at point." (interactive "*")
--- a/nt/ChangeLog Mon Aug 13 10:34:15 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:35:03 2007 +0200 @@ -1,3 +1,14 @@ +1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Added HAVE_DIALOGS macro, and dialog-*.* files to + docfile creation and compilation. + Defaulted HAVE_MSW to 1. + Changed lib-src references to be relative to $(XEMACS)/, not ../ + +1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> + + * xemacs.mak: Removed inline.{c,obj}. It did buy nothing. + 1998-05-15 Kirill M. Katsnelson <kkm@kis.ru> * xemacs.mak: Comment out dialog.{c,obj} from build.
--- a/nt/xemacs.mak Mon Aug 13 10:34:15 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 10:35:03 2007 +0200 @@ -34,7 +34,7 @@ PATH_PACKAGEPATH="~/.xemacs" !endif !if !defined(HAVE_MSW) -HAVE_MSW=0 +HAVE_MSW=1 !endif !if !defined(HAVE_X) HAVE_X=0 @@ -48,6 +48,9 @@ !if !defined(HAVE_TOOLBARS) HAVE_TOOLBARS=$(HAVE_XPM) !endif +!if !defined(HAVE_DIALOGS) +HAVE_DIALOGS=1 +!endif !if !defined(HAVE_MSW_C_DIRED) HAVE_MSW_C_DIRED=1 !endif @@ -126,6 +129,9 @@ !if $(HAVE_TOOLBARS) !message Compiling in support for toolbars. !endif +!if $(HAVE_DIALOGS) +!message Compiling in support for dialogs. +!endif !if $(HAVE_MSW_C_DIRED) # Define HAVE_MSW_C_DIRED to be non-zero if you want Xemacs to use C # primitives to significantly speed up dired, at the expense of an @@ -194,6 +200,11 @@ MSW_TOOLBAR_OBJ=$(OUTDIR)\toolbar.obj $(OUTDIR)\toolbar-msw.obj MSW_LIBS=$(MSW_LIBS) comctl32.lib !endif +!if $(HAVE_DIALOGS) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_DIALOGS +MSW_DIALOG_SRC=$(XEMACS)\src\dialog.c $(XEMACS)\src\dialog-msw.c +MSW_DIALOG_OBJ=$(OUTDIR)\dialog.obj $(OUTDIR)\dialog-msw.obj +!endif !endif !if $(HAVE_MULE) @@ -386,7 +397,6 @@ $(XEMACS)\src\hash.c \ $(XEMACS)\src\imgproc.c \ $(XEMACS)\src\indent.c \ - $(XEMACS)\src\inline.c \ $(XEMACS)\src\insdel.c \ $(XEMACS)\src\intl.c \ $(XEMACS)\src\keymap.c \ @@ -471,7 +481,8 @@ $(XEMACS)\src\scrollbar-msw.c \ $(XEMACS)\src\select-msw.c \ $(MSW_C_DIRED_SRC) \ - $(MSW_TOOLBAR_SRC) + $(MSW_TOOLBAR_SRC) \ + $(MSW_DIALOG_SRC) !endif !if $(HAVE_MULE) @@ -575,7 +586,8 @@ $(OUTDIR)\scrollbar-msw.obj \ $(OUTDIR)\select-msw.obj \ $(MSW_C_DIRED_OBJ) \ - $(MSW_TOOLBAR_OBJ) + $(MSW_TOOLBAR_OBJ) \ + $(MSW_DIALOG_OBJ) !endif @@ -647,7 +659,6 @@ $(OUTDIR)\hash.obj \ $(OUTDIR)\indent.obj \ $(OUTDIR)\imgproc.obj \ - $(OUTDIR)\inline.obj \ $(OUTDIR)\insdel.obj \ $(OUTDIR)\intl.obj \ $(OUTDIR)\keymap.obj \ @@ -787,7 +798,7 @@ del *.obj del *.sbr del *.lib - cd ..\$(TEMACS_DIR) + cd $(XEMACS)\$(TEMACS_DIR) del config.h del paths.h del Emacs.ad.h
--- a/src/ChangeLog Mon Aug 13 10:34:15 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:35:03 2007 +0200 @@ -1,3 +1,275 @@ +1998-05-23 SL Baur <steve@altair.xemacs.org> + + * getloadavg.c (getloadavg): Fix typo. + +1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> + + * objects-msw.c (mswindows_initialize_font_instance): Added support + for font character sets. + Replaced 'XXX' with '####' in comments throughout the file. + +1998-05-23 Kirill M. Katsnelson <kkm@kis.ru> + + * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and + console_type_create_dialog_mswindows(), to initialize Windows dialog + support. + + * symsinit.h: Prototyped the above functions. + + * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency + checks to dialog.c... + + * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a + device must support dialog boxes, and the descriptor must supply at + least one button. + + * dialog-msw.c: New file, dialogs for Windows. + +1998-05-21 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch> + + * eldap.c (ldap_search_unwind): Return Qnil instead of nothing + (Fldap_search_internal): Removed unused variable `err' + + * eldap.h: Moved Lisp_LDAP declaration here instead of using a + forward declaration + +1998-05-17 Martin Buchholz <martin@xemacs.org> + + * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is + defined. Therefore there is no need to handle the case when + HAVE_LDAP is undefined. Similarily, there is no reason to have + any code wrapped within `#ifdef emacs', since this code is only + useful within an emacs. This simplifies the code significantly. + + * inline.c: Include eldap.h only if HAVE_LDAP. + * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h + already does that. + +1998-05-21 Kirill M. Katsnelson <kkm@kis.ru> + + * unexnt.c (copy_executable_and_dump_data_section): Suppress + printing dump stats when building without DEBUG_XEMACS. + (dump_bss_and_heap): Ditto. + +1998-05-21 Andy Piper <andyp@parallax.co.uk> + + * gnuclient.c: don't suppress window system if there is no display + and we are running under mswindows. send 'mswindows device type if + we are in this situation. + +1998-05-20 Andy Piper <andyp@parallax.co.uk> + + * general.c: + * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c. + + * glyphs-msw.c: change cursor imgae type name to resource. Fix + some nits. + +1998-05-20 Kirill M. Katsnelson <kkm@kis.ru> + + * EmacsFrame.c (Xt_StringToScrollBarPlacement): Added support for + {top,bottom}-{left,right} values in addition to + {top,bottom}_{left,right}. + +1998-05-18 Hrvoje Niksic <hniksic@srce.hr> + + * fileio.c (Fmake_temp_name): Remove unreached code. + + * process-nt.c (validate_signal_number): Use + signal_simple_error(). + +1998-05-19 Martin Buchholz <martin@xemacs.org> + + * unexhp9k800.c: + * sound.c (vars_of_sound): + * sysdep.c (reset_sigio_on_device): + * window.c (window_bottom_gutter_height): + unexhp9k800.c:258: warning: implicit declaration of function + `calculate_checksum' + sound.c:604: warning: implicit declaration of function `vars_of_hpplay' + sysdep.c:1012: warning: unused variable `owner' + window.c:993: warning: `window_right_toolbar_width' defined but not used + +1998-05-19 Andy Piper <andyp@parallax.co.uk> + + * glyphs-msw.c (mswindows_create_resized_mask) + (mswindows_create_resized_bitmap): new funnctions split out from + mswindows_resize_dibitmap_instance. + + * glyphs-msw.h: declare new resize functions. + + * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize + functions so that the original bitmaps are preserved. + + * sheap.c: fixup static heap exhausted error to avoid FAQs. + + * redisplay-msw.c (mswindows_output_blank): fixup brush from bg + color if we are trying to output 0 depth bg pixmap. + + * scrollbar-msw.c: warning elimination. + +1998-05-18 Martin Buchholz <martin@xemacs.org> + + * frame-x.c (x_update_frame_external_traits): Start preprocessor + directives in column 1. + + * search.c (skip_chars): Avoid using xzero with arrays, since some + compilers get confused by the construct &array. + +1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> + + * objects-msw.h: + * objects-msw.c: Changed the charset value for a new font from + "don't care" to "ansi". + + * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix. + +1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> + + * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift + modifier on control chars. + Use IsCharAlpha() instead of isaplha(). + +1998-05-19 Kazuyuki IENAGA <ienaga@jsys.co.jp> + + * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, ""). + +1998-05-18 Kirill M. Katsnelson <kkm@kis.ru> + + * toolbar.c: Removed toolbar_data lrecord implementation. + (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data + with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS). + (compute_frame_toolbar_buttons): Ditto. + (CHECK_TOOLBAR): Ditto. + (set_frame_toolbar): Removed allocation of toolbar_data lrecord. + (update_frame_toolbars): Do not check for changed buffer + here. Toolbar information is provided by cached specs in + windows. The check for buffer is eliminated becuase toolbars are + marked changed in set_frame_selected_window() in frame.c + Added check for changed toolbars geometry. + (compute_frame_toolbars_data): Removed unused second parameter; + Adjusted callers of this static function throughout the file. + (init_frame_toolbars): Initialize current_toolbar_size. + (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of + what is its current expansion, for clarity. + (init_frame_toolbars): Ditto. + (init_device_toolbars): Ditto. + (init_global_toolbars): Ditto. + + * toolbar.h: Removed definition of toolbar_data lrecord. + Added accessor macros FRAME_TOOLBAR_BUTTONS and + FRAME_CURRENT_TOOLBAR_SIZE. + Added macro DEVICE_SUPPORTS_TOOLBARS_P. + + * toolbar-x.c (x_output_toolbar): The same change as in + toolbar-msw.c + (x_output_toolbar): Ditto. + (x_redraw_exposed_toolbar): Ditto. + + * toolbar-msw.c (mswindows_output_toolbar): Retrieve current + buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro. + (mswindows_output_toolbar): Ditto. + (mswindows_output_toolbar): Ditto. + + * frame.c (mark_frame): Removed marking of arrays, according to + frameslots.h change. + (nuke_all_frame_slots): Ditto. + (set_frame_selected_window): Mark toolbars changed when + last_nonminibuf_window changes. + + * frame.h (struct frame): Moved some slots to frameslots.h. + Added current_toolbar_size array. + Changed references from toolbar_data to toolbar_buttons in macros + FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE, + FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and + FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH. + + * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h + Moved arrays of lisp objects here from frame.h: toolbar_size, + toolbar_visible_p, toolbar_border_width. + Removed toolbar_data slot and added toolbar_buttons. + +1998-05-17 Kirill M. Katsnelson <kkm@kis.ru> + + * symsinit.h: Externed syms_of_process_nt() + + * emacs.c (main_1): Call syms_of_process_nt() + + * process-nt.c: Quote process arguments by a call to Lisp function + `nt-quote-process-args'. + (syms_of_process_nt): New function. + (nt_send_process): Flush data stream after each write, to avoid + leaving buffered data. + (nt_send_process): When blocked on process output, wait for + process to slurp more for progressively increasing time intervals. + +1998-05-17 Martin Buchholz <martin@xemacs.org> + + * window.c (have_undivided_common_edge): Make file-local function + static. + (map_windows): Return 0 if all map functions successful. + Fix typos. + + * winslots.h: Use unlikely names for local variables in macros to + avoid shadowing warnings. + +1998-05-17 Andy Piper <andyp@parallax.co.uk> + + * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width + so that we re-output if the toolbar size has changed. + +1998-05-17 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c. + + * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c. + + * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully + greater). + +1998-05-16 Kirill M. Katsnelson <kkm@kis.ru> + + * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to + get bitmap manifest constants defined. + + * console-msw.h: Include system files in angle brackets, not in + quotes. + + * window.c (specifier_vars_of_window): Fixed a typo in + `vertical-divider-line-width' docstirng. + +1998-05-16 Olivier Galibert <galibert@pobox.com> + + * line-number.c (delete_invalidate_line_number_cache): Use an + EMACS_INT. + (buffer_line_number): Remove dangerous, plain wrong when using + 64bits emacs ints, cast. + + * insdel.c (buffer_delete_range): Use an EMACS_INT. + + * cmds.c (Fforward_line): Use EMACS_INTs. + + * search.c (bi_scan_buffer): Change to use EMACS_INTs. + (scan_buffer): Ditto. + (bi_find_next_newline_no_quit): Remove useless cast. + (find_next_newline_no_quit): Ditto. + (find_next_newline): Ditto. + (find_before_next_newline): Use an EMACS_INT. + + * lisp.h: Change scan_buffer to pass EMACS_INTs. + +1998-05-16 Hrvoje Niksic <hniksic@srce.hr> + + * menubar-msw.c (mswindows_handle_wm_command): Ditto. + + * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto. + + * gui-x.c (popup_selection_callback): Use it. + + * gui.h (get_callback): Declare it. + + * gui.c (get_callback): New function. + 1998-05-15 SL Baur <steve@altair.xemacs.org> * window.c (have_undivided_common_edge): Guard scrollbar specific
--- a/src/EmacsFrame.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/EmacsFrame.c Mon Aug 13 10:35:03 2007 +0200 @@ -571,13 +571,17 @@ toVal->size = sizeof (cvt_string_scrollbar_placement); toVal->addr = (XPointer) &cvt_string_scrollbar_placement; - if (q == XrmStringToQuark ("top_left")) + if (q == XrmStringToQuark ("top-left") + || q == XrmStringToQuark ("top_left")) cvt_string_scrollbar_placement = XtTOP_LEFT; - else if (q == XrmStringToQuark ("bottom_left")) + else if (q == XrmStringToQuark ("bottom-left") + || q == XrmStringToQuark ("bottom_left")) cvt_string_scrollbar_placement = XtBOTTOM_LEFT; - else if (q == XrmStringToQuark ("top_right")) + else if (q == XrmStringToQuark ("top-right") + || q == XrmStringToQuark ("top_right")) cvt_string_scrollbar_placement = XtTOP_RIGHT; - else if (q == XrmStringToQuark ("bottom_right")) + else if (q == XrmStringToQuark ("bottom-right") + || q == XrmStringToQuark ("bottom_right")) cvt_string_scrollbar_placement = XtBOTTOM_RIGHT; else {
--- a/src/cmds.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/cmds.c Mon Aug 13 10:35:03 2007 +0200 @@ -115,7 +115,7 @@ struct buffer *buf = decode_buffer (buffer, 1); Bufpos pos2 = BUF_PT (buf); Bufpos pos; - int count, shortage, negp; + EMACS_INT count, shortage, negp; if (NILP (arg)) count = 1;
--- a/src/console-msw.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/console-msw.h Mon Aug 13 10:35:03 2007 +0200 @@ -36,11 +36,11 @@ #ifdef CONST /* I suspect this is safe */ #undef CONST #endif -#include "windows.h" -#include "ddeml.h" /* DDE management library */ +#include <windows.h> +#include <ddeml.h> /* DDE management library */ #ifndef __CYGWIN32__ -#include "shellapi.h" /* FileManager/Explorer drag and drop */ -#include "commctrl.h" +#include <shellapi.h> /* FileManager/Explorer drag and drop */ +#include <commctrl.h> #endif #ifdef HAVE_XPM
--- a/src/depend Mon Aug 13 10:34:15 2007 +0200 +++ b/src/depend Mon Aug 13 10:35:03 2007 +0200 @@ -9,6 +9,7 @@ #ifdef HAVE_MS_WINDOWS console-msw.o: $(LISP_H) conslots.h console-msw.h console.h events.h opaque.h systime.h device-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console-stream.h console.h device.h events.h faces.h frame.h frameslots.h mule-charset.h scrollbar.h specifier.h sysdep.h systime.h toolbar.h +dialog-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h frame.h frameslots.h gui.h mule-charset.h opaque.h scrollbar.h specifier.h toolbar.h dired-msw.o: $(LISP_H) buffer.h bufslots.h msdos.h mule-charset.h ndir.h nt.h regex.h sysdir.h sysfile.h event-msw.o: $(LISP_H) conslots.h console-msw.h console.h device.h dragdrop.h events-mod.h events.h frame.h frameslots.h lstream.h menubar-msw.h msdos.h mule-charset.h nt.h process.h redisplay.h scrollbar-msw.h scrollbar.h specifier.h sysdep.h sysfile.h sysproc.h systime.h syswait.h toolbar.h frame-msw.o: $(LISP_H) buffer.h bufslots.h conslots.h console-msw.h console.h device.h events.h faces.h frame.h frameslots.h glyphs-msw.h glyphs.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h @@ -27,7 +28,7 @@ dialog-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h frame-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsFrameP.h EmacsManager.h EmacsShell.h ExternalShell.h buffer.h bufslots.h conslots.h console-x.h console.h device.h dragdrop.h events-mod.h events.h extents.h faces.h frame.h frameslots.h glyphs-x.h glyphs.h mule-charset.h objects-x.h objects.h offix-types.h offix.h redisplay.h scrollbar-x.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h xintrinsicp.h xmprimitivep.h xmu.h glyphs-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h bitmaps.h buffer.h bufslots.h conslots.h console-x.h console.h device.h file-coding.h frame.h frameslots.h glyphs-x.h glyphs.h imgproc.h insdel.h lstream.h msdos.h mule-charset.h nt.h objects-x.h objects.h opaque.h scrollbar.h specifier.h sysfile.h toolbar.h xintrinsic.h xmu.h -gui-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h bytecode.h conslots.h console-x.h console.h device.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h scrollbar.h specifier.h toolbar.h xintrinsic.h +gui-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h buffer.h bufslots.h conslots.h console-x.h console.h device.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h scrollbar.h specifier.h toolbar.h xintrinsic.h input-method-xfs.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h input-method-xlib.o: $(LISP_H) EmacsFrame.h buffer.h bufslots.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h mule-charset.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h menubar-x.o: $(LISP_H) $(LWLIB_SRCDIR)/lwlib.h EmacsFrame.h EmacsManager.h EmacsShell.h buffer.h bufslots.h commands.h conslots.h console-x.h console.h device.h events.h frame.h frameslots.h gui-x.h gui.h mule-charset.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h xintrinsic.h @@ -81,7 +82,7 @@ debug.o: $(LISP_H) bytecode.h debug.h device-tty.o: $(LISP_H) buffer.h bufslots.h conslots.h console-stream.h console-tty.h console.h device.h events.h faces.h frame.h frameslots.h lstream.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h systty.h toolbar.h device.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h events.h faces.h frame.h frameslots.h keymap.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syssignal.h systime.h toolbar.h window.h winslots.h -dialog.o: $(LISP_H) +dialog.o: $(LISP_H) conslots.h console.h device.h frame.h frameslots.h scrollbar.h specifier.h toolbar.h dired.o: $(LISP_H) buffer.h bufslots.h commands.h elhash.h msdos.h mule-charset.h ndir.h nt.h opaque.h regex.h sysdir.h sysfile.h dll.o: $(LISP_H) buffer.h bufslots.h mule-charset.h sysdll.h doc.o: $(LISP_H) buffer.h bufslots.h bytecode.h insdel.h keymap.h msdos.h mule-charset.h nt.h sysfile.h @@ -90,7 +91,7 @@ dynarr.o: $(LISP_H) ecrt0.o: config.h editfns.o: $(LISP_H) buffer.h bufslots.h commands.h conslots.h console.h device.h events.h extents.h frame.h frameslots.h insdel.h line-number.h mule-charset.h redisplay.h scrollbar.h specifier.h sysdep.h syspwd.h systime.h toolbar.h window.h winslots.h -eldap.o: $(LISP_H) eldap.h opaque.h +eldap.o: $(LISP_H) eldap.h opaque.h sysdep.h elhash.o: $(LISP_H) bytecode.h elhash.h hash.h emacs.o: $(LISP_H) backtrace.h buffer.h bufslots.h commands.h conslots.h console.h msdos.h mule-charset.h nt.h paths.h process.h sysdep.h sysdll.h sysfile.h syssignal.h systime.h systty.h eval.o: $(LISP_H) backtrace.h buffer.h bufslots.h bytecode.h commands.h conslots.h console.h mule-charset.h opaque.h @@ -117,7 +118,7 @@ glyphs.o: $(LISP_H) buffer.h bufslots.h conslots.h console.h device.h elhash.h faces.h frame.h frameslots.h glyphs.h insdel.h mule-charset.h objects.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h gmalloc.o: config.h getpagesize.h gpmevent.o: $(LISP_H) conslots.h console-tty.h console.h device.h events-mod.h events.h gpmevent.h sysdep.h syssignal.h systime.h systty.h -gui.o: $(LISP_H) gui.h +gui.o: $(LISP_H) bytecode.h gui.h hash.o: $(LISP_H) elhash.h hash.h hftctl.o: $(LISP_H) hpplay.o: $(LISP_H)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/dialog-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -0,0 +1,421 @@ +/* Implements elisp-programmable dialog boxes -- MS Windows interface. + Copyright (C) 1998 Kirill M. Katsnelson <kkm@kis.ru> + +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. */ + +/* Autorship: + Initially written by kkm, May 1998 +*/ + +#include <config.h> +#include "lisp.h" + +#include "buffer.h" +#include "console-msw.h" +#include "frame.h" +#include "gui.h" +#include "opaque.h" + +/* List containing all dialog data structures of currently popped up + dialogs. Each item is a cons of frame object and a vector of + callbacks for buttons in the dialog, in order */ +static Lisp_Object Vdialog_data_list; + +/* DLUs per character metrics */ +#define X_DLU_PER_CHAR 4 +#define Y_DLU_PER_CHAR 8 + +/* + Button metrics + -------------- + All buttons have height of 15 DLU. The minimum width for a button is 32 DLU, + but it can be expanded to accomodate its text, so the width is calculated as + 8 DLU per button plus 4 DLU per character. + max (32, 6 * text_lenght). The factor of six is rather empirical, but it + works better than 8 which comes from the definition of a DLU. Buttons are + spaced with 6 DLU gap. Minimum distance from the button to the left or right + dialog edges is 6 DLU, and the distance between the dialog bottom edge and + buttons is 7 DLU. +*/ + +#define X_MIN_BUTTON 32 +#define X_BUTTON_MARGIN 8 +#define Y_BUTTON 15 +#define X_BUTTON_SPACING 6 +#define X_BUTTON_FROM_EDGE 6 +#define Y_BUTTON_FROM_EDGE 7 + +/* + Text field metrics + ------------------ + Text ditance from lwft and right edges is the same as for buttons, and the + top margin is 11 DLU. The static control has height of 2 DLU per control + plus 8 DLU per each line of text. Distance between the bottom edge of the + control and the button row is 15 DLU. Minimum width of the static control + is 100 DLU, thus giving minmium dialog wight of 112 DLU. Maximum width is + 300 DLU, and, if the text is wider than that, the text is wrapped on the + next line. Each character in the text is considered 4 DLU wide. +*/ + +#define X_MIN_TEXT 100 +#define X_AVE_TEXT 200 +#define X_MAX_TEXT 300 +#define X_TEXT_FROM_EDGE X_BUTTON_FROM_EDGE +#define Y_TEXT_FROM_EDGE 11 +#define Y_TEXT_MARGIN 2 +#define Y_TEXT_FROM_BUTTON 15 + +#define X_MIN_TEXT_CHAR (X_MIN_TEXT / X_DLU_PER_CHAR) +#define X_AVE_TEXT_CHAR (X_AVE_TEXT / X_DLU_PER_CHAR) +#define X_MAX_TEXT_CHAR (X_MAX_TEXT / X_DLU_PER_CHAR) + +/* + Layout algorithm + ---------------- + First we calculate the minimum width of the button row, excluding "from + edge" distances. Note that the static control text can be narrower than + X_AVE_TEXT only if both text and button row are narrower than that (so, + even if text *can* be wrapped into 2 rows narrower than ave width, it is not + done). Let WBR denote the width of the button row. + + Next, the width of the static field is determined. + First, if all lines of text fit into max (WBR, X_MAX_TEXT), the width of the + control is the same as the width of the longest line. + Sencond, if all lines of text are narrower than X_MIN_TEXT, then width of + the control is set to X_MIN_TEXT. + Otherwise, width is set to max(WBR, X_AVE_TEXT). In this case, line wrapping will + happen. + + If width of the text contol is larger than that of the button row, then the + latter is centered accross the dialog, by giving it extra edge + margins. Otherwise, minimal margins are given to the button row. +*/ + +#define ID_ITEM_BIAS 32 + +typedef struct gui_item struct_gui_item; +typedef struct +{ + Dynarr_declare (struct gui_item); +} struct_gui_item_dynarr; + +/* Dialog procedure */ +static BOOL CALLBACK +dialog_proc (HWND hwnd, UINT msg, WPARAM w_param, LPARAM l_param) +{ + switch (msg) + { + case WM_INITDIALOG: + SetWindowLong (hwnd, DWL_USER, l_param); + break; + + case WM_DESTROY: + { + Lisp_Object data; + VOID_TO_LISP (data, GetWindowLong (hwnd, DWL_USER)); + Vdialog_data_list = delq_no_quit (data, Vdialog_data_list); + } + break; + + case WM_COMMAND: + { + Lisp_Object fn, arg, data; + VOID_TO_LISP (data, GetWindowLong (hwnd, DWL_USER)); + + assert (w_param >= ID_ITEM_BIAS + && w_param < XVECTOR_LENGTH (XCDR (data)) + ID_ITEM_BIAS); + + get_callback (XVECTOR_DATA (XCDR (data)) [w_param - ID_ITEM_BIAS], + &fn, &arg); + enqueue_misc_user_event (XCAR (data), fn, arg); + + DestroyWindow (hwnd); + } + break; + + default: + return FALSE; + } + return TRUE; +} + +/* Helper function which converts the supplied string STRING into Unicode and + pushes it at the end of DYNARR */ +static void +push_lisp_string_as_unicode (unsigned_char_dynarr* dynarr, Lisp_Object string) +{ + Extbyte *mbcs_string; + Charcount length = XSTRING_CHAR_LENGTH (string); + LPWSTR uni_string; + + GET_C_CHARPTR_EXT_DATA_ALLOCA (XSTRING_DATA (string), + FORMAT_OS, mbcs_string); + uni_string = alloca_array (WCHAR, length + 1); + length = MultiByteToWideChar (CP_ACP, 0, mbcs_string, -1, + uni_string, sizeof(WCHAR) * (length + 1)); + Dynarr_add_many (dynarr, uni_string, sizeof(WCHAR) * length); +} + +/* Given button TEXT, return button width in DLU */ +static INLINE unsigned int +button_width (Lisp_Object text) +{ + unsigned int width = X_DLU_PER_CHAR * XSTRING_CHAR_LENGTH (text); + return max (X_MIN_BUTTON, width); +} + +/* Unwind protection routine frees a dynarr opaqued into arg */ +static Lisp_Object +free_dynarr_opaque_ptr (Lisp_Object arg) +{ + Dynarr_free (get_opaque_ptr (arg)); + return arg; +} + + +#define ALIGN_TEMPLATE \ +{ \ + unsigned int slippage = Dynarr_length (template) & 3; \ + if (slippage) \ + Dynarr_add_many (template, &zeroes, slippage); \ +} + +static void +mswindows_popup_dialog_box (struct frame* f, Lisp_Object desc) +{ + struct_gui_item_dynarr *dialog_items = Dynarr_new (struct_gui_item); + unsigned_char_dynarr *template = Dynarr_new (unsigned_char); + unsigned int button_row_width = 0; + unsigned int text_width, text_height; + + int unbind_count = specpdl_depth (); + record_unwind_protect (free_dynarr_opaque_ptr, + make_opaque_ptr (dialog_items)); + record_unwind_protect (free_dynarr_opaque_ptr, + make_opaque_ptr (template)); + + /* A big NO NEED to GCPRO gui_items stored in the array: they are just + pointers into DESC list, which is GC-protected by the caller */ + + /* Parse each item in the dialog into gui_item structs, and stuff a dynarr + of these. Calculate button row width in this loop too */ + { + Lisp_Object item_cons; + + EXTERNAL_LIST_LOOP (item_cons, XCDR (desc)) + { + if (!NILP (XCAR (item_cons))) + { + struct gui_item gitem; + gui_item_init (&gitem); + gui_parse_item_keywords (XCAR (item_cons), &gitem); + Dynarr_add (dialog_items, gitem); + button_row_width += button_width (gitem.name) + X_BUTTON_MARGIN; + } + } + if (Dynarr_length (dialog_items) == 0) + signal_simple_error ("Dialog descriptor provides no active items", desc); + button_row_width -= X_BUTTON_MARGIN; + } + + /* Determine the final width layout */ + { + Bufbyte *p = XSTRING_DATA (XCAR (desc)); + Charcount string_max = 0, this_length = 0; + while (1) + { + Emchar ch = charptr_emchar (p); + INC_CHARPTR (p); + + if (ch == (Emchar)'\n' || ch == (Emchar)'\0') + { + string_max = max (this_length, string_max); + this_length = 0; + } + else + ++this_length; + + if (ch == (Emchar)'\0') + break; + } + + if (string_max * X_DLU_PER_CHAR > max (X_MAX_TEXT, button_row_width)) + text_width = X_AVE_TEXT; + else if (string_max * X_DLU_PER_CHAR < X_MIN_TEXT) + text_width = X_MIN_TEXT; + else + text_width = string_max * X_DLU_PER_CHAR; + text_width = max (text_width, button_row_width); + } + + /* Now calculate the height for the text control */ + { + Bufbyte *p = XSTRING_DATA (XCAR (desc)); + Charcount break_at = text_width / X_DLU_PER_CHAR; + Charcount char_pos = 0; + int num_lines = 1; + Emchar ch; + + while ((ch = charptr_emchar (p)) != (Emchar)'\0') + { + INC_CHARPTR (p); + char_pos += ch != (Emchar)'\n'; + if (ch == (Emchar)'\n' || char_pos == break_at) + { + ++num_lines; + char_pos = 0; + } + } + text_height = Y_TEXT_MARGIN + Y_DLU_PER_CHAR * num_lines; + } + + /* Ok, now we are ready to stuff the dialog template and lay out controls */ + { + DLGTEMPLATE dlg_tem; + DLGITEMTEMPLATE item_tem; + int i; + const unsigned int zeroes = 0; + const unsigned int ones = 0xFFFFFFFF; + const WORD static_class_id = 0x0082; + const WORD button_class_id = 0x0080; + + /* Create and stuff in DLGTEMPLATE header */ + dlg_tem.style = (DS_CENTER | DS_MODALFRAME | DS_SETFONT + | WS_CAPTION | WS_POPUP | WS_VISIBLE); + dlg_tem.dwExtendedStyle = 0; + dlg_tem.cdit = Dynarr_length (dialog_items) + 1; + dlg_tem.x = 0; + dlg_tem.y = 0; + dlg_tem.cx = text_width + 2 * X_TEXT_FROM_EDGE; + dlg_tem.cy = (Y_TEXT_FROM_EDGE + text_height + Y_TEXT_FROM_BUTTON + + Y_BUTTON + Y_BUTTON_FROM_EDGE); + Dynarr_add_many (template, &dlg_tem, sizeof (dlg_tem)); + + /* We want no menu and standard class */ + Dynarr_add_many (template, &zeroes, 4); + + /* And the third is the dialog title. "XEmacs" as long as we do not supply + one in descriptor. Note that the string must be in Unicode. */ + Dynarr_add_many (template, L"XEmacs", 14); + + /* We want standard dialog font */ + Dynarr_add_many (template, L"\x08MS Shell Dlg", 28); + + /* Next add text control. */ + item_tem.style = WS_CHILD | WS_VISIBLE | SS_LEFT | SS_NOPREFIX; + item_tem.dwExtendedStyle = 0; + item_tem.x = X_TEXT_FROM_EDGE; + item_tem.y = Y_TEXT_FROM_EDGE; + item_tem.cx = text_width; + item_tem.cy = text_height; + item_tem.id = 0xFFFF; + + ALIGN_TEMPLATE; + Dynarr_add_many (template, &item_tem, sizeof (item_tem)); + + /* Right after class id follows */ + Dynarr_add_many (template, &ones, 2); + Dynarr_add_many (template, &static_class_id, sizeof (static_class_id)); + + /* Next thing to add is control text, as Unicode string */ + push_lisp_string_as_unicode (template, XCAR (desc)); + + /* Specify 0 length creation data */ + Dynarr_add_many (template, &zeroes, 2); + + /* Now it's the button time */ + item_tem.y = Y_TEXT_FROM_EDGE + text_height + Y_TEXT_FROM_BUTTON; + item_tem.x = X_BUTTON_FROM_EDGE + (button_row_width < text_width + ? (text_width - button_row_width) / 2 + : 0); + item_tem.cy = Y_BUTTON; + item_tem.dwExtendedStyle = 0; + + for (i = 0; i < Dynarr_length (dialog_items); ++i) + { + struct gui_item *pgui_item = Dynarr_atp (dialog_items, i); + + item_tem.style = (WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON + | (gui_item_active_p (pgui_item) ? 0 : WS_DISABLED)); + item_tem.cx = button_width (pgui_item->name); + /* Item ids are indices into dialog_items plus offset, to avoid having + items by reserved ids (IDOK, IDCANCEL) */ + item_tem.id = i + ID_ITEM_BIAS; + + ALIGN_TEMPLATE; + Dynarr_add_many (template, &item_tem, sizeof (item_tem)); + + /* Right after 0xFFFF and class id atom follows */ + Dynarr_add_many (template, &ones, 2); + Dynarr_add_many (template, &button_class_id, sizeof (button_class_id)); + + /* Next thing to add is control text, as Unicode string */ + push_lisp_string_as_unicode (template, pgui_item->name); + + /* Specify 0 length creation data. */ + Dynarr_add_many (template, &zeroes, 2); + + item_tem.x += item_tem.cx + X_BUTTON_SPACING; + } + } + + /* Now the Windows dialog structure is ready. We need to prepare a + data structure for the new dialog, which will contain callbacks + and the frame for these callbacks. This structure has to be + GC-protected. The data structure itself is a cons of frame object + and a vector of callbacks; for the protection reasons it is put + into a statically protected list. */ + { + Lisp_Object frame, vector, dialog_data; + int i; + + XSETFRAME (frame, f); + vector = make_vector (Dynarr_length (dialog_items), Qunbound); + dialog_data = Fcons (frame, vector); + for (i = 0; i < Dynarr_length (dialog_items); i++) + XVECTOR_DATA (vector) [i] = Dynarr_atp (dialog_items, i)->callback; + + /* Woof! Everything is ready. Pop pop pop in now! */ + if (!CreateDialogIndirectParam (NULL, + (LPDLGTEMPLATE) Dynarr_atp (template, 0), + FRAME_MSWINDOWS_HANDLE (f), dialog_proc, + (LPARAM) LISP_TO_VOID (dialog_data))) + /* Something went wrong creating the dialog */ + signal_simple_error ("System error creating dialog", desc); + + Vdialog_data_list = Fcons (dialog_data, Vdialog_data_list); + } + + /* Cease protection and free dynarrays */ + unbind_to (unbind_count, Qnil); +} + +void +console_type_create_dialog_mswindows (void) +{ + CONSOLE_HAS_METHOD (mswindows, popup_dialog_box); +} + +void +vars_of_dialog_mswindows (void) +{ + Vdialog_data_list = Qnil; + staticpro (&Vdialog_data_list); +}
--- a/src/dialog-x.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/dialog-x.c Mon Aug 13 10:35:03 2007 +0200 @@ -219,15 +219,7 @@ int dbox_id; widget_value *data; Widget parent, dbox; - Lisp_Object frame; - XSETFRAME (frame, f); - - CHECK_X_FRAME (frame); - if (SYMBOLP (dbox_desc)) - dbox_desc = Fsymbol_value (dbox_desc); - CHECK_CONS (dbox_desc); - CHECK_STRING (XCAR (dbox_desc)); data = dbox_descriptor_to_widget_value (dbox_desc); parent = FRAME_X_SHELL_WIDGET (f);
--- a/src/dialog.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/dialog.c Mon Aug 13 10:35:03 2007 +0200 @@ -63,8 +63,18 @@ { struct frame *f = selected_frame (); struct device *d = XDEVICE (f->device); - - MAYBE_DEVMETH (d, popup_dialog_box, (f, dbox_desc)); + + if (!HAS_DEVMETH_P (d, popup_dialog_box)) + signal_simple_error ("Device does not support dialogs", f->device); + + if (SYMBOLP (dbox_desc)) + dbox_desc = Fsymbol_value (dbox_desc); + CHECK_CONS (dbox_desc); + CHECK_STRING (XCAR (dbox_desc)); + if (!CONSP (XCDR (dbox_desc))) + signal_simple_error ("Dialog descriptor must supply at least one button", dbox_desc); + + DEVMETH (d, popup_dialog_box, (f, dbox_desc)); return Qnil; }
--- a/src/eldap.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/eldap.c Mon Aug 13 10:35:03 2007 +0200 @@ -32,10 +32,9 @@ #include <config.h> #include "lisp.h" #include "opaque.h" +#include "sysdep.h" #include <errno.h> -#include <lber.h> -#include <ldap.h> #include "eldap.h" @@ -82,26 +81,9 @@ /************************************************************************/ -/* The ldap Lisp object */ +/* ldap lrecord basic functions */ /************************************************************************/ -/* - * Structure records pertinent information about an open LDAP connection. - */ - -struct Lisp_LDAP -{ - /* lcrecord header */ - struct lcrecord_header header; - /* The LDAP connection handle used by the LDAP API */ - LDAP *ld; - /* Name of the host we connected to */ - Lisp_Object host; - /* Status of the LDAP connection. */ - int livep; -}; - - static Lisp_Object make_ldap (struct Lisp_LDAP *ldap) { @@ -131,7 +113,7 @@ print_internal (ldap->host, printcharfun, 1); if (!ldap->livep) write_c_string ("(dead) ",printcharfun); - sprintf (buf, " 0x%x>", ldap); + sprintf (buf, " 0x%x>", (unsigned int)ldap); write_c_string (buf, printcharfun); } @@ -387,6 +369,7 @@ ldap_msgfree (unwind->res); if (unwind->vals) ldap_value_free (unwind->vals); + return Qnil; } DEFUN ("ldap-search-internal", Fldap_search_internal, 2, 6, 0, /* @@ -413,7 +396,7 @@ LDAPMessage *e; BerElement *ptr; char *a; - int i, rc, err; + int i, rc; int matches; struct ldap_unwind_struct unwind;
--- a/src/eldap.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/eldap.h Mon Aug 13 10:35:03 2007 +0200 @@ -21,15 +21,26 @@ #ifndef _XEMACS_ELDAP_H_ #define _XEMACS_ELDAP_H_ -#ifndef HAVE_LDAP -#undef XLDAP -#undef XSETLDAP -#define LDAPP(x) 0 -#undef CHECK_LDAP +#include <lber.h> +#include <ldap.h> + +/* + * The following structure records pertinent information about a + * LDAP connection. + */ -#else /* HAVE_LDAP */ +struct Lisp_LDAP +{ + /* lcrecord header */ + struct lcrecord_header header; + /* The LDAP connection handle used by the LDAP API */ + LDAP *ld; + /* Name of the host we connected to */ + Lisp_Object host; + /* Status of the LDAP connection. */ + int livep; +}; -struct Lisp_LDAP; DECLARE_LRECORD (ldap, struct Lisp_LDAP); #define XLDAP(x) XRECORD (x, ldap, struct Lisp_LDAP) @@ -47,10 +58,6 @@ } while (0) - - -#ifdef emacs - Lisp_Object Fldapp (Lisp_Object object); Lisp_Object Fldap_host (Lisp_Object ldap); Lisp_Object Fldap_status (Lisp_Object ldap); @@ -64,10 +71,4 @@ Lisp_Object attrs, Lisp_Object attrsonly); -#endif /* emacs */ - - -#endif - - #endif /* _XEMACS_ELDAP_H_ */
--- a/src/emacs.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/emacs.c Mon Aug 13 10:35:03 2007 +0200 @@ -930,6 +930,9 @@ syms_of_print (); #if !defined (NO_SUBPROCESSES) syms_of_process (); +#ifdef HAVE_WIN32_PROCESSES + syms_of_process_nt (); +#endif #endif syms_of_profile (); #if defined (HAVE_MMAP) && defined (REL_ALLOC) && !defined(DOUG_LEA_MALLOC) @@ -1109,6 +1112,9 @@ #ifdef HAVE_TOOLBARS console_type_create_toolbar_mswindows (); #endif +#ifdef HAVE_DIALOGS + console_type_create_dialog_mswindows (); +#endif #endif /* Now initialize the specifier types and associated symbols. @@ -1382,6 +1388,9 @@ #ifdef HAVE_MSW_C_DIRED vars_of_dired_mswindows (); #endif +#ifdef HAVE_DIALOGS + vars_of_dialog_mswindows (); +#endif #endif /* HAVE_MS_WINDOWS */ #ifdef MULE
--- a/src/event-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/event-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -1600,24 +1600,17 @@ TranslateMessage (&msg); while (PeekMessage (&msg, hwnd, WM_CHAR, WM_CHAR, PM_REMOVE) - ||PeekMessage (&msg, hwnd, WM_SYSCHAR, WM_SYSCHAR, PM_REMOVE)) + || PeekMessage (&msg, hwnd, WM_SYSCHAR, WM_SYSCHAR, PM_REMOVE)) { - int ch = msg.wParam; + WPARAM ch = msg.wParam; /* CH is a character code for the key: 'C' for Shift+C and Ctrl+Shift+C 'c' for c and Ctrl+c */ - /* #### If locale is not C, US or other latin-1, - isalpha() maybe not what do we mean */ - /* XEmacs doesn't seem to like Shift on non-alpha keys */ - if (!isalpha(ch)) + if (!IsCharAlpha ((TCHAR)ch)) mods &= ~MOD_SHIFT; - /* Un-capitalise alpha control keys */ - if ((mods & MOD_CONTROL) && isalpha(ch)) - ch |= ('A' ^ 'a'); - /* If a quit char with no modifiers other than control and shift, then mark it with a fake modifier, which is removed upon dequeueing the event */
--- a/src/fileio.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/fileio.c Mon Aug 13 10:35:03 2007 +0200 @@ -738,6 +738,8 @@ count += 25229; count %= 225307; + QUIT; + if (stat ((CONST char *) data, &ignored) < 0) { /* We want to return only if errno is ENOENT. */ @@ -748,15 +750,12 @@ can do. The alternatives are to return nil, which is as bad as (and in many cases worse than) throwing the error, or to ignore the error, which will likely result - in looping through 225307 stat's, which is not only - dog-slow, but also useless since it will fallback to - the errow below, anyway. */ + in inflooping. */ report_file_error ("Cannot create temporary name for prefix", list1 (prefix)); /* not reached */ } } - signal_simple_error ("Cannot create temporary name for prefix", prefix); RETURN_NOT_REACHED (Qnil); }
--- a/src/frame-x.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/frame-x.c Mon Aug 13 10:35:03 2007 +0200 @@ -2582,13 +2582,13 @@ XtSetValues (FRAME_X_TEXT_WIDGET (frm), av, ac); - #ifdef HAVE_TOOLBARS +#ifdef HAVE_TOOLBARS /* Setting the background clears the entire frame area including the toolbar so we force an immediate redraw of it. */ if (EQ (name, Qbackground)) MAYBE_DEVMETH (XDEVICE (frm->device), redraw_frame_toolbars, (frm)); - #endif /* HAVE_TOOLBARS */ +#endif /* HAVE_TOOLBARS */ /* Set window manager resize increment hints according to the new character size */
--- a/src/frame.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/frame.c Mon Aug 13 10:35:03 2007 +0200 @@ -133,24 +133,6 @@ #define MARKED_SLOT(x) ((markobj) (f->x)); #include "frameslots.h" -#undef MARKED_SLOT - -#ifdef HAVE_TOOLBARS - ((markobj) (f->toolbar_data[0])); - ((markobj) (f->toolbar_data[1])); - ((markobj) (f->toolbar_data[2])); - ((markobj) (f->toolbar_data[3])); - - ((markobj) (f->toolbar_size[0])); - ((markobj) (f->toolbar_size[1])); - ((markobj) (f->toolbar_size[2])); - ((markobj) (f->toolbar_size[3])); - - ((markobj) (f->toolbar_visible_p[0])); - ((markobj) (f->toolbar_visible_p[1])); - ((markobj) (f->toolbar_visible_p[2])); - ((markobj) (f->toolbar_visible_p[3])); -#endif /* HAVE_TOOLBARS */ if (FRAME_LIVE_P (f)) /* device is nil for a dead frame */ MAYBE_FRAMEMETH (f, mark_frame, (f, markobj)); @@ -185,24 +167,6 @@ { #define MARKED_SLOT(x) f->x = Qnil; #include "frameslots.h" -#undef MARKED_SLOT - -#ifdef HAVE_TOOLBARS - f->toolbar_data[0] = Qnil; - f->toolbar_data[1] = Qnil; - f->toolbar_data[2] = Qnil; - f->toolbar_data[3] = Qnil; - - f->toolbar_size[0] = Qnil; - f->toolbar_size[1] = Qnil; - f->toolbar_size[2] = Qnil; - f->toolbar_size[3] = Qnil; - - f->toolbar_visible_p[0] = Qnil; - f->toolbar_visible_p[1] = Qnil; - f->toolbar_visible_p[2] = Qnil; - f->toolbar_visible_p[3] = Qnil; -#endif /* HAVE_TOOLBARS */ } /* Allocate a new frame object and set all its fields to reasonable @@ -927,7 +891,13 @@ assert (XFRAME (WINDOW_FRAME (XWINDOW (window))) == f); f->selected_window = window; if (!MINI_WINDOW_P (XWINDOW (window)) || FRAME_MINIBUF_ONLY_P (f)) - f->last_nonminibuf_window = window; + { +#ifdef HAVE_TOOLBARS + if (!EQ (f->last_nonminibuf_window, window)) + MARK_TOOLBAR_CHANGED; +#endif + f->last_nonminibuf_window = window; + } } DEFUN ("set-frame-selected-window", Fset_frame_selected_window, 2, 2, 0, /*
--- a/src/frame.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/frame.h Mon Aug 13 10:35:03 2007 +0200 @@ -93,32 +93,19 @@ #endif #ifdef HAVE_TOOLBARS - /* We handle these specially rather than putting them in - frameslots.h because we want them to be arrays. */ - - /* Data representing each currently displayed toolbar. See - toolbar.c */ - Lisp_Object toolbar_data[4]; - - /* Cached specifiers: */ - - /* Size of the toolbars. The frame-local toolbar space is - subtracted before the windows are arranged. Window and buffer - local toolbars overlay their windows. */ - Lisp_Object toolbar_size[4]; - /* Visibility of the toolbars. This acts as a valve for toolbar_size. */ - Lisp_Object toolbar_visible_p[4]; - /* Thickness of the border around the toolbar. */ - Lisp_Object toolbar_border_width[4]; + /* Size of toolbars as seen by redisplay. This is used to determine + whether to re-layout windows by a call to change_frame_size early + in redisplay_frame. */ + unsigned int current_toolbar_size[4]; #endif /* A structure of auxiliary data specific to the device type. struct x_frame is used for X window frames; defined in console-x.h */ void *frame_data; +#define FRAME_SLOT_DECLARATION #define MARKED_SLOT(x) Lisp_Object x #include "frameslots.h" -#undef MARKED_SLOT /* Nonzero if frame is currently displayed. Mutally exclusive with iconfied @@ -494,12 +481,12 @@ #ifdef HAVE_TOOLBARS #define FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE(f, pos) \ - (!NILP((f)->toolbar_data[pos]) && !NILP ((f)->toolbar_visible_p[pos])) + (!NILP((f)->toolbar_buttons[pos]) && !NILP ((f)->toolbar_visible_p[pos])) #define FRAME_RAW_THEORETICAL_TOOLBAR_SIZE(f, pos) \ - (!NILP ((f)->toolbar_data[pos]) && INTP((f)->toolbar_size[pos]) ? \ + (!NILP ((f)->toolbar_buttons[pos]) && INTP((f)->toolbar_size[pos]) ? \ (XINT ((f)->toolbar_size[pos])) : 0) #define FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH(f, pos) \ - (!NILP ((f)->toolbar_data[pos]) && INTP((f)->toolbar_border_width[pos]) ? \ + (!NILP ((f)->toolbar_buttons[pos]) && INTP((f)->toolbar_border_width[pos]) ? \ (XINT ((f)->toolbar_border_width[pos])) : 0) #else #define FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE(f, pos) 0
--- a/src/frameslots.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/frameslots.h Mon Aug 13 10:35:03 2007 +0200 @@ -21,6 +21,18 @@ /* Synched up with: FSF 19.30. Split out of frame.h. */ +#ifdef FRAME_SLOT_DECLARATION +#define MARKED_SLOT_ARRAY(slot, size) MARKED_SLOT(slot[size]) +#else +#define MARKED_SLOT_ARRAY(slot, size) do { \ + int mslotidx; \ + for (mslotidx = 0; mslotidx < size; mslotidx++) \ + { \ + MARKED_SLOT (slot[mslotidx]); \ + } \ + } while (0); +#endif + /* device frame belongs to. */ MARKED_SLOT (device); @@ -117,8 +129,23 @@ MARKED_SLOT (default_toolbar_height); MARKED_SLOT (default_toolbar_visible_p); MARKED_SLOT (default_toolbar_border_width); + + /* List of toolbar buttons of current toolbars */ + MARKED_SLOT_ARRAY (toolbar_buttons, 4); + /* Size of the toolbars. The frame-local toolbar space is + subtracted before the windows are arranged. Window and buffer + local toolbars overlay their windows. */ + MARKED_SLOT_ARRAY (toolbar_size, 4); + /* Visibility of the toolbars. This acts as a valve for toolbar_size. */ + MARKED_SLOT_ARRAY (toolbar_visible_p, 4); + /* Thickness of the border around the toolbar. */ + MARKED_SLOT_ARRAY (toolbar_border_width, 4); #endif /* Possible frame-local default for outside margin widths. */ MARKED_SLOT (left_margin_width); MARKED_SLOT (right_margin_width); + +#undef MARKED_SLOT +#undef MARKED_SLOT_ARRAY +#undef FRAME_SLOT_DECLARATION
--- a/src/general.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/general.c Mon Aug 13 10:35:03 2007 +0200 @@ -45,6 +45,7 @@ Lisp_Object Qbefore; Lisp_Object Qbinary; Lisp_Object Qbinddn; +Lisp_Object Qbitmap; Lisp_Object Qblack; Lisp_Object Qboolean; Lisp_Object Qbottom; @@ -61,6 +62,7 @@ Lisp_Object Qcommand; Lisp_Object Qconsole; Lisp_Object Qcritical; +Lisp_Object Qcursor; Lisp_Object Qdata; Lisp_Object Qdead; Lisp_Object Qdefault; @@ -89,6 +91,7 @@ Lisp_Object Qglobal; Lisp_Object Qheight; Lisp_Object Qhighlight; +Lisp_Object Qicon; Lisp_Object Qid; Lisp_Object Qimage; Lisp_Object Qinfo; @@ -196,6 +199,7 @@ defsymbol (&Qbefore, "before"); defsymbol (&Qbinary, "binary"); defsymbol (&Qbinddn, "binddn"); + defsymbol (&Qbitmap, "bitmap"); defsymbol (&Qblack, "black"); defsymbol (&Qboolean, "boolean"); defsymbol (&Qbottom, "bottom"); @@ -212,6 +216,7 @@ defsymbol (&Qcommand, "command"); defsymbol (&Qconsole, "console"); defsymbol (&Qcritical, "critical"); + defsymbol (&Qcursor, "cursor"); defsymbol (&Qdata, "data"); defsymbol (&Qdead, "dead"); defsymbol (&Qdefault, "default"); @@ -240,6 +245,7 @@ defsymbol (&Qglobal, "global"); defsymbol (&Qheight, "height"); defsymbol (&Qhighlight, "highlight"); + defsymbol (&Qicon, "icon"); defsymbol (&Qid, "id"); defsymbol (&Qimage, "image"); defsymbol (&Qinfo, "info");
--- a/src/getloadavg.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/getloadavg.c Mon Aug 13 10:35:03 2007 +0200 @@ -58,6 +58,7 @@ __linux__ Linux: assumes /proc filesystem mounted. Support from Michael K. Johnson. __NetBSD__ NetBSD: assumes /kern filesystem mounted. + __OpenBSD__ OpenBSD: dito. In addition, to avoid nesting many #ifdefs, we internally set LDAV_DONE to indicate that the load average has been computed. @@ -621,7 +622,7 @@ loadavg[elem] = load_ave[elem]; #endif /* __linux__ */ -#if !defined (LDAV_DONE) && defined (__NetBSD__) +#if !defined (LDAV_DONE) && defined (__NetBSD__) || defined (__OpenBSD__) #define LDAV_DONE #undef LOAD_AVE_TYPE @@ -645,7 +646,7 @@ for (elem = 0; elem < nelem; elem++) loadavg[elem] = (double) load_ave[elem] / (double) scale; -#endif /* __NetBSD__ */ +#endif /* __NetBSD__ or __OpenBSD__ */ #if !defined (LDAV_DONE) && defined (NeXT) #define LDAV_DONE
--- a/src/glyphs-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/glyphs-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -26,6 +26,8 @@ #include <config.h> #include "lisp.h" #include "lstream.h" + +#define OEMRESOURCE /* Define OCR_ and friend constants */ #include "console-msw.h" #include "glyphs-msw.h" #include "objects-msw.h" @@ -47,8 +49,8 @@ Lisp_Object Vmswindows_bitmap_file_path; static COLORREF transparent_color = RGB (1,1,1); -DEFINE_IMAGE_INSTANTIATOR_FORMAT (cursor); -Lisp_Object Qcursor; +DEFINE_IMAGE_INSTANTIATOR_FORMAT (resource); +Lisp_Object Qresource; Lisp_Object Q_resource_type, Q_resource_id; static void @@ -160,9 +162,9 @@ /* 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].rgbRed = (BYTE) qtable->rm[i]; + colortbl[i].rgbGreen = (BYTE) qtable->gm[i]; + colortbl[i].rgbBlue = (BYTE) qtable->bm[i]; colortbl[i].rgbReserved = 0; } @@ -448,20 +450,21 @@ CreateIconIndirect (&x_icon); } -int -mswindows_resize_dibitmap_instance (struct Lisp_Image_Instance* ii, - struct frame* f, - int newx, int newy) +HBITMAP +mswindows_create_resized_bitmap (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy) { - HBITMAP newbmp, newmask=NULL; + HBITMAP newbmp; + HGDIOBJ old1, old2; HDC hcdc = FRAME_MSWINDOWS_CDC (f); HDC hdcDst = CreateCompatibleDC (hcdc); - SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); + old1 = SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); newbmp = CreateCompatibleBitmap (hcdc, newx, newy); - DeleteObject (SelectObject (hdcDst, newbmp) ); + old2 = SelectObject (hdcDst, newbmp); if (!StretchBlt (hdcDst, 0, 0, newx, newy, hcdc, 0, 0, @@ -469,14 +472,31 @@ IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), SRCCOPY)) { - return FALSE; + return 0; } + SelectObject (hdcDst, old2); + SelectObject (hcdc, old1); + DeleteDC (hdcDst); + + return newbmp; +} + +HBITMAP +mswindows_create_resized_mask (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy) +{ if (IMAGE_INSTANCE_MSWINDOWS_MASK (ii)) { - SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_MASK (ii)); + HBITMAP newmask; + HGDIOBJ old1, old2; + HDC hcdc = FRAME_MSWINDOWS_CDC (f); + HDC hdcDst = CreateCompatibleDC (hcdc); + + old1 = SelectObject (hcdc, IMAGE_INSTANCE_MSWINDOWS_MASK (ii)); newmask = CreateCompatibleBitmap(hcdc, newx, newy); - SelectObject (hdcDst, newmask); + old2 = SelectObject (hdcDst, newmask); if (!StretchBlt(hdcDst, 0, 0, newx, newy, hcdc, 0, 0, @@ -484,12 +504,30 @@ IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), SRCCOPY)) { - return FALSE; + return NULL; } + + SelectObject (hdcDst, old2); + SelectObject (hcdc, old1); + + DeleteDC (hdcDst); + + return newmask; } - SelectObject (hdcDst, 0); - SelectObject (hcdc, 0); + return NULL; +} + +int +mswindows_resize_dibitmap_instance (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy) +{ + HBITMAP newbmp = mswindows_create_resized_bitmap (ii, f, newx, newy); + HBITMAP newmask = mswindows_create_resized_mask (ii, f, newx, newy); + + if (!newbmp) + return FALSE; if (IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)) DeleteObject (IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii)); @@ -501,8 +539,6 @@ IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = newx; IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = newy; - DeleteDC (hdcDst); - return TRUE; } @@ -839,11 +875,11 @@ /********************************************************************** - * CURSORS * + * RESOURCES * **********************************************************************/ static void -cursor_validate (Lisp_Object instantiator) +resource_validate (Lisp_Object instantiator) { if ((NILP (find_keyword_in_vector (instantiator, Q_file)) && @@ -855,7 +891,7 @@ } static Lisp_Object -cursor_normalize (Lisp_Object inst, Lisp_Object console_type) +resource_normalize (Lisp_Object inst, Lisp_Object console_type) { /* This function can call lisp */ Lisp_Object file = Qnil; @@ -883,14 +919,14 @@ } { - Lisp_Object result = alist_to_tagged_vector (Qcursor, alist); + Lisp_Object result = alist_to_tagged_vector (Qresource, alist); free_alist (alist); RETURN_UNGCPRO (result); } } static int -cursor_possible_dest_types (void) +resource_possible_dest_types (void) { return IMAGE_POINTER_MASK | IMAGE_COLOR_PIXMAP_MASK; } @@ -912,7 +948,7 @@ #define LR_SHARED 0x8000 #endif -static CONST resource_t resource_table[] = +static CONST resource_t bitmap_table[] = { /* bitmaps */ { "close", OBM_CLOSE }, @@ -941,6 +977,11 @@ { "check", OBM_CHECK }, { "cehckboxes", OBM_CHECKBOXES }, { "btncorners" , OBM_BTNCORNERS }, + {0} +}; + +static CONST resource_t cursor_table[] = +{ /* cursors */ { "normal", OCR_NORMAL }, { "ibeam", OCR_IBEAM }, @@ -955,6 +996,11 @@ { "sizeall", OCR_SIZEALL }, /* { "icour", OCR_ICOCUR }, */ { "no", OCR_NO }, + { 0 } +}; + +static CONST resource_t icon_table[] = +{ /* icons */ { "sample", OIC_SAMPLE }, { "hand", OIC_HAND }, @@ -965,9 +1011,11 @@ {0} }; -static int cursor_name_to_resource (Lisp_Object name) +static int resource_name_to_resource (Lisp_Object name, int type) { - CONST resource_t* res = resource_table; + CONST resource_t* res = (type == IMAGE_CURSOR ? cursor_table + : type == IMAGE_ICON ? icon_table + : bitmap_table); if (INTP (name)) { @@ -985,8 +1033,21 @@ return 0; } +static int +resource_symbol_to_type (Lisp_Object data) +{ + if (EQ (data, Qcursor)) + return IMAGE_CURSOR; + else if (EQ (data, Qicon)) + return IMAGE_ICON; + else if (EQ (data, Qbitmap)) + return IMAGE_BITMAP; + else + return 0; +} + static void -cursor_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, +resource_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, int dest_mask, Lisp_Object domain) { @@ -994,7 +1055,10 @@ unsigned int type = 0; HANDLE himage = NULL; LPCTSTR resid=0; + HINSTANCE hinst = NULL; + ICONINFO iconinfo; int iitype=0; + char* fname=0; Lisp_Object device = IMAGE_INSTANCE_DEVICE (ii); Lisp_Object file = find_keyword_in_vector (instantiator, Q_file); @@ -1003,27 +1067,12 @@ Lisp_Object resource_id = find_keyword_in_vector (instantiator, Q_resource_id); + xzero (iconinfo); + if (!DEVICE_MSWINDOWS_P (XDEVICE (device))) signal_simple_error ("Not an mswindows device", device); - assert (!NILP (resource_type) && !NILP (resource_id)); - - /* check the resource type */ - if (!SYMBOLP (resource_type)) - { - signal_simple_error ("invalid resource type", resource_type); - } - if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), - "bitmap")) - type = IMAGE_BITMAP; - else if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), - "cursor")) - type = IMAGE_CURSOR; - else if (!strcmp ((char *) string_data (XSYMBOL (resource_type)->name), - "icon")) - type = IMAGE_ICON; - else - signal_simple_error ("invalid resource type", resource_type); + type = resource_symbol_to_type (resource_type); if (dest_mask & IMAGE_POINTER_MASK && type == IMAGE_CURSOR) iitype = IMAGE_POINTER; @@ -1033,13 +1082,35 @@ incompatible_image_types (instantiator, dest_mask, IMAGE_COLOR_PIXMAP_MASK | IMAGE_POINTER_MASK); + /* mess with the keyword info we were provided with */ if (!NILP (file)) - resid = (LPCTSTR)XSTRING_DATA (file); - else if (!(resid = MAKEINTRESOURCE(cursor_name_to_resource (resource_id)))) - signal_simple_error ("invalid resource id", resource_id); + { +#ifdef __CYGWIN32__ + CYGWIN_WIN32_PATH (XSTRING_DATA (file), fname); +#else + /* #### FIXME someone who knows ... */ + fname = XSTRING_DATA (file); +#endif + + if (NILP (resource_id)) + resid = (LPCTSTR)fname; + else + { + hinst = LoadLibraryEx (fname, NULL, + LOAD_LIBRARY_AS_DATAFILE); + resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, + type)); + + if (!resid) + resid = XSTRING_DATA (resource_id); + } + } + else if (!(resid = MAKEINTRESOURCE (resource_name_to_resource (resource_id, + type)))) + signal_simple_error ("invalid resource identifier", resource_id); /* load the image */ - if (!(himage = LoadImage (NULL, resid, type, 0, 0, + if (!(himage = LoadImage (hinst, resid, type, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_SHARED | (!NILP (file) ? LR_LOADFROMFILE : 0)))) @@ -1047,25 +1118,56 @@ signal_simple_error ("cannot load image", instantiator); } + if (hinst) + FreeLibrary (hinst); + mswindows_initialize_dibitmap_image_instance (ii, iitype); IMAGE_INSTANCE_PIXMAP_FILENAME (ii) = file; - IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = (type==IMAGE_BITMAP ? himage : NULL); - IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = NULL; - IMAGE_INSTANCE_MSWINDOWS_ICON (ii) = (type!=IMAGE_BITMAP ? himage : NULL); IMAGE_INSTANCE_PIXMAP_WIDTH (ii) = - (type == IMAGE_CURSOR ? SM_CXCURSOR : SM_CXICON); + GetSystemMetrics (type == IMAGE_CURSOR ? SM_CXCURSOR : SM_CXICON); IMAGE_INSTANCE_PIXMAP_HEIGHT (ii) = - (type == IMAGE_CURSOR ? SM_CYCURSOR : SM_CYICON); - IMAGE_INSTANCE_PIXMAP_DEPTH (ii) = 0; - XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii), 0); - XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii), 0); + GetSystemMetrics (type == IMAGE_CURSOR ? SM_CYCURSOR : SM_CYICON); + IMAGE_INSTANCE_PIXMAP_DEPTH (ii) = 1; + + /* hey, we've got an icon type thing so we can reverse engineer the + bitmap and mask */ + if (type != IMAGE_BITMAP) + { + GetIconInfo (himage, &iconinfo); + IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = iconinfo.hbmColor; + IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = iconinfo.hbmMask; + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii), iconinfo.xHotspot); + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii), iconinfo.yHotspot); + IMAGE_INSTANCE_MSWINDOWS_ICON (ii) = himage; + } + else + { + IMAGE_INSTANCE_MSWINDOWS_ICON (ii) = NULL; + IMAGE_INSTANCE_MSWINDOWS_BITMAP (ii) = himage; + IMAGE_INSTANCE_MSWINDOWS_MASK (ii) = NULL; + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_X (ii), 0); + XSETINT (IMAGE_INSTANCE_PIXMAP_HOTSPOT_Y (ii), 0); + } } -void -check_valid_symbol (Lisp_Object data) +static void +check_valid_resource_symbol (Lisp_Object data) { CHECK_SYMBOL (data); + if (!resource_symbol_to_type (data)) + signal_simple_error ("invalid resource type", data); +} + +static void +check_valid_resource_id (Lisp_Object data) +{ + if (!resource_name_to_resource (data, IMAGE_CURSOR) + && + !resource_name_to_resource (data, IMAGE_ICON) + && + !resource_name_to_resource (data, IMAGE_BITMAP)) + signal_simple_error ("invalid resource identifier", data); } void @@ -1230,23 +1332,24 @@ IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); - INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (cursor, "cursor"); + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (resource, "resource"); - IIFORMAT_HAS_METHOD (cursor, validate); - IIFORMAT_HAS_METHOD (cursor, normalize); - IIFORMAT_HAS_METHOD (cursor, possible_dest_types); - IIFORMAT_HAS_METHOD (cursor, instantiate); + IIFORMAT_HAS_METHOD (resource, validate); + IIFORMAT_HAS_METHOD (resource, normalize); + IIFORMAT_HAS_METHOD (resource, possible_dest_types); + IIFORMAT_HAS_METHOD (resource, instantiate); - IIFORMAT_VALID_KEYWORD (cursor, Q_resource_type, check_valid_symbol); - IIFORMAT_VALID_KEYWORD (cursor, Q_resource_id, check_valid_string_or_int); - IIFORMAT_VALID_KEYWORD (cursor, Q_file, check_valid_string); + IIFORMAT_VALID_KEYWORD (resource, Q_resource_type, + check_valid_resource_symbol); + IIFORMAT_VALID_KEYWORD (resource, Q_resource_id, check_valid_resource_id); + IIFORMAT_VALID_KEYWORD (resource, Q_file, check_valid_string); } void vars_of_glyphs_mswindows (void) { Fprovide (Qbmp); - Fprovide (Qcursor); + Fprovide (Qresource); 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.
--- a/src/glyphs-msw.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/glyphs-msw.h Mon Aug 13 10:35:03 2007 +0200 @@ -63,6 +63,14 @@ mswindows_resize_dibitmap_instance (struct Lisp_Image_Instance* ii, struct frame* f, int newx, int newy); +HBITMAP +mswindows_create_resized_bitmap (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy); +HBITMAP +mswindows_create_resized_mask (struct Lisp_Image_Instance* ii, + struct frame* f, + int newx, int newy); void mswindows_initialize_image_instance_icon (struct Lisp_Image_Instance* image, int cursor);
--- a/src/gui-x.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/gui-x.c Mon Aug 13 10:35:03 2007 +0200 @@ -36,7 +36,6 @@ #include "frame.h" #include "gui.h" #include "opaque.h" -#include "bytecode.h" /* for struct Lisp_Compiled_Function */ #ifdef HAVE_POPUPS Lisp_Object Qmenu_no_selection_hook; @@ -259,31 +258,8 @@ fn = Qrun_hooks; arg = Qmenu_no_selection_hook; } - else if (SYMBOLP (data) - /* poor man's commandp - #### should abstract it out! */ - || (COMPILED_FUNCTIONP (data) - && XCOMPILED_FUNCTION (data)->flags.interactivep) - || (EQ (XCAR (data), Qlambda) - && !NILP (Fassq (Qinteractive, Fcdr (Fcdr (data)))))) - { - fn = Qcall_interactively; - arg = data; - } - else if (CONSP (data)) - { - fn = Qeval; - arg = data; - } else - { - fn = Qeval; - arg = list3 (Qsignal, - list2 (Qquote, Qerror), - list2 (Qquote, list2 (build_translated_string - ("illegal popup callback"), - data))); - } + get_callback (data, &fn, &arg); /* This is the timestamp used for asserting focus so we need to get an up-to-date value event if no events has been dispatched to emacs
--- a/src/gui.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/gui.c Mon Aug 13 10:35:03 2007 +0200 @@ -26,6 +26,7 @@ #include <config.h> #include "lisp.h" #include "gui.h" +#include "bytecode.h" /* for struct Lisp_Compiled_Function */ Lisp_Object Q_active, Q_suffix, Q_keys, Q_style, Q_selected; Lisp_Object Q_filter, Q_config, Q_included; @@ -63,6 +64,36 @@ return (*p == '!' || *p == ':' || *p == '\0'); } +/* Massage DATA to find the correct function and argument. Used by + popup_selection_callback() and the msw code. */ +void +get_callback (Lisp_Object data, Lisp_Object *fn, Lisp_Object *arg) +{ + if (SYMBOLP (data) + || (COMPILED_FUNCTIONP (data) + && XCOMPILED_FUNCTION (data)->flags.interactivep) + || (EQ (XCAR (data), Qlambda) + && !NILP (Fassq (Qinteractive, Fcdr (Fcdr (data)))))) + { + *fn = Qcall_interactively; + *arg = data; + } + else if (CONSP (data)) + { + *fn = Qeval; + *arg = data; + } + else + { + *fn = Qeval; + *arg = list3 (Qsignal, + list2 (Qquote, Qerror), + list2 (Qquote, list2 (build_translated_string + ("illegal callback"), + data))); + } +} + /* * Initialize the gui_item structure by setting all (GC-protected) * fields to their default values. The defaults are t for :active and
--- a/src/gui.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/gui.h Mon Aug 13 10:35:03 2007 +0200 @@ -29,6 +29,8 @@ #ifdef HAVE_POPUPS int separator_string_p (CONST char *s); +void get_callback (Lisp_Object, Lisp_Object *, Lisp_Object *); + extern int popup_up_p; /* This structure describes gui button,
--- a/src/inline.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/inline.c Mon Aug 13 10:35:03 2007 +0200 @@ -47,7 +47,6 @@ #include "chartab.h" #include "console.h" #include "device.h" -#include "eldap.h" #include "elhash.h" #include "events.h" #include "extents.h" @@ -64,6 +63,10 @@ #include "syntax.h" #include "window.h" +#ifdef HAVE_LDAP +#include "eldap.h" +#endif + #ifdef HAVE_TOOLBARS #include "toolbar.h" #endif @@ -72,7 +75,6 @@ #include "database.h" #endif - #ifdef HAVE_X_WINDOWS #include "glyphs-x.h" #include "gui-x.h" @@ -82,9 +84,6 @@ #include "file-coding.h" #endif - #ifdef TOOLTALK -#include TT_C_H_PATH #include "tooltalk.h" #endif -
--- a/src/insdel.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/insdel.c Mon Aug 13 10:35:03 2007 +0200 @@ -2572,7 +2572,7 @@ Charcount numdel; Bytind bi_from, bi_to; Bytecount bc_numdel; - int shortage; + EMACS_INT shortage; Lisp_Object bufobj; /* Defensive steps just in case a buffer gets deleted and a calling
--- a/src/line-number.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/line-number.c Mon Aug 13 10:35:03 2007 +0200 @@ -189,7 +189,7 @@ invalidate_line_number_cache (b, from); else { - int shortage; + EMACS_INT shortage; scan_buffer (b, '\n', from, to, 1, &shortage, 0); if (!shortage) invalidate_line_number_cache (b, from); @@ -298,8 +298,7 @@ /* An EMACS_MAXINT would be cool to have. */ #define LOTS 999999999 - scan_buffer (b, '\n', beg, pos, pos > beg ? LOTS : -LOTS, - (int *)&shortage, 0); + scan_buffer (b, '\n', beg, pos, pos > beg ? LOTS : -LOTS, &shortage, 0); line = LOTS - shortage; if (beg > pos)
--- a/src/lisp.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/lisp.h Mon Aug 13 10:35:03 2007 +0200 @@ -2391,7 +2391,7 @@ /* Defined in search.c */ struct re_pattern_buffer; struct re_registers; -Bufpos scan_buffer (struct buffer *, Emchar, Bufpos, Bufpos, int, int *, int); +Bufpos scan_buffer (struct buffer *, Emchar, Bufpos, Bufpos, EMACS_INT, EMACS_INT *, int); Bufpos find_next_newline (struct buffer *, Bufpos, int); Bufpos find_next_newline_no_quit (struct buffer *, Bufpos, int); Bytind bi_find_next_newline_no_quit (struct buffer *, Bytind, int); @@ -2704,7 +2704,7 @@ extern Lisp_Object Q_style, Qactually_requested, Qafter, Qall, Qand; extern Lisp_Object Qarith_error, Qarrayp, Qassoc, Qat, Qautodetect, Qautoload; extern Lisp_Object Qbackground, Qbackground_pixmap, Qbad_variable, Qbefore; -extern Lisp_Object Qbeginning_of_buffer, Qbig5, Qbinary, Qbitp, Qblinking; +extern Lisp_Object Qbeginning_of_buffer, Qbig5, Qbinary, Qbitmap, Qbitp, Qblinking; extern Lisp_Object Qboolean, Qbottom, Qbuffer, Qbuffer_file_coding_system; extern Lisp_Object Qbuffer_glyph_p, Qbuffer_live_p, Qbuffer_read_only, Qbutton; extern Lisp_Object Qbyte_code, Qcall_interactively, Qcategory; @@ -2715,7 +2715,7 @@ extern Lisp_Object Qcoding_system_p, Qcolor, Qcolor_pixmap_image_instance_p; extern Lisp_Object Qcolumns, Qcommand, Qcommandp, Qcompletion_ignore_case; extern Lisp_Object Qconsole, Qconsole_live_p, Qconst_specifier, Qcr, Qcritical; -extern Lisp_Object Qcrlf, Qctext, Qcurrent_menubar; +extern Lisp_Object Qcrlf, Qctext, Qcurrent_menubar, Qcursor; extern Lisp_Object Qcyclic_variable_indirection, Qdata, Qdead, Qdecode; extern Lisp_Object Qdefault, Qdefun, Qdelete, Qdelq, Qdevice, Qdevice_live_p; extern Lisp_Object Qdim, Qdimension, Qdisabled, Qdisplay, Qdisplay_table; @@ -2728,7 +2728,7 @@ extern Lisp_Object Qfont, Qforce_g0_on_output, Qforce_g1_on_output; extern Lisp_Object Qforce_g2_on_output, Qforce_g3_on_output, Qforeground; extern Lisp_Object Qformat, Qframe, Qframe_live_p, Qfunction, Qgap_overhead; -extern Lisp_Object Qgeneric, Qgeometry, Qglobal, Qheight, Qhighlight; +extern Lisp_Object Qgeneric, Qgeometry, Qglobal, Qheight, Qhighlight, Qicon; extern Lisp_Object Qicon_glyph_p, Qid, Qidentity, Qimage, Qinfo, Qinherit; extern Lisp_Object Qinhibit_quit, Qinhibit_read_only; extern Lisp_Object Qinput_charset_conversion, Qinteger;
--- a/src/m/sparc.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/m/sparc.h Mon Aug 13 10:35:03 2007 +0200 @@ -50,7 +50,7 @@ #define SEGMENT_MASK (SEGSIZ - 1) -#if ! defined (__NetBSD__) && ! defined (__linux__) +#if ! defined (__NetBSD__) && ! defined (__linux__) && !defined (__OpenBSD__) /* This really belongs in s/sun.h. */ /* Data type of load average, as read out of kmem. */ @@ -71,4 +71,4 @@ #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) -#endif /* not Linux or NetBSD */ +#endif /* not Linux or NetBSD or OpenBSD */
--- a/src/malloc.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/malloc.c Mon Aug 13 10:35:03 2007 +0200 @@ -186,11 +186,11 @@ #ifndef HPUX /* not sure where this for NetBSD should really go and it probably applies to other systems */ -#if !defined(__NetBSD__) && !defined(__bsdi__) +#if !defined(__NetBSD__) && !defined(__bsdi__) && !defined(__OpenBSD__) extern void *sbrk (ptrdiff_t); #else extern char *sbrk (); -#endif /* __NetBSD__ */ +#endif /* __NetBSD__ or __OpenBSD__ */ #endif /* HPUX */ #else extern void *sbrk ();
--- a/src/mem-limits.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/mem-limits.h Mon Aug 13 10:35:03 2007 +0200 @@ -61,7 +61,7 @@ #include <sys/resource.h> #endif -#if defined(__bsdi__) || defined(__NetBSD__) || defined(__linux__) +#if defined(__bsdi__) || defined(__NetBSD__) || defined(__linux__) || defined(__OpenBSD__) #if defined(__linux__) && defined (powerpc) /*Added by Fukui*/ #else /*Added by Fukui*/ #define BSD4_2
--- a/src/menubar-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/menubar-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -615,40 +615,33 @@ mswindows_handle_wm_command (struct frame* f, WORD id) { /* Try to map the command id through the proper hash table */ - Lisp_Object command, funcsym, frame; + Lisp_Object data, fn, arg, frame; struct gcpro gcpro1; - command = Fgethash (make_int (id), current_hashtable, Qunbound); - if (UNBOUNDP (command)) + data = Fgethash (make_int (id), current_hashtable, Qunbound); + if (UNBOUNDP (data)) { menu_cleanup (f); return Qnil; } - /* Need to gcpro because the hashtable may get destroyed - by menu_cleanup(), and will not gcpro the command - any more */ - GCPRO1 (command); + /* Need to gcpro because the hashtable may get destroyed by + menu_cleanup(), and will not gcpro the data any more */ + GCPRO1 (data); menu_cleanup (f); /* Ok, this is our one. Enqueue it. */ - if (SYMBOLP (command)) - funcsym = Qcall_interactively; - else if (CONSP (command)) - funcsym = Qeval; - else - signal_simple_error ("Callback must be either evallable form or a symbol", - command); + get_callback (data, &fn, &arg); XSETFRAME (frame, f); - enqueue_misc_user_event (frame, funcsym, command); + enqueue_misc_user_event (frame, fn, arg); /* Needs good bump also, for WM_COMMAND may have been dispatched from mswindows_need_event, which will block again despite new command event has arrived */ mswindows_bump_queue (); - UNGCPRO; /* command */ + UNGCPRO; /* data */ return Qt; }
--- a/src/objects-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/objects-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -815,7 +815,6 @@ { c->data = xnew (struct mswindows_color_instance_data); COLOR_INSTANCE_MSWINDOWS_COLOR (c) = color; - COLOR_INSTANCE_MSWINDOWS_BRUSH (c) = CreateSolidBrush (color); return 1; } maybe_signal_simple_error ("unrecognized color", name, Qcolor, errb); @@ -847,7 +846,6 @@ { if (c->data) { - DeleteObject (COLOR_INSTANCE_MSWINDOWS_BRUSH (c)); xfree (c->data); c->data = 0; } @@ -913,7 +911,7 @@ * mswindows fonts look like: * fontname[:[weight ][style][:pointsize[:effects[:charset]]]] * The font name field shouldn't be empty. - * XXX Windows will substitute a default (monospace) font if the font name + * #### Windows will substitute a default (monospace) font if the font name * specifies a non-existent font. We don't catch this. * effects and charset are currently ignored. * @@ -1005,7 +1003,7 @@ if (style) { - /* XXX what about oblique? */ + /* #### what about oblique? */ if (stricmp (style,"italic") == 0) logfont.lfItalic = TRUE; else if (stricmp (style,"roman") == 0) @@ -1028,7 +1026,7 @@ logfont.lfItalic = FALSE; } - /* XXX Should we reject strings that don't specify a size? */ + /* #### Should we reject strings that don't specify a size? */ if (fields < 3 || !strlen(points) || (pt=atoi(points))==0) pt = 10; @@ -1039,13 +1037,55 @@ /* Default to monospaced if the specified font name is not found */ logfont.lfPitchAndFamily = FF_MODERN; - /* XXX: FIXME? */ + /* ####: FIXME? */ logfont.lfUnderline = FALSE; logfont.lfStrikeOut = FALSE; - /* XXX: FIXME: we ignore charset */ - logfont.lfCharSet = DEFAULT_CHARSET; + +#define FROB(cs) \ + else if (stricmp (charset, #cs) == 0) \ + logfont.lfCharSet = cs##_CHARSET + + /* Charset aliases. Hangeul = Hangul is defined in windows.h. + We do not use the name "russian", only "cyrillic", as it is + the common name of this charset, used in other languages + than Russian. */ +#define CYRILLIC_CHARSET RUSSIAN_CHARSET +#define CENTRALEUROPEAN_CHARSET EASTEUROPE_CHARSET + if (fields > 4) + { + if (charset[0] == '\0' || stricmp (charset, "ansi") == 0) + logfont.lfCharSet = ANSI_CHARSET; + FROB (DEFAULT); /* #### Should we alow this? */ + FROB (SYMBOL); + FROB (SHIFTJIS); + FROB (GB2312); + FROB (HANGEUL); + FROB (CHINESEBIG5); + FROB (OEM); + FROB (JOHAB); + FROB (HEBREW); + FROB (ARABIC); + FROB (GREEK); + FROB (TURKISH); + FROB (THAI); + FROB (EASTEUROPE); + FROB (CENTRALEUROPEAN); + FROB (CYRILLIC); + FROB (MAC); + FROB (BALTIC); + else + { + maybe_signal_simple_error ("Invalid charset name", f->name, Qfont, errb); + return 0; + } + } + else + logfont.lfCharSet = ANSI_CHARSET; + +#undef FROB + /* Misc crud */ logfont.lfEscapement = logfont.lfOrientation = 0; #if 1 @@ -1111,7 +1151,7 @@ static Lisp_Object mswindows_list_fonts (Lisp_Object pattern, Lisp_Object device) { - /* XXX Implement me */ + /* #### Implement me */ return list1 (build_string ("Courier New:Regular:10")); } @@ -1122,7 +1162,7 @@ CONST Bufbyte *nonreloc, Lisp_Object reloc, Bytecount offset, Bytecount length) { - /* XXX Implement me */ + /* #### Implement me */ if (UNBOUNDP (charset)) return 1; @@ -1135,7 +1175,7 @@ mswindows_find_charset_font (Lisp_Object device, Lisp_Object font, Lisp_Object charset) { - /* XXX Implement me */ + /* #### Implement me */ return build_string ("Courier New:Regular:10"); }
--- a/src/objects-msw.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/objects-msw.h Mon Aug 13 10:35:03 2007 +0200 @@ -39,15 +39,12 @@ struct mswindows_color_instance_data { COLORREF color; - HBRUSH brush; }; #define MSWINDOWS_COLOR_INSTANCE_DATA(c) \ ((struct mswindows_color_instance_data *) (c)->data) #define COLOR_INSTANCE_MSWINDOWS_COLOR(c) \ (MSWINDOWS_COLOR_INSTANCE_DATA (c)->color) -#define COLOR_INSTANCE_MSWINDOWS_BRUSH(c) \ - (MSWINDOWS_COLOR_INSTANCE_DATA (c)->brush) #define FONT_INSTANCE_MSWINDOWS_HFONT(c) ((HFONT) (c)->data)
--- a/src/process-nt.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/process-nt.c Mon Aug 13 10:35:03 2007 +0200 @@ -39,6 +39,9 @@ #include <winsock.h> #endif +/* Bound by winnt.el */ +Lisp_Object Qnt_quote_process_args; + /* Implemenation-specific data. Pointed to by Lisp_Process->process_data */ struct nt_process_data { @@ -364,7 +367,7 @@ { if (signo != SIGKILL && signo != SIGTERM && signo != SIGQUIT && signo != SIGINT) - error ("Signal number %d not supported", signo); + signal_simple_error ("Signal number not supported", make_int (signo)); } /*-----------------------------------------------------------------------*/ @@ -469,30 +472,32 @@ hmyslurp = htmp; } - /* Convert an argv vector into Win32 style command line. - - #### This works only for cmd, and not for cygwin bash. Perhaps, - instead of ad-hoc fiddling with different methods for quoting - process arguments in ntproc.c (disgust shudder), this must call a - smart lisp routine. The code here will be a fallback, if the - lisp function is not specified. - */ + /* Convert an argv vector into Win32 style command line by a call to + lisp function `nt-quote-process-args' which see (in winnt.el)*/ { char** thisarg; - size_t size = 1; + Lisp_Object args_or_ret = Qnil; + struct gcpro gcpro1; + + GCPRO1 (args_or_ret); for (thisarg = argv; *thisarg; ++thisarg) - size += strlen (*thisarg) + 1; + args_or_ret = Fcons (build_string (*thisarg), args_or_ret); + args_or_ret = Fnreverse (args_or_ret); - command_line = alloca_array (char, size); - *command_line = 0; + args_or_ret = call1 (Qnt_quote_process_args, args_or_ret); - for (thisarg = argv; *thisarg; ++thisarg) - { - if (thisarg != argv) - strcat (command_line, " "); - strcat (command_line, *thisarg); - } + if (!STRINGP (args_or_ret)) + /* Luser wrote his/her own clever version */ + error ("Bogus return value from `nt-quote-process-args'"); + + command_line = alloca_array (char, (strlen (argv[0]) + + XSTRING_LENGTH (args_or_ret) + 2)); + strcpy (command_line, argv[0]); + strcat (command_line, " "); + strcat (command_line, XSTRING_DATA (args_or_ret)); + + UNGCPRO; /* args_or_ret */ } /* Create process */ @@ -626,6 +631,7 @@ unwritten data. */ writeret = Lstream_write (XLSTREAM (DATA_OUTSTREAM(p)), chunkbuf, chunklen); + Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p))); if (writeret < 0) { p->status_symbol = Qexit; @@ -638,15 +644,18 @@ XSTRING_DATA (p->name)); } - while (Lstream_was_blocked_p (XLSTREAM (p->pipe_outstream))) - { - /* Buffer is full. Wait, accepting input; that may allow - the program to finish doing output and read more. */ - Faccept_process_output (Qnil, make_int (1), Qnil); - Lstream_flush (XLSTREAM (p->pipe_outstream)); - } + { + int wait_ms = 25; + while (Lstream_was_blocked_p (XLSTREAM (p->pipe_outstream))) + { + /* Buffer is full. Wait, accepting input; that may allow + the program to finish doing output and read more. */ + Faccept_process_output (Qnil, Qzero, make_int (wait_ms)); + Lstream_flush (XLSTREAM (p->pipe_outstream)); + wait_ms = min (1000, 2 * wait_ms); + } + } } - Lstream_flush (XLSTREAM (DATA_OUTSTREAM(p))); } /* @@ -927,6 +936,12 @@ } void +syms_of_process_nt (void) +{ + defsymbol (&Qnt_quote_process_args, "nt-quote-process-args"); +} + +void vars_of_process_nt (void) { }
--- a/src/redisplay-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/redisplay-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -1335,7 +1335,6 @@ Lisp_Object background_pixmap = Qunbound; Lisp_Object temp; RECT rect = { x, y, x+width, y+height }; - HBRUSH brush; if (!(width && height)) /* We often seem to get called with width==0 */ return; @@ -1396,7 +1395,11 @@ if (XIMAGE_INSTANCE_PIXMAP_DEPTH (background_pixmap) == 0) { + /* is this expensive? - I haven't seen it used as yet. */ + HBRUSH brush = CreateSolidBrush + (COLOR_INSTANCE_MSWINDOWS_COLOR (XCOLOR_INSTANCE (bcolor))); FillRect (FRAME_MSWINDOWS_DC(f), &rect, brush); + DeleteObject (brush); } else {
--- a/src/s/aix3-1.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/s/aix3-1.h Mon Aug 13 10:35:03 2007 +0200 @@ -138,3 +138,7 @@ /* AIX 3.1 has the HFT features. */ #define AIXHFT + +/* For unexaix.c. */ +#define ALIGN_DATA_RELOC +
--- a/src/s/aix4-2.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/s/aix4-2.h Mon Aug 13 10:35:03 2007 +0200 @@ -1,1 +1,4 @@ #include "aix4-1.h" + +#undef ALIGN_DATA_RELOC +
--- a/src/s/freebsd.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/s/freebsd.h Mon Aug 13 10:35:03 2007 +0200 @@ -39,12 +39,12 @@ #endif #include <sys/param.h> /* Kludge to work around setlocale(LC_ALL,...) not working after 01/1997 */ -#if __FreeBSD_version >= 199701 +#if __FreeBSD_version >= 199701 && __FreeBSD_version < 226000 #ifdef HAVE_X_WINDOWS #include <X11/Xlocale.h> #define setlocale(locale_category, locale_spec) setlocale(LC_CTYPE, locale_spec) #endif /* HAVE X */ -#endif /* FreeBSD >= 199701 */ +#endif /* FreeBSD >= 199701 && < 226000 */ #endif /* C code */ #define LIBS_TERMCAP "-ltermcap"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/s/openbsd.h Mon Aug 13 10:35:03 2007 +0200 @@ -0,0 +1,12 @@ +/* s/ file for openbsd systems. */ + +/* Get most of the stuff from bsd4.3 */ +#include "bsd4-3.h" + +/* OpenBSD alpha has no shared libs yet. */ +#if defined (__alpha__) && !defined (__ELF__) +#define NO_SHARED_LIBS +#endif + +/* Get the rest of the stuff from NetBSD */ +#include "netbsd.h"
--- a/src/scrollbar-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/scrollbar-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -152,8 +152,6 @@ int active, int size, struct scrollbar_instance *sb) { - struct frame *f = XFRAME (w->frame); - if (SCROLLBAR_MSW_SIZE (sb) != size) { SCROLLBAR_MSW_SIZE (sb) = size;
--- a/src/search.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/search.c Mon Aug 13 10:35:03 2007 +0200 @@ -549,7 +549,7 @@ static Bytind bi_scan_buffer (struct buffer *buf, Emchar target, Bytind st, Bytind en, - int count, int *shortage, int allow_quit) + EMACS_INT count, EMACS_INT *shortage, int allow_quit) { /* This function has been Mule-ized. */ Bytind lim = en > 0 ? en : @@ -668,7 +668,7 @@ Bufpos scan_buffer (struct buffer *buf, Emchar target, Bufpos start, Bufpos end, - int count, int *shortage, int allow_quit) + EMACS_INT count, EMACS_INT *shortage, int allow_quit) { Bytind bi_retval; Bytind bi_start, bi_end; @@ -686,19 +686,19 @@ Bytind bi_find_next_newline_no_quit (struct buffer *buf, Bytind from, int cnt) { - return bi_scan_buffer (buf, '\n', from, 0, cnt, (int *) 0, 0); + return bi_scan_buffer (buf, '\n', from, 0, cnt, 0, 0); } Bufpos find_next_newline_no_quit (struct buffer *buf, Bufpos from, int cnt) { - return scan_buffer (buf, '\n', from, 0, cnt, (int *) 0, 0); + return scan_buffer (buf, '\n', from, 0, cnt, 0, 0); } Bufpos find_next_newline (struct buffer *buf, Bufpos from, int cnt) { - return scan_buffer (buf, '\n', from, 0, cnt, (int *) 0, 1); + return scan_buffer (buf, '\n', from, 0, cnt, 0, 1); } /* Like find_next_newline, but returns position before the newline, @@ -707,7 +707,7 @@ Bufpos find_before_next_newline (struct buffer *buf, Bufpos from, Bufpos to, int cnt) { - int shortage; + EMACS_INT shortage; Bufpos pos = scan_buffer (buf, '\n', from, to, cnt, &shortage, 1); if (shortage == 0) @@ -746,7 +746,7 @@ p = XSTRING_DATA (string); pend = p + XSTRING_LENGTH (string); - xzero (fastmap); + memset (fastmap, 0, sizeof (fastmap)); Fclear_range_table (Vskip_chars_range_table);
--- a/src/select-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/select-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -144,6 +144,22 @@ return ret; } +DEFUN ("mswindows-selection-exists-p", Fmswindows_selection_exists_p, 0, 0, 0, /* +Whether there is an mswindows selection. +*/ + ()) +{ + return IsClipboardFormatAvailable (CF_TEXT) ? Qt : Qnil; +} + +DEFUN ("mswindows-delete-selection", Fmswindows_delete_selection, 0, 0, 0, /* +Whether there is an mswindows selection. +*/ + ()) +{ + return EmptyClipboard () ? Qt : Qnil; +} + /************************************************************************/ /* initialization */ @@ -154,6 +170,8 @@ { DEFSUBR (Fmswindows_set_clipboard); DEFSUBR (Fmswindows_get_clipboard); + DEFSUBR (Fmswindows_selection_exists_p); + DEFSUBR (Fmswindows_delete_selection); } void
--- a/src/sheap.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/sheap.c Mon Aug 13 10:35:03 2007 +0200 @@ -83,10 +83,15 @@ printf( "\nRequested %d bytes, static heap exhausted! base is %p, current ptr -is %p. You have exhausted the static heap, if you want to run temacs, -adjust sheap-adjust.h to 0 or a +ve number. If you are dumping then -STATIC_HEAP_SLOP is too small. Generally you should *not* try to run -temacs with a static heap, you should dump first.\n", size, +is %p. You have exhausted the static heap. + +If you are simply trying to compile, remove sheap-adjust.h and +puresize-adjust.h and recompile from the top level. If this doesn't +work then STATIC_HEAP_SLOP (defined in this file) is too small. + +If you want to run temacs, change SHEAP_ADJUSTMENT in sheap-adjust.h +to 0 or a +ve number. Generally you should *not* try to run temacs +with a static heap, you should dump first.\n", size, static_heap_base, static_heap_ptr); exit(-1);
--- a/src/sound.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/sound.c Mon Aug 13 10:35:03 2007 +0200 @@ -601,6 +601,9 @@ Vnative_sound_only_on_console = Qt; #if defined (HAVE_NATIVE_SOUND) && defined (hp9000s800) - vars_of_hpplay (); + { + void vars_of_hpplay (void); + vars_of_hpplay (); + } #endif }
--- a/src/symsinit.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/symsinit.h Mon Aug 13 10:35:03 2007 +0200 @@ -119,6 +119,7 @@ void syms_of_objects (void); void syms_of_print (void); void syms_of_process (void); +void syms_of_process_nt (void); void syms_of_profile (void); void syms_of_ralloc (void); void syms_of_rangetab (void); @@ -232,6 +233,7 @@ void vars_of_device_x (void); void vars_of_dialog (void); void vars_of_dialog_x (void); +void vars_of_dialog_mswindows (void); void vars_of_dired (void); void vars_of_doc (void); void vars_of_dragdrop (void);
--- a/src/sysdep.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/sysdep.c Mon Aug 13 10:35:03 2007 +0200 @@ -1009,7 +1009,6 @@ #if defined (FIOSSAIOOWN) { /* HPUX stuff */ - int owner = getpid (); int ioctl_status; if (DEVICE_TTY_P (d)) {
--- a/src/toolbar-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/toolbar-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -40,7 +40,6 @@ #include "glyphs-msw.h" #include "objects-msw.h" -/* Why did Kirill choose this range ? */ #define TOOLBAR_ITEM_ID_MIN 0x4000 #define TOOLBAR_ITEM_ID_MAX 0x7FFF #define TOOLBAR_ITEM_ID_BITS(x) (((x) & 0x3FFF) | 0x4000) @@ -150,7 +149,7 @@ window = FRAME_LAST_NONMINIBUF_WINDOW (f); w = XWINDOW (window); - toolbarwnd = TOOLBAR_HANDLE(f,pos); + toolbarwnd = TOOLBAR_HANDLE (f,pos); /* set button sizes based on bar size */ if (vert) @@ -166,7 +165,7 @@ bmwidth = bmheight = width - (border_width + shadow_thickness) * 2; } - button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + button = FRAME_TOOLBAR_BUTTONS (f, pos); /* First loop over all of the buttons to determine how many there are. This loop will also make sure that all instances are @@ -174,10 +173,12 @@ immediately. */ while (!NILP (button)) { + struct toolbar_button *tb = XTOOLBAR_BUTTON (button); - checksum = HASH3 (checksum, + checksum = HASH4 (checksum, internal_hash (get_toolbar_button_glyph(w, tb), 0), - internal_hash (tb->callback, 0)); + internal_hash (tb->callback, 0), + width); button = tb->next; nbuttons++; } @@ -192,12 +193,13 @@ /* build up the data required by win32 fns. */ button_tbl = xnew_array_and_zero (TBBUTTON, nbuttons); - button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + button = FRAME_TOOLBAR_BUTTONS (f, pos); tbbutton = button_tbl; while (!NILP (button)) { struct toolbar_button *tb = XTOOLBAR_BUTTON (button); + HBITMAP bitmap=NULL, mask=NULL; tbbutton->idCommand = allocate_toolbar_item_id (f, tb, pos); tbbutton->fsState=tb->enabled ? TBSTATE_ENABLED @@ -230,18 +232,21 @@ /* we are going to honour the toolbar settings and resize the bitmaps accordingly */ - if (IMAGE_INSTANCE_PIXMAP_WIDTH (p) > bmwidth + if (IMAGE_INSTANCE_PIXMAP_WIDTH (p) != bmwidth || - IMAGE_INSTANCE_PIXMAP_HEIGHT (p) > bmheight) + IMAGE_INSTANCE_PIXMAP_HEIGHT (p) != bmheight) { - if (!mswindows_resize_dibitmap_instance - (p, f, bmwidth, bmheight)) + if (! (bitmap = mswindows_create_resized_bitmap + (p, f, bmwidth, bmheight))) { xfree (button_tbl); if (ilist) ImageList_Destroy (ilist); signal_simple_error ("couldn't resize pixmap", instance); } + /* we don't care if the mask fails */ + mask = mswindows_create_resized_mask + (p, f, bmwidth, bmheight); } else { @@ -250,32 +255,27 @@ } /* need to build an image list for the bitmaps */ - if (!ilist) + if (!ilist && !(ilist = ImageList_Create + ( bmwidth, bmheight, + ILC_COLOR24, nbuttons, nbuttons * 2 ))) { - if (!(ilist = ImageList_Create - ( IMAGE_INSTANCE_PIXMAP_WIDTH (p), - IMAGE_INSTANCE_PIXMAP_HEIGHT (p), - ILC_COLOR24, - nbuttons, - nbuttons * 2 ))) - { - xfree (button_tbl); - signal_simple_error ("couldn't create image list", - instance); - } + xfree (button_tbl); + signal_simple_error ("couldn't create image list", + instance); } - + /* add a bitmap to the list */ if ((tbbutton->iBitmap = - ImageList_Add (ilist, - IMAGE_INSTANCE_MSWINDOWS_BITMAP (p), - IMAGE_INSTANCE_MSWINDOWS_MASK (p))) < 0) + ImageList_Add (ilist, bitmap, mask)) < 0) { xfree (button_tbl); if (ilist) ImageList_Destroy (ilist); signal_simple_error ("image list creation failed", instance); } + /* we're done with these now */ + DeleteObject (bitmap); + DeleteObject (mask); } } @@ -286,17 +286,18 @@ button = tb->next; } - button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + button = FRAME_TOOLBAR_BUTTONS (f, pos); - /* create the toolbar window? */ + /* create the toolbar window? */ if (!toolbarwnd && (toolbarwnd = CreateWindowEx ( WS_EX_WINDOWEDGE, TOOLBARCLASSNAME, NULL, - WS_CHILD | WS_VISIBLE | WS_DLGFRAME | TBSTYLE_TOOLTIPS - | CCS_NORESIZE | CCS_NOPARENTALIGN | CCS_NODIVIDER, + WS_CHILD | WS_VISIBLE | WS_DLGFRAME + | TBSTYLE_TOOLTIPS | CCS_NORESIZE + | CCS_NOPARENTALIGN | CCS_NODIVIDER, x, y, bar_width, bar_height, FRAME_MSWINDOWS_HANDLE (f), (HMENU)(TOOLBAR_ID_BIAS + pos), @@ -307,6 +308,7 @@ ImageList_Destroy (ilist); error ("couldn't create toolbar"); } + #if 0 SendMessage (toolbarwnd, TB_SETPADDING, 0, MAKELPARAM(border_width, border_width)); @@ -322,10 +324,13 @@ /* set the size of buttons */ SendMessage (toolbarwnd, TB_SETBUTTONSIZE, 0, (LPARAM)MAKELONG (width, height)); - + /* set the size of bitmaps */ SendMessage (toolbarwnd, TB_SETBITMAPSIZE, 0, (LPARAM)MAKELONG (bmwidth, bmheight)); + + /* tell it we've done it */ + SendMessage (toolbarwnd, TB_AUTOSIZE, 0, 0); /* finally populate with images */ if (!SendMessage (toolbarwnd, TB_ADDBUTTONS, @@ -385,7 +390,7 @@ { case TOP_TOOLBAR: bar_x -= 2; bar_y--; - bar_width += 2; bar_height++; + bar_width++; bar_height++; break; case LEFT_TOOLBAR: bar_x -= 2; bar_y--; @@ -474,21 +479,8 @@ /* map toolbar hwnd to pos*/ int mswindows_find_toolbar_pos(struct frame* f, HWND ctrl) { -#if 1 int id = GetDlgCtrlID(ctrl); return id ? id - TOOLBAR_ID_BIAS : -1; -#else - if (GetDlgItem(FRAME_MSWINDOWS_HANDLE(f), TOOLBAR_ID_BIAS) == ctrl) - return 0; - else if (GetDlgItem(FRAME_MSWINDOWS_HANDLE(f), TOOLBAR_ID_BIAS +1) == ctrl) - return 1; - else if (GetDlgItem(FRAME_MSWINDOWS_HANDLE(f), TOOLBAR_ID_BIAS +2) == ctrl) - return 2; - else if (GetDlgItem(FRAME_MSWINDOWS_HANDLE(f), TOOLBAR_ID_BIAS +3) == ctrl) - return 3; - else - assert(0); -#endif } Lisp_Object @@ -515,43 +507,30 @@ mswindows_handle_toolbar_wm_command (struct frame* f, HWND ctrl, WORD id) { /* Try to map the command id through the proper hash table */ - Lisp_Object button, command, funcsym, frame; - struct gcpro gcpro1; - + Lisp_Object button, data, fn, arg, frame; + button = Fgethash (make_int (id), FRAME_MSWINDOWS_TOOLBAR_HASHTABLE (f), Qnil); if (NILP (button)) return Qnil; - command = XTOOLBAR_BUTTON(button)->callback; - - if (UNBOUNDP(command)) + data = XTOOLBAR_BUTTON (button)->callback; + + /* #### ? */ + if (UNBOUNDP (data)) return Qnil; - - /* Need to gcpro because the hashtable may get destroyed - by menu_cleanup(), and will not gcpro the command - any more */ - GCPRO1 (command); - + /* Ok, this is our one. Enqueue it. */ - if (SYMBOLP (command)) - funcsym = Qcall_interactively; - else if (CONSP (command)) - funcsym = Qeval; - else - signal_simple_error ("Callback must be either evallable form or a symbol", - command); + get_callback (data, &fn, &arg); XSETFRAME (frame, f); - enqueue_misc_user_event (frame, funcsym, command); + enqueue_misc_user_event (frame, fn, arg); /* Needs good bump also, for WM_COMMAND may have been dispatched from mswindows_need_event, which will block again despite new command event has arrived */ mswindows_bump_queue (); - - UNGCPRO; /* command */ return Qt; }
--- a/src/toolbar-x.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/toolbar-x.c Mon Aug 13 10:35:03 2007 +0200 @@ -438,7 +438,7 @@ x += border_width; } - button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + button = FRAME_TOOLBAR_BUTTONS (f, pos); right_size = 0; /* First loop over all of the buttons to determine how much room we @@ -456,7 +456,7 @@ button = tb->next; } - button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + button = FRAME_TOOLBAR_BUTTONS (f, pos); /* Loop over the left buttons, updating and outputting them. */ X_OUTPUT_BUTTONS_LOOP (1); @@ -579,7 +579,7 @@ int width, int height) { int bar_x, bar_y, bar_width, bar_height, vert; - Lisp_Object button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + Lisp_Object button = FRAME_TOOLBAR_BUTTONS (f, pos); get_toolbar_coords (f, pos, &bar_x, &bar_y, &bar_width, &bar_height, &vert, 1);
--- a/src/toolbar.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/toolbar.c Mon Aug 13 10:35:03 2007 +0200 @@ -57,18 +57,6 @@ static Lisp_Object -mark_toolbar_data (Lisp_Object obj, void (*markobj) (Lisp_Object)) -{ - struct toolbar_data *data = (struct toolbar_data *) XPNTR (obj); - ((markobj) (data->last_toolbar_buffer)); - return data->toolbar_buttons; -} - -DEFINE_LRECORD_IMPLEMENTATION ("toolbar-data", toolbar_data, - mark_toolbar_data, internal_object_printer, - 0, 0, 0, struct toolbar_data); - -static Lisp_Object mark_toolbar_button (Lisp_Object obj, void (*markobj) (Lisp_Object)) { struct toolbar_button *data = (struct toolbar_button *) XPNTR (obj); @@ -601,7 +589,7 @@ void mark_frame_toolbar_buttons_dirty (struct frame *f, enum toolbar_pos pos) { - Lisp_Object button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + Lisp_Object button = FRAME_TOOLBAR_BUTTONS (f, pos); while (!NILP (button)) { @@ -621,7 +609,7 @@ int pushright_seen = 0; struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; - first_button = FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; + first_button = FRAME_TOOLBAR_BUTTONS (f, pos); buttons = prev_button = first_button; /* Yes, we're being paranoid. */ @@ -724,36 +712,15 @@ static void set_frame_toolbar (struct frame *f, enum toolbar_pos pos) { - Lisp_Object toolbar, buttons; struct window *w = XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f)); - Lisp_Object buffer = w->buffer; - - if (!f->toolbar_changed - && !NILP (f->toolbar_data[pos]) - && EQ (FRAME_TOOLBAR_DATA (f, pos)->last_toolbar_buffer, buffer)) - return; - - toolbar = w->toolbar[pos]; - - if (NILP (f->toolbar_data[pos])) - { - struct toolbar_data *td = alloc_lcrecord_type (struct toolbar_data, - lrecord_toolbar_data); - - td->last_toolbar_buffer = Qnil; - td->toolbar_buttons = Qnil; - XSETTOOLBAR_DATA (f->toolbar_data[pos], td); - } - - buttons = (FRAME_REAL_TOOLBAR_VISIBLE (f, pos) - ? compute_frame_toolbar_buttons (f, pos, toolbar) : Qnil); - - FRAME_TOOLBAR_DATA (f, pos)->last_toolbar_buffer = buffer; - FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons = buttons; + Lisp_Object toolbar = w->toolbar[pos]; + f->toolbar_buttons[pos] = (FRAME_REAL_TOOLBAR_VISIBLE (f, pos) + ? compute_frame_toolbar_buttons (f, pos, toolbar) + : Qnil); } static void -compute_frame_toolbars_data (struct frame *f, int first_time_p) +compute_frame_toolbars_data (struct frame *f) { set_frame_toolbar (f, TOP_TOOLBAR); set_frame_toolbar (f, BOTTOM_TOOLBAR); @@ -765,33 +732,39 @@ update_frame_toolbars (struct frame *f) { struct device *d = XDEVICE (f->device); - Lisp_Object buffer = XWINDOW (FRAME_LAST_NONMINIBUF_WINDOW (f))->buffer; + + if (DEVICE_SUPPORTS_TOOLBARS_P (d) + && (f->toolbar_changed || f->frame_changed || f->clear)) + { + int pos; + + /* We're not officially "in redisplay", so we still have a + chance to re-layout toolbars and windows. This is done here, + because toolbar is the only thing which currently might + necesseritate this layout, as it is outside any windows. We + take care not to change size if toolbar geometry is really + unchanged, as it will hose windows whose pixsizes are not + multiple of character sizes */ - /* If the buffer of the selected window is not equal to the - last_toolbar_buffer value for any of the toolbars, then the - toolbars need to be recomputed. */ - if ((HAS_DEVMETH_P (d, output_frame_toolbars)) - && (f->toolbar_changed || f->frame_changed || f->clear - || !EQ (FRAME_TOOLBAR_BUFFER (f, TOP_TOOLBAR), buffer) - || !EQ (FRAME_TOOLBAR_BUFFER (f, BOTTOM_TOOLBAR), buffer) - || !EQ (FRAME_TOOLBAR_BUFFER (f, LEFT_TOOLBAR), buffer) - || !EQ (FRAME_TOOLBAR_BUFFER (f, RIGHT_TOOLBAR), buffer))) - { - int width, height; + for (pos = 0; pos < 4; pos++) + if (FRAME_REAL_TOOLBAR_SIZE (f, pos) + != FRAME_CURRENT_TOOLBAR_SIZE (f, pos)) + { + int width, height; + pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f), + &width, &height); + change_frame_size (f, height, width, 0); + break; + } - /* We're not officially "in redisplay", so we still have a chance - to re-layout toolbars and windows. This is done here, because - toolbar is the only thing which currently might necesseritate - this layout, as it is outside any windows */ - pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f), - &width, &height); - change_frame_size (f, height, width, 0); + for (pos = 0; pos < 4; pos++) + f->current_toolbar_size[pos] = FRAME_REAL_TOOLBAR_SIZE (f, pos); /* Removed the check for the minibuffer here. We handle this more correctly now by consistently using FRAME_LAST_NONMINIBUF_WINDOW instead of FRAME_SELECTED_WINDOW throughout the toolbar code. */ - compute_frame_toolbars_data (f, 0); + compute_frame_toolbars_data (f); DEVMETH (d, output_frame_toolbars, (f)); } @@ -804,18 +777,24 @@ { struct device *d = XDEVICE (f->device); - /* If there isn't any output routine, then this device type doesn't - support toolbars. */ - if (HAS_DEVMETH_P (d, output_frame_toolbars)) + if (DEVICE_SUPPORTS_TOOLBARS_P (d)) { Lisp_Object frame; + int pos; - compute_frame_toolbars_data (f, 1); + compute_frame_toolbars_data (f); XSETFRAME (frame, f); call_critical_lisp_code (XDEVICE (FRAME_DEVICE (f)), Qinit_toolbar_from_resources, frame); MAYBE_DEVMETH (d, initialize_frame_toolbars, (f)); + + /* We are here as far in frame creation so cached specifiers are + already recomputed, and possibly modified by resource + initialization. Remember current toolbar geometry so next + redisplay will not needlessly relayout toolbars. */ + for (pos = 0; pos < 4; pos++) + f->current_toolbar_size[pos] = FRAME_REAL_TOOLBAR_SIZE (f, pos); } } @@ -825,7 +804,7 @@ Lisp_Object device; XSETDEVICE (device, d); - if (HAS_DEVMETH_P (d, output_frame_toolbars)) + if (DEVICE_SUPPORTS_TOOLBARS_P (d)) call_critical_lisp_code (d, Qinit_toolbar_from_resources, device); @@ -834,7 +813,7 @@ void init_global_toolbars (struct device *d) { - if (HAS_DEVMETH_P (d, output_frame_toolbars)) + if (DEVICE_SUPPORTS_TOOLBARS_P (d)) call_critical_lisp_code (d, Qinit_toolbar_from_resources, Qglobal); @@ -922,7 +901,7 @@ if ((x_coord >= x) && (x_coord < (x + width))) \ { \ if ((y_coord >= y) && (y_coord < (y + height))) \ - return FRAME_TOOLBAR_DATA (f, pos)->toolbar_buttons; \ + return FRAME_TOOLBAR_BUTTONS (f, pos); \ } \ } while (0)
--- a/src/toolbar.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/toolbar.h Mon Aug 13 10:35:03 2007 +0200 @@ -29,32 +29,12 @@ #ifdef HAVE_TOOLBARS -/* There are 4 of these per frame. They don't really need to be an - lrecord (they're not lisp-accessible) but it makes marking slightly - more modular. */ -struct toolbar_data -{ - struct lcrecord_header header; - - /* The last buffer for which the toolbars were displayed. */ - Lisp_Object last_toolbar_buffer; - - /* The actual buttons are chained through this. */ - Lisp_Object toolbar_buttons; -}; - -DECLARE_LRECORD (toolbar_data, struct toolbar_data); -#define XTOOLBAR_DATA(x) XRECORD (x, toolbar_data, struct toolbar_data) -#define XSETTOOLBAR_DATA(x, p) XSETRECORD (x, p, toolbar_data) -#define TOOLBAR_DATAP(x) RECORDP (x, toolbar_data) -#define GC_TOOLBAR_DATAP(x) GC_RECORDP (x, toolbar_data) -#define CHECK_TOOLBAR_DATA(x) CHECK_RECORD (x, toolbar_data) -#define CONCHECK_TOOLBAR_DATA(x) CONCHECK_RECORD (x, toolbar_data) - -#define FRAME_TOOLBAR_DATA(frame, position) \ - (XTOOLBAR_DATA ((frame)->toolbar_data[position])) -#define FRAME_TOOLBAR_BUFFER(frame, position) \ - (XTOOLBAR_DATA ((frame)->toolbar_data[position])->last_toolbar_buffer) +#define FRAME_TOOLBAR_BUTTONS(frame, pos) \ + ((frame)->toolbar_buttons[pos]) +#define FRAME_CURRENT_TOOLBAR_SIZE(frame, pos) \ + ((frame)->current_toolbar_size[pos]) +#define DEVICE_SUPPORTS_TOOLBARS_P(d) \ + (HAS_DEVMETH_P ((d), output_frame_toolbars)) /* These are chained together through toolbar_buttons in struct toolbar_data. These don't need to be an lrecord either, but again,
--- a/src/unexaix.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/unexaix.c Mon Aug 13 10:35:03 2007 +0200 @@ -1,4 +1,5 @@ -/* Copyright (C) 1985, 1986, 1987, 1988 Free Software Foundation, Inc. +/* Dump an executable image. + Copyright (C) 1985, 1986, 1987, 1988 Free Software Foundation, Inc. This file is part of XEmacs. @@ -17,26 +18,14 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Synched up with: FSF 19.31. */ +/* Synched up with: FSF 20.2. */ -/* Modified by Andrew.Vignaux@comp.vuw.ac.nz to get it to work :-) */ - -/* - * unexec.c - Convert a running program into an a.out file. +/* Originally based on the COFF unexec.c by Spencer W. Thomas. * - * Author: Spencer W. Thomas - * Computer Science Dept. - * University of Utah - * Date: Tue Mar 2 1982 - * Modified heavily since then. - * - * Updated for AIX 4.1.3 by Bill_Mann @ PraxisInt.com, Feb 1996 - * As of AIX 4.1, text, data, and bss are pre-relocated by the binder in - * such a way that the file can be mapped with code in one segment and - * data/bss in another segment, without reading or copying the file, by - * the AIX exec loader. Padding sections are omitted, nevertheless - * small amounts of 'padding' still occurs between sections in the file. - * As modified, this code handles both 3.2 and 4.1 conventions. + * Subsequently hacked on by + * Bill Mann <Bill_Man@praxisint.com> + * Andrew Vignaux <Andrew.Vignaux@comp.vuw.ac.nz> + * Mike Sperber <sperber@informatik.uni-tuebingen.de> * * Synopsis: * unexec (new_name, a_name, data_start, bss_start, entry_address) @@ -48,123 +37,17 @@ * If a_name is non-NULL, the symbol table will be taken from the given file. * On some machines, an existing a_name file is required. * - * The boundaries within the a.out file may be adjusted with the data_start - * and bss_start arguments. Either or both may be given as 0 for defaults. + * data_start and entry_address are ignored. * - * Data_start gives the boundary between the text segment and the data - * segment of the program. The text segment can contain shared, read-only - * program code and literal data, while the data segment is always unshared - * and unprotected. Data_start gives the lowest unprotected address. - * The value you specify may be rounded down to a suitable boundary - * as required by the machine you are using. - * - * Specifying zero for data_start means the boundary between text and data - * should not be the same as when the program was loaded. - * If NO_REMAP is defined, the argument data_start is ignored and the - * segment boundaries are never changed. - * - * Bss_start indicates how much of the data segment is to be saved in the + * bss_start indicates how much of the data segment is to be saved in the * a.out file and restored when the program is executed. It gives the lowest * unsaved address, and is rounded up to a page boundary. The default when 0 * is given assumes that the entire data segment is to be stored, including * the previous data and bss as well as any additional storage allocated with - * break (2). - * - * The new file is set up to start at entry_address. - * - * If you make improvements I'd like to get them too. - * harpo!utah-cs!thomas, thomas@Utah-20 + * sbrk(2). * */ -/* There are several compilation parameters affecting unexec: - -* COFF - -Define this if your system uses COFF for executables. -Otherwise we assume you use Berkeley format. - -* NO_REMAP - -Define this if you do not want to try to save Emacs's pure data areas -as part of the text segment. - -Saving them as text is good because it allows users to share more. - -However, on machines that locate the text area far from the data area, -the boundary cannot feasibly be moved. Such machines require -NO_REMAP. - -Also, remapping can cause trouble with the built-in startup routine -/lib/crt0.o, which defines `environ' as an initialized variable. -Dumping `environ' as pure does not work! So, to use remapping, -you must write a startup routine for your machine in Emacs's crt0.c. -If NO_REMAP is defined, Emacs uses the system's crt0.o. - -* SECTION_ALIGNMENT - -Some machines that use COFF executables require that each section -start on a certain boundary *in the COFF file*. Such machines should -define SECTION_ALIGNMENT to a mask of the low-order bits that must be -zero on such a boundary. This mask is used to control padding between -segments in the COFF file. - -If SECTION_ALIGNMENT is not defined, the segments are written -consecutively with no attempt at alignment. This is right for -unmodified system V. - -* SEGMENT_MASK - -Some machines require that the beginnings and ends of segments -*in core* be on certain boundaries. For most machines, a page -boundary is sufficient. That is the default. When a larger -boundary is needed, define SEGMENT_MASK to a mask of -the bits that must be zero on such a boundary. - -* A_TEXT_OFFSET(HDR) - -Some machines count the a.out header as part of the size of the text -segment (a_text); they may actually load the header into core as the -first data in the text segment. Some have additional padding between -the header and the real text of the program that is counted in a_text. - -For these machines, define A_TEXT_OFFSET(HDR) to examine the header -structure HDR and return the number of bytes to add to `a_text' -before writing it (above and beyond the number of bytes of actual -program text). HDR's standard fields are already correct, except that -this adjustment to the `a_text' field has not yet been made; -thus, the amount of offset can depend on the data in the file. - -* A_TEXT_SEEK(HDR) - -If defined, this macro specifies the number of bytes to seek into the -a.out file before starting to write the text segment.a - -* EXEC_MAGIC - -For machines using COFF, this macro, if defined, is a value stored -into the magic number field of the output file. - -* ADJUST_EXEC_HEADER - -This macro can be used to generate statements to adjust or -initialize nonstandard fields in the file header - -* ADDR_CORRECT(ADDR) - -Macro to correct an int which is the bit pattern of a pointer to a byte -into an int which is the number of a byte. - -This macro has a default definition which is usually right. -This default definition is a no-op on most machines (where a -pointer looks like an int) but not on all machines. - -*/ - -#define XCOFF -#define COFF -#define NO_REMAP - #ifndef emacs #define PERROR(arg) perror (arg); return -1 #else @@ -178,58 +61,42 @@ */ #include "getpagesize.h" -#ifndef makedev /* Try to detect types.h already loaded */ #include <sys/types.h> -#endif #include <stdio.h> #include <sys/stat.h> #include <errno.h> +#include <unistd.h> +#include <fcntl.h> extern char *start_of_text (void); /* Start of text */ extern char *start_of_data (void); /* Start of initialized data */ extern int _data; -extern int _edata; extern int _text; -extern int _etext; -extern int _end; -#ifdef COFF -#ifndef USG -#ifndef STRIDE -#ifndef UMAX -#ifndef sun386 -/* I have a suspicion that these are turned off on all systems - and can be deleted. Try it in version 19. */ + #include <filehdr.h> #include <aouthdr.h> #include <scnhdr.h> #include <syms.h> -#endif /* not sun386 */ -#endif /* not UMAX */ -#endif /* Not STRIDE */ -#endif /* not USG */ + static struct filehdr f_hdr; /* File header */ static struct aouthdr f_ohdr; /* Optional file header (a.out) */ -long bias; /* Bias to add for growth */ -long lnnoptr; /* Pointer to line-number info within file */ +static long bias; /* Bias to add for growth */ +static long lnnoptr; /* Pointer to line-number info within file */ static long text_scnptr; static long data_scnptr; -#ifdef XCOFF #define ALIGN(val, pwr) (((val) + ((1L<<(pwr))-1)) & ~((1L<<(pwr))-1)) static long load_scnptr; static long orig_load_scnptr; static long orig_data_scnptr; -static unrelocate_symbols (int, int, char *, char *); -#endif -static ulong data_st; /* start of data area written out */ +static int unrelocate_symbols (int, int, char *, char *); #ifndef MAX_SECTIONS #define MAX_SECTIONS 10 #endif -static adjust_lnnoptrs (int, int, char *); -#endif /* COFF */ +static int adjust_lnnoptrs (int, int, char *); static int pagemask; @@ -244,7 +111,7 @@ #ifdef emacs #include "lisp.h" -static +static void report_error (char *file, int fd) { if (fd) @@ -257,7 +124,7 @@ #define ERROR1(msg,x) report_error_1 (new, msg, x, 0); return -1 #define ERROR2(msg,x,y) report_error_1 (new, msg, x, y); return -1 -static +static void report_error_1 (int fd, char *msg, int a1, int a2) { close (fd); @@ -273,7 +140,7 @@ static void mark_x (char *); static int copy_text_and_data (int); static int copy_sym (int, int, char *, char *); -static write_segment (int, char *, char *); +static void write_segment (int, char *, char *); /* **************************************************************** * unexec @@ -281,11 +148,11 @@ * driving logic. */ int unexec (char *new_name, char *a_name, - uintptr_t data_start, - uintptr_t bss_start, - uintptr_t entry_address) + uintptr_t data_start, + uintptr_t bss_start, + uintptr_t entry_address) { - int new, a_out = -1; + int new = -1, a_out = -1; if (a_name && (a_out = open (a_name, 0)) < 0) { @@ -295,19 +162,16 @@ { PERROR (new_name); } - if (make_hdr (new,a_out,data_start,bss_start,entry_address,a_name,new_name) < 0 + if (make_hdr (new, a_out, + data_start, bss_start, + entry_address, + a_name, new_name) < 0 || copy_text_and_data (new) < 0 || copy_sym (new, a_out, a_name, new_name) < 0 -#ifdef COFF || adjust_lnnoptrs (new, a_out, new_name) < 0 -#endif -#ifdef XCOFF - || unrelocate_symbols (new, a_out, a_name, new_name) < 0 -#endif - ) + || unrelocate_symbols (new, a_out, a_name, new_name) < 0) { close (new); - /* unlink (new_name); */ /* Failed, unlink new a.out */ return -1; } @@ -325,7 +189,10 @@ * Modify the text and data sizes. */ static int -make_hdr (int new, int a_out, unsigned data_start, unsigned bss_start, unsigned entry_address, char *a_name, char *new_name) +make_hdr (int new, int a_out, + unsigned data_start, unsigned bss_start, + unsigned entry_address, + char *a_name, char *new_name) { int scns; unsigned int bss_end; @@ -343,17 +210,10 @@ pagemask = getpagesize () - 1; /* Adjust text/data boundary. */ -#ifdef NO_REMAP data_start = (long) start_of_data (); -#endif /* NO_REMAP */ data_start = ADDR_CORRECT (data_start); -#ifdef SEGMENT_MASK - data_start = data_start & ~SEGMENT_MASK; /* (Down) to segment boundary. */ -#else data_start = data_start & ~pagemask; /* (Down) to page boundary. */ -#endif - bss_end = ADDR_CORRECT (sbrk (0)) + pagemask; bss_end &= ~ pagemask; @@ -378,7 +238,6 @@ data_start, bss_start); } -#ifdef COFF /* Salvage as much info from the existing file as possible */ f_thdr = NULL; f_dhdr = NULL; f_bhdr = NULL; f_lhdr = NULL; f_tchdr = NULL; f_dbhdr = NULL; f_xhdr = NULL; @@ -455,15 +314,7 @@ we only update it enough to fake out the exec-time loader. */ f_hdr.f_flags |= (F_RELFLG | F_EXEC); -#ifdef EXEC_MAGIC - f_ohdr.magic = EXEC_MAGIC; -#endif -#ifndef NO_REMAP - f_ohdr.tsize = data_start - f_ohdr.text_start; - f_ohdr.text_start = (long) start_of_text (); -#endif - data_st = f_ohdr.data_start ? f_ohdr.data_start : (ulong) &_data; - f_ohdr.dsize = bss_start - data_st; + f_ohdr.dsize = bss_start - f_ohdr.data_start; f_ohdr.bsize = bss_end - bss_start; f_dhdr->s_size = f_ohdr.dsize; @@ -475,7 +326,6 @@ { ulong ptr = section[0].s_scnptr; - bias = -1; for (scns = 0; scns < f_hdr.f_nscns; scns++) { struct scnhdr *s = §ion[scns]; @@ -494,17 +344,12 @@ } s->s_scnptr = ptr; } - else if (s->s_flags & STYP_DATA) - s->s_scnptr = ptr; - else if (!(s->s_flags & (STYP_TEXT | STYP_BSS))) + else { - if (bias == -1) /* if first section after bss */ bias = ptr - s->s_scnptr; + s->s_scnptr = ptr; + } - s->s_scnptr += bias; - ptr = s->s_scnptr; - } - ptr = ptr + s->s_size; } } @@ -534,10 +379,6 @@ data_scnptr = f_dhdr->s_scnptr; load_scnptr = f_lhdr ? f_lhdr->s_scnptr : 0; -#ifdef ADJUST_EXEC_HEADER - ADJUST_EXEC_HEADER -#endif /* ADJUST_EXEC_HEADER */ - if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr)) { PERROR (new_name); @@ -560,8 +401,6 @@ } return (0); - -#endif /* COFF */ } /* **************************************************************** @@ -575,13 +414,13 @@ char *end; char *ptr; - lseek (new, (long) text_scnptr, 0); + lseek (new, (long) text_scnptr, SEEK_SET); ptr = start_of_text () + text_scnptr; end = ptr + f_ohdr.tsize; write_segment (new, ptr, end); - lseek (new, (long) data_scnptr, 0); - ptr = (char *) data_st; + lseek (new, (long) data_scnptr, SEEK_SET); + ptr = (char *) f_ohdr.data_start; end = ptr + f_ohdr.dsize; write_segment (new, ptr, end); @@ -589,6 +428,7 @@ } #define UnexBlockSz (1<<12) /* read/write block size */ +static void write_segment (int new, char *ptr, char *end) { int i, nwrite, ret; @@ -642,9 +482,9 @@ return 0; if (lnnoptr && lnnoptr < orig_load_scnptr) /* if there is line number info */ - lseek (a_out, lnnoptr, 0); /* start copying from there */ + lseek (a_out, lnnoptr, SEEK_SET); /* start copying from there */ else - lseek (a_out, orig_load_scnptr, 0); /* Position a.out to symtab. */ + lseek (a_out, orig_load_scnptr, SEEK_SET); /* Position a.out to symtab. */ while ((n = read (a_out, page, sizeof page)) > 0) { @@ -683,44 +523,14 @@ PERROR (name); } -/* - * If the COFF file contains a symbol table and a line number section, - * then any auxiliary entries that have values for x_lnnoptr must - * be adjusted by the amount that the line number section has moved - * in the file (bias computed in make_hdr). The #@$%&* designers of - * the auxiliary entry structures used the absolute file offsets for - * the line number entry rather than an offset from the start of the - * line number section! - * - * When I figure out how to scan through the symbol table and pick out - * the auxiliary entries that need adjustment, this routine will - * be fixed. As it is now, all such entries are wrong and sdb - * will complain. Fred Fish, UniSoft Systems Inc. - * - * I believe this is now fixed correctly. Bill Mann - */ - -#ifdef COFF - -/* This function is probably very slow. Instead of reopening the new - file for input and output it should copy from the old to the new - using the two descriptors already open (WRITEDESC and READDESC). - Instead of reading one small structure at a time it should use - a reasonable size buffer. But I don't have time to work on such - things, so I am installing it as submitted to me. -- RMS. */ - +static int adjust_lnnoptrs (int writedesc, int readdesc, char *new_name) { int nsyms; int naux; int new; -#ifdef amdahl_uts - SYMENT symentry; - AUXENT auxentry; -#else struct syment symentry; union auxent auxentry; -#endif if (!lnnoptr || !f_hdr.f_symptr) return 0; @@ -731,14 +541,14 @@ return -1; } - lseek (new, f_hdr.f_symptr, 0); + lseek (new, f_hdr.f_symptr, SEEK_SET); for (nsyms = 0; nsyms < f_hdr.f_nsyms; nsyms++) { read (new, &symentry, SYMESZ); if (symentry.n_sclass == C_BINCL || symentry.n_sclass == C_EINCL) { symentry.n_value += bias; - lseek (new, -SYMESZ, 1); + lseek (new, -SYMESZ, SEEK_CUR); write (new, &symentry, SYMESZ); } @@ -750,37 +560,36 @@ && (symentry.n_sclass == C_EXT || symentry.n_sclass == C_HIDEXT)) { auxentry.x_sym.x_fcnary.x_fcn.x_lnnoptr += bias; - lseek (new, -AUXESZ, 1); + lseek (new, -AUXESZ, SEEK_CUR); write (new, &auxentry, AUXESZ); } } } close (new); + + return 0; } -#endif /* COFF */ - -#ifdef XCOFF - -/* It is probably a false economy to optimise this routine (it used to - read one LDREL and do do two lseeks per iteration) but the wrath of - RMS (see above :-) would be too much to bear */ - +static int unrelocate_symbols (int new, int a_out, char *a_name, char *new_name) { int i; - int l; - LDREL *ldrel; LDHDR ldhdr; - LDREL ldrel_buf [20]; + LDREL ldrel; ulong t_reloc = (ulong) &_text - f_ohdr.text_start; +#ifndef ALIGN_DATA_RELOC + ulong d_reloc = (ulong) &_data - f_ohdr.data_start; +#else + /* This worked (and was needed) before AIX 4.2. + I have no idea why. -- Mike */ ulong d_reloc = (ulong) &_data - ALIGN(f_ohdr.data_start, 2); +#endif int * p; if (load_scnptr == 0) return 0; - lseek (a_out, orig_load_scnptr, 0); + lseek (a_out, orig_load_scnptr, SEEK_SET); if (read (a_out, &ldhdr, sizeof (ldhdr)) != sizeof (ldhdr)) { PERROR (new_name); @@ -789,46 +598,40 @@ #define SYMNDX_TEXT 0 #define SYMNDX_DATA 1 #define SYMNDX_BSS 2 - l = 0; - for (i = 0; i < ldhdr.l_nreloc; i++, l--, ldrel++) - { - if (l == 0) { - lseek (a_out, - orig_load_scnptr + LDHDRSZ + LDSYMSZ*ldhdr.l_nsyms + LDRELSZ*i, - 0); - l = ldhdr.l_nreloc - i; - if (l > sizeof (ldrel_buf) / LDRELSZ) - l = sizeof (ldrel_buf) / LDRELSZ; + for (i = 0; i < ldhdr.l_nreloc; i++) + { + lseek (a_out, + orig_load_scnptr + LDHDRSZ + LDSYMSZ*ldhdr.l_nsyms + LDRELSZ*i, + SEEK_SET); - if (read (a_out, ldrel_buf, l * LDRELSZ) != l * LDRELSZ) - { - PERROR (a_name); - } - ldrel = ldrel_buf; - } + if (read (a_out, &ldrel, LDRELSZ) != LDRELSZ) + { + PERROR (a_name); + } /* move the BSS loader symbols to the DATA segment */ - if (ldrel->l_symndx == SYMNDX_BSS) + if (ldrel.l_symndx == SYMNDX_BSS) { - ldrel->l_symndx = SYMNDX_DATA; + ldrel.l_symndx = SYMNDX_DATA; lseek (new, load_scnptr + LDHDRSZ + LDSYMSZ*ldhdr.l_nsyms + LDRELSZ*i, - 0); + SEEK_SET); - if (write (new, ldrel, LDRELSZ) != LDRELSZ) + if (write (new, &ldrel, LDRELSZ) != LDRELSZ) { PERROR (new_name); } } - if (ldrel->l_rsecnm == f_ohdr.o_sndata) + if (ldrel.l_rsecnm == f_ohdr.o_sndata) { int orig_int; lseek (a_out, - orig_data_scnptr + (ldrel->l_vaddr - f_ohdr.data_start), 0); + orig_data_scnptr + (ldrel.l_vaddr - f_ohdr.data_start), + SEEK_SET); if (read (a_out, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) @@ -836,9 +639,9 @@ PERROR (a_name); } - p = (int *) (ldrel->l_vaddr + d_reloc); + p = (int *) (ldrel.l_vaddr + d_reloc); - switch (ldrel->l_symndx) { + switch (ldrel.l_symndx) { case SYMNDX_TEXT: orig_int = * p - t_reloc; break; @@ -852,7 +655,8 @@ if (orig_int != * p) { lseek (new, - data_scnptr + (ldrel->l_vaddr - f_ohdr.data_start), 0); + data_scnptr + (ldrel.l_vaddr - f_ohdr.data_start), + SEEK_SET); if (write (new, (void *) &orig_int, sizeof (orig_int)) != sizeof (orig_int)) { @@ -861,5 +665,5 @@ } } } + return 0; } -#endif /* XCOFF */
--- a/src/unexec.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/unexec.c Mon Aug 13 10:35:03 2007 +0200 @@ -294,11 +294,11 @@ #ifndef HPUX /* not sure where this for NetBSD should really go and it probably applies to other systems */ -#if !defined(__NetBSD__) && !defined(__bsdi__) +#if !defined(__NetBSD__) && !defined(__bsdi__) && !defined(__OpenBSD__) extern void *sbrk (ptrdiff_t); #else extern char *sbrk (); -#endif /* __NetBSD__ */ +#endif /* __NetBSD__ or __OpenBSD__ */ #endif /* HPUX */ #else extern void *sbrk ();
--- a/src/unexhp9k800.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/unexhp9k800.c Mon Aug 13 10:35:03 2007 +0200 @@ -95,6 +95,7 @@ void update_file_ptrs(int file, struct header *hdr, struct som_exec_auxhdr *auxhdr, unsigned int location, int offset); +int calculate_checksum(struct header *hdr); /* Create a new a.out file, same as old but with current data space */ int
--- a/src/unexnt.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/unexnt.c Mon Aug 13 10:35:03 2007 +0200 @@ -430,40 +430,46 @@ /* The dump routines. */ +#ifdef DEBUG_XEMACS +#define DUMP_MSG(x) printf x +#else +#define DUMP_MSG(x) +#endif + static void -copy_executable_and_dump_data_section (file_data *p_infile, +copy_executable_and_dump_data_section (file_data *p_infile, file_data *p_outfile) { unsigned char *data_file, *data_va; unsigned long size, index; - + /* Get a pointer to where the raw data should go in the executable file. */ data_file = (char *) p_outfile->file_base + data_start_file; /* Get a pointer to the raw data in our address space. */ data_va = data_start_va; - + size = (DWORD) data_file - (DWORD) p_outfile->file_base; - printf ("Copying executable up to data section...\n"); - printf ("\t0x%08x Offset in input file.\n", 0); - printf ("\t0x%08x Offset in output file.\n", 0); - printf ("\t0x%08x Size in bytes.\n", size); + DUMP_MSG (("Copying executable up to data section...\n")); + DUMP_MSG (("\t0x%08x Offset in input file.\n", 0)); + DUMP_MSG (("\t0x%08x Offset in output file.\n", 0)); + DUMP_MSG (("\t0x%08x Size in bytes.\n", size)); memcpy (p_outfile->file_base, p_infile->file_base, size); - + size = data_size; - printf ("Dumping .data section...\n"); - printf ("\t0x%08x Address in process.\n", data_va); - printf ("\t0x%08x Offset in output file.\n", - data_file - p_outfile->file_base); - printf ("\t0x%08x Size in bytes.\n", size); + DUMP_MSG (("Dumping .data section...\n")); + DUMP_MSG (("\t0x%08x Address in process.\n", data_va)); + DUMP_MSG (("\t0x%08x Offset in output file.\n", + data_file - p_outfile->file_base)); + DUMP_MSG (("\t0x%08x Size in bytes.\n", size)); memcpy (data_file, data_va, size); - + index = (DWORD) data_file + size - (DWORD) p_outfile->file_base; size = p_infile->size - index; - printf ("Copying rest of executable...\n"); - printf ("\t0x%08x Offset in input file.\n", index); - printf ("\t0x%08x Offset in output file.\n", index); - printf ("\t0x%08x Size in bytes.\n", size); + DUMP_MSG (("Copying rest of executable...\n")); + DUMP_MSG (("\t0x%08x Offset in input file.\n", index)); + DUMP_MSG (("\t0x%08x Offset in output file.\n", index)); + DUMP_MSG (("\t0x%08x Size in bytes.\n", size)); memcpy ((char *) p_outfile->file_base + index, (char *) p_infile->file_base + index, size); } @@ -474,30 +480,31 @@ unsigned char *heap_data, *bss_data; unsigned long size, index; - printf ("Dumping heap into executable...\n"); + DUMP_MSG (("Dumping heap into executable...\n")); index = heap_index_in_executable; size = get_committed_heap_size (); heap_data = get_heap_start (); - printf ("\t0x%08x Heap start in process.\n", heap_data); - printf ("\t0x%08x Heap offset in executable.\n", index); - printf ("\t0x%08x Heap size in bytes.\n", size); + DUMP_MSG (("\t0x%08x Heap start in process.\n", heap_data)); + DUMP_MSG (("\t0x%08x Heap offset in executable.\n", index)); + DUMP_MSG (("\t0x%08x Heap size in bytes.\n", size)); memcpy ((PUCHAR) p_outfile->file_base + index, heap_data, size); - printf ("Dumping .bss into executable...\n"); + DUMP_MSG (("Dumping .bss into executable...\n")); index += size; size = bss_size; bss_data = bss_start; - - printf ("\t0x%08x BSS start in process.\n", bss_data); - printf ("\t0x%08x BSS offset in executable.\n", index); - printf ("\t0x%08x BSS size in bytes.\n", size); + + DUMP_MSG (("\t0x%08x BSS start in process.\n", bss_data)); + DUMP_MSG (("\t0x%08x BSS offset in executable.\n", index)); + DUMP_MSG (("\t0x%08x BSS size in bytes.\n", size)); memcpy ((char *) p_outfile->file_base + index, bss_data, size); } +#undef DUMP_MSG /* Reload and remap routines. */
--- a/src/window.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/window.c Mon Aug 13 10:35:03 2007 +0200 @@ -719,7 +719,7 @@ return 0; } -int +static int have_undivided_common_edge (struct window *w_right, void *closure) { struct window *w_left = (struct window *) closure; @@ -754,8 +754,8 @@ #endif /* Ok. to determine whether we need a divider on the left, we must - check that out right neighbor windows have scrollbars on their - left sides. We mist check all such windows which have common + check that our right neighbor windows have scrollbars on their + left sides. We must check all such windows which have common left edge with our window's right edge. */ return map_windows (XFRAME (WINDOW_FRAME (w)), have_undivided_common_edge, (void*)w); @@ -4359,7 +4359,7 @@ non-zero, the mapping is halted. Otherwise, map_windows() maps over all windows in F. - If MAPFUN create or delete windows, the behaviour is undefined. */ + If MAPFUN creates or deletes windows, the behaviour is undefined. */ int map_windows (struct frame *f, int (*mapfun) (struct window *w, void *closure), @@ -4379,6 +4379,8 @@ return v; } } + + return 0; } @@ -5586,7 +5588,6 @@ drawn at all between windows. When non-zero, one character wide divider is displayed. -*Whether the modeline should be displayed. This is a specifier; use `set-specifier' to change it. */ ); @@ -5627,7 +5628,7 @@ #endif #ifdef HAVE_X_WINDOWS /* #### 3D dividers look great on MS Windows with spacing = 0. - Shoud not the same value be the fallback under X? - kkm */ + Should not the same value be the fallback under X? - kkm */ fb = Fcons (Fcons (list1 (Qx), make_int (2)), fb); #endif #ifdef HAVE_MS_WINDOWS
--- a/src/winslots.h Mon Aug 13 10:34:15 2007 +0200 +++ b/src/winslots.h Mon Aug 13 10:35:03 2007 +0200 @@ -25,15 +25,15 @@ by Kirill Katsnelson <kkm@kis.ru>, May 1998 */ #ifdef WINDOW_SLOT_DECLARATION -#define WINDOW_SLOT_ARRAY(slot, size, compare) WINDOW_SLOT(slot[size], compare) +#define WINDOW_SLOT_ARRAY(slot, size, compare) WINDOW_SLOT (slot[size], compare) #else -#define WINDOW_SLOT_ARRAY(slot, size, compare) do { \ - int i; \ - for (i = 0; i < size; i++) \ - { \ - WINDOW_SLOT (slot[i], compare); \ - } \ - } while (0); +#define WINDOW_SLOT_ARRAY(slot, size, compare) do { \ + int wsaidx; \ + for (wsaidx = 0; wsaidx < size; wsaidx++) \ + { \ + WINDOW_SLOT (slot[wsaidx], compare); \ + } \ +} while (0); #endif #define EQUAL_WRAPPED(x,y) internal_equal ((x), (y), 0)
--- a/version.sh Mon Aug 13 10:34:15 2007 +0200 +++ b/version.sh Mon Aug 13 10:35:03 2007 +0200 @@ -1,8 +1,8 @@ #!/bin/sh emacs_major_version=21 emacs_minor_version=0 -emacs_beta_version=40 -xemacs_codename="Saanen" +emacs_beta_version=41 +xemacs_codename="San Clemente" infodock_major_version=3 infodock_minor_version=90 infodock_build_version=7