From: tomo Date: Fri, 25 Jun 1999 07:21:50 +0000 (+0000) Subject: Sync up with r21-2-17-1999-06-24-19. X-Git-Tag: r21-2-18-utf-2000-0_3-1~3 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=02f606ff680ce11d6b8d0d1cf7ac3ae8ed8f7ffc;p=chise%2Fxemacs-chise.git Sync up with r21-2-17-1999-06-24-19. --- diff --git a/CHANGES-beta b/CHANGES-beta index 401605d..525f4f6 100644 --- a/CHANGES-beta +++ b/CHANGES-beta @@ -1,5 +1,23 @@ -*- indented-text -*- +to 21.2.18 "Toshima" +-- Make docdir configurable, update package searching rules from Michael + Sperber +-- Fix for Japanese word/character movements from MORIOKA Tomohiko +-- lrecord struct header size fix from Olivier Galibert + +to 21.2.17 "Chiyoda" +-- miscellaneous bug fixes from Steve Baur +-- font menu fix from Robert Pluim +-- ldap API update from Oscar Figueiredo +-- Fix thai-xtis charset width from MORIOKA Tomohiko +-- CCL engine fix from MORIOKA Tomohiko +-- mswindows build fixes from Norbert Koch +-- miscellaneous fixes from Andy Piper +-- automated tests for mswindows from Adrian Aichner +-- tree-view and tab-control widget glyph support from Andy Piper + to 21.2.16 "Sumida" +-- miscellaneous fixes from Hrvoje Niksic and Olivier Galibert -- make selection more mswindows conformant. -- Make customize use specifiers from Jan Vroonhof -- Cyrillic CCL crash fix from MORIOKA Tomohiko diff --git a/ChangeLog b/ChangeLog index baae190..7f8c9ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -10,6 +10,28 @@ * configure.in: Add new option `--with-utf-2000'; define `UTF2000' if it is specified. +1999-06-15 Michael Sperber [Mr. Preprocessor] + + * configure.in: --prefix and --exec-prefix are now only compiled + into the binary if user-defined. + +1999-03-23 Michael Sperber [Mr. Preprocessor] + + * configure.in: Made docdir configurable. + + * Makefile.in (docdir): Added variable for custom DOC directory. + +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + +1999-06-13 Oscar Figueiredo + + * configure.in (with_ldap): Check libldap independently of liblber + Do not test alternate library names such as libldap10 + Test the presence of a variety of LDAP API functions which were + formerly assumed to be present according to dubious heuristics + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released diff --git a/INSTALL b/INSTALL index 88a377f..82dda47 100644 --- a/INSTALL +++ b/INSTALL @@ -630,6 +630,10 @@ GNU software; here are some variables specific to XEmacs. above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' (where VERSION and CONFIGURATION-NAME are as described above). +`docdir' indicates where to put Lisp documentation strings that XEmacs + refers to as it runs. It defaults the value of `archlibdir' + (see above). + `moduledir' indicates where XEmacs installs and expects to find any dynamic modules. Its default value, based on `archlibdir' (see above) is diff --git a/Makefile.in.in b/Makefile.in.in index 69496da..5a7a74d 100644 --- a/Makefile.in.in +++ b/Makefile.in.in @@ -191,6 +191,9 @@ etcdir=@etcdir@ ## currently being edited. lockdir=@lockdir@ +# Where to put the DOC file. +docdir=@docdir@ + ## Where to put executables to be run by XEmacs rather than ## the user. This path usually includes the XEmacs version ## and configuration name, so that multiple configurations @@ -393,9 +396,8 @@ install-arch-dep: mkdir if test -f ../Installation; then \ ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \ fi; \ - for f in DOC config.values; do \ - ${INSTALL_DATA} lib-src/$${f} ${archlibdir}/$${f}; \ - done ; \ + ${INSTALL_DATA} lib-src/config.values ${archlibdir}/config.values; \ + ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \ for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \ do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \ else true; fi @@ -471,7 +473,7 @@ MAKEPATH=./lib-src/make-path ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use ## make-path instead of mkdir. Not all mkdirs have the `-p' flag. mkdir: FRC.mkdir - ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${archlibdir} \ + ${MAKEPATH} ${COPYDESTS} ${lockdir} ${docdir} ${infodir} ${archlibdir} \ ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \ ${sitelispdir} ${moduledir} ${sitemoduledir} -chmod 0777 ${lockdir} diff --git a/README.packages b/README.packages index 2ab2262..e74d442 100644 --- a/README.packages +++ b/README.packages @@ -213,10 +213,9 @@ User Package directories ------------------------ In addition to the system wide packages, each user can have his own -packages installed in "~/.xemacs" (Note that this will most likely -change to "~/.xemacs/packages" in the near future). If you want to +packages installed in "~/.xemacs/packages". If you want to install packages there using the interactive tools, you need to set -'pui-package-install-dest-dir' to "~/xemacs" +'pui-package-install-dest-dir' to "~/xemacs/packages" Site lisp/Site start -------------------- diff --git a/configure b/configure index 348ca0b..07462f9 100755 --- a/configure +++ b/configure @@ -239,6 +239,7 @@ package_path='' etcdir='${datadir}/${PROGNAME}-${version}/etc' lockdir='${statedir}/${PROGNAME}/lock' archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}' +docdir='${archlibdir}' with_site_lisp='no' with_site_modules='yes' with_menubars='' @@ -549,6 +550,22 @@ echo " Use \`$progname --help' to show usage.") >&2 && exit 1; eval "$opt=\"$val\"" case "$opt" in + prefix ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining PREFIX_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define PREFIX_USER_DEFINED 1 +EOF +} + ;; + exec_prefix ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining EXEC_PREFIX_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define EXEC_PREFIX_USER_DEFINED 1 +EOF +} + ;; lispdir ) { test "$extra_verbose" = "yes" && cat << \EOF Defining LISPDIR_USER_DEFINED EOF @@ -646,6 +663,14 @@ cat >> confdefs.h <<\EOF EOF } ;; + docdir ) { test "$extra_verbose" = "yes" && cat << \EOF + Defining DOCDIR_USER_DEFINED +EOF +cat >> confdefs.h <<\EOF +#define DOCDIR_USER_DEFINED 1 +EOF +} + ;; exec_prefix | libdir | archlibdir ) { test "$extra_verbose" = "yes" && cat << \EOF Defining ARCHLIBDIR_USER_DEFINED EOF @@ -771,7 +796,7 @@ echo " Use \`$progname --help' to show usage.") >&2 && exit 1 fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:775: checking whether ln -s works" >&5 +echo "configure:800: checking whether ln -s works" >&5 rm -f conftestdata if ln -s X conftestdata 2>/dev/null @@ -1016,7 +1041,7 @@ EOF echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:1020: checking "host system type"" >&5 +echo "configure:1045: checking "host system type"" >&5 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'` canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"` configuration=`echo "$configuration" | sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` @@ -1508,7 +1533,7 @@ xe_save_CFLAGS="$CFLAGS" # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1512: checking for $ac_word" >&5 +echo "configure:1537: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1535,7 +1560,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1539: checking for $ac_word" >&5 +echo "configure:1564: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1583,7 +1608,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1587: checking for $ac_word" >&5 +echo "configure:1612: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1612,7 +1637,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1616: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1641: 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' @@ -1625,12 +1650,12 @@ cross_compiling=no cat > conftest.$ac_ext << EOF -#line 1629 "configure" +#line 1654 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1658,19 +1683,19 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1662: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1687: 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:1667: checking whether we are using GNU C" >&5 +echo "configure:1692: checking whether we are using GNU C" >&5 cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1699: \"$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 @@ -1688,7 +1713,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1692: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1717: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1721,7 +1746,7 @@ if test "$with_gcc" = "no" -a "$GCC" = "yes"; then # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1725: checking for $ac_word" >&5 +echo "configure:1750: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1748,7 +1773,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1752: checking for $ac_word" >&5 +echo "configure:1777: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1796,7 +1821,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1800: checking for $ac_word" >&5 +echo "configure:1825: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1825,7 +1850,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1829: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1854: 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' @@ -1838,12 +1863,12 @@ cross_compiling=no cat > conftest.$ac_ext << EOF -#line 1842 "configure" +#line 1867 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1871,19 +1896,19 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1875: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1900: 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:1880: checking whether we are using GNU C" >&5 +echo "configure:1905: checking whether we are using GNU C" >&5 cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1912: \"$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 @@ -1901,7 +1926,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1905: 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 @@ -1934,7 +1959,7 @@ elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1938: checking for $ac_word" >&5 +echo "configure:1963: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -1961,7 +1986,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1965: checking for $ac_word" >&5 +echo "configure:1990: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2009,7 +2034,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2013: checking for $ac_word" >&5 +echo "configure:2038: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2038,7 +2063,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:2042: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2067: 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' @@ -2051,12 +2076,12 @@ cross_compiling=no cat > conftest.$ac_ext << EOF -#line 2055 "configure" +#line 2080 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:2060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -2084,19 +2109,19 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:2088: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2113: 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:2093: checking whether we are using GNU C" >&5 +echo "configure:2118: checking whether we are using GNU C" >&5 cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2125: \"$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 @@ -2114,7 +2139,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:2118: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:2143: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -2151,7 +2176,7 @@ test -n "$CPP" -a -d "$CPP" && CPP= test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:2155: checking how to run the C preprocessor" >&5 +echo "configure:2180: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2164,13 +2189,13 @@ if test -z "$CPP"; then # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2174: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2181,13 +2206,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2216: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2198,13 +2223,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2233: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -2229,9 +2254,9 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:2233: checking for AIX" >&5 +echo "configure:2258: checking for AIX" >&5 cat > conftest.$ac_ext <&6 -echo "configure:2262: checking for GNU libc" >&5 +echo "configure:2287: checking for GNU libc" >&5 cat > conftest.$ac_ext < int main() { @@ -2272,7 +2297,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:2276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -2294,7 +2319,7 @@ EOF cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:2335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -2580,7 +2605,7 @@ test -n "$unexec" && extra_objs="$extra_objs $unexec" && if test "$ext fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2584: checking for dynodump" >&5 +echo "configure:2609: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2618,12 +2643,12 @@ if test "$unexec" = "unexaix.o"; then done echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6 -echo "configure:2622: checking for terminateAndUnload in -lC" >&5 +echo "configure:2647: checking for terminateAndUnload in -lC" >&5 ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'` xe_check_libs=" -lC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2738,7 +2763,7 @@ fi if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2742: checking "for runtime libraries flag"" >&5 +echo "configure:2767: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; decosf* | linux* | irix*) dash_r="-rpath " ;; @@ -2760,14 +2785,14 @@ if test "$GCC" = "yes"; then done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2869,10 +2894,10 @@ else fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2873: checking for malloc_get_state" >&5 +echo "configure:2898: checking for malloc_get_state" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_malloc_get_state=yes" else @@ -2915,10 +2940,10 @@ doug_lea_malloc=no fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2919: checking for malloc_set_state" >&5 +echo "configure:2944: checking for malloc_set_state" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_malloc_set_state=yes" else @@ -2961,16 +2986,16 @@ doug_lea_malloc=no fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2965: checking whether __after_morecore_hook exists" >&5 +echo "configure:2990: checking whether __after_morecore_hook exists" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2999: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -3029,7 +3054,7 @@ fi # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3033: checking for $ac_word" >&5 +echo "configure:3058: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -3084,7 +3109,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:3088: checking for a BSD compatible install" >&5 +echo "configure:3113: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" @@ -3138,7 +3163,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3142: checking for $ac_word" >&5 +echo "configure:3167: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -3170,15 +3195,15 @@ for ac_hdr in mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3174: checking for $ac_hdr" >&5 +echo "configure:3199: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3182: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3211,15 +3236,15 @@ for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3215: checking for $ac_hdr" >&5 +echo "configure:3240: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3252,15 +3277,15 @@ for ac_hdr in kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3256: checking for $ac_hdr" >&5 +echo "configure:3281: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3290,10 +3315,10 @@ fi done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:3294: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:3319: checking for sys/wait.h that is POSIX.1 compatible" >&5 cat > conftest.$ac_ext < #include @@ -3309,7 +3334,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3338: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3333,10 +3358,10 @@ EOF fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3337: checking for ANSI C header files" >&5 +echo "configure:3362: checking for ANSI C header files" >&5 cat > conftest.$ac_ext < #include @@ -3344,7 +3369,7 @@ cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3361,7 +3386,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3379,7 +3404,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3397,7 +3422,7 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3408,7 +3433,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:3412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:3437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -3434,10 +3459,10 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3438: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3463: checking whether time.h and sys/time.h may both be included" >&5 cat > conftest.$ac_ext < #include @@ -3446,7 +3471,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3475: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3470,10 +3495,10 @@ EOF fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3474: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:3499: checking for sys_siglist declaration in signal.h or unistd.h" >&5 cat > conftest.$ac_ext < #include @@ -3485,7 +3510,7 @@ int main() { char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3489: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3514: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3510,9 +3535,9 @@ fi echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3514: checking for struct utimbuf" >&5 +echo "configure:3539: checking for struct utimbuf" >&5 cat > conftest.$ac_ext < @@ -3531,7 +3556,7 @@ int main() { static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3560: \"$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 @@ -3551,10 +3576,10 @@ fi rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3555: checking return type of signal handlers" >&5 +echo "configure:3580: checking return type of signal handlers" >&5 cat > conftest.$ac_ext < #include @@ -3571,7 +3596,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:3575: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3593,10 +3618,10 @@ EOF echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3597: checking for size_t" >&5 +echo "configure:3622: checking for size_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3627,10 +3652,10 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3631: checking for pid_t" >&5 +echo "configure:3656: checking for pid_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3661,10 +3686,10 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3665: checking for uid_t in sys/types.h" >&5 +echo "configure:3690: checking for uid_t in sys/types.h" >&5 cat > conftest.$ac_ext < EOF @@ -3700,10 +3725,10 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3704: checking for mode_t" >&5 +echo "configure:3729: checking for mode_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3734,10 +3759,10 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3738: checking for off_t" >&5 +echo "configure:3763: checking for off_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3769,9 +3794,9 @@ fi echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3773: checking for struct timeval" >&5 +echo "configure:3798: checking for struct timeval" >&5 cat > conftest.$ac_ext < @@ -3787,7 +3812,7 @@ int main() { static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3791: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3816: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3809,10 +3834,10 @@ fi rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:3813: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:3838: checking whether struct tm is in sys/time.h or time.h" >&5 cat > conftest.$ac_ext < #include @@ -3820,7 +3845,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3824: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3844,10 +3869,10 @@ EOF fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3848: checking for tm_zone in struct tm" >&5 +echo "configure:3873: checking for tm_zone in struct tm" >&5 cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> @@ -3855,7 +3880,7 @@ int main() { struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3884: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3878,10 +3903,10 @@ EOF else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3882: checking for tzname" >&5 +echo "configure:3907: checking for tzname" >&5 cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ @@ -3891,7 +3916,7 @@ int main() { atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3917,10 +3942,10 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3921: checking for working const" >&5 +echo "configure:3946: checking for working const" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3994,7 +4019,7 @@ fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3998: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:4023: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -4019,12 +4044,12 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:4023: checking whether byte ordering is bigendian" >&5 +echo "configure:4048: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -4035,11 +4060,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:4039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -4050,7 +4075,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:4054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4067,7 +4092,7 @@ fi rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_bigendian=no else @@ -4107,10 +4132,10 @@ fi echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4111: checking size of short" >&5 +echo "configure:4136: checking size of short" >&5 cat > conftest.$ac_ext < main() @@ -4121,7 +4146,7 @@ main() exit(0); } EOF -if { (eval echo configure:4125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -4149,10 +4174,10 @@ if test "$ac_cv_sizeof_short" = 0; then exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4153: checking size of int" >&5 +echo "configure:4178: checking size of int" >&5 cat > conftest.$ac_ext < main() @@ -4163,7 +4188,7 @@ main() exit(0); } EOF -if { (eval echo configure:4167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -4185,10 +4210,10 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4189: checking size of long" >&5 +echo "configure:4214: checking size of long" >&5 cat > conftest.$ac_ext < main() @@ -4199,7 +4224,7 @@ main() exit(0); } EOF -if { (eval echo configure:4203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4228: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -4221,10 +4246,10 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4225: checking size of long long" >&5 +echo "configure:4250: checking size of long long" >&5 cat > conftest.$ac_ext < main() @@ -4235,7 +4260,7 @@ main() exit(0); } EOF -if { (eval echo configure:4239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4264: \"$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 @@ -4257,10 +4282,10 @@ EOF echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4261: checking size of void *" >&5 +echo "configure:4286: checking size of void *" >&5 cat > conftest.$ac_ext < main() @@ -4271,7 +4296,7 @@ main() exit(0); } EOF -if { (eval echo configure:4275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4300: \"$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 @@ -4294,7 +4319,7 @@ EOF echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4298: checking for long file names" >&5 +echo "configure:4323: 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: @@ -4340,10 +4365,10 @@ fi echo $ac_n "checking for sin""... $ac_c" 1>&6 -echo "configure:4344: checking for sin" >&5 +echo "configure:4369: checking for sin" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_sin=yes" else @@ -4384,12 +4409,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4388: checking for sin in -lm" >&5 +echo "configure:4413: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4444,14 +4469,14 @@ EOF cat > conftest.$ac_ext < int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_INVERSE_HYPERBOLIC @@ -4468,7 +4493,7 @@ fi rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4472: checking type of mail spool file locking" >&5 +echo "configure:4497: 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 @@ -4493,12 +4518,12 @@ fi case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4497: checking for cma_open in -lpthreads" >&5 +echo "configure:4522: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4545,7 +4570,7 @@ fi esac echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4549: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4574: 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; @@ -4556,7 +4581,7 @@ fi 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:4560: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4585: 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 ;; @@ -4566,7 +4591,7 @@ fi echo "checking "for specified window system"" 1>&6 -echo "configure:4570: checking "for specified window system"" >&5 +echo "configure:4595: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4599,7 +4624,7 @@ if test "$with_x11" != "no"; then # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:4603: checking for X" >&5 +echo "configure:4628: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4659,12 +4684,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4733,14 +4758,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -4849,17 +4874,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:4853: checking whether -R must be followed by a space" >&5 +echo "configure:4878: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -4875,14 +4900,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -4918,12 +4943,12 @@ ac_cv_lib_dnet_dnet_ntoa=no else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4922: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4947: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4958,12 +4983,12 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:4962: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4987: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5003,10 +5028,10 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:5007: checking for gethostbyname" >&5 +echo "configure:5032: checking for gethostbyname" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -5050,12 +5075,12 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:5054: checking for gethostbyname in -lnsl" >&5 +echo "configure:5079: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5096,10 +5121,10 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:5100: checking for connect" >&5 +echo "configure:5125: checking for connect" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -5145,12 +5170,12 @@ fi xe_msg_checking="for connect in -lsocket" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:5149: checking "$xe_msg_checking"" >&5 +echo "configure:5174: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5185,10 +5210,10 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:5189: checking for remove" >&5 +echo "configure:5214: checking for remove" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -5232,12 +5257,12 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:5236: checking for remove in -lposix" >&5 +echo "configure:5261: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5272,10 +5297,10 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:5276: checking for shmat" >&5 +echo "configure:5301: checking for shmat" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -5319,12 +5344,12 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:5323: checking for shmat in -lipc" >&5 +echo "configure:5348: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5371,12 +5396,12 @@ fi xe_msg_checking="for IceConnectionNumber in -lICE" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:5375: checking "$xe_msg_checking"" >&5 +echo "configure:5400: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` xe_check_libs=" -lICE $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5556,7 +5581,7 @@ EOF echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5560: checking for X defines extracted by xmkmf" >&5 +echo "configure:5585: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5588,15 +5613,15 @@ EOF ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5592: checking for X11/Intrinsic.h" >&5 +echo "configure:5617: checking for X11/Intrinsic.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5620,12 +5645,12 @@ fi echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5624: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5649: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5661,12 +5686,12 @@ fi xe_msg_checking="for XGetFontProperty in -lX11" test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:5665: checking "$xe_msg_checking"" >&5 +echo "configure:5690: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5704,12 +5729,12 @@ fi echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5708: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5733: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5743,12 +5768,12 @@ fi echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5747: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5772: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5782,14 +5807,14 @@ fi echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5786: checking the version of X11 being used" >&5 +echo "configure:5811: checking the version of X11 being used" >&5 cat > conftest.$ac_ext < int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5814,15 +5839,15 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5818: checking for $ac_hdr" >&5 +echo "configure:5843: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5853,7 +5878,7 @@ done echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5857: checking for XFree86" >&5 +echo "configure:5882: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5873,12 +5898,12 @@ EOF test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5877: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5902: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5928,19 +5953,19 @@ EOF echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5932: checking for main in -lXbsd" >&5 +echo "configure:5957: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5977,22 +6002,22 @@ fi fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5981: checking for MS-Windows" >&5 +echo "configure:6006: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5984: checking for main in -lgdi32" >&5 +echo "configure:6009: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6057,12 +6082,12 @@ EOF fi fi cat > conftest.$ac_ext < int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:6066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6091: \"$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 @@ -6138,7 +6163,7 @@ case "$x_libraries" in *X11R4* ) esac echo "checking for WM_COMMAND option" 1>&6 -echo "configure:6142: checking for WM_COMMAND option" >&5; +echo "configure:6167: checking for WM_COMMAND option" >&5; if test "$with_wmcommand" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_WMCOMMAND @@ -6153,15 +6178,15 @@ fi test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6 -echo "configure:6157: checking for X11/Xauth.h" >&5 +echo "configure:6182: checking for X11/Xauth.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6184,12 +6209,12 @@ fi } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:6188: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:6213: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6245,15 +6270,15 @@ if test "$with_tooltalk" != "no" ; then for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:6249: checking for ${dir}tt_c.h" >&5 +echo "configure:6274: checking for ${dir}tt_c.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6282: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6289,12 +6314,12 @@ if test "$with_tooltalk" != "no" ; then xe_msg_checking="for tt_message_create in -ltt" test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6293: checking "$xe_msg_checking"" >&5 +echo "configure:6318: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6362,15 +6387,15 @@ fi test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6 -echo "configure:6366: checking for Dt/Dt.h" >&5 +echo "configure:6391: checking for Dt/Dt.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6399: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6393,12 +6418,12 @@ fi } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:6397: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:6422: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6478,7 +6503,7 @@ EOF fi echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:6482: checking if drag and drop API is needed" >&5 +echo "configure:6507: checking if drag and drop API is needed" >&5 if test "$with_dragndrop" != "no" ; then if test -n "$dragndrop_proto" ; then with_dragndrop=yes @@ -6499,18 +6524,18 @@ EOF fi echo "checking for LDAP" 1>&6 -echo "configure:6503: checking for LDAP" >&5 +echo "configure:6528: 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:6506: checking for ldap.h" >&5 +echo "configure:6531: checking for ldap.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6533,15 +6558,15 @@ fi } test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for lber.h""... $ac_c" 1>&6 -echo "configure:6537: checking for lber.h" >&5 +echo "configure:6562: checking for lber.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6570: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6563,27 +6588,25 @@ with_ldap=no fi } if test "$with_ldap" != "no"; then - test -z "$with_umich_ldap" && { -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:6571: checking "$xe_msg_checking"" >&5 -ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` + +echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6 +echo "configure:6594: checking for ldap_search in -lldap" >&5 +ac_lib_var=`echo ldap'_'ldap_search | sed 'y%./+-%__p_%'` -xe_check_libs=" -lldap -llber" +xe_check_libs=" -lldap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6597,32 +6620,34 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_umich_ldap=yes + with_ldap_nolber=yes else echo "$ac_t""no" 1>&6 -with_umich_ldap=no +with_ldap_nolber=no fi - } - test "$with_umich_ldap" = "no" && { -echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6610: checking for ldap_set_option in -lldap10" >&5 -ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'` -xe_check_libs=" -lldap10 " + test "$with_ldap_nolber" = "no" && { +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:6635: checking "$xe_msg_checking"" >&5 +ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` + +xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6636,14 +6661,14 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_ns_ldap=yes + with_ldap_lber=yes else echo "$ac_t""no" 1>&6 -with_ns_ldap=no +with_ldap_lber=no fi } - test -z "$with_ldap" -a \( "$with_umich_ldap" = "yes" -o "$with_ns_ldap" = "yes" \) && with_ldap=yes + test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" \) && with_ldap=yes fi if test "$with_ldap" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF @@ -6657,44 +6682,82 @@ EOF extra_objs="$extra_objs eldap.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"eldap.o\"" fi - if test "$with_umich_ldap" = "yes" ; then - { test "$extra_verbose" = "yes" && cat << \EOF - Defining HAVE_UMICH_LDAP -EOF -cat >> confdefs.h <<\EOF -#define HAVE_UMICH_LDAP 1 -EOF -} - + if test "$with_ldap_nolber" = "yes" ; then + LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi + else LIBS="-llber $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-llber\" to \$LIBS"; fi LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi - elif test "$with_ldap" = "yes" -a "$with_ns_ldap" = "yes" ; then - { test "$extra_verbose" = "yes" && cat << \EOF - Defining HAVE_NS_LDAP + fi + for ac_func in ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6695: checking for $ac_func" >&5 + +cat > conftest.$ac_ext < +/* 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 $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } EOF -cat >> confdefs.h <<\EOF -#define HAVE_NS_LDAP 1 +if { (eval echo configure:6721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + { test "$extra_verbose" = "yes" && cat << EOF + Defining $ac_tr_func +EOF +cat >> confdefs.h <&6 +fi +done - LIBS="-lldap10 $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap10\" to \$LIBS"; fi - elif test "$with_ldap" = "yes" ; then - LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi - fi fi if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:6690: checking for graphics libraries" >&5 +echo "configure:6753: checking for graphics libraries" >&5 xpm_problem="" if test -z "$with_xpm"; then echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:6695: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6758: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext < int main(int c, char **v) { @@ -6702,7 +6765,7 @@ echo "configure:6695: checking for Xpm - no older than 3.4f" >&5 XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:6706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$xpm_status" = "0"; then @@ -6744,17 +6807,17 @@ EOF libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:6748: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:6811: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* xpm_for_msw=no else @@ -6780,15 +6843,15 @@ EOF test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:6784: checking for compface.h" >&5 +echo "configure:6847: checking for compface.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6792: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6811,12 +6874,12 @@ fi } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:6815: checking for UnGenFace in -lcompface" >&5 +echo "configure:6878: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6894: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6879,12 +6942,12 @@ EOF if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6883: checking for inflate in -lc" >&5 +echo "configure:6946: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6914,12 +6977,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6918: checking for inflate in -lz" >&5 +echo "configure:6981: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6949,12 +7012,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6953: checking for inflate in -lgz" >&5 +echo "configure:7016: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6995,15 +7058,15 @@ fi test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6 -echo "configure:6999: checking for jpeglib.h" >&5 +echo "configure:7062: checking for jpeglib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7026,12 +7089,12 @@ fi } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:7030: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:7093: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7078,10 +7141,10 @@ EOF png_problem="" test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:7082: checking for pow" >&5 +echo "configure:7145: checking for pow" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -7125,15 +7188,15 @@ fi } test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for png.h""... $ac_c" 1>&6 -echo "configure:7129: checking for png.h" >&5 +echo "configure:7192: checking for png.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7137: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7156,12 +7219,12 @@ fi } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:7160: checking for png_read_image in -lpng" >&5 +echo "configure:7223: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7195,10 +7258,10 @@ fi } if test -z "$with_png"; then echo $ac_n "checking for workable png version information""... $ac_c" 1>&6 -echo "configure:7199: checking for workable png version information" >&5 +echo "configure:7262: checking for workable png version information" >&5 xe_check_libs="-lpng -lz" cat > conftest.$ac_ext < int main(int c, char **v) { @@ -7206,7 +7269,7 @@ echo "configure:7199: checking for workable png version information" >&5 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;} EOF -if { (eval echo configure:7210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; png_status=$?; if test "$png_status" = "0"; then @@ -7249,15 +7312,15 @@ EOF test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:7253: checking for tiffio.h" >&5 +echo "configure:7316: checking for tiffio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7261: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7280,12 +7343,12 @@ fi } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:7284: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:7347: checking for TIFFClientOpen in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7335,16 +7398,16 @@ fi if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:7339: checking for X11 graphics libraries" >&5 +echo "configure:7402: checking for X11 graphics libraries" >&5 echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:7343: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:7406: checking for XawScrollbarSetThumb in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7379,15 +7442,15 @@ fi ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:7383: checking for Xm/Xm.h" >&5 +echo "configure:7446: checking for Xm/Xm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7404,12 +7467,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:7408: checking for XmStringFree in -lXm" >&5 +echo "configure:7471: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7449,9 +7512,9 @@ fi if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:7453: checking for Lesstif" >&5 +echo "configure:7516: checking for Lesstif" >&5 cat > conftest.$ac_ext < #ifdef LESSTIF_VERSION @@ -7714,7 +7777,7 @@ fi if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7718: checking for Mule-related features" >&5 +echo "configure:7781: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7739,15 +7802,15 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7743: checking for $ac_hdr" >&5 +echo "configure:7806: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7751: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7778,12 +7841,12 @@ done echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7782: checking for strerror in -lintl" >&5 +echo "configure:7845: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7855,18 +7918,18 @@ EOF fi echo "checking for Mule input methods" 1>&6 -echo "configure:7859: checking for Mule input methods" >&5 +echo "configure:7922: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7862: checking for XIM" >&5 +echo "configure:7925: checking for XIM" >&5 echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6 -echo "configure:7865: checking for XOpenIM in -lX11" >&5 +echo "configure:7928: checking for XOpenIM in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7901,12 +7964,12 @@ fi if test "$have_motif $have_lesstif" = "yes no"; then echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7905: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7968: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7982,15 +8045,15 @@ EOF if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7986: checking for XFontSet" >&5 +echo "configure:8049: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7989: checking for XmbDrawString in -lX11" >&5 +echo "configure:8052: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8041,15 +8104,15 @@ EOF test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6 -echo "configure:8045: checking for wnn/jllib.h" >&5 +echo "configure:8108: checking for wnn/jllib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8074,10 +8137,10 @@ fi for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8078: checking for $ac_func" >&5 +echo "configure:8141: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8129,12 +8192,12 @@ done test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:8133: checking for crypt in -lcrypt" >&5 +echo "configure:8196: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8180,12 +8243,12 @@ fi if test -z "$with_wnn" -o "$with_wnn" = "yes"; then echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:8184: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:8247: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8214,12 +8277,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6 -echo "configure:8218: checking for jl_dic_list_e in -lwnn4" >&5 +echo "configure:8281: checking for jl_dic_list_e in -lwnn4" >&5 ac_lib_var=`echo wnn4'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn4 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8248,12 +8311,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6 -echo "configure:8252: checking for jl_dic_list_e in -lwnn6" >&5 +echo "configure:8315: checking for jl_dic_list_e in -lwnn6" >&5 ac_lib_var=`echo wnn6'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8331: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8282,12 +8345,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6 -echo "configure:8286: checking for dic_list_e in -lwnn6_fromsrc" >&5 +echo "configure:8349: checking for dic_list_e in -lwnn6_fromsrc" >&5 ac_lib_var=`echo wnn6_fromsrc'_'dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6_fromsrc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8346,12 +8409,12 @@ EOF if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6 -echo "configure:8350: checking for jl_fi_dic_list in -l$libwnn" >&5 +echo "configure:8413: checking for jl_fi_dic_list in -l$libwnn" >&5 ac_lib_var=`echo $libwnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -l$libwnn " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8397,15 +8460,15 @@ EOF if test "$with_canna" != "no"; then ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:8401: checking for canna/jrkanji.h" >&5 +echo "configure:8464: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8472: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8432,15 +8495,15 @@ fi c_switch_site="$c_switch_site -I/usr/local/canna/include" ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:8436: checking for canna/jrkanji.h" >&5 +echo "configure:8499: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8444: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8507: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8468,15 +8531,15 @@ fi test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:8472: checking for canna/RK.h" >&5 +echo "configure:8535: checking for canna/RK.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8480: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8499,12 +8562,12 @@ fi } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:8503: checking for RkBgnBun in -lRKC" >&5 +echo "configure:8566: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8538,12 +8601,12 @@ fi } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:8542: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:8605: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8603,12 +8666,12 @@ if test "$need_motif" = "yes" ; then libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6 -echo "configure:8607: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8670: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8705,10 +8768,10 @@ fi 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:8709: checking for $ac_func" >&5 +echo "configure:8772: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8772,10 +8835,10 @@ case "$opsys" in * ) for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8776: checking for $ac_func" >&5 +echo "configure:8839: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8834,10 +8897,10 @@ esac for ac_func in getloadavg do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8838: checking for $ac_func" >&5 +echo "configure:8901: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8896,12 +8959,12 @@ then echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:8900: checking for kstat_open in -lkstat" >&5 +echo "configure:8963: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8946,12 +9009,12 @@ fi echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:8950: checking for kvm_read in -lkvm" >&5 +echo "configure:9013: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8996,16 +9059,16 @@ fi fi echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:9000: checking whether netdb declares h_errno" >&5 +echo "configure:9063: checking whether netdb declares h_errno" >&5 cat > conftest.$ac_ext < int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:9009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -9025,16 +9088,16 @@ fi rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:9029: checking for sigsetjmp" >&5 +echo "configure:9092: checking for sigsetjmp" >&5 cat > conftest.$ac_ext < int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:9038: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9101: \"$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 @@ -9054,11 +9117,11 @@ fi rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:9058: checking whether localtime caches TZ" >&5 +echo "configure:9121: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext < #if STDC_HEADERS @@ -9093,7 +9156,7 @@ main() exit (0); } EOF -if { (eval echo configure:9097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -9123,9 +9186,9 @@ fi if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:9127: checking whether gettimeofday accepts one or two arguments" >&5 +echo "configure:9190: checking whether gettimeofday accepts one or two arguments" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -9169,19 +9232,19 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:9173: checking for inline" >&5 +echo "configure:9236: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -9231,17 +9294,17 @@ fi # 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:9235: checking for working alloca.h" >&5 +echo "configure:9298: checking for working alloca.h" >&5 cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:9245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -9265,10 +9328,10 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:9269: checking for alloca" >&5 +echo "configure:9332: checking for alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -9335,10 +9398,10 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:9339: checking whether alloca needs Cray hooks" >&5 +echo "configure:9402: checking whether alloca needs Cray hooks" >&5 cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9366: checking for $ac_func" >&5 +echo "configure:9429: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9418,10 +9481,10 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:9422: checking stack direction for C alloca" >&5 +echo "configure:9485: checking stack direction for C alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9507: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -9469,15 +9532,15 @@ test -n "$ALLOCA" && extra_objs="$extra_objs $ALLOCA" && if test "$extra_verbos ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:9473: checking for vfork.h" >&5 +echo "configure:9536: checking for vfork.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9481: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9505,10 +9568,10 @@ else fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:9509: checking for working vfork" >&5 +echo "configure:9572: checking for working vfork" >&5 cat > conftest.$ac_ext < @@ -9603,7 +9666,7 @@ main() { } } EOF -if { (eval echo configure:9607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_vfork_works=yes else @@ -9629,10 +9692,10 @@ fi echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:9633: checking for working strcoll" >&5 +echo "configure:9696: checking for working strcoll" >&5 cat > conftest.$ac_ext < main () @@ -9642,7 +9705,7 @@ main () strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:9646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -9670,10 +9733,10 @@ fi for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9674: checking for $ac_func" >&5 +echo "configure:9737: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9724,10 +9787,10 @@ fi done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:9728: checking whether getpgrp takes no argument" >&5 +echo "configure:9791: checking whether getpgrp takes no argument" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -9809,10 +9872,10 @@ fi echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9813: checking for working mmap" >&5 +echo "configure:9876: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext < #include @@ -9845,7 +9908,7 @@ int main (int argc, char *argv[]) return 1; } EOF -if { (eval echo configure:9849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -9870,15 +9933,15 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:9874: checking for $ac_hdr" >&5 +echo "configure:9937: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9945: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9910,10 +9973,10 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9914: checking for $ac_func" >&5 +echo "configure:9977: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9964,10 +10027,10 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9968: checking for working mmap" >&5 +echo "configure:10031: checking for working mmap" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:10174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_mmap_fixed_mapped=yes else @@ -10145,15 +10208,15 @@ EOF ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:10149: checking for termios.h" >&5 +echo "configure:10212: checking for termios.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10196,15 +10259,15 @@ else echo "$ac_t""no" 1>&6 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termio.h""... $ac_c" 1>&6 -echo "configure:10200: checking for termio.h" >&5 +echo "configure:10263: checking for termio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10271: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10236,10 +10299,10 @@ fi echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:10240: checking for socket" >&5 +echo "configure:10303: checking for socket" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -10277,15 +10340,15 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6 -echo "configure:10281: checking for netinet/in.h" >&5 +echo "configure:10344: checking for netinet/in.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10302,15 +10365,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6 -echo "configure:10306: checking for arpa/inet.h" >&5 +echo "configure:10369: checking for arpa/inet.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10314: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10335,9 +10398,9 @@ EOF } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:10339: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:10402: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext < @@ -10348,7 +10411,7 @@ int main() { static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:10352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -10366,9 +10429,9 @@ else fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:10370: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:10433: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext < @@ -10378,7 +10441,7 @@ int main() { static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:10382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -10409,10 +10472,10 @@ fi echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:10413: checking for msgget" >&5 +echo "configure:10476: checking for msgget" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10502: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -10450,15 +10513,15 @@ if eval "test \"`echo '$ac_cv_func_'msgget`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:10454: checking for sys/ipc.h" >&5 +echo "configure:10517: checking for sys/ipc.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10475,15 +10538,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6 -echo "configure:10479: checking for sys/msg.h" >&5 +echo "configure:10542: checking for sys/msg.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10521,15 +10584,15 @@ fi ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:10525: checking for dirent.h" >&5 +echo "configure:10588: checking for dirent.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10596: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10556,15 +10619,15 @@ else echo "$ac_t""no" 1>&6 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6 -echo "configure:10560: checking for sys/dir.h" >&5 +echo "configure:10623: checking for sys/dir.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10568: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10597,15 +10660,15 @@ fi ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:10601: checking for nlist.h" >&5 +echo "configure:10664: checking for nlist.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10672: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10635,7 +10698,7 @@ fi echo "checking "for sound support"" 1>&6 -echo "configure:10639: checking "for sound support"" >&5 +echo "configure:10702: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -10646,15 +10709,15 @@ if test "$with_native_sound" != "no"; then if test -n "$native_sound_lib"; then ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6 -echo "configure:10650: checking for multimedia/audio_device.h" >&5 +echo "configure:10713: checking for multimedia/audio_device.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10658: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10721: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10702,12 +10765,12 @@ fi if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:10706: checking for ALopenport in -laudio" >&5 +echo "configure:10769: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10749,12 +10812,12 @@ fi if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:10753: checking for AOpenAudio in -lAlib" >&5 +echo "configure:10816: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10803,15 +10866,15 @@ fi for dir in "machine" "sys" "linux"; do ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6 -echo "configure:10807: checking for ${dir}/soundcard.h" >&5 +echo "configure:10870: checking for ${dir}/soundcard.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10881,7 +10944,7 @@ EOF fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext < EOF @@ -10908,7 +10971,7 @@ test -z "$with_tty" && with_tty=yes if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:10912: checking for TTY-related features" >&5 +echo "configure:10975: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -10924,12 +10987,12 @@ EOF if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:10928: checking for tgetent in -lncurses" >&5 +echo "configure:10991: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10973,15 +11036,15 @@ EOF ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10977: checking for ncurses/curses.h" >&5 +echo "configure:11040: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11003,15 +11066,15 @@ fi ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:11007: checking for ncurses/term.h" >&5 +echo "configure:11070: checking for ncurses/term.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11015: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11078: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11041,15 +11104,15 @@ fi c_switch_site="$c_switch_site -I/usr/include/ncurses" ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:11045: checking for ncurses/curses.h" >&5 +echo "configure:11108: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11084,12 +11147,12 @@ fi for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:11088: checking for tgetent in -l$lib" >&5 +echo "configure:11151: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11131,12 +11194,12 @@ fi else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:11135: checking for tgetent in -lcurses" >&5 +echo "configure:11198: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11165,12 +11228,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:11169: checking for tgetent in -ltermcap" >&5 +echo "configure:11232: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11229,15 +11292,15 @@ EOF test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gpm.h""... $ac_c" 1>&6 -echo "configure:11233: checking for gpm.h" >&5 +echo "configure:11296: checking for gpm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11241: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11304: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11260,12 +11323,12 @@ fi } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:11264: checking for Gpm_Open in -lgpm" >&5 +echo "configure:11327: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11326,20 +11389,20 @@ test "$with_x11" = "yes" -o "$with_tty" = "yes" && extra_objs="$extra_objs event test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \ != "no no no" && echo "checking for database support" 1>&6 -echo "configure:11330: checking for database support" >&5 +echo "configure:11393: checking for database support" >&5 if test "$with_database_gnudbm $with_database_dbm" != "no no"; then ac_safe=`echo "ndbm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ndbm.h""... $ac_c" 1>&6 -echo "configure:11335: checking for ndbm.h" >&5 +echo "configure:11398: checking for ndbm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11343: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11406: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11369,12 +11432,12 @@ fi if test "$with_database_gnudbm" != "no"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:11373: checking for dbm_open in -lgdbm" >&5 +echo "configure:11436: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11452: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11413,10 +11476,10 @@ fi if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:11417: checking for dbm_open" >&5 +echo "configure:11480: checking for dbm_open" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11506: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -11458,12 +11521,12 @@ else echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:11462: checking for dbm_open in -ldbm" >&5 +echo "configure:11525: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11515,10 +11578,10 @@ EOF if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:11519: checking for Berkeley db.h" >&5 +echo "configure:11582: checking for Berkeley db.h" >&5 for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -11552,9 +11615,9 @@ rm -f conftest* if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:11556: checking for Berkeley DB version" >&5 +echo "configure:11619: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 1 @@ -11573,10 +11636,10 @@ fi rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:11577: checking for $dbfunc" >&5 +echo "configure:11640: checking for $dbfunc" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$dbfunc=yes" else @@ -11618,12 +11681,12 @@ else echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:11622: checking for $dbfunc in -ldb" >&5 +echo "configure:11685: checking for $dbfunc in -ldb" >&5 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11698,12 +11761,12 @@ fi if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:11702: checking for SOCKSinit in -lsocks" >&5 +echo "configure:11765: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11771,15 +11834,15 @@ for ac_hdr in dlfcn.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11775: checking for $ac_hdr" >&5 +echo "configure:11838: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11783: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11846: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11818,12 +11881,12 @@ done test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:11822: checking for dlopen in -ldl" >&5 +echo "configure:11885: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11863,12 +11926,12 @@ fi } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11867: checking for _dlopen in -lc" >&5 +echo "configure:11930: checking for _dlopen in -lc" >&5 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11908,12 +11971,12 @@ fi } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11912: checking for dlopen in -lc" >&5 +echo "configure:11975: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11953,12 +12016,12 @@ fi } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:11957: checking for shl_load in -ldld" >&5 +echo "configure:12020: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11998,12 +12061,12 @@ fi } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:12002: checking for dld_init in -ldld" >&5 +echo "configure:12065: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -12053,7 +12116,7 @@ xehost=$canonical xealias=$internal_configuration echo "checking how to build dynamic libraries for ${xehost}" 1>&6 -echo "configure:12057: checking how to build dynamic libraries for ${xehost}" >&5 +echo "configure:12120: checking how to build dynamic libraries for ${xehost}" >&5 # Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. case "$xehost" in *-*-linux-gnu*) ;; @@ -12081,9 +12144,9 @@ if test "$GCC" = "yes"; then XEGCC=yes else echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:12085: checking checking whether we are using GNU C" >&5 +echo "configure:12148: checking checking whether we are using GNU C" >&5 cat > conftest.$ac_ext <&6 -echo "configure:12109: checking how to produce PIC code" >&5 +echo "configure:12172: checking how to produce PIC code" >&5 wl= can_build_shared=yes @@ -12198,18 +12261,18 @@ if test -n "$dll_cflags"; then # Check to make sure the dll_cflags actually works. echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6 -echo "configure:12202: checking if PIC flag ${dll_cflags} really works" >&5 +echo "configure:12265: checking if PIC flag ${dll_cflags} really works" >&5 save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $dll_cflags -DPIC" cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12276: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also @@ -12240,7 +12303,7 @@ cc_produces_so=no xldf= xcldf= echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6 -echo "configure:12244: checking if C compiler can produce shared libraries" >&5 +echo "configure:12307: checking if C compiler can produce shared libraries" >&5 if test "$XEGCC" = yes; then xcldf="-shared" xldf="-shared" @@ -12291,14 +12354,14 @@ if test -n "$xcldf"; then xe_libs= ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cc_produces_so=yes else @@ -12323,7 +12386,7 @@ if test -z "$LTLD"; then if test "$XEGCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:12327: checking for ld used by GCC" >&5 +echo "configure:12390: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -12348,7 +12411,7 @@ echo "configure:12327: checking for ld used by GCC" >&5 esac else echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:12352: checking for GNU ld" >&5 +echo "configure:12415: checking for GNU ld" >&5 fi if test -z "$LTLD"; then @@ -12386,7 +12449,7 @@ ld_dynamic_link_flags= # Check to see if it really is or isn't GNU ld. echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6 -echo "configure:12390: checking if the linker is GNU ld" >&5 +echo "configure:12453: checking if the linker is GNU ld" >&5 # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LTLD -v 2>&1 &5; then xe_gnu_ld=yes @@ -12413,7 +12476,7 @@ else # OK - only NOW do we futz about with ld. # See if the linker supports building shared libraries. echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6 -echo "configure:12417: checking whether the linker supports shared libraries" >&5 +echo "configure:12480: checking whether the linker supports shared libraries" >&5 dll_ld=$CC dll_ldflags=$LDFLAGS ld_shlibs=yes @@ -12629,10 +12692,10 @@ EOF for ac_func in dlerror _dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12633: checking for $ac_func" >&5 +echo "configure:12696: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12689,11 +12752,11 @@ done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -12864,6 +12927,7 @@ rm -f core + PREFIX=$prefix while true; do case "$PREFIX" in @@ -12874,6 +12938,7 @@ done + EXEC_PREFIX=$exec_prefix while true; do case "$EXEC_PREFIX" in @@ -12984,6 +13049,17 @@ done +DOCDIR=$docdir +while true; do + case "$DOCDIR" in + *\$* ) eval "DOCDIR=$DOCDIR" ;; + *) break ;; + esac +done + + + + ARCHLIBDIR=$archlibdir while true; do case "$ARCHLIBDIR" in @@ -13337,9 +13413,7 @@ test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley test "$with_database_dbm" = yes && echo " Compiling in support for DBM." test "$with_database_gnudbm" = yes && echo " Compiling in support for GNU DBM." -test "$with_umich_ldap" = yes && echo " Compiling in support for LDAP (UMich libs)." -test "$with_ns_ldap" = yes && echo " Compiling in support for LDAP (Netscape SDK)." -test "$with_ldap" = yes -a "$with_umich_ldap" = no -a "$with_ns_ldap" = no && echo " Compiling in support for LDAP (Generic)." +test "$with_ldap" = yes && echo " Compiling in support for LDAP." test "$with_ncurses" = yes && echo " Compiling in support for ncurses." test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." @@ -13557,7 +13631,9 @@ s%@canonical@%$canonical%g s%@srcdir@%$srcdir%g s%@pkgdir@%$pkgdir%g s%@statedir@%$statedir%g +s%@PREFIX_USER_DEFINED@%$PREFIX_USER_DEFINED%g s%@PREFIX@%$PREFIX%g +s%@EXEC_PREFIX_USER_DEFINED@%$EXEC_PREFIX_USER_DEFINED%g s%@EXEC_PREFIX@%$EXEC_PREFIX%g s%@INFODIR_USER_DEFINED@%$INFODIR_USER_DEFINED%g s%@INFODIR@%$INFODIR%g @@ -13585,10 +13661,12 @@ s%@ETCDIR@%$ETCDIR%g s%@lockdir@%$lockdir%g s%@LOCKDIR_USER_DEFINED@%$LOCKDIR_USER_DEFINED%g s%@LOCKDIR@%$LOCKDIR%g +s%@docdir@%$docdir%g +s%@DOCDIR_USER_DEFINED@%$DOCDIR_USER_DEFINED%g +s%@DOCDIR@%$DOCDIR%g s%@archlibdir@%$archlibdir%g s%@ARCHLIBDIR_USER_DEFINED@%$ARCHLIBDIR_USER_DEFINED%g s%@ARCHLIBDIR@%$ARCHLIBDIR%g -s%@docdir@%$docdir%g s%@bitmapdir@%$bitmapdir%g s%@extra_objs@%$extra_objs%g s%@machfile@%$machfile%g diff --git a/configure.in b/configure.in index 612946d..20a87a4 100644 --- a/configure.in +++ b/configure.in @@ -357,6 +357,7 @@ package_path='' etcdir='${datadir}/${PROGNAME}-${version}/etc' lockdir='${statedir}/${PROGNAME}/lock' archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}' +docdir='${archlibdir}' with_site_lisp='no' with_site_modules='yes' with_menubars='' @@ -711,6 +712,8 @@ while test $# != 0; do dnl You need to synchronize this with the way the dnl default values are built. case "$opt" in + prefix ) AC_DEFINE(PREFIX_USER_DEFINED) ;; + exec_prefix ) AC_DEFINE(EXEC_PREFIX_USER_DEFINED) ;; lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;; sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;; moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;; @@ -724,6 +727,7 @@ while test $# != 0; do AC_DEFINE(MODULEDIR_USER_DEFINED) AC_DEFINE(ETCDIR_USER_DEFINED) ;; statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;; + docdir ) AC_DEFINE(DOCDIR_USER_DEFINED) ;; exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;; esac ;; @@ -2672,23 +2676,20 @@ AC_CHECKING(for LDAP) test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } if test "$with_ldap" != "no"; then - test -z "$with_umich_ldap" && { AC_CHECK_LIB(ldap, ldap_open, with_umich_ldap=yes, with_umich_ldap=no, -llber) } - test "$with_umich_ldap" = "no" && { AC_CHECK_LIB(ldap10, ldap_set_option, with_ns_ldap=yes, with_ns_ldap=no) } - test -z "$with_ldap" -a \( "$with_umich_ldap" = "yes" -o "$with_ns_ldap" = "yes" \) && with_ldap=yes + AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no) + test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) } + test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" \) && with_ldap=yes fi if test "$with_ldap" = "yes"; then AC_DEFINE(HAVE_LDAP) XE_ADD_OBJS(eldap.o) - if test "$with_umich_ldap" = "yes" ; then - AC_DEFINE(HAVE_UMICH_LDAP) - XE_PREPEND(-llber, LIBS) + if test "$with_ldap_nolber" = "yes" ; then XE_PREPEND(-lldap, LIBS) - elif test "$with_ldap" = "yes" -a "$with_ns_ldap" = "yes" ; then - AC_DEFINE(HAVE_NS_LDAP) - XE_PREPEND(-lldap10, LIBS) - elif test "$with_ldap" = "yes" ; then + else + XE_PREPEND(-llber, LIBS) XE_PREPEND(-lldap, LIBS) fi + AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) fi dnl ---------------------- @@ -3753,6 +3754,7 @@ AC_SUBST(libdir) AC_SUBST(mandir) AC_SUBST(prefix) +AC_SUBST(PREFIX_USER_DEFINED) dnl Yo, Stephen Bourne! I want to marry you! PREFIX=$prefix while true; do @@ -3764,6 +3766,7 @@ done AC_SUBST(PREFIX) AC_SUBST(exec_prefix) +AC_SUBST(EXEC_PREFIX_USER_DEFINED) EXEC_PREFIX=$exec_prefix while true; do case "$EXEC_PREFIX" in @@ -3872,6 +3875,17 @@ while true; do done AC_SUBST(LOCKDIR) +AC_SUBST(docdir) +AC_SUBST(DOCDIR_USER_DEFINED) +DOCDIR=$docdir +while true; do + case "$DOCDIR" in + *\$* ) eval "DOCDIR=$DOCDIR" ;; + *) break ;; + esac +done +AC_SUBST(DOCDIR) + AC_SUBST(archlibdir) AC_SUBST(ARCHLIBDIR_USER_DEFINED) ARCHLIBDIR=$archlibdir @@ -4070,9 +4084,7 @@ test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley test "$with_database_dbm" = yes && echo " Compiling in support for DBM." test "$with_database_gnudbm" = yes && echo " Compiling in support for GNU DBM." -test "$with_umich_ldap" = yes && echo " Compiling in support for LDAP (UMich libs)." -test "$with_ns_ldap" = yes && echo " Compiling in support for LDAP (Netscape SDK)." -test "$with_ldap" = yes -a "$with_umich_ldap" = no -a "$with_ns_ldap" = no && echo " Compiling in support for LDAP (Generic)." +test "$with_ldap" = yes && echo " Compiling in support for LDAP." test "$with_ncurses" = yes && echo " Compiling in support for ncurses." test "$with_gpm" = yes && echo " Compiling in support for GPM (General Purpose Mouse)." diff --git a/configure.usage b/configure.usage index 6d44544..5bbaa91 100644 --- a/configure.usage +++ b/configure.usage @@ -219,10 +219,10 @@ Other options: Defaults to `${statedir}/xemacs/lock'. You may also specify any of the `path' variables found in Makefile.in, -including --bindir, --libdir, --lispdir, --sitelispdir, --datadir, ---infodir, --mandir and so on. Note that we recommend against -explicitly setting any of these variables. See the INSTALL file for a -complete list plus the reasons we advise not changing them. +including --bindir, --libdir, --docdir, --lispdir, --sitelispdir, +--datadir, --infodir, --mandir and so on. Note that we recommend +against explicitly setting any of these variables. See the INSTALL +file for a complete list plus the reasons we advise not changing them. If successful, configure leaves its status in config.status. If unsuccessful after disturbing the status quo, it removes config.status. diff --git a/dynodump/_dynodump.h b/dynodump/_dynodump.h index c09bd7f..847c4eb 100644 --- a/dynodump/_dynodump.h +++ b/dynodump/_dynodump.h @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: _dynodump.h,v 1.5 1996/05/23 18:39:07 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: _dynodump.h,v 1.3 1997/05/29 04:22:29 steve Exp $ - SMI" #ifndef _DYNODUMP_DOT_H #define _DYNODUMP_DOT_H diff --git a/dynodump/dynodump.c b/dynodump/dynodump.c index b684813..ff4477d 100644 --- a/dynodump/dynodump.c +++ b/dynodump/dynodump.c @@ -73,7 +73,7 @@ * N.B. The above commentary is not quite correct in the flags have been hardwired * to RTLD_SAVREL. */ -#pragma ident "@(#) $Id: dynodump.c,v 1.8 1996/05/23 18:39:21 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: dynodump.c,v 1.6 1998/03/31 20:10:55 steve Exp $ - SMI" #define __EXTENSIONS__ 1 diff --git a/dynodump/i386/_relocate.c b/dynodump/i386/_relocate.c index d3ec59c..f97dd1b 100644 --- a/dynodump/i386/_relocate.c +++ b/dynodump/i386/_relocate.c @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:12:41 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: _relocate.c,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI" /* LINTLIBRARY */ diff --git a/dynodump/i386/machdep.h b/dynodump/i386/machdep.h index c90e29c..4dc66fe 100644 --- a/dynodump/i386/machdep.h +++ b/dynodump/i386/machdep.h @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:43 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI" /* * Global include file for all sgs Intel machine dependent macros, constants diff --git a/dynodump/ppc/_relocate.c b/dynodump/ppc/_relocate.c index feb5ca9..754b417 100644 --- a/dynodump/ppc/_relocate.c +++ b/dynodump/ppc/_relocate.c @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: _relocate.c,v 1.3 1995/06/26 20:16:39 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI" /* LINTLIBRARY */ diff --git a/dynodump/ppc/machdep.h b/dynodump/ppc/machdep.h index 2a3d1e6..a649a9c 100644 --- a/dynodump/ppc/machdep.h +++ b/dynodump/ppc/machdep.h @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:49 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:20 steve Exp $ - SMI" /* * Global include file for all sgs PowerPC machine dependent macros, constants diff --git a/dynodump/sparc/_relocate.c b/dynodump/sparc/_relocate.c index 10b0fda..14466f0 100644 --- a/dynodump/sparc/_relocate.c +++ b/dynodump/sparc/_relocate.c @@ -35,7 +35,7 @@ /* * Update the value of the `_edata' and `_end' symbols. */ -#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:13:26 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI" #include #include diff --git a/dynodump/sparc/machdep.h b/dynodump/sparc/machdep.h index 972081e..b4b76d8 100644 --- a/dynodump/sparc/machdep.h +++ b/dynodump/sparc/machdep.h @@ -32,7 +32,7 @@ * Mountain View, California 94043 */ -#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:55 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:26 steve Exp $ - SMI" /* * Global include file for all sgs SPARC machine dependent macros, constants diff --git a/dynodump/syms.c b/dynodump/syms.c index c060f33..0ac5cb8 100644 --- a/dynodump/syms.c +++ b/dynodump/syms.c @@ -35,7 +35,7 @@ /* * Update the value of the `_edata' and `_end' symbols. */ -#pragma ident "@(#) $Id: syms.c,v 1.2 1995/03/06 22:39:22 georgn Exp $ - SMI" +#pragma ident "@(#) $Id: syms.c,v 1.3 1997/05/29 04:22:30 steve Exp $ - SMI" #include #include diff --git a/etc/NEWS b/etc/NEWS index a8f7c80..f2cb4cb 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -33,6 +33,10 @@ file. * Changes in XEmacs 21.2 ======================== +** XEmacs now locates the early package hierarchy at ~/.xemacs/packages. + +This has changed from simply ~/.xemacs. + ** `delete-key-deletes-forward' now defaults to t. `delete-key-deletes-forward' is the variable that regulates the @@ -88,6 +92,22 @@ maintained internally. The new primitives available for this purpose are functions named `user-name-completion' and `user-name-all-completions'. +** Native widgets can be displayed in buffers. + +The glyph system has been extended to allow the display of glyphs that +are implemented as native window-system widgets. Thus you can embed +buttons, scrollbars, combo boxes, edit fields and progress gauges in a +buffer. As a side effect subwindow support now works once again. + +This support is currently only available under MS-Windows. + +** X-Face support is now available under MS-Windows + +If an X-Face libary built under MS-Windows is available then XEmacs +will use this at build time. + +** The font-menu is now available under MS-Windows + * Lisp and internal changes in XEmacs 21.2 ========================================== diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index fa9d5e1..579b064 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,7 @@ +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released diff --git a/lib-src/config.values.in b/lib-src/config.values.in index 45d1924..b182bab 100644 --- a/lib-src/config.values.in +++ b/lib-src/config.values.in @@ -24,9 +24,12 @@ CPP "@CPP@" CPPFLAGS "@CPPFLAGS@" CXXFLAGS "@CXXFLAGS@" DEFS "@DEFS@" +DOCDIR "@DOCDIR@" +DOCDIR_USER_DEFINED "@DOCDIR_USER_DEFINED@" ETCDIR "@ETCDIR@" ETCDIR_USER_DEFINED "@ETCDIR_USER_DEFINED@" EXEC_PREFIX "@EXEC_PREFIX@" +EXEC_PREFIX_USER_DEFINED "@EXEC_PREFIX_USER_DEFINED@" FFLAGS "@FFLAGS@" INFODIR "@INFODIR@" INFODIR_USER_DEFINED "@INFODIR_USER_DEFINED@" @@ -50,6 +53,7 @@ MODULEDIR_USER_DEFINED "@MODULEDIR_USER_DEFINED@" PACKAGE_PATH "@PACKAGE_PATH@" PACKAGE_PATH_USER_DEFINED "@PACKAGE_PATH_USER_DEFINED@" PREFIX "@PREFIX@" +PREFIX_USER_DEFINED "@PREFIX_USER_DEFINED@" PROGNAME "@PROGNAME@" RANLIB "@RANLIB@" RECURSIVE_MAKE "@RECURSIVE_MAKE@" diff --git a/lib-src/rcs2log b/lib-src/rcs2log index 2a9e7d1..8fa12d9 100755 --- a/lib-src/rcs2log +++ b/lib-src/rcs2log @@ -28,7 +28,7 @@ Options: Report bugs to .' -Id='$Id: rcs2log,v 1.37 1997/03/21 22:19:30 eggert Exp $' +Id='$Id: rcs2log,v 1.2 1997/07/09 04:31:03 steve Exp $' # Copyright 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0adbe44..9286839 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -18,16 +18,37 @@ * mule/vietnamese.el (leading-code-private-11): Deleted [defined as builtin variable]. -1999-06-09 MORIOKA Tomohiko - - * mule/cyrillic.el (cyrillic-koi8-r-decode-table): Set 32 for - missing characters to avoid crash. - 1999-06-04 MORIOKA Tomohiko * files.el (insert-file-contents-literally): Treat file as binary; call file-name-handlers. [sync with Emacs 20.3.10] +1999-06-23 SL Baur + + * mule/mule-category.el (Top Level): ASCII is also latin-1. + +1999-06-15 Michael Sperber [Mr. Preprocessor] + + * packages.el (package-locations): Changed default early package + hierarchy to ~/.xemacs/packages. + (package-locations): Removed `packages' as a possible name for a + late package hierarchy. + +1999-06-20 MORIOKA Tomohiko + + * mule/mule-category.el (word-combining-categories): Set up new + variable. + (word-separating-categories): Likewise. + +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + +1999-06-17 Robert Pluim + + * font-menu.el (font-menu-set-font): allow for nil specification + of font size. + 1999-06-16 MORIOKA Tomohiko * mule/thai-xtis.el: Specify `columns' of the charset `thai-xtis' @@ -38,10 +59,29 @@ * mule/cyrillic.el (cyrillic-koi8-r-decode-table): Use NBSP of ISO 8859-5 instead of ISO 8859-1. -1999-06-04 MORIOKA Tomohiko +1999-06-15 SL Baur - * files.el (insert-file-contents-literally): Treat file as binary; - call file-name-handlers. [sync with Emacs 20.3.10] + * mule/vietnamese.el (viet-vscii-encode-table): Use split-char. + (viet-viscii-encode-table): Ditto. + + * mule/mule-misc.el: Delete split-char & split-char-or-char-int. + Make obsolete definition of char-octet. + +1999-06-14 SL Baur + + * subr.el: Move no-Mule make-char ... + * help-nomule.el (make-char): To here. + (string-width): Make Mule compatibility alias. + +1999-06-15 Andy Piper + + * select.el (get-selection-no-error): really make there be no-error. + (get-selection): revert to original. + +1999-06-11 Andy Piper + + * select.el (selection-sets-clipboard): renamed. + (own-selection): use it. 1999-06-11 XEmacs Build Bot diff --git a/lisp/font-menu.el b/lisp/font-menu.el index 0103764..e22202f 100644 --- a/lisp/font-menu.el +++ b/lisp/font-menu.el @@ -400,7 +400,7 @@ or if you change your font path, you can call this to re-initialize the menus." (list :family family :size (concat (int-to-string - (/ size + (/ (or size from-size) (specifier-instance font-menu-size-scaling (selected-device)))) "pt"))) diff --git a/lisp/help-nomule.el b/lisp/help-nomule.el index 1f4a0bb..cc90cd2 100644 --- a/lisp/help-nomule.el +++ b/lisp/help-nomule.el @@ -100,6 +100,19 @@ With a prefix argument, choose the language." ;; Now, signal the error (signal (car error-data) (cdr error-data))))))) +;; General Mule-compatibility stuffs +(define-function 'string-width 'length) + +;; The following was originally in subr.el +(defun make-char (charset &optional arg1 arg2) + "Make a character from CHARSET and octets ARG1 and ARG2. +This function is available for compatibility with Mule-enabled XEmacsen. +When CHARSET is `ascii', return (int-char ARG1). Otherwise, return +that value with the high bit set. ARG2 is always ignored." + (int-char (if (eq charset 'ascii) + arg1 + (logior arg1 #x80)))) + (provide 'help-nomule) diff --git a/lisp/ldap.el b/lisp/ldap.el index 4006514..bb31a83 100644 --- a/lisp/ldap.el +++ b/lisp/ldap.el @@ -5,7 +5,7 @@ ;; Author: Oscar Figueiredo ;; Maintainer: Oscar Figueiredo ;; Created: Jan 1998 -;; Version: $Revision: 1.7.2.3 $ +;; Version: $Revision: 1.7.2.5 $ ;; Keywords: help comm ;; This file is part of XEmacs diff --git a/lisp/lib-complete.el b/lisp/lib-complete.el index 7ae20c3..3713295 100644 --- a/lisp/lib-complete.el +++ b/lisp/lib-complete.el @@ -38,7 +38,7 @@ ;; Last Modified By: Heiko M|nkel ;; Additional XEmacs integration By: Chuck Thompson ;; Last Modified On: Thu Jul 1 14:23:00 1994 -;; RCS Info : $Revision: 1.3.2.1 $ $Locker: $ +;; RCS Info : $Revision: 1.3.2.2 $ $Locker: $ ;; ======================================================================== ;; NOTE: XEmacs must be redumped if this file is changed. ;; diff --git a/lisp/mule/cyrillic.el b/lisp/mule/cyrillic.el index 15ed22b..f610c1c 100644 --- a/lisp/mule/cyrillic.el +++ b/lisp/mule/cyrillic.el @@ -32,9 +32,9 @@ ;; For syntax of Cyrillic (modify-syntax-entry 'cyrillic-iso8859-5 "w") -(modify-syntax-entry ?.LN- ".") -(modify-syntax-entry ?.LNp ".") -(modify-syntax-entry ?.LN} ".") +(modify-syntax-entry ?,L-(B ".") +(modify-syntax-entry ?,Lp(B ".") +(modify-syntax-entry ?,L}(B ".") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; CYRILLIC @@ -77,7 +77,7 @@ (charset . (cyrillic-iso8859-5)) (tutorial . "TUTORIAL.ru") (coding-system . (iso-8859-5)) - (sample-text . "Russian (.LN@NcNaNaNZNXNY) N7NTN`NPNRNaNbNRNcNYNbNU!") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . ("Support for Cyrillic ISO-8859-5." . describe-cyrillic-environment-map)))) @@ -96,13 +96,13 @@ 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 ?$B(!(B ?$B("(B ?$B(#(B ?$B($(B ?$B(&(B ?$B(%(B ?$B('(B ?$B()(B ?$B(((B ?$B(*(B ?$B(+(B 32 ?$(G#'(B ?$(G#+(B ?$(G#/(B 32 - 32 ?$(C"F(B 32 32 ?$B"#(B 32 ?$B"e(B ?$A!V(B ?$A!\(B ?$A!](B ?.LN 32 ?.AN0 ?N2 ?N7 ?Nw - ?$(G#D(B 32 32 ?.LNq 32 32 32 32 32 32 32 32 32 32 32 ?$(G#E(B - 32 32 ?$(G#G(B ?.LN! 32 32 32 32 32 32 32 32 ?$(G#F(B 32 32 ?.AN) - ?.LNn ?NP ?NQ ?Nf ?NT ?NU ?Nd ?NS ?Ne ?NX ?NY ?NZ ?N[ ?N\ ?N] ?N^ - ?.LN_ ?No ?N` ?Na ?Nb ?Nc ?NV ?NR ?Nl ?Nk ?NW ?Nh ?Nm ?Ni ?Ng ?Nj - ?.LNN ?N0 ?N1 ?NF ?N4 ?N5 ?ND ?N3 ?NE ?N8 ?N9 ?N: ?N; ?N< ?N= ?N> - ?.LN? ?NO ?N@ ?NA ?NB ?NC ?N6 ?N2 ?NL ?NK ?N7 ?NH ?NM ?NI ?NG ?NJ ] + 32 ?$(C"F(B 32 32 ?$B"#(B 32 ?$B"e(B ?$A!V(B ?$A!\(B ?$A!](B ?,L (B 32 ?,A0(B ?,A2(B ?,A7(B ?,Aw(B + ?$(G#D(B 32 32 ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 ?$(G#E(B + 32 32 ?$(G#G(B ?,L!(B 32 32 32 32 32 32 32 32 ?$(G#F(B 32 32 ?,A)(B + ?,Ln(B ?,LP(B ?,LQ(B ?,Lf(B ?,LT(B ?,LU(B ?,Ld(B ?,LS(B ?,Le(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B + ?,L_(B ?,Lo(B ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,LV(B ?,LR(B ?,Ll(B ?,Lk(B ?,LW(B ?,Lh(B ?,Lm(B ?,Li(B ?,Lg(B ?,Lj(B + ?,LN(B ?,L0(B ?,L1(B ?,LF(B ?,L4(B ?,L5(B ?,LD(B ?,L3(B ?,LE(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B + ?,L?(B ?,LO(B ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,L6(B ?,L2(B ?,LL(B ?,LK(B ?,L7(B ?,LH(B ?,LM(B ?,LI(B ?,LG(B ?,LJ(B ] "Cyrillic KOI8-R decoding table.") (defvar cyrillic-koi8-r-encode-table @@ -110,7 +110,7 @@ (i 0)) (while (< i 256) (let* ((ch (aref cyrillic-koi8-r-decode-table i)) - (split (split-char-or-char-int ch))) + (split (split-char ch))) (cond ((eq (car split) 'cyrillic-iso8859-5) (aset table (logior (nth 1 split) 128) i) ) @@ -184,7 +184,7 @@ (charset . (cyrillic-iso8859-5)) (coding-system . (koi8-r)) (tutorial . "TUTORIAL.ru") - (sample-text . "Russian (.LN@NcNaNaNZNXNY) N7NTN`NPNRNaNbNRNcNYNbNU!") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . ("Support for Cyrillic KOI-8." . describe-cyrillic-environment-map)))) @@ -204,14 +204,14 @@ 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 - ?.LN0 ?N1 ?N2 ?N3 ?N4 ?N5 ?N6 ?N7 ?N8 ?N9 ?N: ?N; ?N< ?N= ?N> ?N? - ?.LN@ ?NA ?NB ?NC ?ND ?NE ?NF ?NG ?NH ?NI ?NJ ?NK ?NL ?NM ?NN ?NO - ?.LNP ?NQ ?NR ?NS ?NT ?NU ?NV ?NW ?NX ?NY ?NZ ?N[ ?N\ ?N] ?N^ ?N_ + ?,L0(B ?,L1(B ?,L2(B ?,L3(B ?,L4(B ?,L5(B ?,L6(B ?,L7(B ?,L8(B ?,L9(B ?,L:(B ?,L;(B ?,L<(B ?,L=(B ?,L>(B ?,L?(B + ?,L@(B ?,LA(B ?,LB(B ?,LC(B ?,LD(B ?,LE(B ?,LF(B ?,LG(B ?,LH(B ?,LI(B ?,LJ(B ?,LK(B ?,LL(B ?,LM(B ?,LN(B ?,LO(B + ?,LP(B ?,LQ(B ?,LR(B ?,LS(B ?,LT(B ?,LU(B ?,LV(B ?,LW(B ?,LX(B ?,LY(B ?,LZ(B ?,L[(B ?,L\(B ?,L](B ?,L^(B ?,L_(B 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 - ?.LN` ?Na ?Nb ?Nc ?Nd ?Ne ?Nf ?Ng ?Nh ?Ni ?Nj ?Nk ?Nl ?Nm ?Nn ?No - ?.LN! ?Nq 32 32 32 32 32 32 32 32 32 32 32 32 32 ?Np])))) + ?,L`(B ?,La(B ?,Lb(B ?,Lc(B ?,Ld(B ?,Le(B ?,Lf(B ?,Lg(B ?,Lh(B ?,Li(B ?,Lj(B ?,Lk(B ?,Ll(B ?,Lm(B ?,Ln(B ?,Lo(B + ?,L!(B ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 32 32 ?,Lp(B])))) "CCL program to decode Alternativnyj.") (define-ccl-program ccl-encode-alternativnyj @@ -268,7 +268,7 @@ (charset . (cyrillic-iso8859-5)) (coding-system . (alternativnyj)) (tutorial . "TUTORIAL.ru") - (sample-text . "Russian (.LN@NcNaNaNZNXNY) N7NTN`NPNRNaNbNRNcNYNbNU!") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . ("Support for Cyrillic ALTERNATIVNYJ." . describe-cyrillic-environment-map)))) @@ -303,7 +303,7 @@ (charset . (cyrillic-iso8859-5)) (tutorial . "TUTORIAL.ru") (coding-system . (iso-8859-5 koi8-r alternativnyj)) - (sample-text . "Russian (.LN@NcNaNaNZNXNY) N7NTN`NPNRNaNbNRNcNYNbNU!") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . nil))) ;;; cyrillic.el ends here diff --git a/lisp/mule/mule-category.el b/lisp/mule/mule-category.el index bcc1e03..deb9efc 100644 --- a/lisp/mule/mule-category.el +++ b/lisp/mule/mule-category.el @@ -1,6 +1,8 @@ ;;; mule-category.el --- category functions for XEmacs/Mule. ;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995, 1997, 1999 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. ;; Copyright (C) 1995 Amdahl Corporation. ;; Copyright (C) 1995 Sun Microsystems. @@ -243,9 +245,11 @@ Each element is a list of a charset, a designator, and maybe a doc string.") (let (i l) (define-category ?a "ASCII character set.") + (define-category ?l "Latin-1 through Latin-5 character set") (setq i 32) (while (< i 127) (modify-category-entry i ?a) + (modify-category-entry i ?l) (setq i (1+ i))) (setq l predefined-category-list) (while l @@ -255,6 +259,23 @@ Each element is a list of a charset, a designator, and maybe a doc string.") (modify-category-entry (car (car l)) (nth 1 (car l))) (setq l (cdr l)))) +;;; Setting word boundary. + +(setq word-combining-categories + '((?l . ?l))) + +(setq word-separating-categories ; (2-byte character sets) + '((?A . ?K) ; Alpha numeric - Katakana + (?A . ?C) ; Alpha numeric - Chinese + (?H . ?A) ; Hiragana - Alpha numeric + (?H . ?K) ; Hiragana - Katakana + (?H . ?C) ; Hiragana - Chinese + (?K . ?A) ; Katakana - Alpha numeric + (?K . ?C) ; Katakana - Chinese + (?C . ?A) ; Chinese - Alpha numeric + (?C . ?K) ; Chinese - Katakana + )) + ;;; At the present, I know Japanese and Chinese text can ;;; break line at any point under a restriction of 'kinsoku'. (defvar word-across-newline "\\(\\cj\\|\\cc\\|\\ct\\)" diff --git a/lisp/mule/mule-misc.el b/lisp/mule/mule-misc.el index fe9948f..8de1883 100644 --- a/lisp/mule/mule-misc.el +++ b/lisp/mule/mule-misc.el @@ -190,34 +190,46 @@ It might be available for compatibility with Mule 2.3, because its `find-charset-string' ignores ASCII charset." (delq 'ascii (charsets-in-region start end))) -(defun split-char (char) - "Return list of charset and one or two position-codes of CHAR." - (let ((charset (char-charset char))) - (if (eq charset 'ascii) - (list charset (char-int char)) - (let ((i 0) - (len (charset-dimension charset)) - (code (if (integerp char) - char - (char-int char))) - dest) - (while (< i len) - (setq dest (cons (logand code 127) dest) - code (lsh code -7) - i (1+ i))) - (cons charset dest) - )))) - -(defun split-char-or-char-int (char) - "Return list of charset and one or two position-codes of CHAR. -CHAR must be character or integer." - (if (characterp char) - (split-char char) - (let ((c (int-char char))) - (if c - (split-char c) - (list 'ascii c) - )))) +;(defun split-char (char) +; "Return list of charset and one or two position-codes of CHAR." +; (let ((charset (char-charset char))) +; (if (eq charset 'ascii) +; (list charset (char-int char)) +; (let ((i 0) +; (len (charset-dimension charset)) +; (code (if (integerp char) +; char +; (char-int char))) +; dest) +; (while (< i len) +; (setq dest (cons (logand code 127) dest) +; code (lsh code -7) +; i (1+ i))) +; (cons charset dest) +; )))) + +(defun char-octet (ch &optional n) + "Return the octet numbered N (should be 0 or 1) of char CH. +N defaults to 0 if omitted." + (let ((split (split-char ch))) + (cond ((eq n 0) + (nth 1 split)) + ((eq n 1) + (nth 2 split)) + (t (error "n must be 0 or 1"))))) +;; Made obsolete June 15, 1999. Delete ASAP. +(make-obsolete 'char-octet "Use split-char") + +;(defun split-char-or-char-int (char) +; "Return list of charset and one or two position-codes of CHAR. +;CHAR must be character or integer." +; (if (characterp char) +; (split-char char) +; (let ((c (int-char char))) +; (if c +; (split-char c) +; (list 'ascii c) +; )))) ;;; Commands diff --git a/lisp/mule/vietnamese.el b/lisp/mule/vietnamese.el index 2d2867f..8231971 100644 --- a/lisp/mule/vietnamese.el +++ b/lisp/mule/vietnamese.el @@ -33,22 +33,22 @@ (defvar viet-viscii-decode-table [;; VISCII is a full 8-bit code. - 0 1 ?.2NF 3 4 ?NG ?Ng 7 8 9 10 11 12 13 14 15 - 16 17 18 19 ?.2NV 21 22 23 24 ?N[ 26 27 28 29 ?N\ 31 + 0 1 ?,2F(B 3 4 ?,2G(B ?,2g(B 7 8 9 10 11 12 13 14 15 + 16 17 18 19 ?,2V(B 21 22 23 24 ?,2[(B 26 27 28 29 ?,2\(B 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 - ?.2NU ?N! ?N" ?N# ?N$ ?N% ?N& ?N' ?N( ?N) ?N* ?N+ ?N, ?N- ?N. ?N/ - ?.2N0 ?N1 ?N2 ?N5 ?N~ ?N> ?N6 ?N7 ?N8 ?Nv ?Nw ?No ?N| ?N{ ?Nx ?NO - ?.2Nu ?.1N! ?N" ?N# ?N$ ?N% ?N& ?N' ?N( ?N) ?N* ?N+ ?N, ?N- ?N. ?N/ - ?.1N0 ?N1 ?N2 ?.2N^ ?N= ?.1N5 ?N6 ?N7 ?N8 ?.2Nq ?NQ ?NW ?NX ?.1N= ?N> ?.2N_ - ?.2N` ?Na ?Nb ?Nc ?Nd ?Ne ?.1NF ?NG ?.2Nh ?Ni ?Nj ?Nk ?Nl ?Nm ?Nn ?.1NO - ?.2Np ?.1NQ ?.2Nr ?Ns ?Nt ?.1NU ?NV ?NW ?NX ?.2Ny ?Nz ?.1N[ ?N\ ?.2N} ?.1N^ ?N_ - ?.1N` ?Na ?Nb ?Nc ?Nd ?Ne ?Nf ?Ng ?Nh ?Ni ?Nj ?Nk ?Nl ?Nm ?Nn ?No - ?.1Np ?Nq ?Nr ?Ns ?Nt ?Nu ?Nv ?Nw ?Nx ?Ny ?Nz ?N{ ?N| ?N} ?N~ ?.2Nf ] + ?,2U(B ?,2!(B ?,2"(B ?,2#(B ?,2$(B ?,2%(B ?,2&(B ?,2'(B ?,2((B ?,2)(B ?,2*(B ?,2+(B ?,2,(B ?,2-(B ?,2.(B ?,2/(B + ?,20(B ?,21(B ?,22(B ?,25(B ?,2~(B ?,2>(B ?,26(B ?,27(B ?,28(B ?,2v(B ?,2w(B ?,2o(B ?,2|(B ?,2{(B ?,2x(B ?,2O(B + ?,2u(B ?,1!(B ?,1"(B ?,1#(B ?,1$(B ?,1%(B ?,1&(B ?,1'(B ?,1((B ?,1)(B ?,1*(B ?,1+(B ?,1,(B ?,1-(B ?,1.(B ?,1/(B + ?,10(B ?,11(B ?,12(B ?,2^(B ?,2=(B ?,15(B ?,16(B ?,17(B ?,18(B ?,2q(B ?,2Q(B ?,2W(B ?,2X(B ?,1=(B ?,1>(B ?,2_(B + ?,2`(B ?,2a(B ?,2b(B ?,2c(B ?,2d(B ?,2e(B ?,1F(B ?,1G(B ?,2h(B ?,2i(B ?,2j(B ?,2k(B ?,2l(B ?,2m(B ?,2n(B ?,1O(B + ?,2p(B ?,1Q(B ?,2r(B ?,2s(B ?,2t(B ?,1U(B ?,1V(B ?,1W(B ?,1X(B ?,2y(B ?,2z(B ?,1[(B ?,1\(B ?,2}(B ?,1^(B ?,1_(B + ?,1`(B ?,1a(B ?,1b(B ?,1c(B ?,1d(B ?,1e(B ?,1f(B ?,1g(B ?,1h(B ?,1i(B ?,1j(B ?,1k(B ?,1l(B ?,1m(B ?,1n(B ?,1o(B + ?,1p(B ?,1q(B ?,1r(B ?,1s(B ?,1t(B ?,1u(B ?,1v(B ?,1w(B ?,1x(B ?,1y(B ?,1z(B ?,1{(B ?,1|(B ?,1}(B ?,1~(B ?,2f(B ] "Vietnamese VISCII decoding table.") (defvar viet-viscii-encode-table @@ -58,7 +58,7 @@ char-component) (while (< i 256) (setq char-component - (split-char-or-char-int (aref viet-viscii-decode-table i))) + (split-char (aref viet-viscii-decode-table i))) (cond ((eq (car char-component) 'vietnamese-viscii-lower) (aset table-lower (nth 1 char-component) i)) ((eq (car char-component) 'vietnamese-viscii-upper) @@ -71,22 +71,22 @@ Both tables are indexed by the position code of Vietnamese characters.") (defvar viet-vscii-decode-table [;; VSCII is a full 8-bit code. - 0 ?.2Nz ?Nx 3 ?NW ?NX ?Nf 7 8 9 10 11 12 13 14 15 - 16 ?.2NQ ?N_ ?NO ?NV ?N[ ?N} ?N\ 24 25 26 27 28 29 30 31 + 0 ?,2z(B ?,2x(B 3 ?,2W(B ?,2X(B ?,2f(B 7 8 9 10 11 12 13 14 15 + 16 ?,2Q(B ?,2_(B ?,2O(B ?,2V(B ?,2[(B ?,2}(B ?,2\(B 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 - ?.2N` ?Nd ?Nc ?Na ?NU ?N# ?N' ?Nh ?Nk ?N( ?Ni ?N) ?N. ?Nl ?No ?Nn - ?.2Nm ?N8 ?Nr ?Nv ?Nu ?Ns ?Nw ?N5 ?N6 ?N7 ?N^ ?N> ?N~ ?Ny ?N| ?N{ - 160 ?.2Ne ?Nb ?Nj ?Nt ?N= ?N_ ?Np ?.1Ne ?Nb ?Nj ?Nt ?N> ?Ny ?Np ?.2N" - 192 193 194 195 196 ?.1N` ?Nd ?Nc ?Na ?NU ?.2NF ?.1N" ?NF ?NG ?N! ?.2NG - ?.2N! ?N% ?N& ?Ng ?N% ?N+ ?.1N# ?N% ?N& ?Ng ?N$ ?N' ?Nh ?.2N, ?.1Nk ?N( - ?.1Ni ?N) ?N+ ?N, ?N- ?N* ?N. ?Nl ?No ?.2N- ?N* ?N0 ?.1Nn ?Nm ?N8 ?Nr - ?.2N1 ?.1Nv ?Nu ?Ns ?Nw ?N0 ?N1 ?N2 ?N/ ?N5 ?N6 ?N7 ?N^ ?N> ?N~ ?Ny - ?.2N2 ?.1N| ?N{ ?Nz ?Nx ?NW ?NX ?Nf ?NQ ?Nq ?NO ?NV ?N[ ?N} ?N\ ?.2N/] + ?,2`(B ?,2d(B ?,2c(B ?,2a(B ?,2U(B ?,2#(B ?,2'(B ?,2h(B ?,2k(B ?,2((B ?,2i(B ?,2)(B ?,2.(B ?,2l(B ?,2o(B ?,2n(B + ?,2m(B ?,28(B ?,2r(B ?,2v(B ?,2u(B ?,2s(B ?,2w(B ?,25(B ?,26(B ?,27(B ?,2^(B ?,2>(B ?,2~(B ?,2y(B ?,2|(B ?,2{(B + 160 ?,2e(B ?,2b(B ?,2j(B ?,2t(B ?,2=(B ?,2_(B ?,2p(B ?,1e(B ?,1b(B ?,1j(B ?,1t(B ?,1>(B ?,1y(B ?,1p(B ?,2"(B + 192 193 194 195 196 ?,1`(B ?,1d(B ?,1c(B ?,1a(B ?,1U(B ?,2F(B ?,1"(B ?,1F(B ?,1G(B ?,1!(B ?,2G(B + ?,2!(B ?,2%(B ?,2&(B ?,2g(B ?,2%(B ?,2+(B ?,1#(B ?,1%(B ?,1&(B ?,1g(B ?,1$(B ?,1'(B ?,1h(B ?,2,(B ?,1k(B ?,1((B + ?,1i(B ?,1)(B ?,1+(B ?,1,(B ?,1-(B ?,1*(B ?,1.(B ?,1l(B ?,1o(B ?,2-(B ?,2*(B ?,20(B ?,1n(B ?,1m(B ?,18(B ?,1r(B + ?,21(B ?,1v(B ?,1u(B ?,1s(B ?,1w(B ?,10(B ?,11(B ?,12(B ?,1/(B ?,15(B ?,16(B ?,17(B ?,1^(B ?,1>(B ?,1~(B ?,1y(B + ?,22(B ?,1|(B ?,1{(B ?,1z(B ?,1x(B ?,1W(B ?,1X(B ?,1f(B ?,1Q(B ?,1q(B ?,1O(B ?,1V(B ?,1[(B ?,1}(B ?,1\(B ?,2/(B] "Vietnamese VSCII decoding table.") (defvar viet-vscii-encode-table @@ -96,7 +96,7 @@ Both tables are indexed by the position code of Vietnamese characters.") char-component) (while (< i 256) (setq char-component - (split-char-or-char-int (aref viet-vscii-decode-table i))) + (split-char (aref viet-vscii-decode-table i))) (cond ((eq (car char-component) 'vietnamese-viscii-lower) (aset table-lower (nth 1 char-component) i)) ((eq (car char-component) 'vietnamese-viscii-upper) @@ -268,7 +268,7 @@ Both tables are indexed by the position code of Vietnamese characters.") (charset . (vietnamese-viscii-lower vietnamese-viscii-upper)) (coding-system . (viscii vscii viqr)) - (sample-text . "Vietnamese (Ti.1N*ng ViN.t) ChN`o bNUn") + (sample-text . "Vietnamese (Ti,1*(Bng Vi,1.(Bt) Ch,1`(Bo b,1U(Bn") (documentation . "\ For Vietnamese, Emacs uses special charasets internally. They can be decoded from and encoded to VISCC, VSCII, and VIQR.") diff --git a/lisp/select.el b/lisp/select.el index 338ea0c..f21d440 100644 --- a/lisp/select.el +++ b/lisp/select.el @@ -40,7 +40,7 @@ COMPOUND_TEXT and STRING are the most commonly used data types. If a list is provided, the types are tried in sequence until there is a successful conversion.") -(defvar selection-is-clipboard-p nil +(defvar selection-sets-clipboard nil "Controls the selection's relationship to the clipboard. When non-nil, any operation that sets the primary selection will also set the clipboard.") @@ -75,21 +75,18 @@ set the clipboard.") "Return the value of one of the cut buffers. This will do nothing under anything other than X.") -(defun get-selection (&optional type data-type) +(defun get-selection-no-error (&optional type data-type) "Return the value of a Windows selection. The argument TYPE (default `PRIMARY') says which selection, and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule) -says how to convert the data. If there is no selection an error is signalled." - (let ((text (get-selection-no-error type data-type))) - (when (not (stringp text)) - (error "Selection is not a string: %S" text)) - text)) +says how to convert the data. Returns NIL if there is no selection" + (condition-case err (get-selection type data-type) (t nil))) -(defun get-selection-no-error (&optional type data-type) +(defun get-selection (&optional type data-type) "Return the value of a Windows selection. The argument TYPE (default `PRIMARY') says which selection, and the argument DATA-TYPE (default `STRING', or `COMPOUND_TEXT' under Mule) -says how to convert the data. Returns NIL if there is no selection" +says how to convert the data. If there is no selection an error is signalled." (or type (setq type 'PRIMARY)) (or data-type (setq data-type selected-text-type)) (let ((text @@ -103,6 +100,8 @@ says how to convert the data. Returns NIL if there is no selection" (get-selection-internal type data-type)))) (when (and (consp text) (symbolp (car text))) (setq text (cdr text))) + (when (not (stringp text)) + (error "Selection is not a string: %S" text)) text)) ;; FSFmacs calls this `x-set-selection', and reverses the @@ -144,7 +143,7 @@ Interactively, the text of the region is used as the selection value." (disown-selection-internal type) (own-selection-internal type data) (when (and (eq type 'PRIMARY) - selection-is-clipboard-p) + selection-sets-clipboard) (own-selection-internal 'CLIPBOARD data))) (cond ((eq type 'PRIMARY) (setq primary-selection-extent diff --git a/lisp/subr.el b/lisp/subr.el index 94a6071..9adf57e 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -682,16 +682,6 @@ FILE should be the name of a library, with no directory name." (eval-after-load file (read))) (make-compatible 'eval-next-after-load "") -(unless (featurep 'mule) - (defun make-char (charset &optional arg1 arg2) - "Make a character from CHARSET and octets ARG1 and ARG2. -This function is available for compatibility with Mule-enabled XEmacsen. -When CHARSET is `ascii', return (int-char ARG1). Otherwise, return -that value with the high bit set. ARG2 is always ignored." - (int-char (if (eq charset 'ascii) - arg1 - (logior arg1 #x80))))) - ; alternate names (not obsolete) (if (not (fboundp 'mod)) (define-function 'mod '%)) (define-function 'move-marker 'set-marker) diff --git a/lwlib/ChangeLog b/lwlib/ChangeLog index 9542e54..736e05d 100644 --- a/lwlib/ChangeLog +++ b/lwlib/ChangeLog @@ -1,3 +1,7 @@ +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released diff --git a/man/ChangeLog b/man/ChangeLog index b1e0f36..efe1646 100644 --- a/man/ChangeLog +++ b/man/ChangeLog @@ -1,3 +1,7 @@ +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released diff --git a/man/info-stnd.texi b/man/info-stnd.texi index d20bab7..abb7ff8 100644 --- a/man/info-stnd.texi +++ b/man/info-stnd.texi @@ -9,7 +9,7 @@ @synindex fn cp @synindex ky cp @comment %**end of header -@comment $Id: info-stnd.texi,v 1.3 1997/07/06 21:49:30 karl Exp $ +@comment $Id: info-stnd.texi,v 1.3 1998/06/30 06:35:28 steve Exp $ @dircategory Texinfo documentation system @direntry diff --git a/man/info.texi b/man/info.texi index d2fda6f..1b6c0da 100644 --- a/man/info.texi +++ b/man/info.texi @@ -3,7 +3,7 @@ @setfilename ../info/info.info @settitle Info 1.0 @comment %**end of header -@comment $Id: info.texi,v 1.4 1997/07/10 21:58:11 karl Exp $ +@comment $Id: info.texi,v 1.4 1998/06/30 06:35:28 steve Exp $ @dircategory Texinfo documentation system @direntry diff --git a/man/texinfo.tex b/man/texinfo.tex index 3ce4715..6057ffa 100644 --- a/man/texinfo.tex +++ b/man/texinfo.tex @@ -1,5 +1,5 @@ % texinfo.tex -- TeX macros to handle Texinfo files. -% $Id: texinfo.tex,v 2.227 1998/02/25 22:54:34 karl Exp $ +% $Id: texinfo.tex,v 1.5 1998/06/13 04:28:12 steve Exp $ % % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98 % Free Software Foundation, Inc. @@ -44,7 +44,7 @@ % This automatically updates the version number based on RCS. \def\deftexinfoversion$#1: #2 ${\def\texinfoversion{#2}} -\deftexinfoversion$Revision: 2.227 $ +\deftexinfoversion$Revision: 1.5 $ \message{Loading texinfo package [Version \texinfoversion]:} % If in a .fmt file, print the version number diff --git a/man/texinfo.texi b/man/texinfo.texi index 0bc09a7..e5cd94d 100644 --- a/man/texinfo.texi +++ b/man/texinfo.texi @@ -1,5 +1,5 @@ \input texinfo.tex @c -*-texinfo-*- -@c $Id: texinfo.txi,v 1.50 1998/02/27 21:21:34 karl Exp $ +@c $Id: texinfo.texi,v 1.8.2.1 1999/03/04 15:48:24 steveb Exp $ @c %**start of header @c All text is ignored before the setfilename. diff --git a/man/xemacs-faq.texi b/man/xemacs-faq.texi index 76641d8..666e99b 100644 --- a/man/xemacs-faq.texi +++ b/man/xemacs-faq.texi @@ -7,7 +7,7 @@ @finalout @titlepage @title XEmacs FAQ -@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/03/04 15:48:25 $ +@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 1999/05/13 12:26:40 $ @sp 1 @author Tony Rossini @author Ben Wing diff --git a/nt/ChangeLog b/nt/ChangeLog index 44c5788..b735b7f 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,18 @@ +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + +1999-06-13 Adrian Aichner + + * xemacs.mak (DOC_SRC8): Remove mule-coding.c. + (TEMACS_MULE_OBJS): Remove mule-coding.obj + (check): Implement according to src/Makefile. + (check-temacs): ditto. + +1999-06-05 Norbert Koch + + * xemacs.mak (mule): remove dependencies from mule-coding.c + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released diff --git a/nt/xemacs.mak b/nt/xemacs.mak index 79d9a53..1291b43 100644 --- a/nt/xemacs.mak +++ b/nt/xemacs.mak @@ -650,8 +650,7 @@ DOC_SRC7=\ DOC_SRC8=\ $(XEMACS)\src\mule.c \ $(XEMACS)\src\mule-charset.c \ - $(XEMACS)\src\mule-ccl.c \ - $(XEMACS)\src\mule-coding.c + $(XEMACS)\src\mule-ccl.c ! if $(HAVE_X) DOC_SRC8=$(DOC_SRC8) $(XEMACS)\src\input-method-xlib.c ! endif @@ -739,8 +738,7 @@ TEMACS_MSW_OBJS=\ TEMACS_MULE_OBJS=\ $(OUTDIR)\mule.obj \ $(OUTDIR)\mule-charset.obj \ - $(OUTDIR)\mule-ccl.obj \ - $(OUTDIR)\mule-coding.obj + $(OUTDIR)\mule-ccl.obj ! if $(HAVE_X) TEMACS_MULE_OBJS=\ $(TEMACS_MULE_OBJS) $(OUTDIR)\input-method-xlib.obj @@ -890,6 +888,32 @@ $(TEMACS): $(TEMACS_INCLUDES) $(TEMACS_OBJS) $(OUTDIR)\xemacs.res: xemacs.rc rc -Fo$@ xemacs.rc +# Section handling automated tests starts here + +SRCDIR=../src +PROGNAME=xemacs +blddir=$(MAKEDIR:\=\\)\\.. +temacs_loadup=temacs -batch -l $(SRCDIR)/../lisp/loadup.el +dump_temacs = $(temacs_loadup) dump +run_temacs = $(temacs_loadup) run-temacs +## We have automated tests!! +testdir=../tests/automated +batch_test_emacs=-batch -l $(testdir)/test-harness.el -f batch-test-emacs $(testdir) + +# .PHONY: check check-temacs + +check: + @cd $(SRCDIR) + $(PROGNAME) $(batch_test_emacs) + +check-temacs: + cd $(SRCDIR) + set EMACSBOOTSTRAPLOADPATH=$(LISP) + set EMACSBOOTSTRAPMODULEPATH=$(MODULES) + $(run_temacs) $(batch_test_emacs) + +# Section handling automated tests ends here + #------------------------------------------------------------------------------ # LISP bits 'n bobs diff --git a/src/ChangeLog b/src/ChangeLog index 99ffb74..1c82792 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -165,6 +165,138 @@ (Vcharset_thai_tis620): Likewise. (Vcharset_katakana_jisx0201): Likewise. +1999-06-23 Olivier Galibert + + * config.h.in: Add missing #undef *_USER_DEFINED. + +1999-06-23 SL Baur + + * lisp.h (set_bit_vector_bit): Force promotion to unsigned long + int (fixes a 64-bit problem). + + * chartab.c (word_boundary_p): Use EQ not == for lisp_object + comparison. + +1999-03-23 Michael Sperber [Mr. Preprocessor] + + * paths.h.in (PATH_DOC): Made doc-directory configurable. + +1999-06-22 Olivier Galibert + + * lrecord.h: Added basic external description system. + + * symbols.c: Added symbol, symbol-value-buffer-local, + symbol-value-lisp-magic and symbol-value-varalias description. + * mule-charset.c: Added charset description. + * marker.c: Added marker description. + * keymap.c: Added keymap description. + * glyphs.c: Added glyph description. + * floatfns.c: Added float description. + * file-coding.c: Added coding-system description. + * extents.c: Added extent description. + * elhash.c: Added hash-table description. + * data.c: Added weak-list desciption. + * chartab.c: Added char-table-entry and char-table description. + * bytecode.c: Added compiled-function description. + * alloc.c: Added cons, vector and string description. + +1999-06-22 Olivier Galibert + + * lrecord.h (struct lrecord_header): Reduced size to 4 bytes. + Updated everything to the removal of the "flags" substructure. + + * lisp.h (subr_lheader_initializer): Updated. + * symeval.h (symbol_value_forward_lheader_initializer): Updated. + +1999-06-20 MORIOKA Tomohiko + + * syntax.c (word_constituent_p): Deleted. + (scan_words): Use `WORD_BOUNDARY_P'. + + * chartab.c (Vword_combining_categories): New variable. + (Vword_separating_categories): Likewise. + (CATEGORYP): New macro. + (CATEGORY_SET): Likewise. + (CATEGORY_MEMBER): Likewise. + (word_boundary_p): New function. + (complex_vars_of_chartab): Set up new variable + `word-combining-categories' and `word-separating-categories'. + +1999-06-18 Olivier Galibert + + * lrecord.h: Added description as a placehold in the lrecord + implementation structures. Added the parameter to all constructor + defines. + + * alloc.c: Added placeholders. + * buffer.c: Ditto. + * bytecode.c: Ditto. + * chartab.c: Ditto. + * console.c: Ditto. + * data.c: Ditto. + * database.c: Ditto. + * device.c: Ditto. + * eldap.c: Ditto. + * elhash.c: Ditto. + * eval.c: Ditto. + * event-stream.c: Ditto. + * events.c: Ditto. + * extents.c: Ditto. + * faces.c: Ditto. + * file-coding.c: Ditto. + * floatfns.c: Ditto. + * fns.c: Ditto. + * frame.c: Ditto. + * glyphs.c: Ditto. + * gui-x.c: Ditto. + * keymap.c: Ditto. + * lstream.c: Ditto. + * marker.c: Ditto. + * mule-charset.c: Ditto. + * objects.c: Ditto. + * opaque.c: Ditto. + * process.c: Ditto. + * rangetab.c: Ditto. + * specifier.c: Ditto. + * symbols.c: Ditto. + * toolbar.c: Ditto. + * tooltalk.c: Ditto. + * window.c: Ditto. + +1999-06-22 XEmacs Build Bot + + * XEmacs 21.2.17 is released + +1999-06-13 Oscar Figueiredo + + * config.h.in (HAVE_LDAP_SET_OPTION): New define + (HAVE_LDAP_GET_LDERRNO): Ditto + (HAVE_LDAP_RESULT2ERROR): Ditto + (HAVE_LDAP_PARSE_RESULT): Ditto + (HAVE_UMICH_LDAP): Removed + (HAVE_NS_LDAP): Removed + + * eldap.h (struct Lisp_LDAP): Removed the `livep' member as + suggested by Olivier Galibert + (CHECK_LIVE_LDAP): Test on `ld' instead of `livep' + + * eldap.c: Take the removal of `livep' into account in all the + necessary functions + (signal_ldap_error): Take two additional parameters + Added new finer compilation conditions in order to use + ldap_parse_result or ldap_result2error if available + (Fldap_open): Conform to this new API + (Fldap_search_internal): Ditto + +1999-06-17 SL Baur + + * data.c (struct int_or_double): Should use EMACS_INT not int. + +1999-06-16 Norbert Koch + + * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in + redisplay-x.c + 1999-06-12 MORIOKA Tomohiko * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with @@ -184,6 +316,97 @@ (CCL_MODE_DECODING): New macro. (ccl_driver): Add new argument `conversion_mode'. +1999-06-15 SL Baur + + * mule-charset.c (Fsplit_char): New subr. + (Fchar_octet): delete. + (syms_of_mule_charset): DEFSUBR it. + +1999-06-13 Andy Piper + + * menubar.h: update declarations involving gui_items. + + * lisp.h: declare Lisp_Gui_Item. + + * glyphs.h (struct Lisp_Image_Instance): update type of gui_item. + + * glyphs.c (mark_image_instance): modify for new lisp-based gui_items. + (print_image_instance): ditto. + (image_instance_equal): ditto. + (image_instance_hash): ditto. + + * event-msw.c (mswindows_need_event): assert badly_p status. + (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with + callbacks in tree-view and tab-control widgets. + (emacs_mswindows_next_event): modify use of + mswindows_dequeue_dispatch_event. + + * dialog-msw.c (mswindows_popup_dialog_box): modify for new + lisp-based gui_items. + + * glyphs-msw.c (mswindows_update_subwindow): update use of + gui_items. + (mswindows_register_gui_item): new function. + (mswindows_register_gui_item): fix to use lisp gui_items. + (mswindows_widget_instantiate): ditto. + (mswindows_button_instantiate): ditto. + (add_tree_item): new function to recursively add tree view + elements. + (add_tree_item_list): ditto. + (mswindows_tree_instantiate): new function. instantiate tree view + controls. + (add_tab_item): new function to add tabs to a tab control. + (mswindows_tab_instantiate): new function. instantiate tab + controls. + (image_instantiator_format_create_glyphs_mswindows): add tree view + and tab controls. + (vars_of_glyphs_mswindows): ditto. + + * glyphs-widget.c (check_valid_item_list_1): allow nested lists in + item lists. + (check_valid_item_list): ditto. + (initialize_widget_image_instance): fix to use new lisp gui_item. + (widget_instantiate_1): allow the setting of default textwidth in + characters. + (widget_instantiate): change to use new widget_instantiate_1 + signature. + (combo_instantiate): ditto. + (static_instantiate): ditto. + (tab_instantiate): new function for tab widgets. + (image_instantiator_format_create_glyphs_widget): add tab and tree + view widgets. + + * menubar-msw.c (displayable_menu_item): convert to use lisp + gui_items. + (populate_menu_add_item): ditto. + (populate_or_checksum_helper): ditto. + + * menubar.c (menu_parse_submenu_keywords): convert to use lisp + gui_items. + (Fmenu_find_real_submenu): ditto. + + * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct. + + * gui.c (gui_item_add_keyval_pair): gui_items are now lisp + objects, convert functions that use them accordingly. + (gui_item_init): ditto. + (gui_item_active_p): ditto. + (gui_item_selected_p): ditto. + (gui_item_included_p): ditto. + (gui_item_display_flush_left): ditto. + (gui_item_display_flush_right): ditto. + (mark_gui_item): ditto. + (allocate_gui_item): new function to create a gui_item. + (make_gui_item_from_keywords_internal): ditto. create and return a + gui_item as well as setting keywords. + (gui_parse_item_keywords): ditto. + (gui_parse_item_keywords_no_errors): ditto. + (gui_add_item_keywords_to_plist): new function, not yet used. + (gui_item_hash): new function. + (gui_item_id_hash): use gui_item_hash. + (gui_item_equal): new function. + (print_gui_item): new function. + 1999-06-11 XEmacs Build Bot * XEmacs 21.2.16 is released @@ -213,12 +436,6 @@ * file-coding.h (Qraw_text): New variable. -1999-05-20 MORIOKA Tomohiko - - * mule-charset.c (complex_vars_of_mule_charset): Registry of - japanese-jisx0208-1978 should not match with "jisx0208.1983" nor - "jisc6226.1983". - 1999-06-08 SL Baur * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC. diff --git a/src/alloc.c b/src/alloc.c index a5a3857..a76806a 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -967,6 +967,11 @@ cons_equal (Lisp_Object ob1, Lisp_Object ob2, int depth) return 0; } +static const struct lrecord_description cons_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Cons, car), 2 }, + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("cons", cons, mark_cons, print_cons, 0, cons_equal, @@ -976,6 +981,7 @@ DEFINE_BASIC_LRECORD_IMPLEMENTATION ("cons", cons, * handle conses. */ 0, + cons_description, struct Lisp_Cons); DEFUN ("cons", Fcons, 2, 2, 0, /* @@ -1166,6 +1172,11 @@ vector_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) return 1; } +static const struct lrecord_description vector_description[] = { + { XD_LONG, offsetof(struct Lisp_Vector, size) }, + { XD_LISP_OBJECT, offsetof(struct Lisp_Vector, contents), XD_INDIRECT(0) } +}; + DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION("vector", vector, mark_vector, print_vector, 0, vector_equal, @@ -1175,6 +1186,7 @@ DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION("vector", vector, * knows how to handle vectors. */ 0, + 0, size_vector, Lisp_Vector); /* #### should allocate `small' vectors from a frob-block */ @@ -1743,6 +1755,12 @@ string_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) !memcmp (XSTRING_DATA (obj1), XSTRING_DATA (obj2), len)); } +static const struct lrecord_description string_description[] = { + { XD_STRING_DATA, offsetof(Lisp_String, data) }, + { XD_LISP_OBJECT, offsetof(Lisp_String, plist), 1 }, + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("string", string, mark_string, print_string, /* @@ -1756,6 +1774,7 @@ DEFINE_BASIC_LRECORD_IMPLEMENTATION ("string", string, * SWEEP_FIXED_TYPE_BLOCK(). */ 0, string_equal, 0, + string_description, struct Lisp_String); /* String blocks contain this many useful bytes. */ @@ -2247,7 +2266,7 @@ mark_lcrecord_list (Lisp_Object obj, void (*markobj) (Lisp_Object)) DEFINE_LRECORD_IMPLEMENTATION ("lcrecord-list", lcrecord_list, mark_lcrecord_list, internal_object_printer, - 0, 0, 0, struct lcrecord_list); + 0, 0, 0, 0, struct lcrecord_list); Lisp_Object make_lcrecord_list (size_t size, CONST struct lrecord_implementation *implementation) diff --git a/src/buffer.c b/src/buffer.c index 703f0ce..0c59b8e 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -276,7 +276,7 @@ print_buffer (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) because all buffers have `kill-buffer' applied to them before they disappear, and the children removal happens then. */ DEFINE_LRECORD_IMPLEMENTATION ("buffer", buffer, - mark_buffer, print_buffer, 0, 0, 0, + mark_buffer, print_buffer, 0, 0, 0, 0, struct buffer); DEFUN ("bufferp", Fbufferp, 1, 1, 0, /* diff --git a/src/bytecode.c b/src/bytecode.c index de2b646..23f0b9f 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -2024,11 +2024,20 @@ compiled_function_hash (Lisp_Object obj, int depth) internal_hash (f->constants, depth + 1)); } +static const struct lrecord_description compiled_function_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Compiled_Function, instructions), 4 }, +#ifdef COMPILED_FUNCTION_ANNOTATION_HACK + { XD_LISP_OBJECT, offsetof(struct Lisp_Compiled_Function, annotated), 1 }, +#endif + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("compiled-function", compiled_function, mark_compiled_function, print_compiled_function, 0, compiled_function_equal, compiled_function_hash, + compiled_function_description, Lisp_Compiled_Function); DEFUN ("compiled-function-p", Fcompiled_function_p, 1, 1, 0, /* diff --git a/src/chartab.c b/src/chartab.c index a6292b4..43f7849 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -2,6 +2,8 @@ Copyright (C) 1992, 1995 Free Software Foundation, Inc. Copyright (C) 1995 Sun Microsystems, Inc. Copyright (C) 1995, 1996 Ben Wing. + Copyright (C) 1995, 1997, 1999 Electrotechnical Laboratory, JAPAN. + Licensed to the Free Software Foundation. This file is part of XEmacs. @@ -35,6 +37,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "buffer.h" #include "chartab.h" @@ -50,6 +53,9 @@ Lisp_Object Qcategory_designator_p; Lisp_Object Qcategory_table_value_p; Lisp_Object Vstandard_category_table; + +/* Variables to determine word boundary. */ +Lisp_Object Vword_combining_categories, Vword_separating_categories; #endif /* MULE */ @@ -124,10 +130,16 @@ char_table_entry_hash (Lisp_Object obj, int depth) return internal_array_hash (cte->level2, 96, depth); } +static const struct lrecord_description char_table_entry_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table_Entry, level2), 96 }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("char-table-entry", char_table_entry, mark_char_table_entry, internal_object_printer, 0, char_table_entry_equal, char_table_entry_hash, + char_table_entry_description, struct Lisp_Char_Table_Entry); #endif /* MULE */ @@ -415,9 +427,18 @@ char_table_hash (Lisp_Object obj, int depth) return hashval; } +static const struct lrecord_description char_table_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table, ascii), NUM_ASCII_CHARS }, +#ifdef MULE + { XD_LISP_OBJECT, offsetof(struct Lisp_Char_Table, level1), NUM_LEADING_BYTES }, +#endif + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("char-table", char_table, mark_char_table, print_char_table, 0, char_table_equal, char_table_hash, + char_table_description, struct Lisp_Char_Table); DEFUN ("char-table-p", Fchar_table_p, 1, 1, 0, /* @@ -1709,6 +1730,68 @@ Valid values are nil or a bit vector of size 95. return CATEGORY_TABLE_VALUEP (obj) ? Qt : Qnil; } + +#define CATEGORYP(x) \ + (CHARP ((x)) && XCHAR ((x)) >= 0x20 && XCHAR ((x)) <= 0x7E) + +#define CATEGORY_SET(c) \ + (get_char_table(c, XCHAR_TABLE(current_buffer->category_table))) + +/* Return 1 if CATEGORY_SET contains CATEGORY, else return 0. + The faster version of `!NILP (Faref (category_set, category))'. */ +#define CATEGORY_MEMBER(category, category_set) \ + (bit_vector_bit(XBIT_VECTOR (category_set), category - 32)) + +/* Return 1 if there is a word boundary between two word-constituent + characters C1 and C2 if they appear in this order, else return 0. + Use the macro WORD_BOUNDARY_P instead of calling this function + directly. */ + +int +word_boundary_p (Emchar c1, Emchar c2) +{ + Lisp_Object category_set1, category_set2; + Lisp_Object tail; + int default_result; + +#if 0 + if (COMPOSITE_CHAR_P (c1)) + c1 = cmpchar_component (c1, 0, 1); + if (COMPOSITE_CHAR_P (c2)) + c2 = cmpchar_component (c2, 0, 1); +#endif + + if (EQ (CHAR_CHARSET (c1), CHAR_CHARSET (c2))) + { + tail = Vword_separating_categories; + default_result = 0; + } + else + { + tail = Vword_combining_categories; + default_result = 1; + } + + category_set1 = CATEGORY_SET (c1); + if (NILP (category_set1)) + return default_result; + category_set2 = CATEGORY_SET (c2); + if (NILP (category_set2)) + return default_result; + + for (; CONSP (tail); tail = XCONS (tail)->cdr) + { + Lisp_Object elt = XCONS(tail)->car; + + if (CONSP (elt) + && CATEGORYP (XCONS (elt)->car) + && CATEGORYP (XCONS (elt)->cdr) + && CATEGORY_MEMBER (XCHAR (XCONS (elt)->car), category_set1) + && CATEGORY_MEMBER (XCHAR (XCONS (elt)->cdr), category_set2)) + return !default_result; + } + return default_result; +} #endif /* MULE */ @@ -1780,5 +1863,50 @@ complex_vars_of_chartab (void) Vstandard_category_table = Qnil; Vstandard_category_table = Fcopy_category_table (Qnil); staticpro (&Vstandard_category_table); + + DEFVAR_LISP ("word-combining-categories", &Vword_combining_categories /* +List of pair (cons) of categories to determine word boundary. + +Emacs treats a sequence of word constituent characters as a single +word (i.e. finds no word boundary between them) iff they belongs to +the same charset. But, exceptions are allowed in the following cases. + +(1) The case that characters are in different charsets is controlled +by the variable `word-combining-categories'. + +Emacs finds no word boundary between characters of different charsets +if they have categories matching some element of this list. + +More precisely, if an element of this list is a cons of category CAT1 +and CAT2, and a multibyte character C1 which has CAT1 is followed by +C2 which has CAT2, there's no word boundary between C1 and C2. + +For instance, to tell that ASCII characters and Latin-1 characters can +form a single word, the element `(?l . ?l)' should be in this list +because both characters have the category `l' (Latin characters). + +(2) The case that character are in the same charset is controlled by +the variable `word-separating-categories'. + +Emacs find a word boundary between characters of the same charset +if they have categories matching some element of this list. + +More precisely, if an element of this list is a cons of category CAT1 +and CAT2, and a multibyte character C1 which has CAT1 is followed by +C2 which has CAT2, there's a word boundary between C1 and C2. + +For instance, to tell that there's a word boundary between Japanese +Hiragana and Japanese Kanji (both are in the same charset), the +element `(?H . ?C) should be in this list. +*/ ); + + Vword_combining_categories = Qnil; + + DEFVAR_LISP ("word-separating-categories", &Vword_separating_categories /* +List of pair (cons) of categories to determine word boundary. +See the documentation of the variable `word-combining-categories'. +*/ ); + + Vword_separating_categories = Qnil; #endif /* MULE */ } diff --git a/src/config.h.in b/src/config.h.in index caa5c68..48757e2 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -357,10 +357,14 @@ char *alloca(); /* Do we have LDAP support? */ #undef HAVE_LDAP -/* Do we have the LDAP library of the University of Michigan ? */ -#undef HAVE_UMICH_LDAP -/* Do we have Netscape LDAP SDK library */ -#undef HAVE_NS_LDAP +/* Does the library define ldap_set_option () ? */ +#undef HAVE_LDAP_SET_OPTION +/* Does the library define ldap_get_lderrno () ? */ +#undef HAVE_LDAP_GET_LDERRNO +/* Does the library define ldap_result2error () ? */ +#undef HAVE_LDAP_RESULT2ERROR +/* Does the library define ldap_parse_result () ? */ +#undef HAVE_LDAP_PARSE_RESULT /* Do you have the Xauth library present? This will add some extra functionality to gnuserv. */ @@ -798,6 +802,11 @@ on various systems. */ #define MAIL_USE_LOCKF #endif +#undef PREFIX_USER_DEFINED +#undef EXEC_PREFIX_USER_DEFINED +#undef MODULEDIR_USER_DEFINED +#undef SITEMODULEDIR_USER_DEFINED +#undef DOCDIR_USER_DEFINED #undef LISPDIR_USER_DEFINED #undef PACKAGE_PATH_USER_DEFINED #undef SITELISPDIR_USER_DEFINED diff --git a/src/console.c b/src/console.c index 40c8607..7e27f86 100644 --- a/src/console.c +++ b/src/console.c @@ -137,7 +137,7 @@ print_console (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) } DEFINE_LRECORD_IMPLEMENTATION ("console", console, - mark_console, print_console, 0, 0, 0, + mark_console, print_console, 0, 0, 0, 0, struct console); static struct console * diff --git a/src/data.c b/src/data.c index f3829d0..0fe0f09 100644 --- a/src/data.c +++ b/src/data.c @@ -26,6 +26,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "buffer.h" #include "bytecode.h" @@ -799,7 +800,7 @@ typedef struct int int_p; union { - int ival; + EMACS_INT ival; double dval; } c; } int_or_double; @@ -1623,9 +1624,16 @@ make_weak_list (enum weak_list_type type) return result; } +static const struct lrecord_description weak_list_description[] = { + { XD_LISP_OBJECT, offsetof(struct weak_list, list), 1 }, + { XD_LISP_OBJECT, offsetof(struct weak_list, next_weak), 1 }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("weak-list", weak_list, mark_weak_list, print_weak_list, 0, weak_list_equal, weak_list_hash, + weak_list_description, struct weak_list); /* -- we do not mark the list elements (either the elements themselves diff --git a/src/database.c b/src/database.c index 0493d0e..c17c827 100644 --- a/src/database.c +++ b/src/database.c @@ -195,7 +195,7 @@ finalize_database (void *header, int for_disksave) DEFINE_LRECORD_IMPLEMENTATION ("database", database, mark_database, print_database, - finalize_database, 0, 0, + finalize_database, 0, 0, 0, Lisp_Database); DEFUN ("close-database", Fclose_database, 1, 1, 0, /* diff --git a/src/device.c b/src/device.c index a6b751f..dd98407 100644 --- a/src/device.c +++ b/src/device.c @@ -136,7 +136,7 @@ print_device (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) } DEFINE_LRECORD_IMPLEMENTATION ("device", device, - mark_device, print_device, 0, 0, 0, + mark_device, print_device, 0, 0, 0, 0, struct device); int diff --git a/src/dialog-msw.c b/src/dialog-msw.c index 24c272c..b5dea45 100644 --- a/src/dialog-msw.c +++ b/src/dialog-msw.c @@ -110,12 +110,6 @@ static Lisp_Object Vdialog_data_list; #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) @@ -200,7 +194,7 @@ free_dynarr_opaque_ptr (Lisp_Object arg) static void mswindows_popup_dialog_box (struct frame* f, Lisp_Object desc) { - struct_gui_item_dynarr *dialog_items = Dynarr_new (struct_gui_item); + Lisp_Object_dynarr *dialog_items = Dynarr_new (Lisp_Object); unsigned_char_dynarr *template = Dynarr_new (unsigned_char); unsigned int button_row_width = 0; unsigned int text_width, text_height; @@ -223,11 +217,10 @@ mswindows_popup_dialog_box (struct frame* f, Lisp_Object desc) { if (!NILP (XCAR (item_cons))) { - struct gui_item gitem; - gui_item_init (&gitem); - gui_parse_item_keywords (XCAR (item_cons), &gitem); + Lisp_Object gitem = gui_parse_item_keywords (XCAR (item_cons)); Dynarr_add (dialog_items, gitem); - button_row_width += button_width (gitem.name) + X_BUTTON_MARGIN; + button_row_width += button_width (XGUI_ITEM (gitem)->name) + + X_BUTTON_MARGIN; } } if (Dynarr_length (dialog_items) == 0) @@ -350,10 +343,11 @@ mswindows_popup_dialog_box (struct frame* f, Lisp_Object desc) for (i = 0; i < Dynarr_length (dialog_items); ++i) { - struct gui_item *pgui_item = Dynarr_atp (dialog_items, i); + Lisp_Object* gui_item = Dynarr_atp (dialog_items, i); + struct Lisp_Gui_Item *pgui_item = XGUI_ITEM (*gui_item); item_tem.style = (WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON - | (gui_item_active_p (pgui_item) ? 0 : WS_DISABLED)); + | (gui_item_active_p (*gui_item) ? 0 : WS_DISABLED)); item_tem.cx = button_width (pgui_item->name); /* Item ids are indices into dialog_items plus offset, to avoid having items by reserved ids (IDOK, IDCANCEL) */ @@ -390,7 +384,7 @@ mswindows_popup_dialog_box (struct frame* f, Lisp_Object desc) 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; + XVECTOR_DATA (vector) [i] = XGUI_ITEM (*Dynarr_atp (dialog_items, i))->callback; /* Woof! Everything is ready. Pop pop pop in now! */ if (!CreateDialogIndirectParam (NULL, diff --git a/src/eldap.c b/src/eldap.c index caea909..8dd06bd 100644 --- a/src/eldap.c +++ b/src/eldap.c @@ -26,8 +26,8 @@ Boston, MA 02111-1307, USA. */ conforming to the API defined in RFC 1823. It has been tested with: - UMich LDAP 3.3 (http://www.umich.edu/~dirsvcs/ldap/) - - OpenLDAP 1.0.3 (http://www.openldap.org/) - - Netscape's LDAP SDK 1.0 (http://developer.netscape.com/) */ + - OpenLDAP 1.2 (http://www.openldap.org/) + - Netscape's LDAP SDK (http://developer.netscape.com/) */ #include @@ -40,14 +40,6 @@ Boston, MA 02111-1307, USA. */ #include "eldap.h" -#ifdef HAVE_NS_LDAP -# define HAVE_LDAP_SET_OPTION 1 -# define HAVE_LDAP_GET_ERRNO 1 -#else -# undef HAVE_LDAP_SET_OPTION -# undef HAVE_LDAP_GET_ERRNO -#endif - static int ldap_default_port; static Lisp_Object Vldap_default_base; @@ -69,16 +61,27 @@ extern Lisp_Object Qnever, Qalways, Qfind; /************************************************************************/ static void -signal_ldap_error (LDAP *ld) +signal_ldap_error (LDAP *ld, LDAPMessage *res, int ldap_err) { -#ifdef HAVE_LDAP_GET_ERRNO - signal_simple_error - ("LDAP error", - build_string (ldap_err2string (ldap_get_lderrno (ld, NULL, NULL)))); + if (ldap_err <= 0) + { +#if defined HAVE_LDAP_PARSE_RESULT + int err; + ldap_err = ldap_parse_result (ld, res, + &err, + NULL, NULL, NULL, NULL, 0); + if (ldap_err == LDAP_SUCCESS) + ldap_err = err; +#elif defined HAVE_LDAP_GET_LDERRNO + ldap_err = ldap_get_lderrno (ld, NULL, NULL); +#elif defined HAVE_LDAP_RESULT2ERROR + ldap_err = ldap_result2error (ld, res, 0); #else - signal_simple_error ("LDAP error", - build_string (ldap_err2string (ld->ld_errno))); + ldap_err = ld->ld_errno; #endif + } + signal_simple_error ("LDAP error", + build_string (ldap_err2string (ldap_err))); } @@ -113,7 +116,7 @@ print_ldap (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) write_c_string ("#host, printcharfun, 1); - if (!ldap->livep) + if (!ldap->ld) write_c_string ("(dead) ",printcharfun); sprintf (buf, " 0x%x>", (unsigned int)ldap); write_c_string (buf, printcharfun); @@ -127,7 +130,6 @@ allocate_ldap (void) ldap->ld = NULL; ldap->host = Qnil; - ldap->livep = 0; return ldap; } @@ -140,13 +142,14 @@ finalize_ldap (void *header, int for_disksave) signal_simple_error ("Can't dump an emacs containing LDAP objects", make_ldap (ldap)); - if (ldap->livep) + if (ldap->ld) ldap_unbind (ldap->ld); + ldap->ld = NULL; } DEFINE_LRECORD_IMPLEMENTATION ("ldap", ldap, mark_ldap, print_ldap, finalize_ldap, - NULL, NULL, struct Lisp_LDAP); + NULL, NULL, 0, struct Lisp_LDAP); @@ -178,7 +181,7 @@ Return t if LDAP is an active LDAP connection. (ldap)) { CHECK_LDAP (ldap); - return (XLDAP (ldap))->livep ? Qt : Qnil; + return (XLDAP (ldap))->ld ? Qt : Qnil; } /************************************************************************/ @@ -299,16 +302,18 @@ the LDAP library XEmacs was compiled with: `simple', `krbv41' and `krbv42'. #ifdef HAVE_LDAP_SET_OPTION - if (ldap_set_option (ld, LDAP_OPT_DEREF, (void *)&ldap_deref) != LDAP_SUCCESS) - signal_ldap_error (ld); - if (ldap_set_option (ld, LDAP_OPT_TIMELIMIT, - (void *)&ldap_timelimit) != LDAP_SUCCESS) - signal_ldap_error (ld); - if (ldap_set_option (ld, LDAP_OPT_SIZELIMIT, - (void *)&ldap_sizelimit) != LDAP_SUCCESS) - signal_ldap_error (ld); - if (ldap_set_option (ld, LDAP_OPT_REFERRALS, LDAP_OPT_ON) != LDAP_SUCCESS) - signal_ldap_error (ld); + if ((err = ldap_set_option (ld, LDAP_OPT_DEREF, + (void *)&ldap_deref)) != LDAP_SUCCESS) + signal_ldap_error (ld, NULL, err); + if ((err = ldap_set_option (ld, LDAP_OPT_TIMELIMIT, + (void *)&ldap_timelimit)) != LDAP_SUCCESS) + signal_ldap_error (ld, NULL, err); + if ((err = ldap_set_option (ld, LDAP_OPT_SIZELIMIT, + (void *)&ldap_sizelimit)) != LDAP_SUCCESS) + signal_ldap_error (ld, NULL, err); + if ((err = ldap_set_option (ld, LDAP_OPT_REFERRALS, + LDAP_OPT_ON)) != LDAP_SUCCESS) + signal_ldap_error (ld, NULL, err); #else /* not HAVE_LDAP_SET_OPTION */ ld->ld_deref = ldap_deref; ld->ld_timelimit = ldap_timelimit; @@ -331,7 +336,6 @@ the LDAP library XEmacs was compiled with: `simple', `krbv41' and `krbv42'. ldap = allocate_ldap (); ldap->ld = ld; ldap->host = host; - ldap->livep = 1; return make_ldap (ldap); } @@ -347,7 +351,7 @@ Close an LDAP connection. CHECK_LIVE_LDAP (ldap); lldap = XLDAP (ldap); ldap_unbind (lldap->ld); - lldap->livep = 0; + lldap->ld = NULL; return Qnil; } @@ -401,7 +405,7 @@ entry according to the value of WITHDN. LDAPMessage *e; BerElement *ptr; char *a, *dn; - int i, rc; + int i, rc, rc2; int matches; struct ldap_unwind_struct unwind; @@ -476,9 +480,9 @@ entry according to the value of WITHDN. NILP (filter) ? "" : (char *) XSTRING_DATA (filter), ldap_attributes, NILP (attrsonly) ? 0 : 1) - == -1) + == -1) { - signal_ldap_error (ld); + signal_ldap_error (ld, NULL, 0); } /* Ensure we don't exit without cleaning up */ @@ -508,9 +512,7 @@ entry according to the value of WITHDN. { dn = ldap_get_dn (ld, e); if (dn == NULL) - { - signal_ldap_error (ld); - } + signal_ldap_error (ld, e, 0); entry = Fcons (build_ext_string (dn, FORMAT_OS), Qnil); } for (a= ldap_first_attribute (ld, e, &ptr); @@ -545,15 +547,22 @@ entry according to the value of WITHDN. } if (rc == -1) - { - signal_ldap_error (ld); - } + signal_ldap_error (ld, unwind.res, 0); + + if (rc == 0) + signal_ldap_error (ld, NULL, LDAP_TIMELIMIT_EXCEEDED); + +#if defined HAVE_LDAP_PARSE_RESULT + rc2 = ldap_parse_result (ld, unwind.res, + &rc, + NULL, NULL, NULL, NULL, 0); + if (rc2 != LDAP_SUCCESS) + rc = rc2; +#elif defined HAVE_LDAP_RESULT2ERROR rc = ldap_result2error (ld, unwind.res, 0); - if ((rc != LDAP_SUCCESS) && - (rc != LDAP_SIZELIMIT_EXCEEDED)) - { - signal_ldap_error (ld); - } +#endif + if ((rc != LDAP_SUCCESS) && (rc != LDAP_SIZELIMIT_EXCEEDED)) + signal_ldap_error (ld, NULL, rc); ldap_msgfree (unwind.res); unwind.res = (LDAPMessage *)NULL; diff --git a/src/eldap.h b/src/eldap.h index e60c8a8..29f9aa9 100644 --- a/src/eldap.h +++ b/src/eldap.h @@ -37,8 +37,6 @@ struct Lisp_LDAP LDAP *ld; /* Name of the host we connected to */ Lisp_Object host; - /* Status of the LDAP connection. */ - int livep; }; @@ -52,7 +50,7 @@ DECLARE_LRECORD (ldap, struct Lisp_LDAP); #define CHECK_LIVE_LDAP(ldap) do { \ CHECK_LDAP (ldap); \ - if (!XLDAP (ldap)->livep) \ + if (!XLDAP (ldap)->ld) \ signal_simple_error ("Attempting to access closed LDAP connection", \ ldap); \ } while (0) diff --git a/src/elhash.c b/src/elhash.c index a802123..34c22c5 100644 --- a/src/elhash.c +++ b/src/elhash.c @@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "bytecode.h" #include "elhash.h" @@ -364,11 +365,28 @@ finalize_hash_table (void *header, int for_disksave) } } +static const struct lrecord_description hentry_description_1[] = { + { XD_LISP_OBJECT, offsetof(hentry, key), 2 }, + { XD_END } +}; + +static const struct struct_description hentry_description = { + sizeof(hentry), + hentry_description_1 +}; + +static const struct lrecord_description hash_table_description[] = { + { XD_SIZE_T, offsetof(Lisp_Hash_Table, size) }, + { XD_STRUCT_PTR, offsetof(Lisp_Hash_Table, hentries), XD_INDIRECT(0), &hentry_description }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("hash-table", hash_table, mark_hash_table, print_hash_table, finalize_hash_table, /* #### Implement hash_table_hash()! */ hash_table_equal, 0, + hash_table_description, Lisp_Hash_Table); static Lisp_Hash_Table * diff --git a/src/eval.c b/src/eval.c index 0f07512..22310ec 100644 --- a/src/eval.c +++ b/src/eval.c @@ -296,7 +296,7 @@ print_subr (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) } DEFINE_LRECORD_IMPLEMENTATION ("subr", subr, - this_one_is_unmarkable, print_subr, 0, 0, 0, + this_one_is_unmarkable, print_subr, 0, 0, 0, 0, Lisp_Subr); /************************************************************************/ diff --git a/src/event-msw.c b/src/event-msw.c index 4042366..e8d8fc0 100644 --- a/src/event-msw.c +++ b/src/event-msw.c @@ -1327,6 +1327,7 @@ mswindows_need_event (int badly_p) if (active == 0) { + assert (!badly_p); return; /* timeout */ } else if (active > 0) @@ -1925,17 +1926,21 @@ mswindows_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) Qcancel_mode_internal, Qnil); break; -#ifdef HAVE_TOOLBARS case WM_NOTIFY: { - LPTOOLTIPTEXT tttext = (LPTOOLTIPTEXT)lParam; - Lisp_Object btext; - if (tttext->hdr.code == TTN_NEEDTEXT) + LPNMHDR nmhdr = (LPNMHDR)lParam; + int idCtrl = (int)wParam; + + if (nmhdr->code == TTN_NEEDTEXT) { +#ifdef HAVE_TOOLBARS + LPTOOLTIPTEXT tttext = (LPTOOLTIPTEXT)lParam; + Lisp_Object btext; + /* find out which toolbar */ frame = XFRAME (mswindows_find_frame (hwnd)); btext = mswindows_get_toolbar_button_text ( frame, - tttext->hdr.idFrom ); + nmhdr->idFrom ); tttext->lpszText = NULL; tttext->hinst = NULL; @@ -1947,13 +1952,28 @@ mswindows_wnd_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) GET_C_STRING_EXT_DATA_ALLOCA (btext, FORMAT_OS, tttext->lpszText); } -#if 0 - tttext->uFlags |= TTF_DI_SETITEM; #endif - } + } + /* handle tree view callbacks */ + else if (nmhdr->code == TVN_SELCHANGED) + { + NM_TREEVIEW* ptree = (NM_TREEVIEW*)lParam; + frame = XFRAME (mswindows_find_frame (hwnd)); + mswindows_handle_gui_wm_command (frame, 0, ptree->itemNew.lParam); + } + /* handle tab control callbacks */ + else if (nmhdr->code == TCN_SELCHANGE) + { + TC_ITEM item; + int index = SendMessage (nmhdr->hwndFrom, TCM_GETCURSEL, 0, 0); + frame = XFRAME (mswindows_find_frame (hwnd)); + SendMessage (nmhdr->hwndFrom, TCM_GETITEM, (WPARAM)index, + (LPARAM)&item); + + mswindows_handle_gui_wm_command (frame, 0, item.lParam); + } } break; -#endif case WM_PAINT: { @@ -2552,7 +2572,7 @@ emacs_mswindows_next_event (struct Lisp_Event *emacs_event) mswindows_need_event (1); - event = mswindows_dequeue_dispatch_event (!NILP(mswindows_u_dispatch_event_queue)); + event = mswindows_dequeue_dispatch_event (); XSETEVENT (event2, emacs_event); Fcopy_event (event, event2); Fdeallocate_event (event); diff --git a/src/event-stream.c b/src/event-stream.c index e294ae6..f008935 100644 --- a/src/event-stream.c +++ b/src/event-stream.c @@ -413,7 +413,7 @@ finalize_command_builder (void *header, int for_disksave) DEFINE_LRECORD_IMPLEMENTATION ("command-builder", command_builder, mark_command_builder, internal_object_printer, - finalize_command_builder, 0, 0, + finalize_command_builder, 0, 0, 0, struct command_builder); static void diff --git a/src/events.c b/src/events.c index f484001..1a2db77 100644 --- a/src/events.c +++ b/src/events.c @@ -375,7 +375,7 @@ event_hash (Lisp_Object obj, int depth) DEFINE_BASIC_LRECORD_IMPLEMENTATION ("event", event, mark_event, print_event, 0, event_equal, - event_hash, struct Lisp_Event); + event_hash, 0, struct Lisp_Event); DEFUN ("make-event", Fmake_event, 0, 2, 0, /* diff --git a/src/extents.c b/src/extents.c index 6360a4d..cc7ad8a 100644 --- a/src/extents.c +++ b/src/extents.c @@ -213,6 +213,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "buffer.h" #include "debug.h" @@ -927,7 +928,7 @@ mark_extent_auxiliary (Lisp_Object obj, void (*markobj) (Lisp_Object)) DEFINE_LRECORD_IMPLEMENTATION ("extent-auxiliary", extent_auxiliary, mark_extent_auxiliary, internal_object_printer, - 0, 0, 0, struct extent_auxiliary); + 0, 0, 0, 0, struct extent_auxiliary); void allocate_extent_auxiliary (EXTENT ext) @@ -1025,7 +1026,7 @@ finalize_extent_info (void *header, int for_disksave) DEFINE_LRECORD_IMPLEMENTATION ("extent-info", extent_info, mark_extent_info, internal_object_printer, - finalize_extent_info, 0, 0, + finalize_extent_info, 0, 0, 0, struct extent_info); static Lisp_Object @@ -2924,6 +2925,12 @@ static int extent_putprop (Lisp_Object obj, Lisp_Object prop, static int extent_remprop (Lisp_Object obj, Lisp_Object prop); static Lisp_Object extent_plist (Lisp_Object obj); +static const struct lrecord_description extent_description[] = { + { XD_LISP_OBJECT, offsetof(struct extent, object), 2 }, + { XD_LISP_OBJECT, offsetof(struct extent, plist), 1 }, + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS ("extent", extent, mark_extent, print_extent, @@ -2933,6 +2940,7 @@ DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS ("extent", extent, Shaft city. */ 0, extent_equal, extent_hash, + extent_description, extent_getprop, extent_putprop, extent_remprop, extent_plist, struct extent); diff --git a/src/faces.c b/src/faces.c index 7ce8d10..732c018 100644 --- a/src/faces.c +++ b/src/faces.c @@ -266,7 +266,7 @@ face_plist (Lisp_Object obj) DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS ("face", face, mark_face, print_face, 0, face_equal, - face_hash, face_getprop, + face_hash, 0, face_getprop, face_putprop, face_remprop, face_plist, struct Lisp_Face); diff --git a/src/file-coding.c b/src/file-coding.c index ab93ad9..1a340ac 100644 --- a/src/file-coding.c +++ b/src/file-coding.c @@ -25,6 +25,8 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include + #include "buffer.h" #include "elhash.h" #include "insdel.h" @@ -244,10 +246,46 @@ static Lisp_Object mark_coding_system (Lisp_Object, void (*) (Lisp_Object)); static void print_coding_system (Lisp_Object, Lisp_Object, int); static void finalize_coding_system (void *header, int for_disksave); +#ifdef MULE +static const struct lrecord_description ccs_description_1[] = { + { XD_LISP_OBJECT, offsetof(charset_conversion_spec, from_charset), 2 }, + { XD_END } +}; + +static const struct struct_description ccs_description = { + sizeof(charset_conversion_spec), + ccs_description_1 +}; + +static const struct lrecord_description ccsd_description_1[] = { + XD_DYNARR_DESC(charset_conversion_spec_dynarr, &ccs_description), + { XD_END } +}; + +static const struct struct_description ccsd_description = { + sizeof(charset_conversion_spec_dynarr), + ccsd_description_1 +}; +#endif + +static const struct lrecord_description coding_system_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Coding_System, name), 2 }, + { XD_LISP_OBJECT, offsetof(struct Lisp_Coding_System, mnemonic), 3 }, + { XD_LISP_OBJECT, offsetof(struct Lisp_Coding_System, eol_lf), 3 }, +#ifdef MULE + { XD_LISP_OBJECT, offsetof(struct Lisp_Coding_System, iso2022.initial_charset), 4 }, + { XD_STRUCT_PTR, offsetof(struct Lisp_Coding_System, iso2022.input_conv), 1, &ccsd_description }, + { XD_STRUCT_PTR, offsetof(struct Lisp_Coding_System, iso2022.output_conv), 1, &ccsd_description }, + { XD_LISP_OBJECT, offsetof(struct Lisp_Coding_System, ccl.decode), 2 }, +#endif + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("coding-system", coding_system, mark_coding_system, print_coding_system, finalize_coding_system, - 0, 0, struct Lisp_Coding_System); + 0, 0, coding_system_description, + struct Lisp_Coding_System); static Lisp_Object mark_coding_system (Lisp_Object obj, void (*markobj) (Lisp_Object)) diff --git a/src/floatfns.c b/src/floatfns.c index 2965f52..a0fd427 100644 --- a/src/floatfns.c +++ b/src/floatfns.c @@ -179,9 +179,14 @@ float_hash (Lisp_Object obj, int depth) return (unsigned long) fmod (extract_float (obj), 4e9); } +static const struct lrecord_description float_description[] = { + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("float", float, mark_float, print_float, 0, float_equal, - float_hash, struct Lisp_Float); + float_hash, float_description, + struct Lisp_Float); /* Extract a Lisp number as a `double', or signal an error. */ diff --git a/src/fns.c b/src/fns.c index 4beda3a..55d5e2f 100644 --- a/src/fns.c +++ b/src/fns.c @@ -113,7 +113,7 @@ bit_vector_hash (Lisp_Object obj, int depth) DEFINE_BASIC_LRECORD_IMPLEMENTATION ("bit-vector", bit_vector, mark_bit_vector, print_bit_vector, 0, - bit_vector_equal, bit_vector_hash, + bit_vector_equal, bit_vector_hash, 0, struct Lisp_Bit_Vector); DEFUN ("identity", Fidentity, 1, 1, 0, /* diff --git a/src/frame.c b/src/frame.c index bd85ae4..2da392d 100644 --- a/src/frame.c +++ b/src/frame.c @@ -155,7 +155,7 @@ print_frame (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) } DEFINE_LRECORD_IMPLEMENTATION ("frame", frame, - mark_frame, print_frame, 0, 0, 0, + mark_frame, print_frame, 0, 0, 0, 0, struct frame); static void diff --git a/src/glyphs-msw.c b/src/glyphs-msw.c index 646cb54..4f95bc2 100644 --- a/src/glyphs-msw.c +++ b/src/glyphs-msw.c @@ -71,6 +71,8 @@ DEFINE_DEVICE_IIFORMAT (mswindows, label); DEFINE_DEVICE_IIFORMAT (mswindows, scrollbar); DEFINE_DEVICE_IIFORMAT (mswindows, combo); DEFINE_DEVICE_IIFORMAT (mswindows, progress); +DEFINE_DEVICE_IIFORMAT (mswindows, tree); +DEFINE_DEVICE_IIFORMAT (mswindows, tab); DEFINE_IMAGE_INSTANTIATOR_FORMAT (bmp); Lisp_Object Qbmp; @@ -282,7 +284,7 @@ init_image_instance_from_dibitmap (struct Lisp_Image_Instance *ii, struct device *d = XDEVICE (device); struct frame *f; void* bmp_buf=0; - int type; + int type = 0; HBITMAP bitmap; HDC hdc; @@ -2041,7 +2043,7 @@ mswindows_update_subwindow (struct Lisp_Image_Instance *p) /* buttons checked or otherwise */ if ( EQ (IMAGE_INSTANCE_WIDGET_TYPE (p), Qbutton)) { - if (gui_item_selected_p (&IMAGE_INSTANCE_WIDGET_ITEM (p))) + if (gui_item_selected_p (IMAGE_INSTANCE_WIDGET_SINGLE_ITEM (p))) SendMessage (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p), BM_SETCHECK, (WPARAM)BST_CHECKED, 0); else @@ -2055,19 +2057,26 @@ mswindows_update_subwindow (struct Lisp_Image_Instance *p) callbacks. The hashtable is weak so deregistration is handled automatically */ static int -mswindows_register_widget_instance (Lisp_Object instance, Lisp_Object domain) +mswindows_register_gui_item (Lisp_Object gui, Lisp_Object domain) { Lisp_Object frame = FW_FRAME (domain); struct frame* f = XFRAME (frame); - int id = gui_item_hash (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f), - &XIMAGE_INSTANCE_WIDGET_ITEM (instance), - WIDGET_GLYPH_SLOT); + int id = gui_item_id_hash (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f), + gui, + WIDGET_GLYPH_SLOT); Fputhash (make_int (id), - XIMAGE_INSTANCE_WIDGET_CALLBACK (instance), + XGUI_ITEM (gui)->callback, FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f)); return id; } +static int +mswindows_register_widget_instance (Lisp_Object instance, Lisp_Object domain) +{ + return mswindows_register_gui_item (XIMAGE_INSTANCE_WIDGET_SINGLE_ITEM (instance), + domain); +} + static void mswindows_subwindow_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, @@ -2164,7 +2173,6 @@ mswindows_initialize_dibitmap_image_instance (struct Lisp_Image_Instance *ii, /************************************************************************/ /* widgets */ /************************************************************************/ - static void mswindows_widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, @@ -2182,7 +2190,8 @@ mswindows_widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiat Extbyte* nm=0; HWND wnd; int id = 0xffff; - struct gui_item* pgui = &IMAGE_INSTANCE_WIDGET_ITEM (ii); + Lisp_Object gui = IMAGE_INSTANCE_WIDGET_ITEM (ii); + struct Lisp_Gui_Item* pgui = XGUI_ITEM (gui); if (!DEVICE_MSWINDOWS_P (d)) signal_simple_error ("Not an mswindows device", device); @@ -2197,7 +2206,7 @@ mswindows_widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiat groupii = XIMAGE_INSTANCE (group); } #endif - if (!gui_item_active_p (pgui)) + if (!gui_item_active_p (gui)) flags |= WS_DISABLED; style = pgui->style; @@ -2256,10 +2265,11 @@ mswindows_button_instantiate (Lisp_Object image_instance, Lisp_Object instantiat HWND wnd; int flags = BS_NOTIFY; Lisp_Object style; - struct gui_item* pgui = &IMAGE_INSTANCE_WIDGET_ITEM (ii); + Lisp_Object gui = IMAGE_INSTANCE_WIDGET_ITEM (ii); + struct Lisp_Gui_Item* pgui = XGUI_ITEM (gui); Lisp_Object glyph = find_keyword_in_vector (instantiator, Q_image); - if (!gui_item_active_p (pgui)) + if (!gui_item_active_p (gui)) flags |= WS_DISABLED; if (!NILP (glyph)) @@ -2291,7 +2301,7 @@ mswindows_button_instantiate (Lisp_Object image_instance, Lisp_Object instantiat wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); /* set the checked state */ - if (gui_item_selected_p (pgui)) + if (gui_item_selected_p (gui)) SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_CHECKED, 0); else SendMessage (wnd, BM_SETCHECK, (WPARAM)BST_UNCHECKED, 0); @@ -2320,7 +2330,7 @@ mswindows_edit_instantiate (Lisp_Object image_instance, Lisp_Object instantiator WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT); } -/* instantiate an edit control */ +/* instantiate a progress gauge */ static void mswindows_progress_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, @@ -2352,6 +2362,178 @@ mswindows_progress_instantiate (Lisp_Object image_instance, Lisp_Object instanti #endif } +/* instantiate a tree view widget */ +static HTREEITEM add_tree_item (Lisp_Object image_instance, + HWND wnd, HTREEITEM parent, Lisp_Object entry, + int children, Lisp_Object domain) +{ + TV_INSERTSTRUCT tvitem; + HTREEITEM ret; + + tvitem.hParent = parent; + tvitem.hInsertAfter = TVI_LAST; + tvitem.item.mask = TVIF_TEXT | TVIF_CHILDREN; + tvitem.item.cChildren = children; + + if (VECTORP (entry)) + { + /* we always maintain the real gui item at the head of the + list. We have to put them in the list in the first place + because the whole model assumes that the glyph instances have + references to all the associated data. If we didn't do this + GC would bite us badly. */ + Lisp_Object gui = gui_parse_item_keywords_no_errors (entry); + if (CONSP (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance))) + { + Lisp_Object rest = + Fcons (gui, XCDR (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance))); + Fsetcdr (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance), rest); + } + else + { + XIMAGE_INSTANCE_WIDGET_ITEM (image_instance) = + Fcons (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance), gui); + } + + tvitem.item.lParam = mswindows_register_gui_item (gui, domain); + tvitem.item.mask |= TVIF_PARAM; + GET_C_STRING_OS_DATA_ALLOCA (XGUI_ITEM (gui)->name, + tvitem.item.pszText); + } + else + GET_C_STRING_OS_DATA_ALLOCA (entry, tvitem.item.pszText); + + tvitem.item.cchTextMax = strlen (tvitem.item.pszText); + + if ((ret = (HTREEITEM)SendMessage (wnd, TVM_INSERTITEM, + 0, (LPARAM)&tvitem)) == 0) + signal_simple_error ("error adding tree view entry", entry); + + return ret; +} + +static void add_tree_item_list (Lisp_Object image_instance, + HWND wnd, HTREEITEM parent, Lisp_Object list, + Lisp_Object domain) +{ + Lisp_Object rest; + + /* get the first item */ + parent = add_tree_item (image_instance, wnd, parent, XCAR (list), TRUE, domain); + /* recursively add items to the tree view */ + LIST_LOOP (rest, XCDR (list)) + { + if (LISTP (XCAR (rest))) + add_tree_item_list (image_instance, wnd, parent, XCAR (rest), domain); + else + add_tree_item (image_instance, wnd, parent, XCAR (rest), FALSE, domain); + } +} + +static void +mswindows_tree_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + Lisp_Object rest; + HWND wnd; + HTREEITEM parent; + struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + mswindows_widget_instantiate (image_instance, instantiator, pointer_fg, + pointer_bg, dest_mask, domain, WC_TREEVIEW, + WS_TABSTOP | WS_BORDER | PBS_SMOOTH + | TVS_HASLINES | TVS_HASBUTTONS, + WS_EX_CLIENTEDGE | WS_EX_CONTROLPARENT); + + wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); + + /* define a root */ + parent = add_tree_item (image_instance, + wnd, NULL, IMAGE_INSTANCE_WIDGET_TEXT (ii), TRUE, + domain); + + /* recursively add items to the tree view */ + LIST_LOOP (rest, Fplist_get (IMAGE_INSTANCE_WIDGET_PROPS (ii), Q_items, Qnil)) + { + if (LISTP (XCAR (rest))) + add_tree_item_list (image_instance, wnd, parent, XCAR (rest), domain); + else + add_tree_item (image_instance, wnd, parent, XCAR (rest), FALSE, domain); + } +} + +/* instantiate a tab control */ +static TC_ITEM* add_tab_item (Lisp_Object image_instance, + HWND wnd, Lisp_Object entry, + Lisp_Object domain, int index) +{ + TC_ITEM tvitem, *ret; + + tvitem.mask = TCIF_TEXT; + + if (VECTORP (entry)) + { + /* we always maintain the real gui item at the head of the + list. We have to put them in the list in the first place + because the whole model assumes that the glyph instances have + references to all the associated data. If we didn't do this + GC would bite us badly. */ + Lisp_Object gui = gui_parse_item_keywords_no_errors (entry); + if (CONSP (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance))) + { + Lisp_Object rest = + Fcons (gui, XCDR (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance))); + Fsetcdr (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance), rest); + } + else + { + XIMAGE_INSTANCE_WIDGET_ITEM (image_instance) = + Fcons (XIMAGE_INSTANCE_WIDGET_ITEM (image_instance), gui); + } + + tvitem.lParam = mswindows_register_gui_item (gui, domain); + tvitem.mask |= TCIF_PARAM; + GET_C_STRING_OS_DATA_ALLOCA (XGUI_ITEM (gui)->name, + tvitem.pszText); + } + else + GET_C_STRING_OS_DATA_ALLOCA (entry, tvitem.pszText); + + tvitem.cchTextMax = strlen (tvitem.pszText); + + if ((ret = (TC_ITEM*)SendMessage (wnd, TCM_INSERTITEM, + index, (LPARAM)&tvitem)) < 0) + signal_simple_error ("error adding tab entry", entry); + + return ret; +} + +static void +mswindows_tab_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + Lisp_Object rest; + HWND wnd; + HTREEITEM parent; + int index = 0; + struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + mswindows_widget_instantiate (image_instance, instantiator, pointer_fg, + pointer_bg, dest_mask, domain, WC_TABCONTROL, + /* borders don't suit tabs so well */ + WS_TABSTOP, + WS_EX_CONTROLPARENT); + + wnd = WIDGET_INSTANCE_MSWINDOWS_HANDLE (ii); + + /* add items to the tab */ + LIST_LOOP (rest, Fplist_get (IMAGE_INSTANCE_WIDGET_PROPS (ii), Q_items, Qnil)) + { + add_tab_item (image_instance, wnd, XCAR (rest), domain, index); + index++; + } +} + /* instantiate a static control possible for putting other things in */ static void mswindows_label_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, @@ -2558,6 +2740,7 @@ image_instantiator_format_create_glyphs_mswindows (void) INITIALIZE_DEVICE_IIFORMAT (mswindows, xface); IIFORMAT_HAS_DEVMETHOD (mswindows, xface, instantiate); #endif + /* button widget */ INITIALIZE_DEVICE_IIFORMAT (mswindows, button); IIFORMAT_HAS_DEVMETHOD (mswindows, button, property); IIFORMAT_HAS_DEVMETHOD (mswindows, button, instantiate); @@ -2575,22 +2758,35 @@ image_instantiator_format_create_glyphs_mswindows (void) INITIALIZE_DEVICE_IIFORMAT (mswindows, group); IIFORMAT_HAS_DEVMETHOD (mswindows, group, instantiate); #endif + /* label */ INITIALIZE_DEVICE_IIFORMAT (mswindows, label); IIFORMAT_HAS_DEVMETHOD (mswindows, label, instantiate); + /* combo box */ INITIALIZE_DEVICE_IIFORMAT (mswindows, combo); IIFORMAT_HAS_DEVMETHOD (mswindows, combo, property); IIFORMAT_HAS_DEVMETHOD (mswindows, combo, instantiate); + /* scrollbar */ INITIALIZE_DEVICE_IIFORMAT (mswindows, scrollbar); IIFORMAT_HAS_DEVMETHOD (mswindows, scrollbar, instantiate); + /* progress gauge */ INITIALIZE_DEVICE_IIFORMAT (mswindows, progress); IIFORMAT_HAS_DEVMETHOD (mswindows, progress, set_property); IIFORMAT_HAS_DEVMETHOD (mswindows, progress, instantiate); - INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (bmp, "bmp"); + /* tree view widget */ + INITIALIZE_DEVICE_IIFORMAT (mswindows, tree); + /* IIFORMAT_HAS_DEVMETHOD (mswindows, progress, set_property);*/ + IIFORMAT_HAS_DEVMETHOD (mswindows, tree, instantiate); + /* tab control widget */ + INITIALIZE_DEVICE_IIFORMAT (mswindows, tab); + IIFORMAT_HAS_DEVMETHOD (mswindows, tab, instantiate); + + /* windows bitmap format */ + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (bmp, "bmp"); IIFORMAT_HAS_METHOD (bmp, validate); IIFORMAT_HAS_METHOD (bmp, normalize); IIFORMAT_HAS_METHOD (bmp, possible_dest_types); @@ -2599,6 +2795,7 @@ image_instantiator_format_create_glyphs_mswindows (void) IIFORMAT_VALID_KEYWORD (bmp, Q_data, check_valid_string); IIFORMAT_VALID_KEYWORD (bmp, Q_file, check_valid_string); + /* mswindows resources */ INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (mswindows_resource, "mswindows-resource"); @@ -2630,6 +2827,8 @@ This is used by the `make-image-instance' function. Fprovide (Qscrollbar); Fprovide (Qlabel); Fprovide (Qprogress); + Fprovide (Qtree); + Fprovide (Qtab); } void diff --git a/src/glyphs-widget.c b/src/glyphs-widget.c index 3e2162b..7b4e2bc 100644 --- a/src/glyphs-widget.c +++ b/src/glyphs-widget.c @@ -53,6 +53,10 @@ DEFINE_IMAGE_INSTANTIATOR_FORMAT (label); Lisp_Object Qlabel; DEFINE_IMAGE_INSTANTIATOR_FORMAT (progress); Lisp_Object Qprogress; +DEFINE_IMAGE_INSTANTIATOR_FORMAT (tree); +Lisp_Object Qtree; +DEFINE_IMAGE_INSTANTIATOR_FORMAT (tab); +Lisp_Object Qtab; Lisp_Object Q_descriptor, Q_height, Q_width, Q_properties, Q_items; Lisp_Object Q_image, Q_text, Q_percent; @@ -146,21 +150,35 @@ check_valid_string_or_vector (Lisp_Object data) } static void -check_valid_item_list (Lisp_Object data) +check_valid_item_list_1 (Lisp_Object items) { Lisp_Object rest; - Lisp_Object items; - Fcheck_valid_plist (data); - - items = Fplist_get (data, Q_items, Qnil); CHECK_LIST (items); EXTERNAL_LIST_LOOP (rest, items) { - CHECK_STRING (XCAR (rest)); + if (STRINGP (XCAR (rest))) + CHECK_STRING (XCAR (rest)); + else if (VECTORP (XCAR (rest))) + gui_parse_item_keywords (XCAR (rest)); + else if (LISTP (XCAR (rest))) + check_valid_item_list_1 (XCAR (rest)); + else + signal_simple_error ("Items must be vectors, lists or strings", items); } } +static void +check_valid_item_list (Lisp_Object data) +{ + Lisp_Object items; + + Fcheck_valid_plist (data); + items = Fplist_get (data, Q_items, Qnil); + + check_valid_item_list_1 (items); +} + /* wire widget property invocations to specific widgets ... The problem we are solving here is that when instantiators get converted to instances they lose some type information (they just become @@ -235,15 +253,15 @@ static void widget_validate (Lisp_Object instantiator) { Lisp_Object desc = find_keyword_in_vector (instantiator, Q_descriptor); - struct gui_item gui; + if (NILP (desc)) signal_simple_error ("Must supply :descriptor", instantiator); if (VECTORP (desc)) - gui_parse_item_keywords (desc, &gui); + gui_parse_item_keywords (desc); if (!NILP (find_keyword_in_vector (instantiator, Q_width)) - && !NILP (find_keyword_in_vector (instantiator, Q_pixel_width))) + && !NILP (find_keyword_in_vector (instantiator, Q_pixel_width))) signal_simple_error ("Must supply only one of :width and :pixel-width", instantiator); if (!NILP (find_keyword_in_vector (instantiator, Q_height)) @@ -300,23 +318,22 @@ initialize_widget_image_instance (struct Lisp_Image_Instance *ii, Lisp_Object ty IMAGE_INSTANCE_WIDGET_TYPE (ii) = type; IMAGE_INSTANCE_WIDGET_PROPS (ii) = Qnil; IMAGE_INSTANCE_WIDGET_FACE (ii) = Vwidget_face; - gui_item_init (&IMAGE_INSTANCE_WIDGET_ITEM (ii)); + IMAGE_INSTANCE_WIDGET_ITEM (ii) = allocate_gui_item (); } /* Instantiate a button widget. Unfortunately instantiated widgets are particular to a frame since they need to have a parent. It's not like images where you just select the image into the context you - want to display it in and BitBlt it. So images instances can have a + want to display it in and BitBlt it. So image instances can have a many-to-one relationship with things you see, whereas widgets can only be one-to-one (i.e. per frame) */ static void widget_instantiate_1 (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, int dest_mask, Lisp_Object domain, int default_textheight, - int default_pixheight) + int default_pixheight, int default_textwidth) { struct Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); - struct gui_item* pgui = &IMAGE_INSTANCE_WIDGET_ITEM (ii); Lisp_Object face = find_keyword_in_vector (instantiator, Q_face); Lisp_Object height = find_keyword_in_vector (instantiator, Q_height); Lisp_Object width = find_keyword_in_vector (instantiator, Q_width); @@ -349,11 +366,13 @@ widget_instantiate_1 (Lisp_Object image_instance, Lisp_Object instantiator, if (STRINGP (desc) || NILP (desc)) { /* big cheat - we rely on the fact that a gui item looks like an instantiator */ - gui_parse_item_keywords_no_errors (instantiator, pgui); + IMAGE_INSTANCE_WIDGET_ITEM (ii) = + gui_parse_item_keywords_no_errors (instantiator); IMAGE_INSTANCE_WIDGET_TEXT (ii) = desc; } else - gui_parse_item_keywords_no_errors (desc, pgui); + IMAGE_INSTANCE_WIDGET_ITEM (ii) = + gui_parse_item_keywords_no_errors (desc); /* normalize size information */ if (!NILP (width)) @@ -377,8 +396,14 @@ widget_instantiate_1 (Lisp_Object image_instance, Lisp_Object instantiator, } /* if we still don' t have sizes, guess from text size */ - if (!tw && !pw && !NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) - tw = XSTRING_LENGTH (IMAGE_INSTANCE_WIDGET_TEXT (ii)); + if (!tw && !pw) + { + if (default_textwidth) + tw = default_textwidth; + else if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) + tw = XSTRING_LENGTH (IMAGE_INSTANCE_WIDGET_TEXT (ii)); + } + if (!th && !ph) { if (default_textheight) @@ -404,9 +429,10 @@ widget_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, int dest_mask, Lisp_Object domain) { widget_instantiate_1 (image_instance, instantiator, pointer_fg, - pointer_bg, dest_mask, domain, 1, 0); + pointer_bg, dest_mask, domain, 1, 0, 0); } +/* combo-box generic instantiation - get he heigh right */ static void combo_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, Lisp_Object pointer_fg, Lisp_Object pointer_bg, @@ -417,7 +443,33 @@ combo_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, int len; GET_LIST_LENGTH (data, len); widget_instantiate_1 (image_instance, instantiator, pointer_fg, - pointer_bg, dest_mask, domain, len + 1, 0); + pointer_bg, dest_mask, domain, len + 1, 0, 0); +} + +static void +tab_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, + Lisp_Object pointer_fg, Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + Lisp_Object data = Fplist_get (find_keyword_in_vector (instantiator, Q_properties), + Q_items, Qnil); + Lisp_Object rest; + int len = 0; + + LIST_LOOP (rest, data) + { + len += 3; /* some bias */ + if (STRINGP (XCAR (rest))) + len += XSTRING_LENGTH (XCAR (rest)); + else if (VECTORP (XCAR (rest))) + { + Lisp_Object gui = gui_parse_item_keywords (XCAR (rest)); + len += XSTRING_LENGTH (XGUI_ITEM (gui)->name); + } + } + + widget_instantiate_1 (image_instance, instantiator, pointer_fg, + pointer_bg, dest_mask, domain, 0, 0, len); } /* Instantiate a static control */ @@ -427,7 +479,7 @@ static_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, int dest_mask, Lisp_Object domain) { widget_instantiate_1 (image_instance, instantiator, pointer_fg, - pointer_bg, dest_mask, domain, 0, 4); + pointer_bg, dest_mask, domain, 0, 4, 0); } @@ -445,7 +497,7 @@ syms_of_glyphs_widget (void) defkeyword (&Q_items, ":items"); defkeyword (&Q_image, ":image"); defkeyword (&Q_percent, ":percent"); - defkeyword (&Q_text, "text"); + defkeyword (&Q_text, ":text"); } void @@ -524,10 +576,28 @@ image_instantiator_format_create_glyphs_widget (void) INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (progress, "progress"); IIFORMAT_HAS_SHARED_METHOD (progress, validate, widget); IIFORMAT_HAS_SHARED_METHOD (progress, possible_dest_types, widget); - IIFORMAT_HAS_SHARED_METHOD (progress, instantiate, widget); + IIFORMAT_HAS_SHARED_METHOD (progress, instantiate, combo); VALID_WIDGET_KEYWORDS (progress); VALID_GUI_KEYWORDS (progress); + /* tree view */ + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (tree, "tree"); + IIFORMAT_HAS_SHARED_METHOD (tree, validate, combo); + IIFORMAT_HAS_SHARED_METHOD (tree, possible_dest_types, widget); + IIFORMAT_HAS_SHARED_METHOD (tree, instantiate, combo); + VALID_WIDGET_KEYWORDS (tree); + VALID_GUI_KEYWORDS (tree); + IIFORMAT_VALID_KEYWORD (tree, Q_properties, check_valid_item_list); + + /* tab control */ + INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (tab, "tab"); + IIFORMAT_HAS_SHARED_METHOD (tab, validate, combo); + IIFORMAT_HAS_SHARED_METHOD (tab, possible_dest_types, widget); + IIFORMAT_HAS_METHOD (tab, instantiate); + VALID_WIDGET_KEYWORDS (tab); + VALID_GUI_KEYWORDS (tab); + IIFORMAT_VALID_KEYWORD (tab, Q_properties, check_valid_item_list); + /* labels */ INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (label, "label"); IIFORMAT_HAS_SHARED_METHOD (label, possible_dest_types, widget); diff --git a/src/glyphs.c b/src/glyphs.c index d92508e..307b6fa 100644 --- a/src/glyphs.c +++ b/src/glyphs.c @@ -600,7 +600,7 @@ mark_image_instance (Lisp_Object obj, void (*markobj) (Lisp_Object)) markobj (IMAGE_INSTANCE_WIDGET_TYPE (i)); markobj (IMAGE_INSTANCE_WIDGET_PROPS (i)); markobj (IMAGE_INSTANCE_WIDGET_FACE (i)); - mark_gui_item (&IMAGE_INSTANCE_WIDGET_ITEM (i), markobj); + markobj (IMAGE_INSTANCE_WIDGET_ITEM (i)); case IMAGE_SUBWINDOW: markobj (IMAGE_INSTANCE_SUBWINDOW_FRAME (i)); break; @@ -707,11 +707,13 @@ print_image_instance (Lisp_Object obj, Lisp_Object printcharfun, break; case IMAGE_WIDGET: + /* if (!NILP (IMAGE_INSTANCE_WIDGET_CALLBACK (ii))) { print_internal (IMAGE_INSTANCE_WIDGET_CALLBACK (ii), printcharfun, 0); write_c_string (", ", printcharfun); } + */ if (!NILP (IMAGE_INSTANCE_WIDGET_FACE (ii))) { write_c_string (" (", printcharfun); @@ -834,15 +836,14 @@ image_instance_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) case IMAGE_WIDGET: if (!(EQ (IMAGE_INSTANCE_WIDGET_TYPE (i1), - IMAGE_INSTANCE_WIDGET_TYPE (i2)) && - EQ (IMAGE_INSTANCE_WIDGET_CALLBACK (i1), - IMAGE_INSTANCE_WIDGET_CALLBACK (i2)) + IMAGE_INSTANCE_WIDGET_TYPE (i2)) + && internal_equal (IMAGE_INSTANCE_WIDGET_ITEM (i1), + IMAGE_INSTANCE_WIDGET_ITEM (i2), + depth + 1) && internal_equal (IMAGE_INSTANCE_WIDGET_PROPS (i1), IMAGE_INSTANCE_WIDGET_PROPS (i2), depth + 1) - && internal_equal (IMAGE_INSTANCE_WIDGET_TEXT (i1), - IMAGE_INSTANCE_WIDGET_TEXT (i2), - depth + 1))) + )) return 0; case IMAGE_SUBWINDOW: if (!(IMAGE_INSTANCE_SUBWINDOW_WIDTH (i1) == @@ -892,7 +893,7 @@ image_instance_hash (Lisp_Object obj, int depth) hash = HASH4 (hash, internal_hash (IMAGE_INSTANCE_WIDGET_TYPE (i), depth + 1), internal_hash (IMAGE_INSTANCE_WIDGET_PROPS (i), depth + 1), - internal_hash (IMAGE_INSTANCE_WIDGET_CALLBACK (i), depth + 1)); + internal_hash (IMAGE_INSTANCE_WIDGET_ITEM (i), depth + 1)); case IMAGE_SUBWINDOW: hash = HASH4 (hash, IMAGE_INSTANCE_SUBWINDOW_WIDTH (i), IMAGE_INSTANCE_SUBWINDOW_HEIGHT (i), @@ -910,7 +911,7 @@ image_instance_hash (Lisp_Object obj, int depth) DEFINE_LRECORD_IMPLEMENTATION ("image-instance", image_instance, mark_image_instance, print_image_instance, finalize_image_instance, image_instance_equal, - image_instance_hash, + image_instance_hash, 0, struct Lisp_Image_Instance); static Lisp_Object @@ -2925,9 +2926,14 @@ glyph_plist (Lisp_Object obj) return result; } +static const struct lrecord_description glyph_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Glyph, image), 5 }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS ("glyph", glyph, mark_glyph, print_glyph, 0, - glyph_equal, glyph_hash, + glyph_equal, glyph_hash, glyph_description, glyph_getprop, glyph_putprop, glyph_remprop, glyph_plist, struct Lisp_Glyph); diff --git a/src/glyphs.h b/src/glyphs.h index 12f6098..a0ff30a 100644 --- a/src/glyphs.h +++ b/src/glyphs.h @@ -432,7 +432,7 @@ struct Lisp_Image_Instance Lisp_Object face; /* foreground and background colors */ Lisp_Object type; Lisp_Object props; /* properties */ - struct gui_item gui_item; + Lisp_Object gui_item; /* a list of gui_items */ } widget; /* widgets are subwindows */ } subwindow; } u; @@ -472,13 +472,15 @@ struct Lisp_Image_Instance IMAGE_INSTANCE_SUBWINDOW_WIDTH(i) #define IMAGE_INSTANCE_WIDGET_HEIGHT(i) \ IMAGE_INSTANCE_SUBWINDOW_HEIGHT(i) -#define IMAGE_INSTANCE_WIDGET_CALLBACK(i) \ - ((i)->u.subwindow.widget.gui_item.callback) #define IMAGE_INSTANCE_WIDGET_TYPE(i) ((i)->u.subwindow.widget.type) #define IMAGE_INSTANCE_WIDGET_PROPS(i) ((i)->u.subwindow.widget.props) #define IMAGE_INSTANCE_WIDGET_FACE(i) ((i)->u.subwindow.widget.face) -#define IMAGE_INSTANCE_WIDGET_TEXT(i) ((i)->u.subwindow.widget.gui_item.name) #define IMAGE_INSTANCE_WIDGET_ITEM(i) ((i)->u.subwindow.widget.gui_item) +#define IMAGE_INSTANCE_WIDGET_SINGLE_ITEM(i) \ +(CONSP (IMAGE_INSTANCE_WIDGET_ITEM (i)) ? \ +XCAR (IMAGE_INSTANCE_WIDGET_ITEM (i)) : \ + IMAGE_INSTANCE_WIDGET_ITEM (i)) +#define IMAGE_INSTANCE_WIDGET_TEXT(i) XGUI_ITEM (IMAGE_INSTANCE_WIDGET_ITEM (i))->name #define XIMAGE_INSTANCE_DEVICE(i) \ IMAGE_INSTANCE_DEVICE (XIMAGE_INSTANCE (i)) @@ -513,18 +515,18 @@ struct Lisp_Image_Instance IMAGE_INSTANCE_WIDGET_WIDTH (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_WIDGET_HEIGHT(i) \ IMAGE_INSTANCE_WIDGET_HEIGHT (XIMAGE_INSTANCE (i)) -#define XIMAGE_INSTANCE_WIDGET_CALLBACK(i) \ - IMAGE_INSTANCE_WIDGET_CALLBACK (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_WIDGET_TYPE(i) \ IMAGE_INSTANCE_WIDGET_TYPE (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_WIDGET_PROPS(i) \ IMAGE_INSTANCE_WIDGET_PROPS (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_WIDGET_FACE(i) \ IMAGE_INSTANCE_WIDGET_FACE (XIMAGE_INSTANCE (i)) -#define XIMAGE_INSTANCE_WIDGET_TEXT(i) \ - IMAGE_INSTANCE_WIDGET_TEXT (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_WIDGET_ITEM(i) \ IMAGE_INSTANCE_WIDGET_ITEM (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_WIDGET_SINGLE_ITEM(i) \ + IMAGE_INSTANCE_WIDGET_SINGLE_ITEM (XIMAGE_INSTANCE (i)) +#define XIMAGE_INSTANCE_WIDGET_TEXT(i) \ + IMAGE_INSTANCE_WIDGET_TEXT (XIMAGE_INSTANCE (i)) #define XIMAGE_INSTANCE_SUBWINDOW_WIDTH(i) \ IMAGE_INSTANCE_SUBWINDOW_WIDTH (XIMAGE_INSTANCE (i)) @@ -623,6 +625,7 @@ DECLARE_LRECORD (glyph, struct Lisp_Glyph); extern Lisp_Object Qxpm, Qxface; extern Lisp_Object Q_data, Q_file, Q_color_symbols, Qconst_glyph_variable; extern Lisp_Object Qxbm, Qedit, Qgroup, Qlabel, Qcombo, Qscrollbar, Qprogress; +extern Lisp_Object Qtree, Qtab; extern Lisp_Object Q_mask_file, Q_mask_data, Q_hotspot_x, Q_hotspot_y; extern Lisp_Object Q_foreground, Q_background, Q_face, Q_descriptor, Q_group; extern Lisp_Object Q_width, Q_height, Q_pixel_width, Q_pixel_height, Q_text; diff --git a/src/gui-x.c b/src/gui-x.c index 3fb2e85..f176a57 100644 --- a/src/gui-x.c +++ b/src/gui-x.c @@ -108,7 +108,7 @@ mark_popup_data (Lisp_Object obj, void (*markobj) (Lisp_Object)) DEFINE_LRECORD_IMPLEMENTATION ("popup-data", popup_data, mark_popup_data, internal_object_printer, - 0, 0, 0, struct popup_data); + 0, 0, 0, 0, struct popup_data); /* This is like FRAME_MENUBAR_DATA (f), but contains an alist of (id . popup-data) for GCPRO'ing the callbacks of the popup menus diff --git a/src/gui.c b/src/gui.c index 8c3bf42..587c163 100644 --- a/src/gui.c +++ b/src/gui.c @@ -97,35 +97,17 @@ get_gui_callback (Lisp_Object data, Lisp_Object *fn, Lisp_Object *arg) } /* - * Initialize the gui_item structure by setting all (GC-protected) - * fields to their default values. The defaults are t for :active and - * :included values, and nil for others. - */ -void -gui_item_init (struct gui_item *pgui_item) -{ - pgui_item->name = Qnil; - pgui_item->callback = Qnil; - pgui_item->suffix = Qnil; - pgui_item->active = Qt; - pgui_item->included = Qt; - pgui_item->config = Qnil; - pgui_item->filter = Qnil; - pgui_item->style = Qnil; - pgui_item->selected = Qnil; - pgui_item->keys = Qnil; -} - -/* * Add a value VAL associated with keyword KEY into PGUI_ITEM * structure. If KEY is not a keyword, or is an unknown keyword, then * error is signaled. */ void -gui_item_add_keyval_pair (struct gui_item *pgui_item, +gui_item_add_keyval_pair (Lisp_Object gui_item, Lisp_Object key, Lisp_Object val, Error_behavior errb) { + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); + if (!KEYWORDP (key)) signal_simple_error_2 ("Non-keyword in gui item", key, pgui_item->name); @@ -144,17 +126,51 @@ gui_item_add_keyval_pair (struct gui_item *pgui_item, signal_simple_error_2 ("Unknown keyword in gui item", key, pgui_item->name); } +void +gui_item_init (Lisp_Object gui_item) +{ + struct Lisp_Gui_Item *lp = XGUI_ITEM (gui_item); + + lp->name = Qnil; + lp->callback = Qnil; + lp->suffix = Qnil; + lp->active = Qt; + lp->included = Qt; + lp->config = Qnil; + lp->filter = Qnil; + lp->style = Qnil; + lp->selected = Qnil; + lp->keys = Qnil; +} + +Lisp_Object +allocate_gui_item () +{ + struct Lisp_Gui_Item *lp = + alloc_lcrecord_type (struct Lisp_Gui_Item, &lrecord_gui_item); + Lisp_Object val; + + zero_lcrecord (lp); + XSETGUI_ITEM (val, lp); + + gui_item_init (val); + + return val; +} + /* * ITEM is a lisp vector, describing a menu item or a button. The * function extracts the description of the item into the PGUI_ITEM * structure. */ -static void -gui_parse_item_keywords_internal (Lisp_Object item, struct gui_item *pgui_item, - Error_behavior errb) +static Lisp_Object +make_gui_item_from_keywords_internal (Lisp_Object item, + Error_behavior errb) { int length, plist_p, start; Lisp_Object *contents; + Lisp_Object gui_item = allocate_gui_item (); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); CHECK_VECTOR (item); length = XVECTOR_LENGTH (item); @@ -204,21 +220,48 @@ gui_parse_item_keywords_internal (Lisp_Object item, struct gui_item *pgui_item, { Lisp_Object key = contents [i++]; Lisp_Object val = contents [i++]; - gui_item_add_keyval_pair (pgui_item, key, val, errb); + gui_item_add_keyval_pair (gui_item, key, val, errb); } } + return gui_item; } -void -gui_parse_item_keywords (Lisp_Object item, struct gui_item *pgui_item) +Lisp_Object +gui_parse_item_keywords (Lisp_Object item) +{ + return make_gui_item_from_keywords_internal (item, ERROR_ME); +} + +Lisp_Object +gui_parse_item_keywords_no_errors (Lisp_Object item) { - gui_parse_item_keywords_internal (item, pgui_item, ERROR_ME); + return make_gui_item_from_keywords_internal (item, ERROR_ME_NOT); } +/* convert a gui item into plist properties */ void -gui_parse_item_keywords_no_errors (Lisp_Object item, struct gui_item *pgui_item) +gui_add_item_keywords_to_plist (Lisp_Object plist, Lisp_Object gui_item) { - gui_parse_item_keywords_internal (item, pgui_item, ERROR_ME_NOT); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); + + if (!NILP (pgui_item->callback)) + Fplist_put (plist, Q_callback, pgui_item->callback); + if (!NILP (pgui_item->suffix)) + Fplist_put (plist, Q_suffix, pgui_item->suffix); + if (!NILP (pgui_item->active)) + Fplist_put (plist, Q_active, pgui_item->active); + if (!NILP (pgui_item->included)) + Fplist_put (plist, Q_included, pgui_item->included); + if (!NILP (pgui_item->config)) + Fplist_put (plist, Q_config, pgui_item->config); + if (!NILP (pgui_item->filter)) + Fplist_put (plist, Q_filter, pgui_item->filter); + if (!NILP (pgui_item->style)) + Fplist_put (plist, Q_style, pgui_item->style); + if (!NILP (pgui_item->selected)) + Fplist_put (plist, Q_selected, pgui_item->selected); + if (!NILP (pgui_item->keys)) + Fplist_put (plist, Q_keys, pgui_item->keys); } /* @@ -226,13 +269,13 @@ gui_parse_item_keywords_no_errors (Lisp_Object item, struct gui_item *pgui_item) * if any */ int -gui_item_active_p (CONST struct gui_item *pgui_item) +gui_item_active_p (Lisp_Object gui_item) { /* This function can call lisp */ /* Shortcut to avoid evaluating Qt each time */ - return (EQ (pgui_item->active, Qt) - || !NILP (Feval (pgui_item->active))); + return (EQ (XGUI_ITEM (gui_item)->active, Qt) + || !NILP (Feval (XGUI_ITEM (gui_item)->active))); } /* @@ -240,13 +283,13 @@ gui_item_active_p (CONST struct gui_item *pgui_item) * if any */ int -gui_item_selected_p (CONST struct gui_item *pgui_item) +gui_item_selected_p (Lisp_Object gui_item) { /* This function can call lisp */ /* Shortcut to avoid evaluating Qt each time */ - return (EQ (pgui_item->selected, Qt) - || !NILP (Feval (pgui_item->selected))); + return (EQ (XGUI_ITEM (gui_item)->selected, Qt) + || !NILP (Feval (XGUI_ITEM (gui_item)->selected))); } /* @@ -255,9 +298,10 @@ gui_item_selected_p (CONST struct gui_item *pgui_item) * configuration variable */ int -gui_item_included_p (CONST struct gui_item *pgui_item, Lisp_Object conflist) +gui_item_included_p (Lisp_Object gui_item, Lisp_Object conflist) { /* This function can call lisp */ + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); /* Evaluate :included first. Shortcut to avoid evaluating Qt each time */ if (!EQ (pgui_item->included, Qt) @@ -289,11 +333,12 @@ signal_too_long_error (Lisp_Object name) * buffer. */ unsigned int -gui_item_display_flush_left (CONST struct gui_item *pgui_item, +gui_item_display_flush_left (Lisp_Object gui_item, char* buf, Bytecount buf_len) { char *p = buf; Bytecount len; + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); /* Copy item name first */ CHECK_STRING (pgui_item->name); @@ -336,9 +381,10 @@ gui_item_display_flush_left (CONST struct gui_item *pgui_item, * buffer. */ unsigned int -gui_item_display_flush_right (CONST struct gui_item *pgui_item, +gui_item_display_flush_right (Lisp_Object gui_item, char* buf, Bytecount buf_len) { + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); *buf = 0; /* Have keys? */ @@ -374,9 +420,11 @@ gui_item_display_flush_right (CONST struct gui_item *pgui_item, } #endif /* HAVE_WINDOW_SYSTEM */ -Lisp_Object -mark_gui_item (struct gui_item* p, void (*markobj) (Lisp_Object)) +static Lisp_Object +mark_gui_item (Lisp_Object obj, void (*markobj) (Lisp_Object)) { + struct Lisp_Gui_Item *p = XGUI_ITEM (obj); + markobj (p->name); markobj (p->callback); markobj (p->suffix); @@ -391,10 +439,27 @@ mark_gui_item (struct gui_item* p, void (*markobj) (Lisp_Object)) return Qnil; } +static unsigned long +gui_item_hash (Lisp_Object obj, int depth) +{ + struct Lisp_Gui_Item *p = XGUI_ITEM (obj); + + return HASH2 (HASH5 (internal_hash (p->name, depth + 1), + internal_hash (p->callback, depth + 1), + internal_hash (p->suffix, depth + 1), + internal_hash (p->active, depth + 1), + internal_hash (p->included, depth + 1)), + HASH5 (internal_hash (p->config, depth + 1), + internal_hash (p->filter, depth + 1), + internal_hash (p->style, depth + 1), + internal_hash (p->selected, depth + 1), + internal_hash (p->keys, depth + 1))); +} + int -gui_item_hash (Lisp_Object hashtable, struct gui_item* g, int slot) +gui_item_id_hash (Lisp_Object hashtable, Lisp_Object gitem, int slot) { - int hashid = HASH2 (internal_hash (g->callback, 0), internal_hash (g->name, 0)); + int hashid = gui_item_hash (gitem, 0); int id = GUI_ITEM_ID_BITS (hashid, slot); while (!NILP (Fgethash (make_int (id), hashtable, Qnil))) @@ -404,6 +469,56 @@ gui_item_hash (Lisp_Object hashtable, struct gui_item* g, int slot) return id; } +static int +gui_item_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) +{ + struct Lisp_Gui_Item *p1 = XGUI_ITEM (obj1); + struct Lisp_Gui_Item *p2 = XGUI_ITEM (obj2); + + if (!(internal_equal (p1->name, p2->name, depth + 1) + && + internal_equal (p1->callback, p2->callback, depth + 1) + && + EQ (p1->suffix, p2->suffix) + && + EQ (p1->active, p2->active) + && + EQ (p1->included, p2->included) + && + EQ (p1->config, p2->config) + && + EQ (p1->filter, p2->filter) + && + EQ (p1->style, p2->style) + && + EQ (p1->selected, p2->selected) + && + EQ (p1->keys, p2->keys))) + return 0; + return 1; +} + +static void +print_gui_item (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) +{ + struct Lisp_Gui_Item *g = XGUI_ITEM (obj); + char buf[20]; + + if (print_readably) + error ("printing unreadable object #", g->header.uid); + + write_c_string ("#", g->header.uid); + write_c_string (buf, printcharfun); +} + +DEFINE_LRECORD_IMPLEMENTATION ("gui-item", gui_item, + mark_gui_item, print_gui_item, + 0, gui_item_equal, + gui_item_hash, + 0, + struct Lisp_Gui_Item); + void syms_of_gui (void) { diff --git a/src/gui.h b/src/gui.h index 010b41f..362152e 100644 --- a/src/gui.h +++ b/src/gui.h @@ -32,10 +32,24 @@ void get_gui_callback (Lisp_Object, Lisp_Object *, Lisp_Object *); extern int popup_up_p; +/************************************************************************/ +/* Image Instance Object */ +/************************************************************************/ + +DECLARE_LRECORD (gui_item, struct Lisp_Gui_Item); +#define XGUI_ITEM(x) \ + XRECORD (x, gui_item, struct Lisp_Gui_Item) +#define XSETGUI_ITEM(x, p) XSETRECORD (x, p, gui_item) +#define GUI_ITEMP(x) RECORDP (x, gui_item) +#define GC_GUI_ITEMP(x) GC_RECORDP (x, gui_item) +#define CHECK_GUI_ITEM(x) CHECK_RECORD (x, gui_item) +#define CONCHECK_GUI_ITEM(x) CONCHECK_RECORD (x, gui_item) + /* This structure describes gui button, menu item or submenu properties */ -struct gui_item +struct Lisp_Gui_Item { + struct lcrecord_header header; Lisp_Object name; /* String */ Lisp_Object callback; /* Symbol or form */ Lisp_Object suffix; /* String */ @@ -47,45 +61,28 @@ struct gui_item Lisp_Object selected; /* Form */ Lisp_Object keys; /* String */ }; -#define GUI_ITEM_LAST_GCPROED keys -#define GUI_ITEM_GCPRO_COUNT \ - (slot_offset(struct gui_item, GUI_ITEM_LAST_GCPROED) / sizeof(Lisp_Object) + 1) - -/* - * gui_item is a struct containing a bunch of Lisp_Object - * members. We need to GC-protect all the member slots. - * Rather than build a long chain of individual gcpro structs - * that protect the slots individually, we protect all the - * member slots by pretending the struct is an array. ANSI C - * requires this hack to work, ugly though it is. - */ -#define GCPRO_GUI_ITEM(pgui_item) \ - do { \ - Lisp_Object *gui_item_array = (Lisp_Object *) pgui_item; \ - GCPRO1 (gui_item_array[0]); \ - gcpro1.nvars = GUI_ITEM_GCPRO_COUNT; \ - } while (0); extern Lisp_Object Q_accelerator, Q_active, Q_config, Q_filter, Q_included; extern Lisp_Object Q_keys, Q_selected, Q_suffix, Qradio, Qtoggle; extern Lisp_Object Q_key_sequence, Q_label, Q_callback; -void gui_item_init (struct gui_item *pgui_item); -void gui_item_add_keyval_pair (struct gui_item *pgui_item, +void gui_item_add_keyval_pair (Lisp_Object, Lisp_Object key, Lisp_Object val, Error_behavior errb); -void gui_parse_item_keywords (Lisp_Object item, struct gui_item *pgui_item); -void gui_parse_item_keywords_no_errors (Lisp_Object item, struct gui_item *pgui_item); -int gui_item_active_p (CONST struct gui_item *pgui_item); -int gui_item_selected_p (CONST struct gui_item *pgui_item); -int gui_item_included_p (CONST struct gui_item *pgui_item, Lisp_Object into); -int gui_item_hash (Lisp_Object, struct gui_item*, int); -Lisp_Object mark_gui_item (struct gui_item* p, void (*markobj) (Lisp_Object)); -unsigned int gui_item_display_flush_left (CONST struct gui_item *pgui_item, +Lisp_Object gui_parse_item_keywords (Lisp_Object item); +Lisp_Object gui_parse_item_keywords_no_errors (Lisp_Object item); +int gui_item_active_p (Lisp_Object); +int gui_item_selected_p (Lisp_Object); +int gui_item_included_p (Lisp_Object, Lisp_Object into); +int gui_item_id_hash (Lisp_Object, Lisp_Object gui_item, int); +unsigned int gui_item_display_flush_left (Lisp_Object pgui_item, char* buf, Bytecount buf_len); -unsigned int gui_item_display_flush_right (CONST struct gui_item *pgui_item, +unsigned int gui_item_display_flush_right (Lisp_Object gui_item, char* buf, Bytecount buf_len); +Lisp_Object allocate_gui_item (); +void gui_item_init (Lisp_Object gui_item); + /* this is mswindows biased but reasonably safe I think */ #define GUI_ITEM_ID_SLOTS 8 #define GUI_ITEM_ID_MIN(s) (s * 0x2000) diff --git a/src/keymap.c b/src/keymap.c index 9f62801..499404b 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -285,9 +285,16 @@ print_keymap (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) write_c_string (buf, printcharfun); } +static const struct lrecord_description keymap_description[] = { + { XD_LISP_OBJECT, offsetof(Lisp_Keymap, parents), 6 }, + { XD_LISP_OBJECT, offsetof(Lisp_Keymap, name), 1 }, + { XD_END } +}; + /* No need for keymap_equal #### Why not? */ DEFINE_LRECORD_IMPLEMENTATION ("keymap", keymap, mark_keymap, print_keymap, 0, 0, 0, + keymap_description, Lisp_Keymap); /************************************************************************/ diff --git a/src/lisp.h b/src/lisp.h index c127723..fa73ecd 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -336,6 +336,8 @@ struct Lisp_Font_Instance; typedef struct Lisp_Font_Instance Lisp_Font_Instance; struct Lisp_Image_Instance; typedef struct Lisp_Image_Instance Lisp_Image_Instance; +struct Lisp_Gui_Item; +typedef struct Lisp_Gui_Item Lisp_Gui_Item; struct display_line; struct redisplay_info; struct window_mirror; @@ -1111,9 +1113,9 @@ set_bit_vector_bit (Lisp_Bit_Vector *v, int i, int value) { unsigned int ui = (unsigned int) i; if (value) - (v)->bits[ui >> LONGBITS_LOG2] |= (1U << (ui & (LONGBITS_POWER_OF_2 - 1))); + (v)->bits[ui >> LONGBITS_LOG2] |= (1UL << (ui & (LONGBITS_POWER_OF_2 - 1))); else - (v)->bits[ui >> LONGBITS_LOG2] &= ~(1U << (ui & (LONGBITS_POWER_OF_2 - 1))); + (v)->bits[ui >> LONGBITS_LOG2] &= ~(1UL << (ui & (LONGBITS_POWER_OF_2 - 1))); } /* Number of longs required to hold LEN bits */ @@ -1549,7 +1551,7 @@ Lisp_Object,Lisp_Object,Lisp_Object /* Can't be const, because then subr->doc is read-only and Snarf_documentation chokes */ -#define subr_lheader_initializer { 0, { 0, 0, 0 } } +#define subr_lheader_initializer { 0, 0, 0, 0 } #define DEFUN(lname, Fname, min_args, max_args, prompt, arglist) \ Lisp_Object Fname (EXFUN_##max_args); \ diff --git a/src/lrecord.h b/src/lrecord.h index 5173df6..1858552 100644 --- a/src/lrecord.h +++ b/src/lrecord.h @@ -60,15 +60,13 @@ Boston, MA 02111-1307, USA. */ struct lrecord_header { /* index into lrecord_implementations_table[] */ - unsigned char type; - struct { - /* 1 if the object is marked during GC. */ - unsigned mark :1; - /* 1 if the object resides in read-only space */ - unsigned c_readonly : 1; - /* 1 if the object is readonly from lisp */ - unsigned lisp_readonly : 1; - } flags; + unsigned type :8; + /* 1 if the object is marked during GC. */ + unsigned mark :1; + /* 1 if the object resides in read-only space */ + unsigned c_readonly : 1; + /* 1 if the object is readonly from lisp */ + unsigned lisp_readonly : 1; }; struct lrecord_implementation; @@ -77,9 +75,9 @@ int lrecord_type_index (CONST struct lrecord_implementation *implementation); # define set_lheader_implementation(header,imp) do { \ struct lrecord_header* SLI_header = (header); \ (SLI_header)->type = lrecord_type_index (imp); \ - (SLI_header)->flags.mark = 0; \ - (SLI_header)->flags.c_readonly = 0; \ - (SLI_header)->flags.lisp_readonly = 0; \ + (SLI_header)->mark = 0; \ + (SLI_header)->c_readonly = 0; \ + (SLI_header)->lisp_readonly = 0; \ } while (0) struct lcrecord_header @@ -156,6 +154,10 @@ struct lrecord_implementation `equal', they *must* hash to the same value or the hashing won't work). */ unsigned long (*hash) (Lisp_Object, int); + + /* External data layout description */ + const struct lrecord_description *description; + Lisp_Object (*getprop) (Lisp_Object obj, Lisp_Object prop); int (*putprop) (Lisp_Object obj, Lisp_Object prop, Lisp_Object val); int (*remprop) (Lisp_Object obj, Lisp_Object prop); @@ -184,20 +186,117 @@ extern CONST struct lrecord_implementation *lrecord_implementations_table[]; extern int gc_in_progress; -#define MARKED_RECORD_P(obj) (gc_in_progress && XRECORD_LHEADER (obj)->flags.mark) -#define MARKED_RECORD_HEADER_P(lheader) ((lheader)->flags.mark) -#define MARK_RECORD_HEADER(lheader) ((void) ((lheader)->flags.mark = 1)) -#define UNMARK_RECORD_HEADER(lheader) ((void) ((lheader)->flags.mark = 0)) +#define MARKED_RECORD_P(obj) (gc_in_progress && XRECORD_LHEADER (obj)->mark) +#define MARKED_RECORD_HEADER_P(lheader) ((lheader)->mark) +#define MARK_RECORD_HEADER(lheader) ((void) ((lheader)->mark = 1)) +#define UNMARK_RECORD_HEADER(lheader) ((void) ((lheader)->mark = 0)) #define UNMARKABLE_RECORD_HEADER_P(lheader) \ (LHEADER_IMPLEMENTATION (lheader)->marker == this_one_is_unmarkable) -#define C_READONLY_RECORD_HEADER_P(lheader) ((lheader)->flags.c_readonly) -#define LISP_READONLY_RECORD_HEADER_P(lheader) ((lheader)->flags.lisp_readonly) +#define C_READONLY_RECORD_HEADER_P(lheader) ((lheader)->c_readonly) +#define LISP_READONLY_RECORD_HEADER_P(lheader) ((lheader)->lisp_readonly) #define SET_C_READONLY_RECORD_HEADER(lheader) \ - ((void) ((lheader)->flags.c_readonly = (lheader)->flags.lisp_readonly = 1)) + ((void) ((lheader)->c_readonly = (lheader)->lisp_readonly = 1)) #define SET_LISP_READONLY_RECORD_HEADER(lheader) \ - ((void) ((lheader)->flags.lisp_readonly = 1)) + ((void) ((lheader)->lisp_readonly = 1)) + +/* External description stuff + + A lrecord external description is an array of values. The first + value of each line is a type, the second the offset in the lrecord + structure. Following values are parameters, their presence, type + and number is type-dependant. + + The description ends with a "XD_END" record. + + Some example descriptions : + static const struct lrecord_description cons_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Cons, car), 2 }, + { XD_END } + }; + + Which means "two lisp objects starting at the 'car' element" + + static const struct lrecord_description string_description[] = { + { XD_STRING_DATA, offsetof(Lisp_String, data) }, + { XD_LISP_OBJECT, offsetof(Lisp_String, plist), 1 }, + { XD_END } + }; + "A string data pointer at 'data', one lisp object at 'plist'" + + The existing types : + XD_LISP_OBJECT + Lisp objects. The third element is the count. This is also the type to use + for pointers to other lrecords. + + XD_STRING_DATA + Pointer to string data. + + XD_OPAQUE_PTR + Pointer to undumpable data. Must be NULL when dumping. + + XD_STRUCT_PTR + Pointer to described struct. Parameters are number of structures and + struct_description. + + XD_OPAQUE_DATA_PTR + Pointer to dumpable opaque data. Parameter is the size of the data. + Pointed data must be relocatable without changes. + + XD_SIZE_T + size_t value. Used for counts. + + XD_INT + int value. Used for counts. + + XD_LONG + long value. Used for counts. + + XD_END + Special type indicating the end of the array. + + + Special macros: + XD_INDIRECT(line) + Usable where a "count" or "size" is requested. Gives the value of the element + which is at line number 'line' in the description (count starts at zero). + + XD_PARENT_INDIRECT(line) + Same as XD_INDIRECT but the element number refers to the parent structure. + Usable only in struct descriptions. +*/ + +enum lrecord_description_type { + XD_LISP_OBJECT, + XD_STRING_DATA, + XD_OPAQUE_PTR, + XD_STRUCT_PTR, + XD_OPAQUE_DATA_PTR, + XD_SIZE_T, + XD_INT, + XD_LONG, + XD_END +}; + +struct lrecord_description { + enum lrecord_description_type type; + int offset; + EMACS_INT data1; + const struct struct_description *data2; +}; + +struct struct_description { + size_t size; + const struct lrecord_description *description; +}; + +#define XD_INDIRECT(count) (-1-(count)) +#define XD_PARENT_INDIRECT(count) (-1000-(count)) + +#define XD_DYNARR_DESC(base_type, sub_desc) \ + { XD_STRUCT_PTR, offsetof(base_type, base), XD_INDIRECT(1), sub_desc }, \ + { XD_INT, offsetof(base_type, max) } /* Declaring the following structures as const puts them in the text (read-only) segment, which makes debugging inconvenient @@ -220,29 +319,29 @@ extern int gc_in_progress; # define DECLARE_ERROR_CHECK_TYPECHECK(c_name, structtype) #endif -#define DEFINE_BASIC_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,structtype) \ -DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,0,0,0,0,structtype) +#define DEFINE_BASIC_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,structtype) \ +DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,0,0,0,0,structtype) -#define DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,structtype) \ -MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,sizeof(structtype),0,1,structtype) +#define DEFINE_BASIC_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,structtype) \ +MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,sizeof(structtype),0,1,structtype) -#define DEFINE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,structtype) \ -DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,0,0,0,0,structtype) +#define DEFINE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,structtype) \ +DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,0,0,0,0,structtype) -#define DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,structtype) \ -MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,sizeof (structtype),0,0,structtype) +#define DEFINE_LRECORD_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,structtype) \ +MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,sizeof (structtype),0,0,structtype) -#define DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,sizer,structtype) \ -DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,0,0,0,0,sizer,structtype) +#define DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,sizer,structtype) \ +DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,0,0,0,0,sizer,structtype) -#define DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,sizer,structtype) \ -MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,0,sizer,0,structtype) \ +#define DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,sizer,structtype) \ +MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,0,sizer,0,structtype) \ -#define MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,getprop,putprop,remprop,props,size,sizer,basic_p,structtype) \ +#define MAKE_LRECORD_IMPLEMENTATION(name,c_name,marker,printer,nuker,equal,hash,desc,getprop,putprop,remprop,props,size,sizer,basic_p,structtype) \ DECLARE_ERROR_CHECK_TYPECHECK(c_name, structtype) \ static int lrecord_##c_name##_lrecord_type_index; \ CONST_IF_NOT_DEBUG struct lrecord_implementation lrecord_##c_name = \ - { name, marker, printer, nuker, equal, hash, \ + { name, marker, printer, nuker, equal, hash, desc, \ getprop, putprop, remprop, props, size, sizer, \ &(lrecord_##c_name##_lrecord_type_index), basic_p } \ diff --git a/src/lstream.c b/src/lstream.c index 5a797fb..42eb940 100644 --- a/src/lstream.c +++ b/src/lstream.c @@ -188,7 +188,7 @@ sizeof_lstream (CONST void *header) DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("stream", lstream, mark_lstream, print_lstream, - finalize_lstream, 0, 0, + finalize_lstream, 0, 0, 0, sizeof_lstream, Lstream); void diff --git a/src/marker.c b/src/marker.c index 59a81aa..0a68b44 100644 --- a/src/marker.c +++ b/src/marker.c @@ -32,6 +32,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "buffer.h" @@ -95,9 +96,14 @@ marker_hash (Lisp_Object obj, int depth) return hash; } +static const struct lrecord_description marker_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Marker, next), 3 }, + { XD_END } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("marker", marker, mark_marker, print_marker, 0, - marker_equal, marker_hash, + marker_equal, marker_hash, marker_description, struct Lisp_Marker); /* Operations on markers. */ diff --git a/src/menubar-msw.c b/src/menubar-msw.c index c56dc36..e3db02f 100644 --- a/src/menubar-msw.c +++ b/src/menubar-msw.c @@ -123,7 +123,7 @@ static HMENU top_level_menu; * "Left Flush\tRight Flush" */ static char* -displayable_menu_item (struct gui_item* pgui_item, int bar_p) +displayable_menu_item (Lisp_Object gui_item, int bar_p) { /* We construct the name in a static buffer. That's fine, because menu items longer than 128 chars are probably programming errors, @@ -134,7 +134,7 @@ displayable_menu_item (struct gui_item* pgui_item, int bar_p) unsigned int ll, lr; /* Left flush part of the string */ - ll = gui_item_display_flush_left (pgui_item, buf, MAX_MENUITEM_LENGTH); + ll = gui_item_display_flush_left (gui_item, buf, MAX_MENUITEM_LENGTH); /* Escape '&' as '&&' */ ptr = buf; @@ -142,7 +142,7 @@ displayable_menu_item (struct gui_item* pgui_item, int bar_p) { if (ll+2 >= MAX_MENUITEM_LENGTH) signal_simple_error ("Menu item produces too long displayable string", - pgui_item->name); + XGUI_ITEM (gui_item)->name); memmove (ptr+1, ptr, (ll-(ptr-buf))+1); ll++; ptr+=2; @@ -165,7 +165,7 @@ displayable_menu_item (struct gui_item* pgui_item, int bar_p) if (!bar_p) { assert (MAX_MENUITEM_LENGTH > ll + 1); - lr = gui_item_display_flush_right (pgui_item, buf + ll + 1, + lr = gui_item_display_flush_right (gui_item, buf + ll + 1, MAX_MENUITEM_LENGTH - ll - 1); if (lr) buf [ll] = '\t'; @@ -279,21 +279,21 @@ populate_menu_add_item (HMENU menu, Lisp_Object path, { /* Submenu */ HMENU submenu; - struct gui_item gui_item; + Lisp_Object gui_item = allocate_gui_item (); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); struct gcpro gcpro1; - gui_item_init (&gui_item); - GCPRO_GUI_ITEM (&gui_item); + GCPRO1 (gui_item); - menu_parse_submenu_keywords (item, &gui_item); + menu_parse_submenu_keywords (item, gui_item); - if (!STRINGP (gui_item.name)) + if (!STRINGP (pgui_item->name)) signal_simple_error ("Menu name (first element) must be a string", item); - if (!gui_item_included_p (&gui_item, Vmenubar_configuration)) + if (!gui_item_included_p (gui_item, Vmenubar_configuration)) return; - if (!gui_item_active_p (&gui_item)) + if (!gui_item_active_p (gui_item)) item_info.fState = MFS_GRAYED; /* Temptation is to put 'else' right here. Although, the displayed item won't have an arrow indicating that it is a @@ -301,7 +301,7 @@ populate_menu_add_item (HMENU menu, Lisp_Object path, submenu = create_empty_popup_menu(); item_info.fMask |= MIIM_SUBMENU; - item_info.dwTypeData = displayable_menu_item (&gui_item, bar_p); + item_info.dwTypeData = displayable_menu_item (gui_item, bar_p); item_info.hSubMenu = submenu; if (!(item_info.fState & MFS_GRAYED)) @@ -310,12 +310,12 @@ populate_menu_add_item (HMENU menu, Lisp_Object path, keyed by menu handle */ if (NILP(path)) /* list1 cannot GC */ - path = list1 (gui_item.name); + path = list1 (pgui_item->name); else { Lisp_Object arg[2]; arg[0] = path; - arg[1] = list1 (gui_item.name); + arg[1] = list1 (pgui_item->name); /* Fappend gcpro'es its arg */ path = Fappend (2, arg); } @@ -329,22 +329,20 @@ populate_menu_add_item (HMENU menu, Lisp_Object path, { /* An ordinary item */ Lisp_Object style, id; - struct gui_item gui_item; + Lisp_Object gui_item = gui_parse_item_keywords (item); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); struct gcpro gcpro1; - gui_item_init (&gui_item); - GCPRO_GUI_ITEM (&gui_item); + GCPRO1 (gui_item); - gui_parse_item_keywords (item, &gui_item); - - if (!gui_item_included_p (&gui_item, Vmenubar_configuration)) + if (!gui_item_included_p (gui_item, Vmenubar_configuration)) return; - if (!gui_item_active_p (&gui_item)) + if (!gui_item_active_p (gui_item)) item_info.fState = MFS_GRAYED; - style = (NILP (gui_item.selected) || NILP (Feval (gui_item.selected)) - ? Qnil : gui_item.style); + style = (NILP (pgui_item->selected) || NILP (Feval (pgui_item->selected)) + ? Qnil : pgui_item->style); if (EQ (style, Qradio)) { @@ -356,13 +354,13 @@ populate_menu_add_item (HMENU menu, Lisp_Object path, item_info.fState |= MFS_CHECKED; } - id = allocate_menu_item_id (path, gui_item.name, - gui_item.suffix); - Fputhash (id, gui_item.callback, hash_tab); + id = allocate_menu_item_id (path, pgui_item->name, + pgui_item->suffix); + Fputhash (id, pgui_item->callback, hash_tab); item_info.wID = (UINT) XINT(id); item_info.fType |= MFT_STRING; - item_info.dwTypeData = displayable_menu_item (&gui_item, bar_p); + item_info.dwTypeData = displayable_menu_item (gui_item, bar_p); UNGCPRO; /* gui_item */ } @@ -396,10 +394,9 @@ populate_or_checksum_helper (HMENU menu, Lisp_Object path, Lisp_Object desc, int deep_p, flush_right; struct gcpro gcpro1; unsigned long checksum; - struct gui_item gui_item; - - gui_item_init (&gui_item); - GCPRO_GUI_ITEM (&gui_item); + Lisp_Object gui_item = allocate_gui_item (); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); + GCPRO1 (gui_item); /* We are sometimes called with the menubar unchanged, and with changed right flush. We have to update the menubar in this case, @@ -414,15 +411,15 @@ populate_or_checksum_helper (HMENU menu, Lisp_Object path, Lisp_Object desc, deep_p = !NILP (path); /* Fetch keywords prepending the item list */ - desc = menu_parse_submenu_keywords (desc, &gui_item); + desc = menu_parse_submenu_keywords (desc, gui_item); /* Check that menu name is specified when expected */ - if (NILP (gui_item.name) && deep_p) + if (NILP (pgui_item->name) && deep_p) signal_simple_error ("Menu must have a name", desc); /* Apply filter if specified */ - if (!NILP (gui_item.filter)) - desc = call1 (gui_item.filter, desc); + if (!NILP (pgui_item->filter)) + desc = call1 (pgui_item->filter, desc); /* Loop thru the desc's CDR and add items for each entry */ flush_right = 0; @@ -453,11 +450,11 @@ populate_or_checksum_helper (HMENU menu, Lisp_Object path, Lisp_Object desc, /* Add the header to the popup, if told so. The same as in X - an insensitive item, and a separator (Seems to me, there were two separators in X... In Windows this looks ugly, anyways. */ - if (!bar_p && !deep_p && popup_menu_titles && !NILP(gui_item.name)) + if (!bar_p && !deep_p && popup_menu_titles && !NILP(pgui_item->name)) { - CHECK_STRING (gui_item.name); + CHECK_STRING (pgui_item->name); InsertMenu (menu, 0, MF_BYPOSITION | MF_STRING | MF_DISABLED, - 0, XSTRING_DATA(gui_item.name)); + 0, XSTRING_DATA(pgui_item->name)); InsertMenu (menu, 1, MF_BYPOSITION | MF_SEPARATOR, 0, NULL); SetMenuDefaultItem (menu, 0, MF_BYPOSITION); } diff --git a/src/menubar.c b/src/menubar.c index bd03ead..8eab6af 100644 --- a/src/menubar.c +++ b/src/menubar.c @@ -102,8 +102,10 @@ current_frame_menubar (CONST struct frame* f) } Lisp_Object -menu_parse_submenu_keywords (Lisp_Object desc, struct gui_item* pgui_item) +menu_parse_submenu_keywords (Lisp_Object desc, Lisp_Object gui_item) { + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); + /* Menu descriptor should be a list */ CHECK_CONS (desc); @@ -130,7 +132,7 @@ menu_parse_submenu_keywords (Lisp_Object desc, struct gui_item* pgui_item) desc = XCDR (desc); if (!NILP (desc)) CHECK_CONS (desc); - gui_item_add_keyval_pair (pgui_item, key, val, ERROR_ME); + gui_item_add_keyval_pair (gui_item, key, val, ERROR_ME); } /* Return the rest - supposed to be a list of items */ @@ -152,10 +154,10 @@ See also 'find-menu-item'. { Lisp_Object path_entry, submenu_desc, submenu; struct gcpro gcpro1; - struct gui_item gui_item; + Lisp_Object gui_item = allocate_gui_item (); + struct Lisp_Gui_Item* pgui_item = XGUI_ITEM (gui_item); - gui_item_init (&gui_item); - GCPRO_GUI_ITEM (&gui_item); + GCPRO1 (gui_item); EXTERNAL_LIST_LOOP (path_entry, path) { @@ -164,15 +166,15 @@ See also 'find-menu-item'. RETURN_UNGCPRO (Qnil); /* Parse this menu */ - desc = menu_parse_submenu_keywords (desc, &gui_item); + desc = menu_parse_submenu_keywords (desc, gui_item); /* Check that this (sub)menu is active */ - if (!gui_item_active_p (&gui_item)) + if (!gui_item_active_p (gui_item)) RETURN_UNGCPRO (Qnil); /* Apply :filter */ - if (!NILP (gui_item.filter)) - desc = call1 (gui_item.filter, desc); + if (!NILP (pgui_item->filter)) + desc = call1 (pgui_item->filter, desc); /* Find the next menu on the path inside this one */ EXTERNAL_LIST_LOOP (submenu_desc, desc) @@ -191,7 +193,7 @@ See also 'find-menu-item'. descend: /* Prepare for the next iteration */ - gui_item_init (&gui_item); + gui_item_init (gui_item); } /* We have successfully descended down the end of the path */ diff --git a/src/menubar.h b/src/menubar.h index 25fac94..2507d8b 100644 --- a/src/menubar.h +++ b/src/menubar.h @@ -30,7 +30,7 @@ Boston, MA 02111-1307, USA. */ void update_frame_menubars (struct frame *f); void free_frame_menubars (struct frame *f); Lisp_Object menu_parse_submenu_keywords (Lisp_Object desc, - struct gui_item* pgui_item); + Lisp_Object gui_item); Lisp_Object current_frame_menubar (CONST struct frame* f); EXFUN (Fmenu_find_real_submenu, 2); diff --git a/src/mule-charset.c b/src/mule-charset.c index a6bed73..7369e2a 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -25,6 +25,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include #include "buffer.h" #include "chartab.h" @@ -554,8 +555,13 @@ print_charset (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) write_c_string (buf, printcharfun); } +static const struct lrecord_description charset_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Charset, name), 7 }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("charset", charset, - mark_charset, print_charset, 0, 0, 0, + mark_charset, print_charset, 0, 0, 0, charset_description, struct Lisp_Charset); /* Make a new charset. */ @@ -1220,27 +1226,33 @@ Return the character set of char CH. (CHAR_LEADING_BYTE (XCHAR (ch)))); } -DEFUN ("char-octet", Fchar_octet, 1, 2, 0, /* -Return the octet numbered N (should be 0 or 1) of char CH. -N defaults to 0 if omitted. +DEFUN ("split-char", Fsplit_char, 1, 1, 0, /* +Return list of charset and one or two position-codes of CHAR. */ - (ch, n)) + (character)) { - Lisp_Object charset; - int c1, c2, int_n; + /* This function can GC */ + struct gcpro gcpro1, gcpro2; + Lisp_Object charset = Qnil; + Lisp_Object rc = Qnil; + int c1, c2; - CHECK_CHAR_COERCE_INT (ch); - if (NILP (n)) - int_n = 0; + GCPRO2 (charset, rc); + CHECK_CHAR_COERCE_INT (character); + + BREAKUP_CHAR (XCHAR (character), charset, c1, c2); + + if (XCHARSET_DIMENSION (Fget_charset (charset)) == 2) + { + rc = list3 (XCHARSET_NAME (charset), make_int (c1), make_int (c2)); + } else { - CHECK_INT (n); - int_n = XINT (n); - if (int_n != 0 && int_n != 1) - signal_simple_error ("Octet number must be 0 or 1", n); + rc = list2 (XCHARSET_NAME (charset), make_int (c1)); } - BREAKUP_CHAR (XCHAR (ch), charset, c1, c2); - return make_int (int_n == 0 ? c1 : c2); + UNGCPRO; + + return rc; } @@ -1345,7 +1357,7 @@ syms_of_mule_charset (void) DEFSUBR (Fmake_char); DEFSUBR (Fchar_charset); - DEFSUBR (Fchar_octet); + DEFSUBR (Fsplit_char); #ifdef ENABLE_COMPOSITE_CHARS DEFSUBR (Fmake_composite_char); diff --git a/src/objects.c b/src/objects.c index a876815..69fcab6 100644 --- a/src/objects.c +++ b/src/objects.c @@ -127,7 +127,7 @@ color_instance_hash (Lisp_Object obj, int depth) DEFINE_LRECORD_IMPLEMENTATION ("color-instance", color_instance, mark_color_instance, print_color_instance, finalize_color_instance, color_instance_equal, - color_instance_hash, + color_instance_hash, 0, struct Lisp_Color_Instance); DEFUN ("make-color-instance", Fmake_color_instance, 1, 3, 0, /* @@ -301,7 +301,7 @@ font_instance_hash (Lisp_Object obj, int depth) DEFINE_LRECORD_IMPLEMENTATION ("font-instance", font_instance, mark_font_instance, print_font_instance, finalize_font_instance, font_instance_equal, - font_instance_hash, struct Lisp_Font_Instance); + font_instance_hash, 0, struct Lisp_Font_Instance); DEFUN ("make-font-instance", Fmake_font_instance, 1, 3, 0, /* Return a new `font-instance' object named NAME. diff --git a/src/opaque.c b/src/opaque.c index 830dd1d..c53af0b 100644 --- a/src/opaque.c +++ b/src/opaque.c @@ -176,7 +176,7 @@ hash_opaque (Lisp_Object obj, int depth) DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("opaque", opaque, mark_opaque, print_opaque, 0, - equal_opaque, hash_opaque, + equal_opaque, hash_opaque, 0, sizeof_opaque, Lisp_Opaque); static Lisp_Object @@ -206,7 +206,7 @@ make_opaque_list (size_t size, DEFINE_LRECORD_IMPLEMENTATION ("opaque-list", opaque_list, mark_opaque_list, internal_object_printer, - 0, 0, 0, Lisp_Opaque_List); + 0, 0, 0, 0, Lisp_Opaque_List); Lisp_Object allocate_managed_opaque (Lisp_Object opaque_list, CONST void *data) diff --git a/src/paths.h.in b/src/paths.h.in index 579fb58..1a6b627 100644 --- a/src/paths.h.in +++ b/src/paths.h.in @@ -65,9 +65,13 @@ #define PATH_VERSION "@version@" +#ifdef EXEC_PREFIX_USER_DEFINED #define PATH_EXEC_PREFIX "@EXEC_PREFIX@" +#endif +#ifdef PREFIX_USER_DEFINED #define PATH_PREFIX "@PREFIX@" +#endif #ifdef LISPDIR_USER_DEFINED #define PATH_LOADSEARCH "@LISPDIR@" @@ -101,6 +105,10 @@ #define PATH_LOCK "@LOCKDIR@" #endif +#ifdef DOCDIR_USER_DEFINED +#define PATH_DOC "@DOCDIR@" +#endif + #ifdef INFODIR_USER_DEFINED #define PATH_INFO "@INFODIR@" #endif diff --git a/src/process.c b/src/process.c index e181db2..c3b493a 100644 --- a/src/process.c +++ b/src/process.c @@ -186,7 +186,7 @@ finalize_process (void *header, int for_disksave) DEFINE_LRECORD_IMPLEMENTATION ("process", process, mark_process, print_process, finalize_process, - 0, 0, struct Lisp_Process); + 0, 0, 0, struct Lisp_Process); /************************************************************************/ /* basic process accessors */ diff --git a/src/rangetab.c b/src/rangetab.c index c580a47..b7d9983 100644 --- a/src/rangetab.c +++ b/src/rangetab.c @@ -134,7 +134,7 @@ range_table_hash (Lisp_Object obj, int depth) DEFINE_LRECORD_IMPLEMENTATION ("range-table", range_table, mark_range_table, print_range_table, 0, - range_table_equal, range_table_hash, + range_table_equal, range_table_hash, 0, struct Lisp_Range_Table); /************************************************************************/ diff --git a/src/redisplay-msw.c b/src/redisplay-msw.c index a64877c..ab997d9 100644 --- a/src/redisplay-msw.c +++ b/src/redisplay-msw.c @@ -165,7 +165,7 @@ separate_textual_runs (unsigned char *text_storage, char_converter.reg[1] = byte1; char_converter.reg[2] = byte2; char_converter.ic = 0; /* start at beginning each time */ - ccl_driver (&char_converter, 0, 0, 0, 0); + ccl_driver (&char_converter, 0, 0, 0, 0, CCL_MODE_ENCODING); byte1 = char_converter.reg[1]; byte2 = char_converter.reg[2]; } diff --git a/src/specifier.c b/src/specifier.c index d1da5f5..6c5942a 100644 --- a/src/specifier.c +++ b/src/specifier.c @@ -347,7 +347,7 @@ sizeof_specifier (CONST void *header) DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("specifier", specifier, mark_specifier, print_specifier, finalize_specifier, - specifier_equal, specifier_hash, + specifier_equal, specifier_hash, 0, sizeof_specifier, struct Lisp_Specifier); diff --git a/src/symbols.c b/src/symbols.c index 01bf684..01a6c36 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -58,6 +58,8 @@ Boston, MA 02111-1307, USA. */ #include "console.h" #include "elhash.h" +#include + Lisp_Object Qad_advice_info, Qad_activate; Lisp_Object Qget_value, Qset_value, Qbound_predicate, Qmake_unbound; @@ -108,9 +110,13 @@ mark_symbol (Lisp_Object obj, void (*markobj) (Lisp_Object)) } } +static const struct lrecord_description symbol_description[] = { + { XD_LISP_OBJECT, offsetof(struct Lisp_Symbol, next), 5 } +}; + DEFINE_BASIC_LRECORD_IMPLEMENTATION ("symbol", symbol, mark_symbol, print_symbol, 0, 0, 0, - struct Lisp_Symbol); + symbol_description, struct Lisp_Symbol); /**********************************************************************/ @@ -952,28 +958,46 @@ print_symbol_value_magic (Lisp_Object obj, write_c_string (buf, printcharfun); } +static const struct lrecord_description symbol_value_buffer_local_description[] = { + { XD_LISP_OBJECT, offsetof(struct symbol_value_buffer_local, default_value), 4 }, + { XD_END } +}; + +static const struct lrecord_description symbol_value_lisp_magic_description[] = { + { XD_LISP_OBJECT, offsetof(struct symbol_value_lisp_magic, handler), 2*MAGIC_HANDLER_MAX+1 }, + { XD_END } +}; + +static const struct lrecord_description symbol_value_varalias_description[] = { + { XD_LISP_OBJECT, offsetof(struct symbol_value_varalias, aliasee), 2 }, + { XD_END } +}; + DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-forward", symbol_value_forward, this_one_is_unmarkable, - print_symbol_value_magic, 0, 0, 0, + print_symbol_value_magic, 0, 0, 0, 0, struct symbol_value_forward); DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-buffer-local", symbol_value_buffer_local, mark_symbol_value_buffer_local, print_symbol_value_magic, 0, 0, 0, + symbol_value_buffer_local_description, struct symbol_value_buffer_local); DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-lisp-magic", symbol_value_lisp_magic, mark_symbol_value_lisp_magic, print_symbol_value_magic, 0, 0, 0, + symbol_value_lisp_magic_description, struct symbol_value_lisp_magic); DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-varalias", symbol_value_varalias, mark_symbol_value_varalias, print_symbol_value_magic, 0, 0, 0, + symbol_value_varalias_description, struct symbol_value_varalias); diff --git a/src/symeval.h b/src/symeval.h index 8aff8d2..7aa5c48 100644 --- a/src/symeval.h +++ b/src/symeval.h @@ -293,7 +293,7 @@ void deferror (Lisp_Object *symbol, CONST char *name, void defvar_magic (CONST char *symbol_name, CONST struct symbol_value_forward *magic); -#define symbol_value_forward_lheader_initializer { 1, { 0, 0, 0 } } +#define symbol_value_forward_lheader_initializer { 1, 0, 0, 0 } #define DEFVAR_SYMVAL_FWD(lname, c_location, forward_type, magicfun) do { \ static CONST_IF_NOT_DEBUG struct symbol_value_forward I_hate_C \ diff --git a/src/syntax.c b/src/syntax.c index 82a8034..16a0902 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -53,6 +53,7 @@ Sextword is a word-constituent but a word boundary may exist between two such characters. */ /* Mule 2.4 doesn't seem to have Sextword - I'm removing it -- mrb */ +/* Recovered by tomo */ Lisp_Object Qsyntax_table_p; @@ -327,15 +328,15 @@ syntax table. -static int -word_constituent_p (struct buffer *buf, Bufpos pos, - struct Lisp_Char_Table *tab) -{ - enum syntaxcode code = SYNTAX_UNSAFE (tab, BUF_FETCH_CHAR (buf, pos)); - return ((words_include_escapes && - (code == Sescape || code == Scharquote)) - || (code == Sword)); -} +/* Return 1 if there is a word boundary between two word-constituent + characters C1 and C2 if they appear in this order, else return 0. + There is no word boundary between two word-constituent ASCII + characters. */ +#define WORD_BOUNDARY_P(c1, c2) \ + (!(CHAR_ASCII_P (c1) && CHAR_ASCII_P (c2)) \ + && word_boundary_p (c1, c2)) + +extern int word_boundary_p (Emchar c1, Emchar c2); /* Return the position across COUNT words from FROM. If that many words cannot be found before the end of the buffer, return 0. @@ -346,6 +347,9 @@ scan_words (struct buffer *buf, Bufpos from, int count) { Bufpos limit = count > 0 ? BUF_ZV (buf) : BUF_BEGV (buf); struct Lisp_Char_Table *mirrortab = XCHAR_TABLE (buf->mirror_syntax_table); + Emchar ch0, ch1; + enum syntaxcode code; + while (count > 0) { QUIT; @@ -354,16 +358,28 @@ scan_words (struct buffer *buf, Bufpos from, int count) { if (from == limit) return 0; - if (word_constituent_p (buf, from, mirrortab)) - break; + ch0 = BUF_FETCH_CHAR (buf, from); + code = SYNTAX_UNSAFE (mirrortab, ch0); from++; + if (words_include_escapes + && (code == Sescape || code == Scharquote)) + break; + if (code == Sword) + break; } QUIT; - while ((from != limit) && word_constituent_p (buf, from, mirrortab)) + while ( from != limit ) { + ch1 = BUF_FETCH_CHAR (buf, from); + code = SYNTAX_UNSAFE (mirrortab, ch1); + if (!(words_include_escapes + && (code == Sescape || code == Scharquote))) + if (code != Sword || WORD_BOUNDARY_P (ch0, ch1)) + break; from++; + ch0 = ch1; } count--; } @@ -376,16 +392,28 @@ scan_words (struct buffer *buf, Bufpos from, int count) { if (from == limit) return 0; - if (word_constituent_p (buf, from - 1, mirrortab)) - break; from--; + ch1 = BUF_FETCH_CHAR (buf, from - 1); + code = SYNTAX_UNSAFE (mirrortab, ch1); + if (words_include_escapes + && (code == Sescape || code == Scharquote)) + break; + if (code == Sword) + break; } QUIT; - while ((from != limit) && word_constituent_p (buf, from - 1, mirrortab)) + while ( from != limit ) { + ch0 = BUF_FETCH_CHAR (buf, from - 1); + code = SYNTAX_UNSAFE (mirrortab, ch0); + if (!(words_include_escapes + && (code == Sescape || code == Scharquote))) + if (code != Sword || WORD_BOUNDARY_P (ch0, ch1)) + break; from--; + ch1 = ch0; } count++; } diff --git a/src/toolbar.c b/src/toolbar.c index 64ff6ed..db2c69e 100644 --- a/src/toolbar.c +++ b/src/toolbar.c @@ -90,7 +90,7 @@ print_toolbar_button (Lisp_Object obj, Lisp_Object printcharfun, DEFINE_LRECORD_IMPLEMENTATION ("toolbar-button", toolbar_button, mark_toolbar_button, print_toolbar_button, - 0, 0, 0, + 0, 0, 0, 0, struct toolbar_button); DEFUN ("toolbar-button-p", Ftoolbar_button_p, 1, 1, 0, /* diff --git a/src/tooltalk.c b/src/tooltalk.c index a7e0ed9..36edcf5 100644 --- a/src/tooltalk.c +++ b/src/tooltalk.c @@ -175,7 +175,7 @@ print_tooltalk_message (Lisp_Object obj, Lisp_Object printcharfun, DEFINE_LRECORD_IMPLEMENTATION ("tooltalk-message", tooltalk_message, mark_tooltalk_message, print_tooltalk_message, - 0, 0, 0, + 0, 0, 0, 0, struct Lisp_Tooltalk_Message); static Lisp_Object @@ -249,7 +249,7 @@ print_tooltalk_pattern (Lisp_Object obj, Lisp_Object printcharfun, DEFINE_LRECORD_IMPLEMENTATION ("tooltalk-pattern", tooltalk_pattern, mark_tooltalk_pattern, print_tooltalk_pattern, - 0, 0, 0, + 0, 0, 0, 0, struct Lisp_Tooltalk_Pattern); static Lisp_Object diff --git a/src/unexsol2.c b/src/unexsol2.c index d9de182..06e71e7 100644 --- a/src/unexsol2.c +++ b/src/unexsol2.c @@ -20,7 +20,7 @@ Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ -/* #pragma ident "@(#) $Id: unexsol2.c,v 1.2 1995/01/25 20:39:16 georgn Exp $" */ +/* #pragma ident "@(#) $Id: unexsol2.c,v 1.3 1997/10/13 03:35:33 steve Exp $" */ #include #include diff --git a/src/window.c b/src/window.c index 53de996..90c1be3 100644 --- a/src/window.c +++ b/src/window.c @@ -231,7 +231,7 @@ finalize_window (void *header, int for_disksave) DEFINE_LRECORD_IMPLEMENTATION ("window", window, mark_window, print_window, finalize_window, - 0, 0, struct window); + 0, 0, 0, struct window); #define INIT_DISP_VARIABLE(field, initialization) \ @@ -4711,7 +4711,7 @@ DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("window-configuration", window_configuration, mark_window_config, print_window_config, - 0, 0, 0, sizeof_window_config, + 0, 0, 0, 0, sizeof_window_config, struct window_config); diff --git a/version.sh b/version.sh index 6c03494..f70baf5 100644 --- a/version.sh +++ b/version.sh @@ -2,8 +2,8 @@ emacs_is_beta=t emacs_major_version=21 emacs_minor_version=2 -emacs_beta_version=16 -xemacs_codename="Sumida" +emacs_beta_version=17 +xemacs_codename="Chiyoda" infodock_major_version=4 infodock_minor_version=0 infodock_build_version=7