Mercurial > hg > xemacs-beta
changeset 333:4f79e16b1112 r21-0-64
Import from CVS: tag r21-0-64
line wrap: on
line diff
--- a/CHANGES-beta Mon Aug 13 10:49:08 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:49:50 2007 +0200 @@ -1,4 +1,14 @@ -*- indented-text -*- +to 21.0 "20 minutes to Nikko" +-- Dialog box fix from Jan Vroonhof +-- prevent minimization of maximized frame from Andy Piper +-- miscellaneous patches from Andy Piper and Gleb Arshinov +-- miscellaneous patches from Charles Waldman and Adrian Aichner +-- Mule dump time files remerged from mule-base package +-- Documentation fixes from Jan Vroonhof +-- 24bit color image fix from Kazuo OISHI +-- various build fixes from Martin Buchholz + to 21.0 "Pyrenean63" -- miscellaneous bug fixes
--- a/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,55 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + +1999-02-16 Andy Piper <andy@xemacs.org> + + * PROBLEMS: add entries for building under Cygwin. + +1999-02-14 Jan Vroonhof <vroonhof@math.ethz.ch> + + * README.packages: Clear up that mule-sumo packages is used _in + addition_ to the normal sumo. + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * configure.in: + - Fixup xfs comments and redundant option checking + + * configure.in: + * INSTALL: + * lisp/paths.el: + - improved automounter tmp directory support. + - support 4 (!) empirically discovered automounter conventions + + * tests/database.el: Backport 21.2 database-tests.el to prevent + databasep: nil errors. + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * lwlib/lwlib.h: + - redo CONST hacking to deal with X11 R4, which was + broken in a previous patch. + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * configure.in: + - irix uses -rpath + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * configure.in: + - Check for XOpenIM before using xim=xlib + - only use XmIm if $have_motif = yes + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * configure.in. Port to BSDI BSD/OS 4.0. + +1999-01-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * configure.in: Warn if using Motif dialog boxes on AIX 4.3. + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/INSTALL Mon Aug 13 10:49:08 2007 +0200 +++ b/INSTALL Mon Aug 13 10:49:50 2007 +0200 @@ -404,16 +404,12 @@ variable should have. If you don't pay attention to what you are doing, you'll make a mistake. -Things may malfunction if the variable `directory-abbrev-alist' is not set -up to translate "temporary" automounter mount points into the canonical -form. The default value of this variable contains the translation - - ("^/tmp_mnt/" . "/") - -meaning translate "/tmp_mnt/net/FOO" into "/net/FOO", which is appropriate -for the default configuration of the Sun automounter, but which may be -inappropriate for different vendor's automounters, or if you have customized -your mount-point names. +Things may malfunction if the variable `directory-abbrev-alist' is not +set up to translate "temporary" automounter mount points into the +canonical form. XEmacs tries to detect how your automounter is +configured. If you have an unusual automounter configuration that +XEmacs cannot detect, you may need to change the value of +`directory-abbrev-alist'. 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp code you want XEmacs to load before it is dumped out. Use
--- a/PROBLEMS Mon Aug 13 10:49:08 2007 +0200 +++ b/PROBLEMS Mon Aug 13 10:49:50 2007 +0200 @@ -119,6 +119,10 @@ ** AIX *** On AIX 4.3, you must specify --with-dialogs=athena with configure +*** The libXt shipped with AIX 4.3 is broken. This causes xemacs -nw + to fail in various ways. The solution is to build against stock + X11R6. + *** On AIX, you get this compiler error message: Processing include file ./XMenuInt.h @@ -463,6 +467,61 @@ Note: Much of the above entry is probably not valid for XEmacs 21.0 and later. +** Cygwin +*** In general use etc/check_cygwin_setup.sh to trap environment problems. + +The script etc/check_cygwin_setup.sh will attempt to detect whether +you have a suitable environment for building. This script may not work +correctly if you are using ash instead of bash (see below). + +*** X11 not detected. + +This is usually because xmkmf is not in your path or because you are +using the default cygwin shell. The default cygwin shell (/bin/sh.exe) +is ash which appears to work in most circumstances but has some wierd +failure modes. I recommend replacing sh.exe with bash.exe, this will +mean configure is slower but more reliable. + +*** Subprocesses do not work. + +You do not have "tty" in your CYGWIN32 (for b19) or CYGWIN (for b20) +environment variable. This must be set in your autoexec.bat (win95) or +the system properties (winnt) as it must be read before the cygwin dll +initializes. + +*** ^G does not work on hung subprocesses. + +This is a known problem. It can be remedied with cygwin b20 or greater +by defining BROKEN_SIGIO in src/s/cygwin32.h, however this currently +leads to instability in XEmacs. + +*** The XEmacs executable crashes at startup. + +This can be caused by many things. + +If you are running with X11 you need to have cygwin b19 or cygwin +b20.1 or greater, cygwin b20 will not work. + +If you are running with cygwin b19 make sure you are using egcs 1.0.2 +rather than vanilla gcc. XEmacs builds by default with -O3 which does +not work with the gcc that ships with b19. Alternatively use -O2. + +*** The info files will not build. + +makeinfo that ships with cygwin (all versions) is a noop. You need to +obtain makeinfo from somewhere or build it yourself. + +*** I have no graphics. + +You need to obtain the various graphics libraries. Pre-built versions +of these and the X libraries are located on the XEmacs website in +ftp://ftp.xemacs.org/pub/aux/cygwin*. + +*** There are no images in the toolbar buttons. + +You need version 4.71 of commctrl.dll which does not ship with windows +95. You can get this by installing IE 4.0 or downloading it from the +microsoft website. * Problems with running XEmacs
--- a/README.packages Mon Aug 13 10:49:08 2007 +0200 +++ b/README.packages Mon Aug 13 10:49:50 2007 +0200 @@ -74,16 +74,16 @@ Those with little time, cheap connections and plenty of disk space can install all packages at once using the sumo tarballs. -Download the files +Download the file -xemacs-sumo-<date>.tar.gz if you have a latin-1 XEmacs. +xemacs-sumo-<date>.tar.gz -or +For an XEmacs compiled with Mule you also need -xemacs-mule-sumo-<date>.tar.gz if you have a MULE XEmacs. +xemacs-mule-sumo-<date>.tar.gz -N.B. There are called 'Sumo Tarballs' for good reason. They are -currently 15MB and 23MB (gzipped) respectively. +N.B. They are called 'Sumo Tarballs' for good reason. They are +currently about 15MB and 2.3MB (gzipped) respectively. Install them by @@ -120,7 +120,7 @@ installing easier. It will notice if new packages or versions are available and will fetch them from the ftp site. -Unfortunately this requires that a few packages are alreadyin place. +Unfortunately this requires that a few packages are already in place. You will have to install them by hand as above or use a SUMO tarball. This requirement will hopefully go away in the future. The packages you need are:
--- a/configure Mon Aug 13 10:49:08 2007 +0200 +++ b/configure Mon Aug 13 10:49:50 2007 +0200 @@ -2,7 +2,7 @@ #### Configuration script for XEmacs. Largely divergent from FSF. #### Guess values for system-dependent variables and create Makefiles. -#### Generated automatically using autoconf version 2.12 +#### Generated automatically using autoconf version 2.13 #### Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. #### Copyright (C) 1996, 1997 Sun Microsystems, Inc. @@ -198,6 +198,8 @@ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cross_compiling=no +ac_exeext= +ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then @@ -467,18 +469,6 @@ eval "$opt=\"$val\"" ;; - "with_xfs" ) - case "$val" in - y | ye | yes ) val=yes ;; - n | no | non | none ) val=no ;; - * ) (echo "$progname: Usage error:" -echo " " "The \`--$optname' option must have one of these values: - \`yes', or \`no'." -echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;; - esac - eval "$opt=\"$val\"" - ;; - "mail_locking" ) case "$val" in lockf ) val=lockf ;; @@ -542,7 +532,7 @@ prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ - archlibdir | docdir | package_path ) + archlibdir | docdir | package_path ) if test "$valomitted" = "yes"; then if test "$#" = 0; then (echo "$progname: Usage error:" @@ -755,7 +745,7 @@ if test -z "$configuration"; then echo $ac_n "checking "host system type"""... $ac_c" 1>&6 -echo "configure:759: checking "host system type"" >&5 +echo "configure:749: checking "host system type"" >&5 if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \ sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` ; then echo "$ac_t""$configuration" 1>&6 @@ -769,7 +759,7 @@ fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:773: checking whether ln -s works" >&5 +echo "configure:763: checking whether ln -s works" >&5 rm -f conftestdata if ln -s X conftestdata 2>/dev/null @@ -794,17 +784,26 @@ fi done + absolute_pwd="`pwd`"; if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd" then blddir="$PWD" -else blddir="$absolute_pwd" +else blddir="$absolute_pwd"; if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi + blddir=`echo "$blddir" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi fi case "$srcdir" in /* ) ;; . ) srcdir="$blddir" ;; - * ) srcdir="`cd $srcdir && pwd`" ;; + * ) srcdir="`cd $srcdir && pwd`"; if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi + srcdir=`echo "$srcdir" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi ;; esac if test `pwd` != `sh -c cd $srcdir && pwd` \ @@ -985,7 +984,7 @@ echo "checking "the configuration name"" 1>&6 -echo "configure:989: checking "the configuration name"" >&5 +echo "configure:988: checking "the configuration name"" >&5 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'` if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else exit $? @@ -1359,6 +1358,7 @@ *-xenix* ) opsys=xenix ;; *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;; *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; + *-bsdi4* ) opsys=bsdos4 ;; *-bsdi3* ) opsys=bsdos3 ;; *-bsdi2.1* ) opsys=bsdos2-1 ;; *-bsdi2* ) opsys=bsdos2 ;; @@ -1482,8 +1482,9 @@ if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -1503,14 +1504,15 @@ # 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:1507: checking for $ac_word" >&5 +echo "configure:1508: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -1544,11 +1546,42 @@ echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:1556: checking for $ac_word" >&5 + +if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1552: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1585: 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' @@ -1559,12 +1592,14 @@ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cross_compiling=no -cat > conftest.$ac_ext <<EOF -#line 1564 "configure" -#include "confdefs.h" +cat > conftest.$ac_ext << EOF + +#line 1598 "configure" +#include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:1568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1603: \"$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 @@ -1578,25 +1613,33 @@ ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' +xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run' +xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard' +ac_cpp='$CPP '"$xe_cppflags" +ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' +cross_compiling=no echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 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:1588: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1631: 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:1593: checking whether we are using GNU C" >&5 +echo "configure:1636: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1643: \"$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 @@ -1606,11 +1649,15 @@ if test $ac_cv_prog_gcc = yes; then GCC=yes - 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:1614: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +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:1661: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1622,16 +1669,20 @@ echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then CFLAGS="-O2" - fi -else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + else + CFLAGS= + fi fi if test "$with_gcc" = "no" -a "$GCC" = "yes"; then @@ -1639,13 +1690,14 @@ # 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:1643: checking for $ac_word" >&5 +echo "configure:1694: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -1665,14 +1717,15 @@ # 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:1669: checking for $ac_word" >&5 +echo "configure:1721: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -1706,11 +1759,42 @@ echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:1769: checking for $ac_word" >&5 + +if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1714: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1798: 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' @@ -1721,12 +1805,14 @@ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cross_compiling=no -cat > conftest.$ac_ext <<EOF -#line 1726 "configure" -#include "confdefs.h" +cat > conftest.$ac_ext << EOF + +#line 1811 "configure" +#include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:1730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1816: \"$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 @@ -1740,25 +1826,33 @@ ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' +xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run' +xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard' +ac_cpp='$CPP '"$xe_cppflags" +ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' +cross_compiling=no echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 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:1750: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1844: 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:1755: checking whether we are using GNU C" >&5 +echo "configure:1849: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1856: \"$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 @@ -1768,11 +1862,15 @@ if test $ac_cv_prog_gcc = yes; then GCC=yes - 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:1776: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +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:1874: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1784,16 +1882,20 @@ echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then CFLAGS="-O2" - fi -else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + else + CFLAGS= + fi fi elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then @@ -1801,13 +1903,14 @@ # 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:1805: checking for $ac_word" >&5 +echo "configure:1907: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -1827,14 +1930,15 @@ # 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:1831: checking for $ac_word" >&5 +echo "configure:1934: checking for $ac_word" >&5 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -1868,11 +1972,42 @@ echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:1982: checking for $ac_word" >&5 + +if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1876: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:2011: 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' @@ -1883,12 +2018,14 @@ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cross_compiling=no -cat > conftest.$ac_ext <<EOF -#line 1888 "configure" -#include "confdefs.h" +cat > conftest.$ac_ext << EOF + +#line 2024 "configure" +#include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:1892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2029: \"$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 @@ -1902,25 +2039,33 @@ ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS' +xe_ldflags='$LDFLAGS $ld_switch_site $ld_switch_machine $ld_switch_system $ld_switch_x_site $ld_switch_run' +xe_libs='$ld_call_shared $xe_check_libs $X_EXTRA_LIBS $libs_x $X_PRE_LIBS $LIBS $libs_machine $libs_system $libs_standard' +ac_cpp='$CPP '"$xe_cppflags" +ac_compile='${CC-cc} -c $CFLAGS '"$xe_cppflags"' conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' +cross_compiling=no echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 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:1912: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:2057: 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:1917: checking whether we are using GNU C" >&5 +echo "configure:2062: checking whether we are using GNU C" >&5 cat > conftest.c <<EOF #ifdef __GNUC__ yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2069: \"$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 @@ -1930,11 +2075,15 @@ if test $ac_cv_prog_gcc = yes; then GCC=yes - 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:1938: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +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:2087: checking whether ${CC-cc} accepts -g" >&5 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then @@ -1946,16 +2095,20 @@ echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then CFLAGS="-O2" - fi -else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + else + CFLAGS= + fi fi fi @@ -1967,7 +2120,7 @@ test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1971: checking how to run the C preprocessor" >&5 +echo "configure:2124: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1980,14 +2133,14 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1984 "configure" +#line 2137 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2143: \"$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 : else @@ -1997,14 +2150,31 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 2001 "configure" +#line 2154 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2007: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2160: \"$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 + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext <<EOF +#line 2171 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2177: \"$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 : else @@ -2017,6 +2187,8 @@ rm -f conftest* fi rm -f conftest* +fi +rm -f conftest* ac_cv_prog_CPP="$CPP" CPP="$ac_cv_prog_CPP" else @@ -2026,9 +2198,9 @@ echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:2030: checking for AIX" >&5 -cat > conftest.$ac_ext <<EOF -#line 2032 "configure" +echo "configure:2202: checking for AIX" >&5 +cat > conftest.$ac_ext <<EOF +#line 2204 "configure" #include "confdefs.h" #ifdef _AIX yes @@ -2055,9 +2227,9 @@ echo $ac_n "checking for GNU libc""... $ac_c" 1>&6 -echo "configure:2059: checking for GNU libc" >&5 -cat > conftest.$ac_ext <<EOF -#line 2061 "configure" +echo "configure:2231: checking for GNU libc" >&5 +cat > conftest.$ac_ext <<EOF +#line 2233 "configure" #include "confdefs.h" #include <features.h> int main() { @@ -2069,7 +2241,7 @@ ; return 0; } EOF -if { (eval echo configure:2073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2245: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* have_glibc=yes else @@ -2091,7 +2263,7 @@ cat > conftest.$ac_ext <<EOF -#line 2095 "configure" +#line 2267 "configure" #include "confdefs.h" int main () { #if defined __SUNPRO_C @@ -2103,7 +2275,7 @@ #endif } EOF -if { (eval echo configure:2107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:2279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -2373,7 +2545,7 @@ fi echo $ac_n "checking for dynodump""... $ac_c" 1>&6 -echo "configure:2377: checking for dynodump" >&5 +echo "configure:2549: checking for dynodump" >&5 if test "$unexec" != "unexsol2.o"; then echo "$ac_t""no" 1>&6 else @@ -2411,12 +2583,12 @@ done echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6 -echo "configure:2415: checking for terminateAndUnload in -lC" >&5 +echo "configure:2587: checking for terminateAndUnload in -lC" >&5 ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'` xe_check_libs=" -lC " cat > conftest.$ac_ext <<EOF -#line 2420 "configure" +#line 2592 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2427,7 +2599,7 @@ terminateAndUnload() ; return 0; } EOF -if { (eval echo configure:2431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2603: \"$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 @@ -2511,10 +2683,10 @@ if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:2515: checking "for runtime libraries flag"" >&5 +echo "configure:2687: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; - decosf* | linux* ) dash_r="-rpath " ;; + decosf* | linux* | irix*) dash_r="-rpath " ;; *) dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do @@ -2533,14 +2705,14 @@ done fi cat > conftest.$ac_ext <<EOF -#line 2537 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:2544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 2709 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:2716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* dash_r="$try_dash_r" else @@ -2589,7 +2761,7 @@ xe_runpath_dir="$dir" test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" } done ;; @@ -2603,7 +2775,7 @@ xe_runpath_dir=`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'` test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" };; esac done @@ -2641,10 +2813,10 @@ fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6 -echo "configure:2645: checking for malloc_get_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2648 "configure" +echo "configure:2817: checking for malloc_get_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2820 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_get_state(); below. */ @@ -2667,7 +2839,7 @@ ; return 0; } EOF -if { (eval echo configure:2671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2843: \"$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 @@ -2687,10 +2859,10 @@ fi echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:2691: checking for malloc_set_state" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2694 "configure" +echo "configure:2863: checking for malloc_set_state" >&5 + +cat > conftest.$ac_ext <<EOF +#line 2866 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char malloc_set_state(); below. */ @@ -2713,7 +2885,7 @@ ; return 0; } EOF -if { (eval echo configure:2717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2889: \"$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 @@ -2733,16 +2905,16 @@ fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:2737: checking whether __after_morecore_hook exists" >&5 -cat > conftest.$ac_ext <<EOF -#line 2739 "configure" +echo "configure:2909: checking whether __after_morecore_hook exists" >&5 +cat > conftest.$ac_ext <<EOF +#line 2911 "configure" #include "confdefs.h" extern void (* __after_morecore_hook)(); int main() { __after_morecore_hook = 0 ; return 0; } EOF -if { (eval echo configure:2746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2918: \"$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 @@ -2801,13 +2973,14 @@ # 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:2805: checking for $ac_word" >&5 +echo "configure:2977: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" @@ -2850,26 +3023,28 @@ # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # 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:2858: checking for a BSD compatible install" >&5 +echo "configure:3032: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. - for ac_prog in ginstall installbsd scoinst install; do + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. - # OSF/1 installbsd also uses dspmsg, but is usable. : else ac_cv_path_install="$ac_dir/$ac_prog -c" @@ -2898,6 +3073,8 @@ # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' + test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' for ac_prog in 'bison -y' byacc @@ -2905,13 +3082,14 @@ # 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:2909: checking for $ac_word" >&5 +echo "configure:3086: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YACC="$ac_prog" @@ -2936,16 +3114,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2940: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2943 "configure" +echo "configure:3118: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3121 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2948: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:3126: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -2977,16 +3155,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2981: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 2984 "configure" +echo "configure:3159: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3162 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:3167: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -3018,16 +3196,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3022: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3025 "configure" +echo "configure:3200: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3203 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:3208: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -3056,10 +3234,10 @@ done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:3060: checking for sys/wait.h that is POSIX.1 compatible" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3063 "configure" +echo "configure:3238: checking for sys/wait.h that is POSIX.1 compatible" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3241 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -3075,7 +3253,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3079: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3099,10 +3277,10 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3103: checking for ANSI C header files" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3106 "configure" +echo "configure:3281: checking for ANSI C header files" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3284 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -3110,8 +3288,8 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3114: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:3292: \"$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* ac_cv_header_stdc=yes @@ -3127,7 +3305,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 3131 "configure" +#line 3309 "configure" #include "confdefs.h" #include <string.h> EOF @@ -3145,7 +3323,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 3149 "configure" +#line 3327 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -3163,7 +3341,7 @@ if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.$ac_ext <<EOF -#line 3167 "configure" +#line 3345 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3174,7 +3352,7 @@ exit (0); } EOF -if { (eval echo configure:3178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:3356: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -3200,10 +3378,10 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3204: checking whether time.h and sys/time.h may both be included" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3207 "configure" +echo "configure:3382: checking whether time.h and sys/time.h may both be included" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3385 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -3212,7 +3390,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3216: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3236,10 +3414,10 @@ fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3240: checking for sys_siglist declaration in signal.h or unistd.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3243 "configure" +echo "configure:3418: checking for sys_siglist declaration in signal.h or unistd.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3421 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3251,7 +3429,7 @@ char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3255: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3276,9 +3454,9 @@ echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6 -echo "configure:3280: checking for struct utimbuf" >&5 -cat > conftest.$ac_ext <<EOF -#line 3282 "configure" +echo "configure:3458: checking for struct utimbuf" >&5 +cat > conftest.$ac_ext <<EOF +#line 3460 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3297,7 +3475,7 @@ static struct utimbuf x; x.actime = x.modtime; ; return 0; } EOF -if { (eval echo configure:3301: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3479: \"$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 @@ -3317,10 +3495,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3321: checking return type of signal handlers" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3324 "configure" +echo "configure:3499: checking return type of signal handlers" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3502 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -3337,7 +3515,7 @@ int i; ; return 0; } EOF -if { (eval echo configure:3341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3359,10 +3537,10 @@ echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3363: checking for size_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3366 "configure" +echo "configure:3541: checking for size_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3544 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3371,7 +3549,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_size_t=yes else @@ -3393,10 +3571,10 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3397: checking for pid_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3400 "configure" +echo "configure:3575: checking for pid_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3578 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3405,7 +3583,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_pid_t=yes else @@ -3427,10 +3605,10 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3431: checking for uid_t in sys/types.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3434 "configure" +echo "configure:3609: checking for uid_t in sys/types.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3612 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -3466,10 +3644,10 @@ fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:3470: checking for mode_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3473 "configure" +echo "configure:3648: checking for mode_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3651 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3478,7 +3656,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_mode_t=yes else @@ -3500,10 +3678,10 @@ fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3504: checking for off_t" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3507 "configure" +echo "configure:3682: checking for off_t" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3685 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -3512,7 +3690,7 @@ #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_off_t=yes else @@ -3535,9 +3713,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:3539: checking for struct timeval" >&5 -cat > conftest.$ac_ext <<EOF -#line 3541 "configure" +echo "configure:3717: checking for struct timeval" >&5 +cat > conftest.$ac_ext <<EOF +#line 3719 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -3553,7 +3731,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:3557: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -3575,10 +3753,10 @@ rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:3579: checking whether struct tm is in sys/time.h or time.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3582 "configure" +echo "configure:3757: checking whether struct tm is in sys/time.h or time.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3760 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -3586,7 +3764,7 @@ struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:3590: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -3610,10 +3788,10 @@ fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:3614: checking for tm_zone in struct tm" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3617 "configure" +echo "configure:3792: checking for tm_zone in struct tm" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3795 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_cv_struct_tm> @@ -3621,7 +3799,7 @@ struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:3625: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3803: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -3644,10 +3822,10 @@ else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:3648: checking for tzname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3651 "configure" +echo "configure:3826: checking for tzname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3829 "configure" #include "confdefs.h" #include <time.h> #ifndef tzname /* For SGI. */ @@ -3657,7 +3835,7 @@ atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:3661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -3683,10 +3861,10 @@ echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3687: checking for working const" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3690 "configure" +echo "configure:3865: checking for working const" >&5 + +cat > conftest.$ac_ext <<EOF +#line 3868 "configure" #include "confdefs.h" int main() { @@ -3735,7 +3913,7 @@ ; return 0; } EOF -if { (eval echo configure:3739: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3760,7 +3938,7 @@ echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:3764: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:3942: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -3785,12 +3963,12 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3789: checking whether byte ordering is bigendian" >&5 +echo "configure:3967: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext <<EOF -#line 3794 "configure" +#line 3972 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3801,11 +3979,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:3805: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext <<EOF -#line 3809 "configure" +#line 3987 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -3816,7 +3994,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:3820: \"$ac_compile\") 1>&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_bigendian=yes else @@ -3833,7 +4011,7 @@ rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <<EOF -#line 3837 "configure" +#line 4015 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -3846,7 +4024,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:3850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_bigendian=no else @@ -3873,10 +4051,10 @@ echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:3877: checking size of short" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3880 "configure" +echo "configure:4055: checking size of short" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4058 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3887,7 +4065,7 @@ exit(0); } EOF -if { (eval echo configure:3891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -3915,10 +4093,10 @@ exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:3919: checking size of int" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3922 "configure" +echo "configure:4097: checking size of int" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4100 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3929,7 +4107,7 @@ exit(0); } EOF -if { (eval echo configure:3933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -3951,10 +4129,10 @@ echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:3955: checking size of long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3958 "configure" +echo "configure:4133: checking size of long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4136 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -3965,7 +4143,7 @@ exit(0); } EOF -if { (eval echo configure:3969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -3987,10 +4165,10 @@ echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:3991: checking size of long long" >&5 - -cat > conftest.$ac_ext <<EOF -#line 3994 "configure" +echo "configure:4169: checking size of long long" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4172 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -4001,7 +4179,7 @@ exit(0); } EOF -if { (eval echo configure:4005: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4183: \"$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 @@ -4023,10 +4201,10 @@ echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4027: checking size of void *" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4030 "configure" +echo "configure:4205: checking size of void *" >&5 + +cat > conftest.$ac_ext <<EOF +#line 4208 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -4037,7 +4215,7 @@ exit(0); } EOF -if { (eval echo configure:4041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4219: \"$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 @@ -4060,7 +4238,7 @@ echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4064: checking for long file names" >&5 +echo "configure:4242: 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: @@ -4107,12 +4285,12 @@ echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4111: checking for sin in -lm" >&5 +echo "configure:4289: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <<EOF -#line 4116 "configure" +#line 4294 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4123,7 +4301,7 @@ sin() ; return 0; } EOF -if { (eval echo configure:4127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4305: \"$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 @@ -4165,14 +4343,14 @@ cat > conftest.$ac_ext <<EOF -#line 4169 "configure" +#line 4347 "configure" #include "confdefs.h" #include <math.h> int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4354: \"$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 @@ -4189,7 +4367,7 @@ rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4193: checking type of mail spool file locking" >&5 +echo "configure:4371: 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 @@ -4213,12 +4391,12 @@ echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:4217: checking for kstat_open in -lkstat" >&5 +echo "configure:4395: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <<EOF -#line 4222 "configure" +#line 4400 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4229,7 +4407,7 @@ kstat_open() ; return 0; } EOF -if { (eval echo configure:4233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4263,12 +4441,12 @@ echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:4267: checking for kvm_read in -lkvm" >&5 +echo "configure:4445: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <<EOF -#line 4272 "configure" +#line 4450 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4279,7 +4457,7 @@ kvm_read() ; return 0; } EOF -if { (eval echo configure:4283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4461: \"$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 @@ -4314,12 +4492,12 @@ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:4318: checking for cma_open in -lpthreads" >&5 +echo "configure:4496: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <<EOF -#line 4323 "configure" +#line 4501 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4330,7 +4508,7 @@ cma_open() ; return 0; } EOF -if { (eval echo configure:4334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4512: \"$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 @@ -4366,7 +4544,7 @@ esac echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:4370: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:4548: 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; @@ -4377,7 +4555,7 @@ if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:4381: checking for \"-z ignore\" linker flag" >&5 +echo "configure:4559: 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 ;; @@ -4387,7 +4565,7 @@ echo "checking "for specified window system"" 1>&6 -echo "configure:4391: checking "for specified window system"" >&5 +echo "configure:4569: checking "for specified window system"" >&5 if test "$with_x11" != "no"; then test "$x_includes $x_libraries" != "NONE NONE" && \ @@ -4420,7 +4598,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:4424: checking for X" >&5 +echo "configure:4602: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -4480,13 +4658,13 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 4484 "configure" +#line 4662 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4489: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:4667: \"$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* # We can compile using X headers with no special include directory. @@ -4554,14 +4732,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 4558 "configure" +#line 4736 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:4565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4743: \"$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. @@ -4670,17 +4848,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:4674: checking whether -R must be followed by a space" >&5 +echo "configure:4852: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 4677 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4684: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4855 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -4696,14 +4874,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 4700 "configure" -#include "confdefs.h" - -int main() { - -; return 0; } -EOF -if { (eval echo configure:4707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +#line 4878 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:4885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -4739,12 +4917,12 @@ else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:4743: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:4921: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <<EOF -#line 4748 "configure" +#line 4926 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4755,7 +4933,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4937: \"$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 @@ -4779,12 +4957,12 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:4783: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:4961: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <<EOF -#line 4788 "configure" +#line 4966 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4795,7 +4973,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:4799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4977: \"$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 @@ -4824,10 +5002,10 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:4828: checking for gethostbyname" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4831 "configure" +echo "configure:5006: checking for gethostbyname" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5009 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -4850,7 +5028,7 @@ ; return 0; } EOF -if { (eval echo configure:4854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5032: \"$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 @@ -4871,12 +5049,12 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:4875: checking for gethostbyname in -lnsl" >&5 +echo "configure:5053: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <<EOF -#line 4880 "configure" +#line 5058 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4887,7 +5065,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:4891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5069: \"$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 @@ -4917,10 +5095,10 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:4921: checking for connect" >&5 - -cat > conftest.$ac_ext <<EOF -#line 4924 "configure" +echo "configure:5099: checking for connect" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5102 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -4943,7 +5121,7 @@ ; return 0; } EOF -if { (eval echo configure:4947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5125: \"$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 @@ -4966,12 +5144,12 @@ xe_msg_checking="for connect in -lsocket" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:4970: checking "$xe_msg_checking"" >&5 +echo "configure:5148: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <<EOF -#line 4975 "configure" +#line 5153 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4982,7 +5160,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:4986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5164: \"$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 @@ -5006,10 +5184,10 @@ # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:5010: checking for remove" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5013 "configure" +echo "configure:5188: checking for remove" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5191 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -5032,7 +5210,7 @@ ; return 0; } EOF -if { (eval echo configure:5036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5214: \"$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 @@ -5053,12 +5231,12 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:5057: checking for remove in -lposix" >&5 +echo "configure:5235: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <<EOF -#line 5062 "configure" +#line 5240 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5069,7 +5247,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:5073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5251: \"$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 @@ -5093,10 +5271,10 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:5097: checking for shmat" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5100 "configure" +echo "configure:5275: checking for shmat" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5278 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -5119,7 +5297,7 @@ ; return 0; } EOF -if { (eval echo configure:5123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5301: \"$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 @@ -5140,12 +5318,12 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:5144: checking for shmat in -lipc" >&5 +echo "configure:5322: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <<EOF -#line 5149 "configure" +#line 5327 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5156,7 +5334,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:5160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5338: \"$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 @@ -5189,13 +5367,15 @@ # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. -echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:5194: checking for IceConnectionNumber in -lICE" >&5 +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:5374: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` -xe_check_libs=" -lICE " -cat > conftest.$ac_ext <<EOF -#line 5199 "configure" +xe_check_libs=" -lICE $X_EXTRA_LIBS" +cat > conftest.$ac_ext <<EOF +#line 5379 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5206,7 +5386,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:5210: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5390: \"$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 @@ -5304,7 +5484,7 @@ xe_runpath_dir="$dir" test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" } done ;; @@ -5318,7 +5498,7 @@ xe_runpath_dir=`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'` test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" };; esac done @@ -5375,7 +5555,7 @@ echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:5379: checking for X defines extracted by xmkmf" >&5 +echo "configure:5559: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -5407,16 +5587,16 @@ ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:5411: checking for X11/Intrinsic.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5414 "configure" +echo "configure:5591: checking for X11/Intrinsic.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5594 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5419: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:5599: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -5439,12 +5619,12 @@ echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:5443: checking for XOpenDisplay in -lX11" >&5 +echo "configure:5623: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 5448 "configure" +#line 5628 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5455,7 +5635,7 @@ XOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5639: \"$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 @@ -5480,12 +5660,12 @@ xe_msg_checking="for XGetFontProperty in -lX11" test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:5484: checking "$xe_msg_checking"" >&5 +echo "configure:5664: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <<EOF -#line 5489 "configure" +#line 5669 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5496,7 +5676,7 @@ XGetFontProperty() ; return 0; } EOF -if { (eval echo configure:5500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5680: \"$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 @@ -5523,12 +5703,12 @@ echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:5527: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:5707: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <<EOF -#line 5532 "configure" +#line 5712 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5539,7 +5719,7 @@ XShapeSelectInput() ; return 0; } EOF -if { (eval echo configure:5543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5723: \"$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 @@ -5562,12 +5742,12 @@ echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:5566: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:5746: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <<EOF -#line 5571 "configure" +#line 5751 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5578,7 +5758,7 @@ XtOpenDisplay() ; return 0; } EOF -if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5762: \"$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 @@ -5601,14 +5781,14 @@ echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:5605: checking the version of X11 being used" >&5 +echo "configure:5785: checking the version of X11 being used" >&5 cat > conftest.$ac_ext <<EOF -#line 5607 "configure" +#line 5787 "configure" #include "confdefs.h" #include <X11/Intrinsic.h> int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:5612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:5792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest foobar; x11_release=$? else @@ -5633,16 +5813,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5637: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5640 "configure" +echo "configure:5817: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 5820 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5645: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:5825: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -5672,7 +5852,7 @@ echo $ac_n "checking for XFree86""... $ac_c" 1>&6 -echo "configure:5676: checking for XFree86" >&5 +echo "configure:5856: checking for XFree86" >&5 if test -d "/usr/X386/include" -o \ -f "/etc/XF86Config" -o \ -f "/etc/X11/XF86Config" -o \ @@ -5692,12 +5872,12 @@ test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:5696: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:5876: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <<EOF -#line 5701 "configure" +#line 5881 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5708,7 +5888,7 @@ XmuReadBitmapDataFromFile() ; return 0; } EOF -if { (eval echo configure:5712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5892: \"$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 @@ -5747,19 +5927,19 @@ echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:5751: checking for main in -lXbsd" >&5 +echo "configure:5931: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <<EOF -#line 5756 "configure" +#line 5936 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5943: \"$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 @@ -5796,22 +5976,22 @@ fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:5800: checking for MS-Windows" >&5 +echo "configure:5980: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:5803: checking for main in -lgdi32" >&5 +echo "configure:5983: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <<EOF -#line 5808 "configure" +#line 5988 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:5815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5995: \"$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 @@ -5876,12 +6056,12 @@ fi fi cat > conftest.$ac_ext <<EOF -#line 5880 "configure" +#line 6060 "configure" #include "confdefs.h" #include <fcntl.h> int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:5885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6065: \"$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 @@ -5960,7 +6140,7 @@ esac echo "checking for session-management option" 1>&6 -echo "configure:5964: checking for session-management option" >&5; +echo "configure:6144: checking for session-management option" >&5; if test "$with_session" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SESSION @@ -5975,16 +6155,16 @@ 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:5979: checking for X11/Xauth.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 5982 "configure" +echo "configure:6159: checking for X11/Xauth.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6162 "configure" #include "confdefs.h" #include <X11/Xauth.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6167: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6006,12 +6186,12 @@ } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:6010: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:6190: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <<EOF -#line 6015 "configure" +#line 6195 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6022,7 +6202,7 @@ XauGetAuthByAddr() ; return 0; } EOF -if { (eval echo configure:6026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6206: \"$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 @@ -6067,16 +6247,16 @@ 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:6071: checking for ${dir}tt_c.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6074 "configure" +echo "configure:6251: checking for ${dir}tt_c.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6254 "configure" #include "confdefs.h" #include <${dir}tt_c.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6079: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6259: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6111,12 +6291,12 @@ xe_msg_checking="for tt_message_create in -ltt" test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6115: checking "$xe_msg_checking"" >&5 +echo "configure:6295: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <<EOF -#line 6120 "configure" +#line 6300 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6127,7 +6307,7 @@ tt_message_create() ; return 0; } EOF -if { (eval echo configure:6131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6311: \"$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 @@ -6184,16 +6364,16 @@ 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:6188: checking for Dt/Dt.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6191 "configure" +echo "configure:6368: checking for Dt/Dt.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6371 "configure" #include "confdefs.h" #include <Dt/Dt.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6196: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6376: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6215,12 +6395,12 @@ } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:6219: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:6399: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <<EOF -#line 6224 "configure" +#line 6404 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6231,7 +6411,7 @@ DtDndDragStart() ; return 0; } EOF -if { (eval echo configure:6235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6415: \"$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 @@ -6300,7 +6480,7 @@ fi echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:6304: checking if drag and drop API is needed" >&5 +echo "configure:6484: checking if drag and drop API is needed" >&5 if test "$with_dragndrop" != "no" ; then if test -n "$dragndrop_proto" ; then with_dragndrop=yes @@ -6321,19 +6501,19 @@ fi echo "checking for LDAP" 1>&6 -echo "configure:6325: checking for LDAP" >&5 +echo "configure:6505: 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:6328: checking for ldap.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6331 "configure" +echo "configure:6508: checking for ldap.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6511 "configure" #include "confdefs.h" #include <ldap.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6516: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6355,16 +6535,16 @@ } 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:6359: checking for lber.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6362 "configure" +echo "configure:6539: checking for lber.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6542 "configure" #include "confdefs.h" #include <lber.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6547: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6389,12 +6569,12 @@ xe_msg_checking="for ldap_open in -lldap" test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6393: checking "$xe_msg_checking"" >&5 +echo "configure:6573: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <<EOF -#line 6398 "configure" +#line 6578 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6405,7 +6585,7 @@ ldap_open() ; return 0; } EOF -if { (eval echo configure:6409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6589: \"$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 @@ -6428,12 +6608,12 @@ } test "$with_umich_ldap" = "no" && { echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6 -echo "configure:6432: checking for ldap_set_option in -lldap10" >&5 +echo "configure:6612: checking for ldap_set_option in -lldap10" >&5 ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap10 " cat > conftest.$ac_ext <<EOF -#line 6437 "configure" +#line 6617 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6444,7 +6624,7 @@ ldap_set_option() ; return 0; } EOF -if { (eval echo configure:6448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6628: \"$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 @@ -6508,15 +6688,15 @@ if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:6512: checking for graphics libraries" >&5 +echo "configure:6692: 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:6517: checking for Xpm - no older than 3.4f" >&5 +echo "configure:6697: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6520 "configure" +#line 6700 "configure" #include "confdefs.h" #include <X11/xpm.h> int main(int c, char **v) { @@ -6524,7 +6704,7 @@ XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:6528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6708: \"$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 @@ -6566,17 +6746,17 @@ libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:6570: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:6750: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <<EOF -#line 6573 "configure" +#line 6753 "configure" #include "confdefs.h" int main() { XpmCreatePixmapFromData() ; return 0; } EOF -if { (eval echo configure:6580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* xpm_for_msw=no else @@ -6618,12 +6798,12 @@ if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6622: checking for inflate in -lc" >&5 +echo "configure:6802: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 6627 "configure" +#line 6807 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6634,7 +6814,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6818: \"$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 @@ -6653,12 +6833,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6657: checking for inflate in -lz" >&5 +echo "configure:6837: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <<EOF -#line 6662 "configure" +#line 6842 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6669,7 +6849,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6853: \"$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 @@ -6688,12 +6868,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6692: checking for inflate in -lgz" >&5 +echo "configure:6872: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <<EOF -#line 6697 "configure" +#line 6877 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6704,7 +6884,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6888: \"$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 @@ -6734,16 +6914,16 @@ 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:6738: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6741 "configure" +echo "configure:6918: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6921 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6746: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6926: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6765,12 +6945,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6769: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6949: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <<EOF -#line 6774 "configure" +#line 6954 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6781,7 +6961,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6817,10 +6997,10 @@ png_problem="" test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6821: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6824 "configure" +echo "configure:7001: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7004 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6843,7 +7023,7 @@ ; return 0; } EOF -if { (eval echo configure:6847: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7027: \"$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 @@ -6864,16 +7044,16 @@ } 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:6868: checking for png.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6871 "configure" +echo "configure:7048: checking for png.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7051 "configure" #include "confdefs.h" #include <png.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6876: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:7056: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -6895,12 +7075,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:6899: checking for png_read_image in -lpng" >&5 +echo "configure:7079: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <<EOF -#line 6904 "configure" +#line 7084 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6911,7 +7091,7 @@ png_read_image() ; return 0; } EOF -if { (eval echo configure:6915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7095: \"$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 @@ -6934,10 +7114,10 @@ } if test -z "$with_png"; then echo $ac_n "checking for workable png version information""... $ac_c" 1>&6 -echo "configure:6938: checking for workable png version information" >&5 +echo "configure:7118: checking for workable png version information" >&5 xe_check_libs="-lpng -lz" cat > conftest.$ac_ext <<EOF -#line 6941 "configure" +#line 7121 "configure" #include "confdefs.h" #include <png.h> int main(int c, char **v) { @@ -6945,7 +7125,7 @@ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;} EOF -if { (eval echo configure:6949: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7129: \"$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 @@ -6988,16 +7168,16 @@ 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:6992: checking for tiffio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6995 "configure" +echo "configure:7172: checking for tiffio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7175 "configure" #include "confdefs.h" #include <tiffio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:7180: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -7019,12 +7199,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:7023: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:7203: checking for TIFFClientOpen in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <<EOF -#line 7028 "configure" +#line 7208 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7035,7 +7215,7 @@ TIFFClientOpen() ; return 0; } EOF -if { (eval echo configure:7039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7219: \"$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 @@ -7074,20 +7254,20 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:7078: checking for X11 graphics libraries" >&5 +echo "configure:7258: checking for X11 graphics libraries" >&5 test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:7082: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7085 "configure" +echo "configure:7262: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7265 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:7270: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -7109,12 +7289,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:7113: checking for UnGenFace in -lcompface" >&5 +echo "configure:7293: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <<EOF -#line 7118 "configure" +#line 7298 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7125,7 +7305,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:7129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7309: \"$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 @@ -7161,12 +7341,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:7165: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:7345: checking for XawScrollbarSetThumb in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <<EOF -#line 7170 "configure" +#line 7350 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7177,7 +7357,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:7181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7361: \"$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 @@ -7201,16 +7381,16 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:7205: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7208 "configure" +echo "configure:7385: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7388 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7213: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:7393: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -7226,12 +7406,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:7230: checking for XmStringFree in -lXm" >&5 +echo "configure:7410: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7235 "configure" +#line 7415 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7242,7 +7422,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:7246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7426: \"$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 @@ -7271,9 +7451,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:7275: checking for Lesstif" >&5 +echo "configure:7455: checking for Lesstif" >&5 cat > conftest.$ac_ext <<EOF -#line 7277 "configure" +#line 7457 "configure" #include "confdefs.h" #include <Xm/Xm.h> #ifdef LESSTIF_VERSION @@ -7557,7 +7737,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7561: checking for Mule-related features" >&5 +echo "configure:7741: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7582,16 +7762,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7586: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7589 "configure" +echo "configure:7766: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7769 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7594: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:7774: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -7621,12 +7801,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7625: checking for strerror in -lintl" >&5 +echo "configure:7805: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <<EOF -#line 7630 "configure" +#line 7810 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7637,7 +7817,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7821: \"$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 @@ -7670,19 +7850,58 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7674: checking for Mule input methods" >&5 +echo "configure:7854: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7677: checking for XIM" >&5 - if test "$have_lesstif" = "yes"; then with_xim=xlib - else +echo "configure:7857: checking for XIM" >&5 + +echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6 +echo "configure:7860: checking for XOpenIM in -lX11" >&5 +ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'` + +xe_check_libs=" -lX11 " +cat > conftest.$ac_ext <<EOF +#line 7865 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char XOpenIM(); + +int main() { +XOpenIM() +; return 0; } +EOF +if { (eval echo configure:7876: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +xe_check_libs="" + +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then + echo "$ac_t""yes" 1>&6 + with_xim=xlib +else + echo "$ac_t""no" 1>&6 +with_xim=no +fi + + + if test "$have_motif $have_lesstif" = "yes no"; then + echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7681: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7900: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7686 "configure" +#line 7905 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7693,7 +7912,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7916: \"$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 @@ -7710,11 +7929,10 @@ with_xim=motif else echo "$ac_t""no" 1>&6 -with_xim=xlib -fi - - - fi +fi + + + fi ;; esac if test "$with_xim" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF @@ -7759,15 +7977,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7763: checking for XFontSet" >&5 +echo "configure:7981: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7766: checking for XmbDrawString in -lX11" >&5 +echo "configure:7984: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 7771 "configure" +#line 7989 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7778,7 +7996,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8000: \"$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 @@ -7818,16 +8036,16 @@ 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:7822: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7825 "configure" +echo "configure:8040: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8043 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7830: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:8048: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -7851,10 +8069,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7855: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7858 "configure" +echo "configure:8073: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8076 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7877,7 +8095,7 @@ ; return 0; } EOF -if { (eval echo configure:7881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8099: \"$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 @@ -7906,12 +8124,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7910: checking for crypt in -lcrypt" >&5 +echo "configure:8128: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <<EOF -#line 7915 "configure" +#line 8133 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7922,7 +8140,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8144: \"$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 @@ -7957,12 +8175,12 @@ if test -z "$with_wnn" -o "$with_wnn" = "yes"; then echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7961: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:8179: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7966 "configure" +#line 8184 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7973,7 +8191,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8195: \"$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 @@ -7991,12 +8209,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6 -echo "configure:7995: checking for jl_dic_list_e in -lwnn4" >&5 +echo "configure:8213: 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 <<EOF -#line 8000 "configure" +#line 8218 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8007,7 +8225,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:8011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8229: \"$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 @@ -8025,12 +8243,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6 -echo "configure:8029: checking for jl_dic_list_e in -lwnn6" >&5 +echo "configure:8247: 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 <<EOF -#line 8034 "configure" +#line 8252 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8041,7 +8259,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:8045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -8059,12 +8277,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6 -echo "configure:8063: checking for dic_list_e in -lwnn6_fromsrc" >&5 +echo "configure:8281: 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 <<EOF -#line 8068 "configure" +#line 8286 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8075,7 +8293,7 @@ dic_list_e() ; return 0; } EOF -if { (eval echo configure:8079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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 @@ -8123,12 +8341,12 @@ if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6 -echo "configure:8127: checking for jl_fi_dic_list in -l$libwnn" >&5 +echo "configure:8345: 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 <<EOF -#line 8132 "configure" +#line 8350 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8139,7 +8357,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:8143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8361: \"$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 @@ -8174,16 +8392,16 @@ 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:8178: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8181 "configure" +echo "configure:8396: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8399 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:8404: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -8209,16 +8427,16 @@ 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:8213: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8216 "configure" +echo "configure:8431: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8434 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:8439: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -8245,16 +8463,16 @@ 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:8249: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8252 "configure" +echo "configure:8467: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8470 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:8475: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -8276,12 +8494,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:8280: checking for RkBgnBun in -lRKC" >&5 +echo "configure:8498: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <<EOF -#line 8285 "configure" +#line 8503 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8292,7 +8510,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:8296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8514: \"$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 @@ -8315,12 +8533,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:8319: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:8537: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <<EOF -#line 8324 "configure" +#line 8542 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8331,7 +8549,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:8335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8553: \"$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 @@ -8380,12 +8598,12 @@ libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6 -echo "configure:8384: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8602: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <<EOF -#line 8389 "configure" +#line 8607 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8396,7 +8614,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:8400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8618: \"$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 @@ -8435,7 +8653,7 @@ xe_runpath_dir="$dir" test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" } done ;; @@ -8449,7 +8667,7 @@ xe_runpath_dir=`echo '' "$arg" | sed -e 's:^ ::' -e 's/^-L//'` test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[ol] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[ol] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" };; esac done @@ -8482,10 +8700,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8486: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8489 "configure" +echo "configure:8704: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8707 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8508,7 +8726,7 @@ ; return 0; } EOF -if { (eval echo configure:8512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8730: \"$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 @@ -8549,10 +8767,10 @@ * ) for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8553: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8556 "configure" +echo "configure:8771: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8774 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8575,7 +8793,7 @@ ; return 0; } EOF -if { (eval echo configure:8579: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8797: \"$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 @@ -8609,16 +8827,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:8613: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 8615 "configure" +echo "configure:8831: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 8833 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:8622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8840: \"$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 @@ -8638,16 +8856,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:8642: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 8644 "configure" +echo "configure:8860: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 8862 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:8651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8869: \"$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 @@ -8667,11 +8885,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:8671: checking whether localtime caches TZ" >&5 +echo "configure:8889: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 8675 "configure" +#line 8893 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -8706,7 +8924,7 @@ exit (0); } EOF -if { (eval echo configure:8710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -8736,9 +8954,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:8740: checking whether gettimeofday accepts one or two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 8742 "configure" +echo "configure:8958: checking whether gettimeofday accepts one or two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8960 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -8760,7 +8978,7 @@ ; return 0; } EOF -if { (eval echo configure:8764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8982: \"$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 @@ -8782,19 +9000,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8786: checking for inline" >&5 +echo "configure:9004: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8791 "configure" +#line 9009 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:9016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8844,17 +9062,17 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:8848: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8851 "configure" +echo "configure:9066: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9069 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9076: \"$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 @@ -8878,23 +9096,28 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8882: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8885 "configure" +echo "configure:9100: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9103 "configure" #include "confdefs.h" #ifdef __GNUC__ # define alloca __builtin_alloca #else -# if HAVE_ALLOCA_H -# include <alloca.h> +# ifdef _MSC_VER +# include <malloc.h> +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if HAVE_ALLOCA_H +# include <alloca.h> # else -# ifndef alloca /* predefined by HP cc +Olibcalls */ +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); +# endif # endif # endif # endif @@ -8904,7 +9127,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9131: \"$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 @@ -8932,7 +9155,7 @@ # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.o + ALLOCA=alloca.${ac_objext} { test "$extra_verbose" = "yes" && cat << \EOF Defining C_ALLOCA EOF @@ -8943,10 +9166,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8947: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8950 "configure" +echo "configure:9170: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9173 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8970,10 +9193,10 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8974: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8977 "configure" +echo "configure:9197: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9200 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8996,7 +9219,7 @@ ; return 0; } EOF -if { (eval echo configure:9000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9223: \"$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 @@ -9026,10 +9249,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:9030: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9033 "configure" +echo "configure:9253: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9256 "configure" #include "confdefs.h" find_stack_direction () { @@ -9048,7 +9271,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:9052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9275: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -9077,16 +9300,16 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:9081: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9084 "configure" +echo "configure:9304: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9307 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9089: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:9312: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9113,10 +9336,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:9117: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9120 "configure" +echo "configure:9340: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9343 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -9211,7 +9434,7 @@ } } EOF -if { (eval echo configure:9215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_vfork_works=yes else @@ -9237,10 +9460,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:9241: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9244 "configure" +echo "configure:9464: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9467 "configure" #include "confdefs.h" #include <string.h> main () @@ -9250,7 +9473,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:9254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -9278,10 +9501,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9282: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9285 "configure" +echo "configure:9505: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9508 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9304,7 +9527,7 @@ ; return 0; } EOF -if { (eval echo configure:9308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9531: \"$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 @@ -9332,10 +9555,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:9336: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9339 "configure" +echo "configure:9559: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9562 "configure" #include "confdefs.h" /* @@ -9390,7 +9613,7 @@ } EOF -if { (eval echo configure:9394: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -9417,10 +9640,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9421: checking for working mmap" >&5 +echo "configure:9644: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 9424 "configure" +#line 9647 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -9453,7 +9676,7 @@ return 1; } EOF -if { (eval echo configure:9457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -9478,16 +9701,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:9482: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9485 "configure" +echo "configure:9705: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9708 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:9713: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9518,10 +9741,10 @@ for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9522: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9525 "configure" +echo "configure:9745: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9748 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9544,7 +9767,7 @@ ; return 0; } EOF -if { (eval echo configure:9548: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9771: \"$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 @@ -9572,10 +9795,10 @@ done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9576: checking for working mmap" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9579 "configure" +echo "configure:9799: checking for working mmap" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9802 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -9715,7 +9938,7 @@ } EOF -if { (eval echo configure:9719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9942: \"$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 @@ -9753,16 +9976,16 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:9757: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9760 "configure" +echo "configure:9980: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9983 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:9988: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9804,16 +10027,16 @@ 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:9808: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9811 "configure" +echo "configure:10031: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10034 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10039: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9844,10 +10067,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:9848: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9851 "configure" +echo "configure:10071: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10074 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -9870,7 +10093,7 @@ ; return 0; } EOF -if { (eval echo configure:9874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10097: \"$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 @@ -9885,16 +10108,16 @@ 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:9889: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9892 "configure" +echo "configure:10112: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10115 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10120: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9910,16 +10133,16 @@ 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:9914: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9917 "configure" +echo "configure:10137: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10140 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9922: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10145: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -9943,9 +10166,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:9947: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:10170: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 9949 "configure" +#line 10172 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9956,7 +10179,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:9960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10183: \"$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 @@ -9974,9 +10197,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:9978: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:10201: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 9980 "configure" +#line 10203 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9986,7 +10209,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:9990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10213: \"$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 @@ -10017,10 +10240,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:10021: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10024 "configure" +echo "configure:10244: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10247 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -10043,7 +10266,7 @@ ; return 0; } EOF -if { (eval echo configure:10047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10270: \"$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 @@ -10058,16 +10281,16 @@ 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:10062: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10065 "configure" +echo "configure:10285: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10288 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10070: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10293: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10083,16 +10306,16 @@ 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:10087: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10090 "configure" +echo "configure:10310: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10313 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10095: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10318: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10129,16 +10352,16 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:10133: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10136 "configure" +echo "configure:10356: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10359 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10141: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10364: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10164,16 +10387,16 @@ 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:10168: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10171 "configure" +echo "configure:10391: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10394 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10176: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10399: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10205,16 +10428,16 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:10209: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10212 "configure" +echo "configure:10432: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10435 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10217: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10440: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10243,7 +10466,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:10247: checking "for sound support"" >&5 +echo "configure:10470: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -10254,16 +10477,16 @@ 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:10258: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10261 "configure" +echo "configure:10481: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10484 "configure" #include "confdefs.h" #include <multimedia/audio_device.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10266: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10489: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10310,12 +10533,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:10314: checking for ALopenport in -laudio" >&5 +echo "configure:10537: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <<EOF -#line 10319 "configure" +#line 10542 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10326,7 +10549,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:10330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10553: \"$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 @@ -10357,12 +10580,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:10361: checking for AOpenAudio in -lAlib" >&5 +echo "configure:10584: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <<EOF -#line 10366 "configure" +#line 10589 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10373,7 +10596,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:10377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10600: \"$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 @@ -10411,16 +10634,16 @@ 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:10415: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10418 "configure" +echo "configure:10638: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10641 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10423: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10646: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10489,7 +10712,7 @@ fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext <<EOF -#line 10493 "configure" +#line 10716 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -10516,7 +10739,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:10520: checking for TTY-related features" >&5 +echo "configure:10743: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -10532,12 +10755,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:10536: checking for tgetent in -lncurses" >&5 +echo "configure:10759: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <<EOF -#line 10541 "configure" +#line 10764 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10548,7 +10771,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10775: \"$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 @@ -10581,16 +10804,16 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10585: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10588 "configure" +echo "configure:10808: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10811 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10593: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10816: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10611,16 +10834,16 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:10615: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10618 "configure" +echo "configure:10838: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10841 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10623: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10846: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10649,16 +10872,16 @@ 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:10653: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10656 "configure" +echo "configure:10876: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10879 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10661: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:10884: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10692,12 +10915,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:10696: checking for tgetent in -l$lib" >&5 +echo "configure:10919: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <<EOF -#line 10701 "configure" +#line 10924 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10708,7 +10931,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10935: \"$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 @@ -10739,12 +10962,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:10743: checking for tgetent in -lcurses" >&5 +echo "configure:10966: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <<EOF -#line 10748 "configure" +#line 10971 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10755,7 +10978,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10982: \"$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 @@ -10773,12 +10996,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:10777: checking for tgetent in -ltermcap" >&5 +echo "configure:11000: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <<EOF -#line 10782 "configure" +#line 11005 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10789,7 +11012,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10793: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11016: \"$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 @@ -10837,16 +11060,16 @@ 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:10841: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10844 "configure" +echo "configure:11064: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11067 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10849: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:11072: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10868,12 +11091,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:10872: checking for Gpm_Open in -lgpm" >&5 +echo "configure:11095: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <<EOF -#line 10877 "configure" +#line 11100 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10884,7 +11107,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:10888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10933,21 +11156,21 @@ echo "checking for database support" 1>&6 -echo "configure:10937: checking for database support" >&5 +echo "configure:11160: 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:10942: checking for ndbm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10945 "configure" +echo "configure:11165: checking for ndbm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11168 "configure" #include "confdefs.h" #include <ndbm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10950: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:11173: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -10976,12 +11199,12 @@ if test "$with_database_gnudbm" != "no"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:10980: checking for dbm_open in -lgdbm" >&5 +echo "configure:11203: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <<EOF -#line 10985 "configure" +#line 11208 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10992,7 +11215,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11219: \"$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 @@ -11020,10 +11243,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:11024: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11027 "configure" +echo "configure:11247: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11250 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -11046,7 +11269,7 @@ ; return 0; } EOF -if { (eval echo configure:11050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11273: \"$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 @@ -11065,12 +11288,12 @@ echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:11069: checking for dbm_open in -ldbm" >&5 +echo "configure:11292: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <<EOF -#line 11074 "configure" +#line 11297 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11081,7 +11304,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:11085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11308: \"$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 @@ -11123,10 +11346,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:11127: checking for Berkeley db.h" >&5 +echo "configure:11350: checking for Berkeley db.h" >&5 for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 11130 "configure" +#line 11353 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -11144,7 +11367,7 @@ ; return 0; } EOF -if { (eval echo configure:11148: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11371: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -11160,9 +11383,9 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:11164: checking for Berkeley DB version" >&5 +echo "configure:11387: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext <<EOF -#line 11166 "configure" +#line 11389 "configure" #include "confdefs.h" #include <$db_h_path> #if DB_VERSION_MAJOR > 1 @@ -11181,10 +11404,10 @@ rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:11185: checking for $dbfunc" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11188 "configure" +echo "configure:11408: checking for $dbfunc" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11411 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $dbfunc(); below. */ @@ -11207,7 +11430,7 @@ ; return 0; } EOF -if { (eval echo configure:11211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11434: \"$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 @@ -11226,12 +11449,12 @@ echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:11230: checking for $dbfunc in -ldb" >&5 +echo "configure:11453: checking for $dbfunc in -ldb" >&5 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <<EOF -#line 11235 "configure" +#line 11458 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11242,7 +11465,7 @@ $dbfunc() ; return 0; } EOF -if { (eval echo configure:11246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11469: \"$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 @@ -11306,12 +11529,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:11310: checking for SOCKSinit in -lsocks" >&5 +echo "configure:11533: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <<EOF -#line 11315 "configure" +#line 11538 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11322,7 +11545,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:11326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11549: \"$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 @@ -11381,16 +11604,16 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11385: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11388 "configure" +echo "configure:11608: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11611 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:11616: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -11420,12 +11643,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:11424: checking for dlopen in -ldl" >&5 +echo "configure:11647: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldl " cat > conftest.$ac_ext <<EOF -#line 11429 "configure" +#line 11652 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11436,7 +11659,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11663: \"$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 @@ -11465,12 +11688,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11469: checking for _dlopen in -lc" >&5 +echo "configure:11692: checking for _dlopen in -lc" >&5 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11474 "configure" +#line 11697 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11481,7 +11704,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:11485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11708: \"$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 @@ -11510,12 +11733,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11514: checking for dlopen in -lc" >&5 +echo "configure:11737: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11519 "configure" +#line 11742 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11526,7 +11749,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11753: \"$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 @@ -11555,12 +11778,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:11559: checking for shl_load in -ldld" >&5 +echo "configure:11782: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11564 "configure" +#line 11787 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11571,7 +11794,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:11575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11798: \"$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 @@ -11600,12 +11823,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:11604: checking for dld_init in -ldld" >&5 +echo "configure:11827: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11609 "configure" +#line 11832 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11616,7 +11839,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:11620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11843: \"$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 @@ -11666,7 +11889,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:11670: checking how to build a shared library" >&5 +echo "configure:11893: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -11757,10 +11980,10 @@ for ac_func in dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11761: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11764 "configure" +echo "configure:11984: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11987 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11783,7 +12006,7 @@ ; return 0; } EOF -if { (eval echo configure:11787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:12010: \"$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 @@ -11819,11 +12042,11 @@ fi cat > conftest.$ac_ext <<EOF -#line 11823 "configure" +#line 12046 "configure" #include "confdefs.h" int main(int c,char *v[]){return 0;} EOF -if { (eval echo configure:11827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -12460,7 +12683,15 @@ athena3d ) echo " Using Athena-3d scrollbars." ;; esac case "$with_dialogs" in - motif ) echo " Using Motif dialog boxes." ;; + motif ) + echo " Using Motif dialog boxes." + if test "$unexec" = "unexaix.o" -a `uname -v` = 4 -a `uname -r` -ge 3; then + echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." + echo " We recommend using the Athena dialog boxes instead." + echo " Install libXaw and re-run configure with --with-dialogs='athena'." + echo " Read the PROBLEMS file for more information." + fi + ;; athena ) echo " Using Athena dialog boxes." ;; athena3d ) echo " Using Athena-3d dialog boxes." ;; esac @@ -12553,7 +12784,7 @@ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12" + echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -12573,9 +12804,11 @@ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF $ac_vpsub $extrasub +s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g @@ -12605,6 +12838,7 @@ s%@lib_gcc@%$lib_gcc%g s%@RANLIB@%$RANLIB%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@YACC@%$YACC%g s%@SET_MAKE@%$SET_MAKE%g
--- a/configure.in Mon Aug 13 10:49:08 2007 +0200 +++ b/configure.in Mon Aug 13 10:49:50 2007 +0200 @@ -621,17 +621,6 @@ eval "$opt=\"$val\"" ;; - dnl XFontSet support? - "with_xfs" ) - case "$val" in - y | ye | yes ) val=yes ;; - n | no | non | none ) val=no ;; - * ) USAGE_ERROR(["The \`--$optname' option must have one of these values: - \`yes', or \`no'."]) ;; - esac - eval "$opt=\"$val\"" - ;; - dnl Mail locking specification "mail_locking" ) case "$val" in @@ -702,7 +691,7 @@ dnl Has the user specified one of the path options? prefix | exec_prefix | bindir | datadir | statedir | libdir | \ mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \ - archlibdir | docdir | package_path ) + archlibdir | docdir | package_path ) dnl If the value was omitted, get it from the next argument. if test "$valomitted" = "yes"; then if test "$#" = 0; then @@ -885,13 +874,22 @@ fi done +dnl Do our best to deal with automounter brokenness +dnl CANONICALIZE_PATH(varname) +define([CANONICALIZE_PATH], +[if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi + $1=`echo "[$]$1" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi])dnl + dnl Calculate canonical name for blddir (i.e. current directory). dnl PWD may already be the preferable absolute name for ".", dnl but we can't trust it - it is sometimes inaccurate. absolute_pwd="`pwd`"; if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd" then blddir="$PWD" -else blddir="$absolute_pwd" +else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir) fi AC_SUBST(blddir) @@ -901,7 +899,7 @@ case "$srcdir" in /* ) ;; . ) srcdir="$blddir" ;; - * ) srcdir="`cd $srcdir && pwd`" ;; + * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;; esac dnl Check if the source directory already has a configured system in it. @@ -1466,6 +1464,7 @@ *-xenix* ) opsys=xenix ;; *-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;; *-bsd386* | *-bsdi1* ) opsys=bsd386 ;; + *-bsdi4* ) opsys=bsdos4 ;; *-bsdi3* ) opsys=bsdos3 ;; *-bsdi2.1* ) opsys=bsdos2-1 ;; *-bsdi2* ) opsys=bsdos2 ;; @@ -1931,7 +1930,7 @@ AC_MSG_CHECKING("for runtime libraries flag") case "$opsys" in sol2 ) dash_r="-R" ;; - decosf* | linux* ) dash_r="-rpath " ;; + decosf* | linux* | irix*) dash_r="-rpath " ;; *) dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do @@ -1964,9 +1963,10 @@ define([XE_ADD_RUNPATH_DIR],[{ xe_runpath_dir=$1 dnl PRINT_VAR(ld_switch_site ld_switch_x_site runpath xe_runpath_dir LD_RUN_PATH xe_ldflags) +dnl Many systems have *.so, HP-UX has *.sl, Freebsd 2.2.5 only has *.so.nn test "$xe_runpath_dir" != "/lib" -a \ "$xe_runpath_dir" != "/usr/lib" -a \ - -n "`ls ${xe_runpath_dir}/*.s[[ol]] 2>/dev/null`" && \ + -n "`ls ${xe_runpath_dir}/*.s[[ol]] ${xe_runpath_dir}/*.so.* 2>/dev/null`" && \ eval "$xe_add_unique_runpath_dir" }])dnl @@ -2472,7 +2472,7 @@ test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-msw.o) test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o) fi - dnl check for our special version of select + dnl check for our special version of select AC_TRY_RUN([#include <fcntl.h> int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }], [AC_DEFINE(HAVE_MSG_SELECT)]) @@ -2974,10 +2974,11 @@ dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no case "$with_xim" in "" | "yes" ) AC_CHECKING(for XIM) + AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no) dnl XIM + Lesstif is not (yet?) usable - if test "$have_lesstif" = "yes"; then with_xim=xlib - else AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif, with_xim=xlib) - fi + if test "$have_motif $have_lesstif" = "yes no"; then + AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif) + fi ;; esac if test "$with_xim" != "no"; then AC_DEFINE(HAVE_XIM) @@ -2995,7 +2996,7 @@ fi fi - dnl "with_xim" = "yes" + dnl "with_xfs" = "yes" if test "$with_xfs" = "yes" ; then AC_CHECKING(for XFontSet) AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no) @@ -3005,7 +3006,7 @@ XE_ADD_OBJS(input-method-xfs.o) fi fi - fi dnl with_xim + fi dnl with_xfs dnl Autodetect WNN test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support @@ -4054,7 +4055,15 @@ athena3d ) echo " Using Athena-3d scrollbars." ;; esac case "$with_dialogs" in - motif ) echo " Using Motif dialog boxes." ;; + motif ) + echo " Using Motif dialog boxes." + if test "$unexec" = "unexaix.o" -a `uname -v` = 4 -a `uname -r` -ge 3; then + echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher." + echo " We recommend using the Athena dialog boxes instead." + echo " Install libXaw and re-run configure with --with-dialogs='athena'." + echo " Read the PROBLEMS file for more information." + fi + ;; athena ) echo " Using Athena dialog boxes." ;; athena3d ) echo " Using Athena-3d dialog boxes." ;; esac
--- a/etc/BETA Mon Aug 13 10:49:08 2007 +0200 +++ b/etc/BETA Mon Aug 13 10:49:50 2007 +0200 @@ -224,6 +224,10 @@ Each patch will be reviewed by the patches review board, and will be acked and added to the distribution, or rejected with an explanation. +Patches to XEmacs Lisp packages should be sent to the maintainer of +the package. If the maintainer is listed as `XEmacs Development Team' +patches should be sent to <xemacs-patches@xemacs.org>. + Emailed patches should preferably be sent in MIME format and quoted printable encoding (if necessary).
--- a/etc/PACKAGES Mon Aug 13 10:49:08 2007 +0200 +++ b/etc/PACKAGES Mon Aug 13 10:49:50 2007 +0200 @@ -1,7 +1,7 @@ * Description of available packages by category =============================================== -This data is up-to-date as of 13 January 1998. +This data is up-to-date as of 10 February 1999. ** Library Packages (libs) ========================== @@ -12,8 +12,7 @@ *** Sun -Support for Sparcworks. Must be installed prior to XEmacs build to be -effective. +Support for Sparcworks. *** apel @@ -38,8 +37,7 @@ *** tooltalk -Support for building with Tooltalk. Must be installed prior to XEmacs -build to be effective. +Support for building with Tooltalk. *** xemacs-base @@ -101,7 +99,7 @@ *** vm -An Emacs mailer. This package must be installed prior to building XEmacs. +An Emacs mailer. *** w3 @@ -280,8 +278,7 @@ *** vc -Version Control for Free systems. This package must be installed -prior to building XEmacs. +Version Control for Free systems. *** vc-cc
--- a/etc/package-index.LATEST.pgp Mon Aug 13 10:49:08 2007 +0200 +++ b/etc/package-index.LATEST.pgp Mon Aug 13 10:49:50 2007 +0200 @@ -1,6 +1,72 @@ ;; Package Index file -- Do not edit manually. ;;;@@@ (package-get-update-base-entry (quote +(ediff + (standards-version 1.0 + version "1.17" + author-version "2.72" + date "1999-02-16" + build-date "1999-03-01" + maintainer "Michael Kifer <kifer@cs.sunysb.edu>" + distribution stable + priority medium + category "prog" + dump nil + description "Interface over GNU patch." + filename "ediff-1.17-pkg.tar.gz" + md5sum "b69c621d1943a9b668374f0babd243f3" + size 281481 + provides (ediff) + requires (pcl-cvs elib dired xemacs-base) + type regular +)) +)) +;;;@@@ +(package-get-update-base-entry (quote +(hm--html-menus + (standards-version 1.0 + version "1.12" + author-version "5.9" + date "1999-02-05" + build-date "1999-02-05" + maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" + distribution stable + priority low + category "oa" + dump nil + description "HTML editing." + filename "hm--html-menus-1.12-pkg.tar.gz" + md5sum "fc80ef260cc0682bde6e706cdc8ddae4" + size 177442 + provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view tmpl-minor-mode) + requires (dired xemacs-base) + type regular +)) +)) +;;;@@@ +(package-get-update-base-entry (quote +(jde + (standards-version 1.0 + version "1.14" + author-version "2.14" + date "1999-02-05" + build-date "1999-02-05" + maintainer "Andy Piper <andy@xemacs.org>" + distribution stable + priority medium + category "prog" + dump nil + description "Java language and development support." + filename "jde-1.14-pkg.tar.gz" + md5sum "1028c54ef317d8dd4d4c78e5b9c004e6" + size 320702 + provides (jde) + requires (cc-mode debug speedbar edit-utils mail-lib xemacs-base) + type regular +)) +)) +;;;@@@ +(package-get-update-base-entry (quote (skk (standards-version 1.0 version "1.12" @@ -113,19 +179,19 @@ (package-get-update-base-entry (quote (mule-base (standards-version 1.0 - version "1.27" - author-version "21.0b62" - date "1998-12-05" - build-date "1999-02-02" + version "1.28" + author-version "21.0b63" + date "1999-02-17" + build-date "1999-03-01" maintainer "SL Baur <steve@altair.xemacs.org>" distribution mule priority high category "mule" dump t description "Basic Mule support, required for building with Mule." - filename "mule-base-1.27-pkg.tar.gz" - md5sum "7a9732261af6d612e3800c23b3491e41" - size 508690 + filename "mule-base-1.28-pkg.tar.gz" + md5sum "498d725e923476af3df12b83fef6277d" + size 441953 provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) requires (fsf-compat xemacs-base) type regular @@ -179,19 +245,19 @@ (package-get-update-base-entry (quote (text-modes (standards-version 1.0 - version "1.17" - author-version "21.0b62" - date "1998-12-30" - build-date "1999-02-02" + version "1.18" + author-version "21.0b63" + date "1999-02-15" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high category "oa" dump nil description "Miscellaneous support for editing text files." - filename "text-modes-1.17-pkg.tar.gz" - md5sum "3004046c35c63dd6df85094c2796d020" - size 195328 + filename "text-modes-1.18-pkg.tar.gz" + md5sum "f9d30bd220d0806179397194603b0b0f" + size 207596 provides (autoinsert crontab-edit filladapt fold-isearch folding image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode) requires (ispell fsf-compat xemacs-base) type regular @@ -355,19 +421,19 @@ (package-get-update-base-entry (quote (calendar (standards-version 1.0 - version "1.09" - author-version "21.0b62" - date "1998-09-01" - build-date "1999-02-02" + version "1.10" + author-version "21.0b63" + date "1999-02-08" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "oa" dump nil description "Calendar and diary support." - filename "calendar-1.09-pkg.tar.gz" - md5sum "92e267eb29597430b85834cc57271e86" - size 248518 + filename "calendar-1.10-pkg.tar.gz" + md5sum "09e93d157d2853a35e735a6a04f54055" + size 248580 provides (appt cal-dst cal-french cal-mayan cal-x cal-xemacs calendar diary-ins diary-lib holidays lunar solar) requires (xemacs-base) type regular @@ -421,19 +487,19 @@ (package-get-update-base-entry (quote (edit-utils (standards-version 1.0 - version "1.36" - author-version "21.0b62" - date "1998-12-30" - build-date "1999-02-02" + version "1.37" + author-version "21.0b63" + date "1999-02-18" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority high category "oa" dump nil description "Miscellaneous editor extensions, you probably need this." - filename "edit-utils-1.36-pkg.tar.gz" - md5sum "c8465a98c57d1c91ccfd2ce1aee3b508" - size 574967 + filename "edit-utils-1.37-pkg.tar.gz" + md5sum "fb7f38fd037c0fa045a199796c69e6d7" + size 577293 provides (abbrevlist atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon man mic-paren paren popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db) requires (xemacs-base) type single @@ -553,19 +619,19 @@ (package-get-update-base-entry (quote (viper (standards-version 1.0 - version "1.12" - author-version "3.05" - date " to viper-" - build-date "1999-02-02" - maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" + version "1.13" + author-version "3.061" + date "1999-02-17" + build-date "1999-03-01" + maintainer "Michael Kifer <kifer@cs.sunysb.edu>" distribution stable priority low category "wp" dump nil description "VI emulation support." - filename "viper-1.12-pkg.tar.gz" - md5sum "ded88cfaad39a6001389918808549efa" - size 317341 + filename "viper-1.13-pkg.tar.gz" + md5sum "b369c53c499c3ab2e1478031ddaf6071" + size 317868 provides (viper) requires (xemacs-base) type regular @@ -751,19 +817,19 @@ (package-get-update-base-entry (quote (vc (standards-version 1.0 - version "1.16" - author-version "21.0b62" - date "1998-10-16" - build-date "1999-02-02" + version "1.17" + author-version "21.0b63" + date "1999-02-25" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "prog" dump nil description "Version Control for Free systems." - filename "vc-1.16-pkg.tar.gz" - md5sum "59229957e35e7109cb92407cf9c9dcaf" - size 84381 + filename "vc-1.17-pkg.tar.gz" + md5sum "4e80458c0e6d4cf2805ed6a46135e1c6" + size 84499 provides (vc) requires (dired xemacs-base) type regular @@ -839,19 +905,19 @@ (package-get-update-base-entry (quote (prog-modes (standards-version 1.0 - version "1.17" - author-version "21.0b62" - date "1998-12-30" - build-date "1999-02-02" + version "1.18" + author-version "21.0b63" + date "1999-02-05" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "prog" dump nil description "Support for various programming languages." - filename "prog-modes-1.17-pkg.tar.gz" - md5sum "23daac543cf9622f12fab0aff788ba26" - size 594744 + filename "prog-modes-1.18-pkg.tar.gz" + md5sum "b6b86a7a88544c54e5231e11e0a9af79" + size 595658 provides (autoconf-mode cperl-mode eiffel3 f90 fortran ksh-mode m4-mode makefile perl-mode postscript python-mode rexx-mode simula-mode tcl teco verilog-mod) requires (mail-lib xemacs-devel xemacs-base) type regular @@ -905,19 +971,19 @@ (package-get-update-base-entry (quote (c-support (standards-version 1.0 - version "1.10" - author-version "21.0b62" - date "1998-03-25" - build-date "1999-02-02" + version "1.11" + author-version "21.0b63" + date "1999-02-06" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution contrib priority low category "prog" dump nil description "Basic single-file add-ons for editing C code." - filename "c-support-1.10-pkg.tar.gz" - md5sum "40abc17d38e4a4a206cfc6b1eb0f6a8e" - size 69812 + filename "c-support-1.11-pkg.tar.gz" + md5sum "d93566b09c3d9e79ac12a644250e7ca0" + size 69876 provides (c-comment-edit cmacexp ctypes hideif hideshow) requires (cc-mode xemacs-base) type regular @@ -1147,19 +1213,19 @@ (package-get-update-base-entry (quote (tm (standards-version 1.0 - version "1.16" - author-version "21.0b62" - date "1998-08-27" - build-date "1999-02-02" + version "1.17" + author-version "21.0b63" + date "1999-02-06" + build-date "1999-02-06" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority low category "comm" dump nil description "Emacs MIME support." - filename "tm-1.16-pkg.tar.gz" - md5sum "e8a3e6856d5fcfc674f95bc5b82a343e" - size 329571 + filename "tm-1.17-pkg.tar.gz" + md5sum "ee33e9f5fb4cd461e19e5ff23b4a3ea2" + size 329581 provides (tm tm-edit tm-view mime-setup) requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base) type regular @@ -1169,19 +1235,19 @@ (package-get-update-base-entry (quote (gnus (standards-version 1.0 - version "1.37" + version "1.38" author-version "5.6.45" - date "1998-09-25" - build-date "1999-02-02" + date "1999-02-17" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "comm" dump nil description "The Gnus Newsreader and Mailreader." - filename "gnus-1.37-pkg.tar.gz" - md5sum "8af2b47c6ebbe850d7e8c9906aa1611a" - size 1875259 + filename "gnus-1.38-pkg.tar.gz" + md5sum "22f00c391c4680d0a4fe53a5e6b85f40" + size 1869217 provides (gnus message) requires (gnus tm apel w3 mh-e mailcrypt rmail mail-lib xemacs-base) type regular @@ -1323,19 +1389,19 @@ (package-get-update-base-entry (quote (eudc (standards-version 1.0 - version "1.27" - author-version "1.26" - date "1998-12-14" - build-date "1999-02-02" + version "1.28" + author-version "1.28" + date "1999-02-13" + build-date "1999-03-01" maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>" distribution stable priority low category "comm" dump nil description "Emacs Unified Directory Client (LDAP, PH)." - filename "eudc-1.27-pkg.tar.gz" - md5sum "60dfa739f2949117e7d7a5e382383419" - size 60248 + filename "eudc-1.28-pkg.tar.gz" + md5sum "e88e7ed791d16105824812edcd743bc6" + size 62476 provides (eudc eudc-ldap eudc-ph) requires (fsf-compat xemacs-base bbdb) type regular @@ -1367,19 +1433,19 @@ (package-get-update-base-entry (quote (w3 (standards-version 1.0 - version "1.11" - author-version "4.0pre23" - date "1998-07-18" - build-date "1999-02-02" + version "1.12" + author-version "4.0pre39" + date "1999-01-08" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution experimental priority high category "comm" dump nil description "A Web browser." - filename "w3-1.11-pkg.tar.gz" - md5sum "98237890a9a0ba5b76b2daf1129b2384" - size 612581 + filename "w3-1.12-pkg.tar.gz" + md5sum "e7afce350e99f71dfde7ec752290670c" + size 679826 provides (w3 url) requires (w3 mail-lib xemacs-base) type regular @@ -1389,19 +1455,19 @@ (package-get-update-base-entry (quote (vm (standards-version 1.0 - version "1.15" - author-version "6.62" + version "1.16" + author-version "6.67" date "1998-09-22" - build-date "1999-02-02" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution stable priority medium category "comm" dump nil description "An Emacs mailer." - filename "vm-1.15-pkg.tar.gz" - md5sum "732ed51ac098cf14a7a164db9cd88f2d" - size 548653 + filename "vm-1.16-pkg.tar.gz" + md5sum "e5ad7011473b17f7d1e9521407199b64" + size 603773 provides (vm) requires (mail-lib xemacs-base) type regular @@ -1565,19 +1631,19 @@ (package-get-update-base-entry (quote (apel (standards-version 1.0 - version "1.08" + version "1.09" author-version "3.3" date "1998-07-23" - build-date "1999-02-02" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "libs" dump nil description "A Portable Emacs Library. Used by XEmacs MIME support." - filename "apel-1.08-pkg.tar.gz" - md5sum "125d8a29874f82ba1b1900848869e3c3" - size 34725 + filename "apel-1.09-pkg.tar.gz" + md5sum "2030f4f38ef76da3104f77f36b797916" + size 35302 provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich) requires (fsf-compat xemacs-base) type regular @@ -1675,19 +1741,19 @@ (package-get-update-base-entry (quote (xemacs-base (standards-version 1.0 - version "1.29" - author-version "21.0b62" - date "1998-12-05" - build-date "1999-02-02" + version "1.30" + author-version "21.0b63" + date "1998-11-30" + build-date "1999-03-01" maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>" distribution mule priority high category "libs" dump nil description "Fundamental XEmacs support, you almost certainly need this." - filename "xemacs-base-1.29-pkg.tar.gz" - md5sum "da907ff396bc3d1143a7d2f5142f5dd2" - size 430466 + filename "xemacs-base-1.30-pkg.tar.gz" + md5sum "e0c4ffb2561c10755c8132b2b88e11b2" + size 430503 provides (add-log advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button) requires () type regular
--- a/lib-src/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,21 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + +1999-02-17 SL Baur <steve@xemacs.org> + + * update-elc.sh (ignore_dirs): Ignore lisp/mule subdirectory when + running latin-1 XEmacs. Eliminate 20.4 bundled kludges. + * update-custom.sh (ignore_dirs): Ditto. + +1999-02-15 Martin Buchholz <martin@xemacs.org> + + * update-elc.sh: + * update-autoloads.sh: + * update-custom.sh: + - improved automounter tmp directory support. + - support 4 (!) empirically discovered automounter conventions + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/lib-src/update-autoloads.sh Mon Aug 13 10:49:08 2007 +0200 +++ b/lib-src/update-autoloads.sh Mon Aug 13 10:49:50 2007 +0200 @@ -43,14 +43,24 @@ export EMACS -REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS` +EMACS_DIR=`cd \`dirname $EMACS\` && pwd`; +CANON_PWD=`pwd` +# Account for various system automounter configurations +if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi + EMACS_DIR=`echo "$EMACS_DIR" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` + CANON_PWD=`echo "$CANON_PWD" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi +REAL="$EMACS_DIR/`basename $EMACS`" -echo "Rebuilding autoloads in `pwd|sed 's|^/tmp_mnt||'`" +echo "Rebuilding autoloads in $CANON_PWD" echo " with $REAL..." if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then echon() - { + { /bin/echo $* '\c' } else
--- a/lib-src/update-custom.sh Mon Aug 13 10:49:08 2007 +0200 +++ b/lib-src/update-custom.sh Mon Aug 13 10:49:50 2007 +0200 @@ -45,13 +45,20 @@ export EMACS -REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS` +EMACS_DIR=`cd \`dirname $EMACS\` && pwd`; +# Account for various system automounter configurations +if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi + EMACS_DIR=`echo "$EMACS_DIR" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi +REAL="$EMACS_DIR/`basename $EMACS`" echo "Rebuilding custom-loads with $REAL..." if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then echon() - { + { /bin/echo $* '\c' } else @@ -62,12 +69,7 @@ fi # Compute patterns to ignore when searching for files -# These directories don't have customizations, or are partially broken. -# If some of the packages listed here are customized, don't forget to -# remove the directory! -ignore_dirs="cl egg eos its language locale sunpro term \ -tooltalk iso electric \ -hm--html-menus gnats pcl-cvs vm" +ignore_dirs="" # Only use Mule XEmacs to build Mule-specific autoloads & custom-loads. echon "Checking for Mule support..." @@ -75,7 +77,7 @@ mule_p="`$EMACS -batch -q -no-site-file -eval \"$lisp_prog\"`" if test "$mule_p" = nil ; then echo No - ignore_dirs="$ignore_dirs mule leim skk" + ignore_dirs="$ignore_dirs mule" else echo Yes fi
--- a/lib-src/update-elc.sh Mon Aug 13 10:49:08 2007 +0200 +++ b/lib-src/update-elc.sh Mon Aug 13 10:49:50 2007 +0200 @@ -60,12 +60,24 @@ } fi -REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS` -BYTECOMP="$REAL -batch -vanilla " -echo "Recompiling in `pwd|sed 's|^/tmp_mnt||'`" +EMACS_DIR=`cd \`dirname $EMACS\` && pwd`; +CANON_PWD=`pwd` +# Account for various system automounter configurations +if test -d "/net"; then + if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi + EMACS_DIR=`echo "$EMACS_DIR" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` + CANON_PWD=`echo "$CANON_PWD" | \ + sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"` +fi +REAL="$EMACS_DIR/`basename $EMACS`" + +echo "Recompiling in $CANON_PWD" echo " with $REAL..." -$EMACS -batch -vanilla -l `pwd`/lisp/cleantree -f batch-remove-old-elc lisp +BYTECOMP="$REAL -batch -vanilla " + +$EMACS -batch -vanilla -l $CANON_PWD/lisp/cleantree -f batch-remove-old-elc lisp prune_vc="( -name '.*' -o -name SCCS -o -name RCS -o -name CVS ) -prune -o" @@ -94,11 +106,7 @@ mule_p="`$EMACS -batch -vanilla -eval \"$lisp_prog\"`" if test "$mule_p" = nil ; then echo No - ignore_dirs="$ignore_dirs its egg mule language leim skk" - ignore_pattern='\!/tl/char-table.el$!d -\!/tl/chartblxmas.el$!d -\!/mu/latex-math-symbol.el$!d -' + ignore_dirs="$ignore=dirs mule" else echo Yes fi
--- a/lisp/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,79 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + +1999-02-22 Jan Vroonhof <vroonhof@math.ethz.ch> + + * userlock.el (ask-user-about-supersession-threat-dbox): Guard + against window close (Fix Bug #460). + (ask-user-about-lock-dbox): Idem. + +1999-02-12 Andy Piper <andy@xemacs.org> + + * about.el (xemacs-hackers): change andy's email address. + (about-url-alist): change andy's web page address. + (about-xemacs): add piper. + +1999-02-16 SL Baur <steve@xemacs.org> + + * mule/arabic.el: + mule/canna-leim.el: + mule/chinese.el: + mule/cyrillic.el: + mule/english.el: + mule/european.el: + mule/greek.el: + mule/hebrew.el: + mule/japanese.el: + mule/kinsoku.el: + mule/korean.el: + mule/misc-lang.el: + mule/mule-category.el: + mule/mule-ccl.el: + mule/mule-charset.el: + mule/mule-cmds.el: + mule/mule-coding.el: + mule/mule-files.el: + mule/mule-help.el: + mule/mule-init.el: + mule/mule-misc.el: + mule/mule-tty-init.el: + mule/mule-x-init.el: + mule/viet-chars.el: Remerge from mule-base. + + * dumped-lisp.el (preloaded-file-list): Core mule files moved out + of mule-base into lisp/mule. + +1999-02-15 Martin Buchholz <martin@xemacs.org> + + * paths.el: + - improved automounter tmp directory support. + - support 4 (!) empirically discovered automounter conventions + +1999-02-10 Adrian Aichner <aichner@ecf.teradyne.com> + + * process.el (exec-to-string): Use `shell-command-switch' in place + of hard-wired "-c" (for WindowsNT). + +1999-02-08 Charles G Waldman <cgw@pgt.com> + + * menubar-items.el (default-menubar): Remove obsolete + "Gopher" item + +1999-02-06 Jan Vroonhof <vroonhof@math.ethz.ch> + + * package-admin.el (package-admin-get-install-dir): First fall + back to the location of xemacs-base for non-mule packages. + +1999-02-12 SL Baur <steve@xemacs.org> + + * etags.el (pop-tag-mark): autoload to match key binding. + +1999-02-02 Jan Vroonhof <vroonhof@math.ethz.ch> + + * package-get.el (package-get-remote-filename): Don't bug out for + a local file name in the search entry. + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/lisp/about.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/about.el Mon Aug 13 10:49:50 2007 +0200 @@ -80,7 +80,7 @@ (martin "Martin Buchholz" "martin@xemacs.org") (ograf "Oliver Graf" "ograf@fga.de") (pez "Peter Pezaris" "pez@dwwc.com") - (piper "Andy Piper" "andyp@parallax.co.uk") + (piper "Andy Piper" "andy@xemacs.org") (rickc "Rick Campbell" "rickc@lehman.com") (rossini "Anthony Rossini" "rossini@stat.sc.edu") (vin "Vin Shelton" "acs@acm.org") @@ -116,7 +116,7 @@ (marcpa . "http://www.positron911.com/products/power.htm") (ograf . "http://www.fga.de/~ograf/") (pez . "http://www.dwwc.com/") - (piper . "http://www.parallax.co.uk/~andyp") + (piper . "http://www.xemacs.freeserve.co.uk/") (vin . "http://www.upa.org/") (stigb . "http://www.tihlde.hist.no/~stigb/") (wget . "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/") @@ -283,7 +283,7 @@ :value who) (widget-insert (format " <%s>\n" address))))) ;; Setup persons responsible for this release. - (mapc 'setup-person '(slb hniksic kyle martin)) + (mapc 'setup-person '(slb hniksic kyle martin piper)) (widget-insert "\n\t* ") (widget-create 'link :help-echo "A legion of XEmacs hackers" :action 'about-hackers
--- a/lisp/auto-autoloads.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/auto-autoloads.el Mon Aug 13 10:49:50 2007 +0200 @@ -740,7 +740,7 @@ ;;;*** -;;;### (autoloads (tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file tag-complete-symbol find-tag-other-window find-tag visit-tags-table) "etags" "lisp/etags.el") +;;;### (autoloads (pop-tag-mark tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file tag-complete-symbol find-tag-other-window find-tag visit-tags-table) "etags" "lisp/etags.el") (autoload 'visit-tags-table "etags" "\ Tell tags commands to use tags table file FILE when all else fails. @@ -840,6 +840,11 @@ Display list of all tags in tag table REGEXP matches." t nil) (define-key esc-map "*" 'pop-tag-mark) +(autoload 'pop-tag-mark "etags" "\ +Go to last tag position. +`find-tag' maintains a mark-stack seperate from the \\[set-mark-command] mark-stack. +This function pops (and moves to) the tag at the top of this stack." t nil) + ;;;*** ;;;### (autoloads (finder-by-keyword) "finder" "lisp/finder.el")
--- a/lisp/custom-load.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/custom-load.el Mon Aug 13 10:49:50 2007 +0200 @@ -75,8 +75,7 @@ (custom-add-loads 'isearch '("isearch-mode")) (custom-add-loads 'font-lock-faces '("font-lock")) (custom-add-loads 'modeline '("modeline")) -(custom-add-loads 'packages '("package-get-custom")) -(custom-add-loads 'editing '("simple" "abbrev" "fill" "mouse" "cus-edit" "dragdrop")) +(custom-add-loads 'editing '("simple" "abbrev" "fill" "mouse" "dragdrop" "cus-edit")) (custom-add-loads 'matching '("simple" "isearch-mode" "hyper-apropos")) (custom-add-loads 'i18n '("cus-edit")) (custom-add-loads 'info '("toolbar-items" "info"))
--- a/lisp/dumped-lisp.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/dumped-lisp.el Mon Aug 13 10:49:50 2007 +0200 @@ -126,11 +126,11 @@ (when-feature mule "arabic") (when-feature mule "chinese") - (when-feature mule "mule-base/cyrillic") ; overloaded in leim/quail + (when-feature mule "mule/cyrillic") ; overloaded in leim/quail (when-feature mule "english") ;; (when-feature mule "ethiopic") (when-feature mule "european") - (when-feature mule "mule-base/greek") ; overloaded in leim/quail + (when-feature mule "mule/greek") ; overloaded in leim/quail (when-feature mule "hebrew") (when-feature mule "japanese") (when-feature mule "korean")
--- a/lisp/etags.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/etags.el Mon Aug 13 10:49:50 2007 +0200 @@ -1189,6 +1189,7 @@ ;;;###autoload (define-key esc-map "*" 'pop-tag-mark) +;;;###autoload (defun pop-tag-mark (arg) "Go to last tag position. `find-tag' maintains a mark-stack seperate from the \\[set-mark-command] mark-stack. @@ -1203,3 +1204,5 @@ (provide 'etags) (provide 'tags) + +;;; etags.el ends here
--- a/lisp/menubar-items.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/menubar-items.el Mon Aug 13 10:49:50 2007 +0200 @@ -176,8 +176,6 @@ :active (fboundp 'gnus)] ["Browse the Web" w3 :active (fboundp 'w3)] - ["Gopher" gopher - :active (fboundp 'gopher)] "----" ["Spell-Check Buffer" ispell-buffer :active (fboundp 'ispell-buffer)]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/arabic.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,67 @@ +;;; arabic.el --- pre-loaded support for Arabic. + +;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; Synched up with: Mule 2.3. + +;;; Code: + +;; Three character sets for Arabic +(make-charset 'arabic-digit "Arabic digits" + '(registry "MuleArabic-0" + dimension 1 + chars 94 + final ?2 + graphic 0 + direction l2r + )) + +(make-charset 'arabic-1-column "Arabic 1-column" + '(registry "MuleArabic-1" + dimension 1 + chars 94 + final ?3 + graphic 0 + direction r2l + )) + +(make-charset 'arabic-2-column "Arabic 2-column" + '(registry "MuleArabic-2" + dimension 1 + chars 94 + final ?4 + graphic 0 + direction r2l + )) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; ARABIC +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (define-language-environment 'arabic +;; "Arabic" +;; (lambda () +;; (require 'arabic))) + +;;; arabic.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/canna-leim.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,55 @@ +;;; canna-leim.el --- Canna-related code for LEIM +;; Copyright (C) 1997 Stephen Turnbull <turnbull@sk.tsukuba.ac.jp> +;; Copyright (C) 1997 Free Software Foundation, Inc. +;; +;; Shamelessly ripped off from +;; +;; skk-leim.el --- SKK related code for LEIM +;; Copyright (C) 1997 +;; Murata Shuuichirou <mrt@mickey.ai.kyutech.ac.jp> +;; +;; Author: Stephen Turnbull <turnbull@sk.tsukuba.ac.jp> +;; Version: canna-leim.el,v 1.2 1997/10/27 10:08:49 steve Exp +;; Keywords: japanese, input method, LEIM +;; Last Modified: 1997/10/27 10:08:49 + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either versions 2, or (at your option) +;; any later version. + +;; This program is distributed in the hope that it will be useful +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs, see the file COPYING. If not, write to the Free +;; Software Foundation Inc., 59 Temple Place - Suite 330, Boston, +;; MA 02111-1307, USA. + +;;; TODO +;; +;; Add pointers to Canna documentation in LEIM format + +(defun canna-activate (&optional name) + (if (featurep 'CANNA) + (require 'canna) + (error "Canna is not built into this XEmacs")) + (setq inactivate-current-input-method-function 'canna-inactivate) + (unless (featurep 'leim-canna-initialized) + (canna) + (provide 'leim-canna-initialized)) + (canna-toggle-japanese-mode)) + +(defun canna-inactivate () + (cond (canna:*japanese-mode* (canna-toggle-japanese-mode))) ) + +(register-input-method + 'japanese-canna "Japanese" + 'canna-activate nil + "Canna - a kana to kanji conversion program" ) + +(provide 'canna-leim) + +;;; canna-leim.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/chinese.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,268 @@ +;;; chinese.el --- Support for Chinese + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, Chinese + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; For Chinese, three character sets GB2312, BIG5, and CNS11643 are +;; supported. + +;;; Code: + +;; Syntax of Chinese characters. +(modify-syntax-entry 'chinese-gb2312 "w") +(loop for row in '(33 34 41) + do (modify-syntax-entry `[chinese-gb2312 ,row] ".")) +;;(loop for row from 35 to 40 +;; do (modify-syntax-entry `[chinese-gb2312 ,row] "w")) +;;(loop for row from 42 to 126 +;; do (modify-syntax-entry `[chinese-gb2312 ,row] "w")) + +(modify-syntax-entry 'chinese-cns11643-1 "w") +(modify-syntax-entry 'chinese-cns11643-2 "w") +(modify-syntax-entry 'chinese-big5-1 "w") +(modify-syntax-entry 'chinese-big5-2 "w") + +;; CNS11643 Plane3 thru Plane7 +;; These represent more and more obscure Chinese characters. +;; By the time you get to Plane 7, we're talking about characters +;; that appear once in some ancient manuscript and whose meaning +;; is unknown. + +(flet + ((make-chinese-cns11643-charset + (name plane final) + (make-charset + name (concat "CNS 11643 Plane " plane " (Chinese traditional)") + `(registry + ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$") + dimension 2 + chars 94 + final ,final + graphic 0)) + (modify-syntax-entry name "w") + (modify-category-entry name ?t) + )) + (make-chinese-cns11643-charset 'chinese-cns11643-3 "3" ?I) + (make-chinese-cns11643-charset 'chinese-cns11643-4 "4" ?J) + (make-chinese-cns11643-charset 'chinese-cns11643-5 "5" ?K) + (make-chinese-cns11643-charset 'chinese-cns11643-6 "6" ?L) + (make-chinese-cns11643-charset 'chinese-cns11643-7 "7" ?M) + ) + +;; ISO-IR-165 (CCITT Extended GB) +;; It is based on CCITT Recommendation T.101, includes GB 2312-80 + +;; GB 8565-88 table A4 + 293 characters. +(make-charset + 'chinese-isoir165 + "ISO-IR-165 (CCITT Extended GB; Chinese simplified)" + `(registry "isoir165" + dimension 2 + chars 94 + final ?E + graphic 0)) + +;; PinYin-ZhuYin +(make-charset 'sisheng "PinYin-ZhuYin" + '(registry "sisheng_cwnn\\|OMRON_UDC_ZH" + dimension 1 + chars 94 + final ?0 + graphic 0 + )) + +;; If you prefer QUAIL to EGG, please modify below as you wish. +;;(when (and (featurep 'egg) (featurep 'wnn)) +;; (setq wnn-server-type 'cserver) +;; (load "pinyin") +;; (setq its:*standard-modes* +;; (cons (its:get-mode-map "PinYin") its:*standard-modes*))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Chinese (general) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (make-coding-system +;; 'chinese-iso-7bit 2 ?C +;; "ISO 2022 based 7bit encoding for Chinese GB and CNS (MIME:ISO-2022-CN)" +;; '(ascii +;; (nil chinese-gb2312 chinese-cns11643-1) +;; (nil chinese-cns11643-2) +;; (nil chinese-cns11643-3 chinese-cns11643-4 chinese-cns11643-5 +;; chinese-cns11643-6 chinese-cns11643-7) +;; nil ascii-eol ascii-cntl seven locking-shift single-shift nil nil nil +;; init-bol)) + +;; (define-coding-system-alias 'iso-2022-cn 'chinese-iso-7bit) +;; (define-coding-system-alias 'iso-2022-cn-ext 'chinese-iso-7bit) + +;; (define-prefix-command 'describe-chinese-environment-map) +;; (define-key-after describe-language-environment-map [Chinese] +;; '("Chinese" . describe-chinese-environment-map) +;; t) + +;; (define-prefix-command 'setup-chinese-environment-map) +;; (define-key-after setup-language-environment-map [Chinese] +;; '("Chinese" . setup-chinese-environment-map) +;; t) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Chinese GB2312 (simplified) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (make-coding-system +;; 'chinese-iso-8bit 2 ?c +;; "ISO 2022 based EUC encoding for Chinese GB2312 (MIME:CN-GB-2312)" +;; '((ascii t) chinese-gb2312 chinese-sisheng nil +;; nil ascii-eol ascii-cntl nil nil single-shift nil)) + +(make-coding-system + 'cn-gb-2312 'iso2022 + "Coding-system of Chinese EUC (Extended Unix Code)." + '(charset-g0 ascii + charset-g1 chinese-gb2312 + charset-g2 sisheng + charset-g3 t + mnemonic "Zh-GB/EUC" + )) + +;; (define-coding-system-alias 'cn-gb-2312 'chinese-iso-8bit) +;; (define-coding-system-alias 'euc-china 'chinese-iso-8bit) + +(copy-coding-system 'cn-gb-2312 'gb2312) +(copy-coding-system 'cn-gb-2312 'chinese-euc) + +;; (make-coding-system +;; 'chinese-hz 0 ?z +;; "Hz/ZW 7-bit encoding for Chinese GB2312 (MIME:HZ-GB-2312)" +;; nil) +;; (put 'chinese-hz 'post-read-conversion 'post-read-decode-hz) +;; (put 'chinese-hz 'pre-write-conversion 'pre-write-encode-hz) + +(make-coding-system + 'hz-gb-2312 'no-conversion + "Coding-system of Hz/ZW used for Chinese." + '(mnemonic "Zh-GB/Hz" + eol-type lf + post-read-conversion post-read-decode-hz + pre-write-conversion pre-write-encode-hz)) + +;; (define-coding-system-alias 'hz-gb-2312 'chinese-hz) +;; (define-coding-system-alias 'hz 'chinese-hz) + +(copy-coding-system 'hz-gb-2312 'hz) +(copy-coding-system 'hz-gb-2312 'chinese-hz) + +(defun post-read-decode-hz (len) + (let ((pos (point))) + (decode-hz-region pos (+ pos len)))) + +(defun pre-write-encode-hz (from to) + (let ((buf (current-buffer)) + (work (get-buffer-create " *pre-write-encoding-work*"))) + (set-buffer work) + (erase-buffer) + (if (stringp from) + (insert from) + (insert-buffer-substring buf from to)) + (encode-hz-region 1 (point-max)) + nil)) + +(set-language-info-alist + "Chinese-GB" '((setup-function . (setup-chinese-gb-environment + . setup-chinese-environment-map)) + (charset . (chinese-gb2312 sisheng)) + (coding-system + . (cn-gb-2312 iso-2022-7bit hz-gb-2312)) + (sample-text . "Chinese ($AVPND(B,$AFUM(;0(B,$A::So(B) $ADc:C(B") + (documentation . ("Support for Chinese GB2312 character set." + . describe-chinese-environment-map)) + )) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Chinese BIG5 (traditional) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (make-coding-system +;; 'chinese-big5 3 ?B "BIG5 8-bit encoding for Chinese (MIME:CN-BIG5)") + +(make-coding-system + 'big5 'big5 + "Coding-system of BIG5." + '(mnemonic "Zh/Big5")) + +;; (define-coding-system-alias 'big5 'chinese-big5) +;; (define-coding-system-alias 'cn-big5 'chinese-big5) + +(copy-coding-system 'big5 'cn-big5) +(copy-coding-system 'big5 'chinese-big5) + +;; Big5 font requires special encoding. +(define-ccl-program ccl-encode-big5-font + `(0 + ;; In: R0:chinese-big5-1 or chinese-big5-2 + ;; R1:position code 1 + ;; R2:position code 2 + ;; Out: R1:font code point 1 + ;; R2:font code point 2 + ((r2 = ((((r1 - ?\x21) * 94) + r2) - ?\x21)) + (if (r0 == ,(charset-id 'chinese-big5-2)) (r2 += 6280)) + (r1 = ((r2 / 157) + ?\xA1)) + (r2 %= 157) + (if (r2 < ?\x3F) (r2 += ?\x40) (r2 += ?\x62)))) + "CCL program to encode a Big5 code to code point of Big5 font.") + +;; (setq font-ccl-encoder-alist +;; (cons (cons "big5" ccl-encode-big5-font) font-ccl-encoder-alist)) + +(set-charset-ccl-program 'chinese-big5-1 ccl-encode-big5-font) +(set-charset-ccl-program 'chinese-big5-2 ccl-encode-big5-font) + +(set-language-info-alist + "Chinese-BIG5" '((setup-function . (setup-chinese-big5-environment + . setup-chinese-environment-map)) + (charset . (chinese-big5-1 chinese-big5-2)) + (coding-system . (big5 iso-2022-7bit)) + (sample-text . "Cantonese ($(0GnM$(B,$(0N]0*Hd(B) $(0*/=((B, $(0+$)p(B") + (documentation . ("Support for Chinese Big5 character set." + . describe-chinese-environment-map)) + )) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Chinese CNS11643 (traditional) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (set-language-info-alist +;; "Chinese-CNS" '((setup-function . (setup-chinese-cns-environment +;; . setup-chinese-environment-map)) +;; (charset . (chinese-cns11643-1 chinese-cns11643-2 +;; chinese-cns11643-3 chinese-cns11643-4 +;; chinese-cns11643-5 chinese-cns11643-6 +;; chinese-cns11643-7)) +;; (coding-system . (chinese-iso-7bit)) +;; (documentation . ("Support for Chinese CNS character sets." +;; . describe-chinese-environment-map)) +;; )) + +;;; chinese.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/cyrillic.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,294 @@ +;;; cyrillic.el --- Support for languages which use Cyrillic characters + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, Cyrillic + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; The character set ISO8859-5 is supported. KOI-8 and ALTERNATIVNYJ +;; are converted to ISO8859-5 internally. + +;;; Code: + +;; For syntax of Cyrillic +(modify-syntax-entry 'cyrillic-iso8859-5 "w") +(modify-syntax-entry ?,L-(B ".") +(modify-syntax-entry ?,Lp(B ".") +(modify-syntax-entry ?,L}(B ".") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; CYRILLIC +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (define-prefix-command 'describe-cyrillic-environment-map) +;; (define-key-after describe-language-environment-map [Cyrillic] +;; '("Cyrillic" . describe-cyrillic-environment-map) +;; t) + +;; (define-prefix-command 'setup-cyrillic-environment-map) +;; (define-key-after setup-language-environment-map [Cyrillic] +;; '("Cyrillic" . setup-cyrillic-environment-map) +;; t) + + +;; ISO-8859-5 staff + +;; (make-coding-system +;; 'cyrillic-iso-8bit 2 ?5 +;; "ISO 2022 based 8-bit encoding for Cyrillic script (MIME:ISO-8859-5)" +;; '((ascii t) (cyrillic-iso8859-5 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +;; (define-coding-system-alias 'iso-8859-5 'cyrillic-iso-8bit) + +(make-coding-system + 'iso-8859-5 'iso2022 + "MIME ISO-8859-5" + '(charset-g0 ascii + charset-g1 cyrillic-iso8859-5 + charset-g2 t + charset-g3 t + mnemonic "ISO8/Cyr" + )) + +(set-language-info-alist + "Cyrillic-ISO" '((setup-function . (setup-cyrillic-iso-environment + . setup-cyrillic-environment-map)) + (charset . (cyrillic-iso8859-5)) + (tutorial . "TUTORIAL.ru") + (coding-system . (iso-8859-5)) + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") + (documentation . ("Support for Cyrillic ISO-8859-5." + . describe-cyrillic-environment-map)))) + +;; KOI-8 staff + +(define-ccl-program ccl-decode-koi8 + '(3 + ((read r0) + (loop + (write-read-repeat + r0 + [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 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 + 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 + 32 32 32 ?,Lq(B 32 32 32 32 32 32 32 32 32 32 32 32 + 32 32 32 ?,L!(B 32 32 32 32 32 32 32 32 32 32 32 32 + ?,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 ])))) + "CCL program to decode KOI8.") + +(define-ccl-program ccl-encode-koi8 + `(1 + ((read r0) + (loop + (if (r0 != ,(charset-id 'cyrillic-iso8859-5)) + (write-read-repeat r0) + ((read r0) + (r0 -= 160) + (write-read-repeat + r0 + [ 32 179 32 32 32 32 32 32 32 32 32 32 32 32 32 32 + 225 226 247 231 228 229 246 250 233 234 235 236 237 238 239 240 + 242 243 244 245 230 232 227 254 251 253 255 249 248 252 224 241 + 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208 + 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209 + 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32]) + ))))) + "CCL program to encode KOI8.") + +;(make-coding-system +; 'cyrillic-koi8 4 +; ;; We used to use ?K. It is true that ?K is more strictly correct, +; ;; but it is also used for Korean. +; ;; So people who use koi8 for languages other than Russian +; ;; will have to forgive us. +; ?R "KOI8 8-bit encoding for Cyrillic (MIME: KOI8-R)" +; (cons ccl-decode-koi8 ccl-encode-koi8)) + +;(define-coding-system-alias 'koi8-r 'cyrillic-koi8) +;(define-coding-system-alias 'koi8 'cyrillic-koi8) + +(make-coding-system + 'koi8-r 'ccl + "Coding-system used for KOI8-R." + `(decode ,ccl-decode-koi8 + encode ,ccl-encode-koi8 + mnemonic "KOI8")) + +;(define-coding-system-alias 'koi8-r 'koi8) + +;; (define-ccl-program ccl-encode-koi8-font +;; '(0 +;; ((r1 -= 160) +;; (r1 = r1 +;; [ 32 179 32 32 32 32 32 32 32 32 32 32 32 32 32 32 +;; 225 226 247 231 228 229 246 250 233 234 235 236 237 238 239 240 +;; 242 243 244 245 230 232 227 254 251 253 255 249 248 252 224 241 +;; 193 194 215 199 196 197 214 218 201 202 203 204 205 206 207 208 +;; 210 211 212 213 198 200 195 222 219 221 223 217 216 220 192 209 +;; 32 163 32 32 32 32 32 32 32 32 32 32 32 32 32 32]) +;; )) +;; "CCL program to encode Cyrillic chars to KOI font.") + +;; (setq font-ccl-encoder-alist +;; (cons (cons "koi8" ccl-encode-koi8-font) font-ccl-encoder-alist)) + +(set-language-info-alist + "Cyrillic-KOI8" '((setup-function . (setup-cyrillic-koi8-environment + . setup-cyrillic-environment-map)) + (charset . (cyrillic-iso8859-5)) + (coding-system . (koi8-r)) + (tutorial . "TUTORIAL.ru") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") + (documentation . ("Support for Cyrillic KOI-8." + . describe-cyrillic-environment-map)))) + +;;; ALTERNATIVNYJ staff + +(define-ccl-program ccl-decode-alternativnyj + '(3 + ((read r0) + (loop + (write-read-repeat + r0 + [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 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 + ?,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 + ?,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 + `(1 + ((read r0) + (loop + (if (r0 != ,(charset-id 'cyrillic-iso8859-5)) + (write-read-repeat r0) + ((read r0) + (r0 -= 160) + (write-read-repeat + r0 + [ 32 240 32 32 32 32 32 32 32 32 32 32 32 32 32 32 + 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 + 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 + 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 + 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 + 255 241 32 32 32 32 32 32 32 32 32 32 32 32 32 32]) + ))))) + "CCL program to encode Alternativnyj.") + +;; (make-coding-system +;; 'alternativnyj 4 +;; ?A "Coding-system used for Alternativnyj" +;; (cons ccl-decode-alternativnyj ccl-encode-alternativnyj)) + +(make-coding-system + 'alternativnyj 'ccl + "Coding-system used for Alternativnyj" + `(decode ,ccl-decode-alternativnyj + encode ,ccl-encode-alternativnyj + mnemonic "Cy.Alt")) + +;; (define-ccl-program ccl-encode-alternativnyj-font +;; '(0 +;; ((r1 -= 160) +;; (r1 = r1 +;; [ 32 240 32 32 32 32 32 32 32 32 32 32 32 32 32 32 +;; 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 +;; 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 +;; 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 +;; 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 +;; 255 241 32 32 32 32 32 32 32 32 32 32 32 32 32 32]) +;; )) +;; "CCL program to encode Cyrillic chars to Alternativnyj font.") + +;; (setq font-ccl-encoder-alist +;; (cons (cons "alternativnyj" ccl-encode-alternativnyj-font) +;; font-ccl-encoder-alist)) + +(set-language-info-alist + "Cyrillic-ALT" '((setup-function . (setup-cyrillic-alternativnyj-environment + . setup-cyrillic-environment-map)) + (charset . (cyrillic-iso8859-5)) + (coding-system . (alternativnyj)) + (tutorial . "TUTORIAL.ru") + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") + (documentation . ("Support for Cyrillic ALTERNATIVNYJ." + . describe-cyrillic-environment-map)))) + +;;; GENERAL + +(defun setup-cyrillic-environment () + "Setup multilingual environment for Cyrillic users." + (interactive) + (setq primary-language "Cyrillic") + + (setq coding-category-iso-8-1 'iso-8859-5) + + (set-coding-priority + '(coding-category-iso-7 + coding-category-iso-8-1)) + + (setq-default buffer-file-coding-system 'iso-8859-5) + (set-terminal-coding-system 'iso-8859-5) + (set-keyboard-coding-system 'iso-8859-5) + + (setq default-input-method '("Cyrillic" . "quail-yawerty")) + ) + +(defun describe-cyrillic-support () + "Describe how Emacs support Cyrillic." + (interactive) + (describe-language-support-internal "Cyrillic")) + +(set-language-info-alist + "Cyrillic" '((setup-function . setup-cyrillic-environment) + (describe-function . describe-cyrillic-support) + (charset . (cyrillic-iso8859-5)) + (tutorial . "TUTORIAL.ru") + (coding-system . (iso-8859-5 koi8-r alternativnyj)) + (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") + (documentation . nil))) + +;;; cyrillic.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/english.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,125 @@ +;;; english.el --- English support + +;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multibyte character, character set, syntax, category + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; We need nothing special to support English on Emacs. Selecting +;; English as a language environment is one of the ways to reset +;; various multilingual environment to the original settting. + +;; modified for XEmacs by MORIOKA Tomohiko + +;;; Code + +(defun setup-english-environment () + "Reset multilingual environment of Emacs to the default status. +The default status is as follows. + + The default value of enable-multibyte-characters is t. + + The default value of buffer-file-coding-system is nil. + The coding system for terminal output is nil. + The coding system for keyboard input is nil. + + The order of priorities of coding categories and the coding system + bound to each category are as follows + coding category coding system + -------------------------------------------------- + coding-category-iso-7 iso-2022-7bit + coding-category-iso-8-1 iso-8859-1 + coding-category-iso-8-2 iso-8859-1 + coding-category-iso-7-else iso-2022-7bit-lock + coding-category-iso-8-else iso-2022-8bit-ss2 + coding-category-emacs-mule no-conversion + coding-category-sjis japanese-shift-jis + coding-category-big5 chinese-big5 + coding-category-binarry no-conversion +" + (interactive) + ;; (setq-default enable-multibyte-characters t) + + ;; (setq coding-category-iso-7 'iso-2022-7bit + ;; coding-category-iso-8-1 'iso-8859-1 + ;; coding-category-iso-8-2 'iso-8859-1 + ;; coding-category-iso-7-else 'iso-2022-7bit-lock + ;; coding-category-iso-8-else 'iso-2022-8bit-ss2 + ;; coding-category-emacs-mule 'no-conversion + ;; coding-category-sjis 'japanese-shift-jis + ;; coding-category-big5 'chinese-big5 + ;; coding-category-binary 'binary) + (set-coding-category-system 'iso-7 'iso-2022-7bit) + (set-coding-category-system 'iso-8-1 'iso-8859-1) + (set-coding-category-system 'iso-8-2 'iso-8859-1) + (set-coding-category-system 'iso-lock-shift 'iso-2022-lock) + (set-coding-category-system 'iso-8-designate 'ctext) + (set-coding-category-system 'no-conversion 'no-conversion) + (set-coding-category-system 'shift-jis 'shift_jis) + (set-coding-category-system 'big5 'big5) + + ;; (set-coding-priority + ;; '(coding-category-iso-7 + ;; coding-category-iso-8-2 + ;; coding-category-iso-8-1 + ;; coding-category-iso-7-else + ;; coding-category-iso-8-else + ;; coding-category-emacs-mule + ;; coding-category-raw-text + ;; coding-category-sjis + ;; coding-category-big5 + ;; coding-category-binary)) + (set-coding-priority-list + '(iso-7 + iso-8-2 + iso-8-1 + iso-8-designate + iso-lock-shift + no-conversion + shift-jis + big5)) + + (set-default-coding-systems nil) + ;; Don't alter the terminal and keyboard coding systems here. + ;; The terminal still supports the same coding system + ;; that it supported a minute ago. +;;; (set-terminal-coding-system-internal nil) +;;; (set-keyboard-coding-system-internal nil) + + ;;(setq nonascii-insert-offset 0) + ) + +(set-language-info-alist + "English" '((setup-function . setup-english-environment) + (tutorial . "TUTORIAL") + (charset . (ascii)) + (sample-text . "Hello!, Hi!, How are you?") + (documentation . "\ +Nothing special is needed to handle English.") + )) + +;; Make "ASCII" an alias of "English" language environment. +(set-language-info-alist + "ASCII" (cdr (assoc "English" language-info-alist))) + +;;; english.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/european.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,386 @@ +;;; european.el --- Support for European languages + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, European + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; For Europeans, five character sets ISO8859-1,2,3,4,9 are supported. + +;;; Code: + +;; For syntax of Latin-1 characters. +(loop for c from 64 to 127 ; from ',A@(B' to ',A(B' + do (modify-syntax-entry (make-char 'latin-iso8859-1 c) "w")) + +(modify-syntax-entry (make-char 'latin-iso8859-1 32) "w") ; no-break space +(modify-syntax-entry ?,AW(B "_") +(modify-syntax-entry ?,Aw(B "_") + +;; For syntax of Latin-2 +(loop for c in '(?,B!(B ?,B#(B ?,B%(B ?,B&(B ?,B)(B ?,B*(B ?,B+(B ?,B,(B ?,B.(B ?,B/(B ?,B1(B ?,B3(B ?,B5(B ?,B6(B ?,B9(B ?,B:(B ?,B;(B ?,B<(B) + do (modify-syntax-entry c "w")) + +(loop for c from 62 to 126 + do (modify-syntax-entry (make-char 'latin-iso8859-2 c) "w")) + +(modify-syntax-entry (make-char 'latin-iso8859-2 32) "w") ; no-break space +(modify-syntax-entry ?,BW(B ".") +(modify-syntax-entry ?,Bw(B ".") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; EUROPEANS +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (define-prefix-command 'describe-european-environment-map) +;; (define-key-after describe-language-environment-map [European] +;; '("European" . describe-european-environment-map) +;; t) + +;; (define-prefix-command 'setup-european-environment-map) +;; (define-key-after setup-language-environment-map [European] +;; '("European" . setup-european-environment-map) +;; t) + +;; Setup for LANGAUGE which uses one-byte 8-bit CHARSET, one-byte +;; 8-bit CODING-SYSTEM, and INPUT-METHOD. +(defun setup-8-bit-environment (language charset coding-system input-method) + (setup-english-environment) + (set-default-coding-systems coding-system) + ;; (setq coding-category-iso-8-1 coding-system + ;; coding-category-iso-8-2 coding-system) + (set-coding-category-system 'iso-8-1 coding-system) + (set-coding-category-system 'iso-8-2 coding-system) + + ;; (if charset + ;; (let ((nonascii-offset (- (make-char charset) 128))) + ;; ;; Set up for insertion of characters in this character set + ;; ;; when codes 0200 - 0377 are typed in. + ;; (setq nonascii-insert-offset nonascii-offset))) + + (if input-method + (setq default-input-method input-method)) + + ;; If this is a Latin-N character set, set up syntax for it in + ;; single-byte mode. We can't use require because the file + ;; must be eval'd each time in case we change from one Latin-N to another. + ;; (if (string-match "^Latin-\\([1-9]\\)$" language) + ;; (load (downcase language) nil t)) + ) + +;; Latin-1 (ISO-8859-1) + +;; (make-coding-system +;; 'iso-latin-1 2 ?1 +;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-1, Compound Text Encoding)" +;; '((ascii t) (latin-iso8859-1 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil nil nil nil nil nil t)) + +;; (define-coding-system-alias 'iso-8859-1 'iso-latin-1) +;; (define-coding-system-alias 'latin-1 'iso-latin-1) +;; (define-coding-system-alias 'ctext 'iso-latin-1) + +(defun setup-latin1-environment () + "Set up multilingual environment (MULE) for European Latin-1 users." + (interactive) + (setup-8-bit-environment "Latin-1" 'latin-iso8859-1 'iso-8859-1 + "latin-1-prefix")) + +(set-language-info-alist + "Latin-1" '((setup-function . (setup-latin1-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-1)) + (coding-system . (iso-8859-1)) + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ +These languages are supported with the Latin-1 (ISO-8859-1) character set: + Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, + Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "German" '((setup-function . (setup-latin1-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-1)) + (coding-system . (iso-8859-1)) + (tutorial . "TUTORIAL.de") + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ +These languages are supported with the Latin-1 (ISO-8859-1) character set: + Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, + Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "French" '((setup-function . (setup-latin1-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-1)) + (coding-system . (iso-8859-1)) + (tutorial . "TUTORIAL.fr") + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ +These languages are supported with the Latin-1 (ISO-8859-1) character set: + Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, + Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "Norwegian" '((setup-function . (setup-latin1-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-1)) + (coding-system . (iso-8859-1)) + (tutorial . "TUTORIAL.no") + (sample-text + . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") + (documentation . ("\ +These languages are supported with the Latin-1 (ISO-8859-1) character set: + Danish, Dutch, English, Faeroese, Finnish, French, German, Icelandic, + Irish, Italian, Norwegian, Portuguese, Spanish, and Swedish. +" . describe-european-environment-map)) + )) + +;; Latin-2 (ISO-8859-2) + +;; (make-coding-system +;; 'iso-latin-2 2 ?2 +;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-2)" +;; '((ascii t) (latin-iso8859-2 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +;; (define-coding-system-alias 'iso-8859-2 'iso-latin-2) +;; (define-coding-system-alias 'latin-2 'iso-latin-2) + +(make-coding-system + 'iso-8859-2 'iso2022 "MIME ISO-8859-2" + '(charset-g0 ascii + charset-g1 latin-iso8859-2 + charset-g2 t + charset-g3 t + mnemonic "MIME/Ltn-2" + )) + +(defun setup-latin2-environment () + "Set up multilingual environment (MULE) for European Latin-2 users." + (interactive) + (setup-8-bit-environment "Latin-2" 'latin-iso8859-2 'iso-8859-2 + "latin-2-prefix")) + +(set-language-info-alist + "Latin-2" '((setup-function . (setup-latin2-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-2)) + (coding-system . (iso-8859-2)) + (documentation . ("\ +These languages are supported with the Latin-2 (ISO-8859-2) character set: + Albanian, Czech, English, German, Hungarian, Polish, Romanian, + Serbian, Croatian, Slovak, Slovene, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "Croatian" '((setup-function . (setup-latin2-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-2)) + (tutorial . "TUTORIAL.hr") + (coding-system . (iso-8859-2)) + (documentation . ("\ +These languages are supported with the Latin-2 (ISO-8859-2) character set: + Albanian, Czech, English, German, Hungarian, Polish, Romanian, + Serbian, Croatian, Slovak, Slovene, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "Polish" '((setup-function . (setup-latin2-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-2)) + (tutorial . "TUTORIAL.pl") + (coding-system . (iso-8859-2)) + (documentation . ("\ +These languages are supported with the Latin-2 (ISO-8859-2) character set: + Albanian, Czech, English, German, Hungarian, Polish, Romanian, + Serbian, Croatian, Slovak, Slovene, and Swedish. +" . describe-european-environment-map)) + )) + +(set-language-info-alist + "Romanian" '((setup-function . (setup-latin2-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-2)) + (tutorial . "TUTORIAL.ro") + (coding-system . (iso-8859-2)) + (documentation . ("\ +These languages are supported with the Latin-2 (ISO-8859-2) character set: + Albanian, Czech, English, German, Hungarian, Polish, Romanian, + Serbian, Croatian, Slovak, Slovene, and Swedish. +" . describe-european-environment-map)) + )) + +;; Latin-3 (ISO-8859-3) + +;; (make-coding-system +;; 'iso-latin-3 2 ?3 +;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-3)" +;; '((ascii t) (latin-iso8859-3 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +;; (define-coding-system-alias 'iso-8859-3 'iso-latin-3) +;; (define-coding-system-alias 'latin-3 'iso-latin-3) + +(make-coding-system + 'iso-8859-3 'iso2022 "MIME ISO-8859-3" + '(charset-g0 ascii + charset-g1 latin-iso8859-3 + charset-g2 t + charset-g3 t + mnemonic "MIME/Ltn-3" + )) + +(defun setup-latin3-environment () + "Set up multilingual environment (MULE) for European Latin-3 users." + (interactive) + (setup-8-bit-environment "Latin-3" 'latin-iso8859-3 'iso-8859-3 + "latin-3-prefix")) + +(set-language-info-alist + "Latin-3" '((setup-function . (setup-latin3-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-3)) + (coding-system . (iso-8859-3)) + (documentation . ("\ +These languages are supported with the Latin-3 (ISO-8859-3) character set: + Afrikaans, Catalan, Dutch, English, Esperanto, French, Galician, + German, Italian, Maltese, Spanish, and Turkish. +" . describe-european-environment-map)) + )) + +;; Latin-4 (ISO-8859-4) + +;; (make-coding-system +;; 'iso-latin-4 2 ?4 +;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-4)" +;; '((ascii t) (latin-iso8859-4 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +;; (define-coding-system-alias 'iso-8859-4 'iso-latin-4) +;; (define-coding-system-alias 'latin-4 'iso-latin-4) + +(make-coding-system + 'iso-8859-4 'iso2022 "MIME ISO-8859-4" + '(charset-g0 ascii + charset-g1 latin-iso8859-4 + charset-g2 t + charset-g3 t + mnemonic "MIME/Ltn-4" + )) + +(defun setup-latin4-environment () + "Set up multilingual environment (MULE) for European Latin-4 users." + (interactive) + (setup-8-bit-environment "Latin-4" 'latin-iso8859-4 'iso-8859-4 + "latin-4-prefix")) + +(set-language-info-alist + "Latin-4" '((setup-function . (setup-latin4-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-4)) + (coding-system . (iso-8859-4)) + (documentation . ("\ +These languages are supported with the Latin-4 (ISO-8859-4) character set: + Danish, English, Estonian, Finnish, German, Greenlandic, Lappish, + Latvian, Lithuanian, and Norwegian. +" . describe-european-environment-map)) + )) + +;; Latin-5 (ISO-8859-9) + +;; (make-coding-system +;; 'iso-latin-5 2 ?9 +;; "ISO 2022 based 8-bit encoding (MIME:ISO-8859-9)" +;; '((ascii t) (latin-iso8859-9 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +;; (define-coding-system-alias 'iso-8859-9 'iso-latin-5) +;; (define-coding-system-alias 'latin-5 'iso-latin-5) + +(make-coding-system + 'iso-8859-9 'iso2022 "MIME ISO-8859-9" + '(charset-g0 ascii + charset-g1 latin-iso8859-9 + charset-g2 t + charset-g3 t + mnemonic "MIME/Ltn-5" + )) + +(defun setup-latin5-environment () + "Set up multilingual environment (MULE) for European Latin-5 users." + (interactive) + (setup-8-bit-environment "Latin-5" 'latin-iso8859-9 'iso-8859-5 + "latin-5-prefix")) + +(set-language-info-alist + "Latin-5" '((setup-function . (setup-latin5-environment + . setup-european-environment-map)) + (charset . (ascii latin-iso8859-9)) + (coding-system . (iso-8859-5)) + (documentation . ("\ +These languages are supported with the Latin-5 (ISO-8859-9) character set. +" . describe-european-environment-map)) + )) + +;; (defun setup-european-environment () +;; "Setup multilingual environment (MULE) for European languages users. +;; It actually reset MULE to the default status, and +;; set quail-latin-1 as the default input method to be selected. +;; See also the documentation of setup-english-environment." +;; (setup-english-environment) +;; (setq default-input-method '("European" . "quail-latin-1"))) + +;; (defun describe-european-support () +;; "Describe how Emacs support European languages." +;; (interactive) +;; (describe-language-support-internal "European")) + +;; (set-language-info-alist +;; "European" '((setup-function . setup-european-environment) +;; (describe-function . describe-european-support) +;; (charset . (ascii latin-iso8859-1 latin-iso8859-2 +;; latin-iso8859-3 latin-iso8859-4 latin-iso8859-9)) +;; (coding-system . (iso-8859-1 iso-8859-2 iso-8859-3 +;; iso-8859-4 iso-8859-9)) +;; (sample-text +;; . "Hello, Hej, Tere, Hei, Bonjour, Gr,A|_(B Gott, Ciao, ,A!(BHola!") +;; (documentation . "\ +;; Almost all of European languages are supported by the character sets and +;; coding systems listed below. +;; To input them, LEIM (Libraries for Emacs Input Methods) should have been +;; installed.") +;; )) + +;;; european.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/greek.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,84 @@ +;;; greek.el --- Support for Greek + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, Greek + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; For Greek, the character set ISO8859-7 is supported. + +;;; Code: + +;; For syntax of Greek +(loop for c from 54 to 126 + do (modify-syntax-entry (make-char 'greek-iso8859-7 c) "w")) +(modify-syntax-entry (make-char 'greek-iso8859-7 32) "w") ; no-break space +(modify-syntax-entry ?,F7(B ".") +(modify-syntax-entry ?,F;(B ".") +(modify-syntax-entry ?,F=(B ".") + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; GREEK +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; (define-language-environment 'greek +;; "Greek" +;; (lambda () +;; (set-coding-category-system 'iso-8-designate 'iso-8859-7) +;; (set-coding-priority-list '(iso-8-designate iso-8-1)) +;; (set-default-buffer-file-coding-system 'iso-8859-7) +;; (setq terminal-coding-system 'iso-8859-7) +;; (setq keyboard-coding-system 'iso-8859-7) +;; ;; (setq-default quail-current-package +;; ;; (assoc "greek" quail-package-alist)) +;; )) + +;; (make-coding-system +;; 'iso-8859-7 2 ?7 "MIME ISO-8859-7" +;; '((ascii t) (greek-iso8859-7 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil)) + +(make-coding-system + 'iso-8859-7 'iso2022 "MIME ISO-8859-7" + '(charset-g0 ascii + charset-g1 greek-iso8859-7 + charset-g2 t + charset-g3 t + mnemonic "Grk" + )) + +(defun setup-greek-environment () + "Setup multilingual environment (MULE) for Greek." + (interactive) + (setup-8-bit-environment "Greek" 'greek-iso8859-7 'iso-8859-7 "greek") + ) + +(set-language-info-alist + "Greek" '((setup-function . setup-greek-environment) + (charset . (greek-iso8859-7)) + (coding-system . (iso-8859-7)) + (sample-text . "Greek (,FGkk]mija(B) ,FCei\(B ,Fsar(B") + (documentation . t))) + +;;; greek.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/hebrew.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,93 @@ +;;; hebrew.el --- Support for Hebrew + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. + +;; Keywords: multilingual, Hebrew + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; For Hebrew, the character sets ISO8859-8 is supported. + +;;; Code: + +;; Syntax of Hebrew characters +(loop for c from 96 to 122 + do (modify-syntax-entry (make-char 'hebrew-iso8859-8 c) "w")) +(modify-syntax-entry (make-char 'hebrew-iso8859-8 32) "w") ; no-break space + + +;; (make-coding-system +;; 'hebrew-iso-8bit 2 ?8 +;; "ISO 2022 based 8-bit encoding for Hebrew (MIME:ISO-8859-8)" +;; '((ascii t) (hebrew-iso8859-8 t) nil nil +;; nil ascii-eol ascii-cntl nil nil nil nil nil t)) + +;; (define-coding-system-alias 'iso-8859-8 'hebrew-iso-8bit) + +(make-coding-system + 'iso-8859-8 'iso2022 + "MIME ISO-8859-8" + '(charset-g0 ascii + charset-g1 hebrew-iso8859-8 + charset-g2 t + charset-g3 t + no-iso6429 t + mnemonic "MIME/Hbrw" +)) + +(make-coding-system + 'ctext-hebrew 'iso2022 + "Coding-system of Hebrew." + '(charset-g0 ascii + charset-g1 hebrew-iso8859-8 + charset-g2 t + charset-g3 t + mnemonic "CText/Hbrw" + )) + +(defun setup-hebrew-environment () + "Setup multilingual environment (MULE) for Hebrew. +But, please note that right-to-left writing is not yet supported." + (interactive) + (setup-8-bit-environment "Hebrew" 'hebrew-iso8859-8 'iso-8859-8 + "hebrew") + (set-coding-category-system 'iso-8-designate 'iso-8859-8) + (set-coding-priority-list + '(iso-8-designate + iso-8-1 + iso-7 + iso-8-2 + iso-lock-shift + no-conversion + shift-jis + big5)) + ) + +(set-language-info-alist + "Hebrew" '((setup-function . setup-hebrew-environment) + (describe-function . describe-hebrew-support) + (charset . (hebrew-iso8859-8)) + (coding-system . (iso-8859-8)) + (sample-text . "Hebrew ,Hylem(B") + (documentation . "Right-to-left writing is not yet supported.") + )) + +;;; hebrew.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/japanese.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,232 @@ +;;; japanese.el --- Japanese support + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, Japanese + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; For Japanese, character sets JISX0201, JISX0208, JISX0212 are +;; supported. + +;;; Code: + +;;; Syntax of Japanese characters. +(modify-syntax-entry 'katakana-jisx0201 "w") +(modify-syntax-entry 'japanese-jisx0212 "w") + +(modify-syntax-entry 'japanese-jisx0208 "w") +(loop for row in '(33 34 40) + do (modify-syntax-entry `[japanese-jisx0208 ,row] "_")) +(loop for char in '(?$B!<(B ?$B!+(B ?$B!,(B ?$B!3(B ?$B!4(B ?$B!5(B ?$B!6(B ?$B!7(B ?$B!8(B ?$B!9(B ?$B!:(B ?$B!;(B) + do (modify-syntax-entry char "w")) +(modify-syntax-entry ?\$B!J(B "($B!K(B") +(modify-syntax-entry ?\$B!N(B "($B!O(B") +(modify-syntax-entry ?\$B!P(B "($B!Q(B") +(modify-syntax-entry ?\$B!V(B "($B!W(B") +(modify-syntax-entry ?\$B!X(B "($B!Y(B") +(modify-syntax-entry ?\$B!K(B ")$B!J(B") +(modify-syntax-entry ?\$B!O(B ")$B!N(B") +(modify-syntax-entry ?\$B!Q(B ")$B!P(B") +(modify-syntax-entry ?\$B!W(B ")$B!V(B") +(modify-syntax-entry ?\$B!Y(B ")$B!X(B") + +;;; Character categories S, A, H, K, G, Y, and C +(define-category ?S "Japanese 2-byte symbol character.") +(modify-category-entry [japanese-jisx0208 33] ?S) +(modify-category-entry [japanese-jisx0208 34] ?S) +(modify-category-entry [japanese-jisx0208 40] ?S) +(define-category ?A "Japanese 2-byte Alphanumeric character.") +(modify-category-entry [japanese-jisx0208 35] ?A) +(define-category ?H "Japanese 2-byte Hiragana character.") +(modify-category-entry [japanese-jisx0208 36] ?H) +(define-category ?K "Japanese 2-byte Katakana character.") +(modify-category-entry [japanese-jisx0208 37] ?K) +(define-category ?G "Japanese 2-byte Greek character.") +(modify-category-entry [japanese-jisx0208 38] ?G) +(define-category ?Y "Japanese 2-byte Cyrillic character.") +(modify-category-entry [japanese-jisx0208 39] ?Y) +(define-category ?C "Japanese 2-byte Kanji characters.") +(loop for row from 48 to 126 + do (modify-category-entry `[japanese-jisx0208 ,row] ?C)) +(loop for char in '(?$B!<(B ?$B!+(B ?$B!,(B) + do (modify-category-entry char ?K) + (modify-category-entry char ?H)) +(loop for char in '(?$B!3(B ?$B!4(B ?$B!5(B ?$B!6(B ?$B!7(B ?$B!8(B ?$B!9(B ?$B!:(B ?$B!;(B) + do (modify-category-entry char ?C)) +(modify-category-entry 'japanese-jisx0212 ?C) + +(defvar japanese-word-regexp + "\\cA+\\cH*\\|\\cK+\\cH*\\|\\cC+\\cH*\\|\\cH+\\|\\ck+\\|\\sw+" + "Regular expression used to match a Japanese word.") + +(set-word-regexp japanese-word-regexp) +(setq forward-word-regexp "\\w\\>") +(setq backward-word-regexp "\\<\\w") + +;;; Paragraph setting +(setq sentence-end + (concat + "\\(" + "\\(" + "[.?!][]\"')}]*" + "\\|" + "[$B!%!)!*(B][$B!O!I!G!K!Q!M!S!U!W!Y(B]*" + "\\)" + "\\($\\|\t\\| \\)" + "\\|" + "$B!#(B" + "\\)" + "[ \t\n]*")) +(setq paragraph-start "^[ $B!!(B\t\n\f]") +(setq paragraph-separate "^[ $B!!(B\t\f]*$") + +;; EGG specific setup +(define-egg-environment 'japanese + "Japanese settings for egg." + (lambda () + (when (not (featurep 'egg-jpn)) + (load "its-hira") + (load "its-kata") + (load "its-hankaku") + (load "its-zenkaku") + (setq its:*standard-modes* + (append + (list (its:get-mode-map "roma-kana") + (its:get-mode-map "roma-kata") + (its:get-mode-map "downcase") + (its:get-mode-map "upcase") + (its:get-mode-map "zenkaku-downcase") + (its:get-mode-map "zenkaku-upcase")) + its:*standard-modes*)) + (provide 'egg-jpn)) + (setq wnn-server-type 'jserver) + ;; Can't do this here any more. Must do it when selecting egg-wnn + ;; or egg-sj3 + ;; (setq egg-default-startup-file "eggrc-wnn") + (setq-default its:*current-map* (its:get-mode-map "roma-kana")))) + +;; stuff for providing gramatic processing of Japanese text +;; something like this should probably be created for all environments... + +(defvar aletter (concat "\\(" ascii-char "\\|" kanji-char "\\)")) +(defvar kanji-space-insertable (concat + "$B!"(B" aletter "\\|" + "$B!#(B" aletter "\\|" + aletter "$B!J(B" "\\|" + "$B!K(B" aletter "\\|" + ascii-alphanumeric kanji-kanji-char "\\|" + kanji-kanji-char ascii-alphanumeric )) + +(defvar space-insertable (concat " " aletter "\\|" kanji-space-insertable) + "Regexp for finding points that can have spaces inserted into them for justification") + +;; (make-coding-system +;; 'iso-2022-jp 2 ?J +;; "ISO 2022 based 7bit encoding for Japanese (MIME:ISO-2022-JP)" +;; '((ascii japanese-jisx0208-1978 japanese-jisx0208 +;; latin-jisx0201 japanese-jisx0212 katakana-jisx0201 t) nil nil nil +;; short ascii-eol ascii-cntl seven)) + +;; (define-coding-system-alias 'junet 'iso-2022-jp) + +(make-coding-system + 'iso-2022-jp 'iso2022 + "Coding-system used for communication with mail and news in Japan." + '(charset-g0 ascii + short t + seven t + input-charset-conversion ((latin-jisx0201 ascii) + (japanese-jisx0208-1978 japanese-jisx0208)) + mnemonic "MULE/7bit" + )) + +(copy-coding-system 'iso-2022-jp 'junet) + +;; (make-coding-system +;; 'shift_jis 1 ?S +;; "Coding-system of Shift-JIS used in Japan." t) + +(make-coding-system + 'shift_jis 'shift-jis + "Coding-system of Shift-JIS used in Japan." + '(mnemonic "Ja/SJIS")) + +;;(define-coding-system-alias 'shift_jis 'sjis) + +(copy-coding-system 'shift_jis 'sjis) + +;; (make-coding-system +;; 'iso-2022-jp-1978-irv 2 ?J +;; "Coding-system used for old jis terminal." +;; '((ascii t) nil nil nil +;; short ascii-eol ascii-cntl seven nil nil use-roman use-oldjis)) + +(make-coding-system + 'iso-2022-jp-1978-irv 'iso2022 + "Coding-system used for old JIS terminal." + '(charset-g0 ascii + short t + seven t + output-charset-conversion ((ascii latin-jisx0201) + (japanese-jisx0208 japanese-jisx0208-1978)) + mnemonic "Ja-78/7bit" + )) + +;;(define-coding-system-alias 'iso-2022-jp-1978-irv 'old-jis) + +(copy-coding-system 'iso-2022-jp-1978-irv 'old-jis) + +;; (make-coding-system +;; 'euc-japan-1990 2 ?E +;; "Coding-system of Japanese EUC (Extended Unix Code)." +;; '(ascii japanese-jisx0208 katakana-jisx0201 japanese-jisx0212 +;; short ascii-eol ascii-cntl nil nil single-shift)) + +(make-coding-system + 'euc-jp 'iso2022 + "Coding-system of Japanese EUC (Extended Unix Code)." + '(charset-g0 ascii + charset-g1 japanese-jisx0208 + charset-g2 katakana-jisx0201 + charset-g3 japanese-jisx0212 + short t + mnemonic "Ja/EUC" + )) + +;;(define-coding-system-alias 'euc-japan-1990 'euc-japan) + +(copy-coding-system 'euc-jp 'euc-japan) ; only for w3 +(copy-coding-system 'euc-jp 'japanese-euc) + +(set-language-info-alist + "Japanese" '((setup-function . setup-japanese-environment) + (tutorial . "TUTORIAL.ja") + (charset . (japanese-jisx0208 japanese-jisx0208-1978 + japanese-jisx0212 latin-jisx0201 + katakana-jisx0201)) + (coding-system . (iso-2022-jp euc-jp + shift_jis iso-2022-jp-1978-irv)) + (sample-text . "Japanese ($BF|K\8l(B) $B$3$s$K$A$O(B, (I:]FAJ(B") + (documentation . t))) + +;;; japanese.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/kinsoku.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,285 @@ +;; kinsoku.el -- Kinsoku (line wrap) processing for XEmacs/Mule + +;; Copyright (C) 1997 Free Software Foundation, Inc. +;; This file is part of Mule (MULtilingual Enhancement of XEmacs). +;; This file contains Japanese and Chinese characters. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;; Written by Jareth Hein (jhod@po.iijnet.or.jp) based off of +;; code by S.Tomura, Electrotechnical Lab. (tomura@etl.go.jp) from +;; Mule-2.3 + +;;; Special characters for JIS code +;;; "$B!!!"!#!$!%!&!'!'!(!)!*!+!,!-!.!/(B" +;;; "$B!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B" +;;; "$B!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B" +;;; "$B!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B" +;;; "$B!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B" +;;; "$B!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B" +;;; "$B"!"""#"$"%"&"'"(")"*"+","-".(B " +;;; "$B&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/(B" +;;; "$B&0&1&2&3&4&5&6&7&8(B" +;;; "$B&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O(B" +;;; "$B&P&Q&R&S&T&U&V&W&X(B" +;;; "$B'!'"'#'$'%'&'''(')'*'+','-'.'/(B" +;;; "$B'0'1'2'3'4'5'6'7'8'9':';'<'='>'?(B" +;;; "$B'@'A(B" +;;; "$B'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_!I(B +;;; "$B'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o(B" +;;; "$B'p'q(B" +;;; $B#0#1#2#3#4#5#6#7#8#9#A#B#C#D#E#F(B +;;; "$B$!$#$%$'$)$C$c$e$g$n(B" +;;; "$B%!%#%%%'%)%C%c%e%g%n%u%v(B" + +;;; Special characters for GB +;;; +;;; $A!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/(B +;;;$A!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B +;;;$A!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B +;;;$A!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B +;;;$A!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B +;;;$A!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B +;;; $A"1"2"3"4"5"6"7"8"9":";"<"=">"?(B +;;;$A"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O(B +;;;$A"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_(B +;;;$A"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o(B +;;;$A"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~(B +;;; $A#!#"###$#%#&#'#(#)#*#+#,#-#.#/(B +;;;$A#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?(B +;;;$A#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O(B +;;;$A#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_(B +;;;$A#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o(B +;;;$A#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~(B +;;; $A$!$"$#$$$%$&$'$($)$*$+$,$-$.$/(B +;;;$A$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?(B +;;;$A$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O(B +;;;$A$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_(B +;;;$A$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o(B +;;;$A$p$q$r$s$t$u$v$w$x$y$z${$|$}$~(B +;;; $A%!%"%#%$%%%&%'%(%)%*%+%,%-%.%/(B +;;;$A%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?(B +;;;$A%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O(B +;;;$A%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_(B +;;;$A%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o(B +;;;$A%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~(B +;;; $A&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/(B +;;;$A&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?(B +;;;$A&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O(B +;;;$A&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_(B +;;;$A&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o(B +;;;$A&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~(B +;;; $A'!'"'#'$'%'&'''(')'*'+','-'.'/(B +;;;$A'0'1'2'3'4'5'6'7'8'9':';'<'='>'?(B +;;;$A'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O(B +;;;$A'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_(B +;;;$A'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o(B +;;;$A'p'q'r's't'u'v'w'x'y'z'{'|'}'~(B +;;; $A(!("(#($(%(&('((()(*(+(,(-(.(/(B +;;;$A(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(B +;;;$A(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(B +;;;$A(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(B +;;;$A(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(B + +;;; Special characters for BIG5 +;;; +;;; $(0!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/(B +;;;$(0!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?(B +;;;$(0!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O(B +;;;$(0!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_(B +;;;$(0!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o(B +;;;$(0!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~(B +;;; $(0"!"""#"$"%"&"'"(")"*"+","-"."/(B +;;;$(0"0"1"2"3"4"5"6"7"8"9":";"<"=">"?(B +;;;$(0"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O(B +;;;$(0"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_(B +;;;$(0"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o(B +;;;$(0"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~(B +;;; $(0#!#"###$#%#&#'#(#)#*#+#,#-#.#/(B +;;;$(0#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?(B +;;;$(0#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O(B +;;;$(0#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_(B +;;;$(0#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o(B +;;;$(0#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~(B +;;; $(0$!$"$#$$$%$&$'$($)$*$+$,$-$.$/(B +;;;$(0$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?(B +;;;$(0$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O(B +;;;$(0$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_(B +;;;$(0$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o(B +;;;$(0$p$q$r$s$t$u$v$w$x$y$z${$|$}$~(B +;;; $(0%!%"%#%$%%%&%'%(%)%*%+%,%-%.%/(B +;;;$(0%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?(B + +(defvar kinsoku-ascii nil "Do kinsoku-processing for ASCII.") +(make-variable-buffer-local 'kinsoku-ascii) +(set-default 'kinsoku-ascii nil) +(defvar kinsoku-jis t "Do kinsoku-processing for JISX0208.") +(make-variable-buffer-local 'kinsoku-jis) +(set-default 'kinsoku-jis t) +(defvar kinsoku-gb t "Do kinsoku-processing for GB2312.") +(make-variable-buffer-local 'kinsoku-gb) +(set-default 'kinsoku-gb t) +(defvar kinsoku-big5 t "Do kinsoku-processing for Big5..") +(make-variable-buffer-local 'kinsoku-big5) +(set-default 'kinsoku-big5 t) + +(defvar kinsoku-ascii-bol "!)-_~}]:;',.?" "BOL kinsoku for ASCII.") +(defvar kinsoku-ascii-eol "({[" "EOL kinsoku for ASCII.") +(defvar kinsoku-jis-bol + (concat "$B!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>(B" + "$B!?!@!A!B!C!D!E!G!I!K!M!O!Q!S!U!W!Y![!k!l!m!n(B" + "$B$!$#$%$'$)$C$c$e$g$n%!%#%%%'%)%C%c%e%g%n%u%v(B") + "BOL kinsoku for JISX0208.") +(defvar kinsoku-jis-eol + "$B!F!H!J!L!N!P!R!T!V!X!Z!k!l!m!n!w!x(B" + "EOL kinsoku for JISX0208.") +(defvar kinsoku-gb-bol + (concat "$A!"!##.#,!$!%!&!'!(!)!*!+!,!-!/!1#)!3!5!7!9!;!=(B" + "$A!?#;#:#?#!!@!A!B!C!c!d!e!f#/#\#"#_#~#|(e(B") + "BOL kinsoku for GB2312.") +(defvar kinsoku-gb-eol + (concat "$A!.!0#"#(!2!4!6!8!:!<!>!c!d!e#@!f!l(B" + "$A(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(h(B") + "EOL kinsoku for GB2312.") +(defvar kinsoku-big5-bol + (concat "$(0!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2(B" + "$(0!3!4!5!6!7!8!9!:!;!<!=!?!A!C!E!G!I!K(B" + "$(0!M!O!Q(B $(0!S!U!W!Y![!]!_!a!c!e!g!i!k!q(B" + "$(0"#"$"%"&"'"(")"*"+","2"3"4"j"k"l"x%7(B") + "BOL kinsoku for BIG5.") +(defvar kinsoku-big5-eol + (concat "$(0!>!@!B!D!F!H!J!L!N!P!R!T!V!X!Z!\!^!`!b(B" + "$(0!d!f!h!j!k!q!p"i"j"k"n"x$u$v$w$x$y$z${(B" + "$(0$|$}$~%!%"%#%$%%%&%'%(%)%*%+%:(B") + "EOL kinsoku for BIG5.") + +(define-category ?s "Kinsoku forbidden start of line characters") +(define-category ?e "Kinsoku forbidden end of line characters") + +;; kinsoku ascii +(loop for char in (string-to-char-list kinsoku-ascii-bol) + do (modify-category-entry char ?s)) +(loop for char in kinsoku-ascii-eol + do (modify-category-entry char ?e)) +;; kinsoku-jis +(loop for char in (string-to-char-list kinsoku-jis-bol) + do (modify-category-entry char ?s)) +(loop for char in (string-to-char-list kinsoku-jis-eol) + do (modify-category-entry char ?e)) +;; kinsoku-gb +(loop for char in kinsoku-gb-bol + do (modify-category-entry char ?s)) +(loop for char in kinsoku-gb-eol + do (modify-category-entry char ?e)) +;; kinsoku-big5 +(loop for char in kinsoku-big5-bol + do (modify-category-entry char ?s)) +(loop for char in kinsoku-big5-eol + do (modify-category-entry char ?e)) + +(defun kinsoku-bol-p () + "Check if point would break forbidden beginning-of-line rules +Uses category \'s\' to check. +point$B$G2~9T$9$k$H9TF,6XB'$K?($l$k$+$I$&$+$r$+$($9!#(B +$B9TF,6XB'J8;z$O(B\'s\'$B$N(Bcategory$B$G;XDj$9$k!#(B" + (let ((ch (char-after))) + (if (and ch + (or + (and kinsoku-ascii (char-in-category-p ch ?a)) + (and kinsoku-jis (char-in-category-p ch ?j)) + (and kinsoku-gb (char-in-category-p ch ?c)) + (and kinsoku-big5 (char-in-category-p ch ?t)))) + (char-in-category-p ch ?s) + nil))) + +(defun kinsoku-eol-p () + "Check if point would break forbidden end-of-line rules +Uses category \'e\' to check. +point$B$G2~9T$9$k$H9TKv6XB'$K?($l$k$+$I$&$+$r$+$($9!#(B +$B9TKv6XB'J8;z$O(B\'s\'$B$N(Bcategory$B$G;XDj$9$k!#(B" + (let ((ch (char-before))) + (if (and ch + (or + (and kinsoku-ascii (char-in-category-p ch ?a)) + (and kinsoku-jis (char-in-category-p ch ?j)) + (and kinsoku-gb (char-in-category-p ch ?c)) + (and kinsoku-big5 (char-in-category-p ch ?t)))) + (char-in-category-p ch ?e) + nil))) + +(defvar kinsoku-extend-limit nil + "Defines how many characters kinsoku will search forward before giving up. +A value of nil equates to infinity. +$B6XB'=hM}$G9T$r?-$P$7$FNI$$H>3QJ8;z?t$r;XDj$9$k!#(B +$BHsIi@0?t0J30$N>l9g$OL58BBg$r0UL#$9$k!#(B") + +(defun kinsoku-process () + "Move to a point that will not break forbidden line break rules. +$B6XB'$K?($l$J$$E@$X0\F0$9$k!#(B +point$B$,9TF,6XB'$K?($l$k>l9g$O9T$r?-$P$7$F!"6XB'$K?($l$J$$E@$rC5$9!#(B +point$B$,9TKv6XB'$K?($l$k>l9g$O9T$r=L$a$F!"6XB'$K?($l$J$$E@$rC5$9!#(B +$B$?$@$7!"9T?-$P$7H>3QJ8;z?t$,(Bkinsoku-extend-limit$B$r1[$($k$H!"(B +$B9T$r=L$a$F6XB'$K?($l$J$$E@$rC5$9!#(B" + (let ((bol-kin nil) (eol-kin nil)) + (if (and (not (bolp)) + (not (eolp)) + (or (setq bol-kin (kinsoku-bol-p)) + (setq eol-kin (kinsoku-eol-p)))) + (cond(bol-kin (kinsoku-process-extend)) + (eol-kin (kinsoku-process-shrink)))))) + +(defun kinsoku-process-extend () + "Move point forward to a permissable for line-breaking. +$B9T$r?-$P$7$F6XB'$K?($l$J$$E@$X0\F0$9$k!#(B" + (let ((max-column (+ fill-column + (if (and (numberp kinsoku-extend-limit) + (>= kinsoku-extend-limit 0)) + kinsoku-extend-limit + 10000))) ;;; 10000 is deliberatly unreasonably large + ch1 ch2) + (while (and (setq ch1 (char-after)) + (<= (+ (current-column) + (char-width ch1 )) + max-column) + (not (bolp)) + (not (eolp)) + (or (kinsoku-eol-p) + (kinsoku-bol-p) + ;;; don't break in the middle of an English word + (and (char-in-category-p ch1 ?a) + (setq ch2 (char-before)) + (char-in-category-p ch2 ?a) + (= ?w (char-syntax ch2)) + (= ?w (char-syntax ch1))))) + (forward-char)) + (if (or (kinsoku-eol-p) (kinsoku-bol-p)) + (kinsoku-process-shrink)))) + +(defun kinsoku-process-shrink () + "Move point backward to a point permissable for line-breaking. +$B9T$r=L$a$F6XB'$K?($l$J$$E@$X0\F0$9$k!#(B" + (let (ch1 ch2) + (while (and (not (bolp)) + (not (eolp)) + (or (kinsoku-bol-p) + (kinsoku-eol-p) + ;;; don't break in the middle of an English word + (and + (char-in-category-p (setq ch1 (following-char)) ?a) + (char-in-category-p (setq ch2 (preceding-char)) ?a) + (= ?w (char-syntax ch2)) + (= ?w (char-syntax ch1))))) + (backward-char))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/korean.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,149 @@ +;;; korean.el --- Support for Korean + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, Korean + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Commentary: + +;; For Korean, the character set KSC5601 is supported. + +;;; Code: + +;; Syntax of Korean characters. +(loop for row from 33 to 34 do + (modify-syntax-entry `[korean-ksc5601 ,row] ".")) +(loop for row from 35 to 37 do + (modify-syntax-entry `[korean-ksc5601 ,row] "w")) +(loop for row from 38 to 41 do + (modify-syntax-entry `[korean-ksc5601 ,row] ".")) +(loop for row from 42 to 126 do + (modify-syntax-entry `[korean-ksc5601 ,row] "w")) + +;; Setting for coding-system and quail were moved to +;; language/korean.el. + +(make-coding-system + 'iso-2022-int-1 'iso2022 + "ISO-2022-INT-1" + '(charset-g0 ascii + charset-g1 korean-ksc5601 + short t + seven t + lock-shift t + mnemonic "INT-1")) + +;; EGG specific setup +(define-egg-environment 'korean + "Korean settings for egg" + (lambda () + (when (not (featurep 'egg-kor)) + (load "its-hangul") + (setq its:*standard-modes* + (cons (its:get-mode-map "hangul") its:*standard-modes*)) + (provide 'egg-kor)) + (setq wnn-server-type 'kserver) + (setq egg-default-startup-file "eggrc-wnn") + (setq-default its:*current-map* (its:get-mode-map "hangul")))) + +;; (make-coding-system +;; 'euc-kr 2 ?K +;; "Coding-system of Korean EUC (Extended Unix Code)." +;; '((ascii t) korean-ksc5601 nil nil +;; nil ascii-eol ascii-cntl)) + +(make-coding-system + 'euc-kr 'iso2022 + "Coding-system of Korean EUC (Extended Unix Code)." + '(charset-g0 ascii + charset-g1 korean-ksc5601 + mnemonic "ko/EUC" + eol-type nil)) + +;;(define-coding-system-alias 'euc-kr 'euc-korea) + +(copy-coding-system 'euc-kr 'korean-euc) + +;; (make-coding-system +;; 'iso-2022-kr 2 ?k +;; "MIME ISO-2022-KR" +;; '(ascii (nil korean-ksc5601) nil nil +;; nil ascii-eol ascii-cntl seven locking-shift nil nil nil nil nil +;; designation-bol)) + +(make-coding-system + 'iso-2022-kr 'iso2022 + "Coding-System used for communication with mail in Korea." + '(charset-g0 ascii + charset-g1 korean-ksc5601 + force-g1-on-output t + seven t + lock-shift t + mnemonic "Ko/7bit" + eol-type lf)) + +(defun setup-korean-environment () + "Setup multilingual environment (MULE) for Korean." + (interactive) + (setup-english-environment) + ;; (setq coding-category-iso-8-2 'euc-kr) + (set-coding-category-system 'iso-8-2 'euc-kr) + + ;; (set-coding-priority + ;; '(coding-category-iso-7 + ;; coding-category-iso-8-2 + ;; coding-category-iso-8-1)) + (set-coding-priority-list + '(iso-8-2 + iso-7 + iso-8-1 + iso-8-designate + iso-lock-shift + no-conversion + shift-jis + big5)) + + (set-default-coding-systems 'euc-kr) + + ;; (when (eq 'x (device-type (selected-device))) + ;; (x-use-halfwidth-roman-font 'korean-ksc5601 "ksc5636")) + + ;; EGG specific setup 97.02.05 jhod + (when (featurep 'egg) + (when (not (featurep 'egg-kor)) + (provide 'egg-kor) + (load "its-hangul") + (setq its:*standard-modes* + (cons (its:get-mode-map "hangul") its:*standard-modes*))) + (setq-default its:*current-map* (its:get-mode-map "hangul"))) + + (setq default-input-method "korean-hangul")) + +(set-language-info-alist + "Korean" '((setup-function . setup-korean-environment) + (tutorial . "TUTORIAL.ko") + (charset . (korean-ksc5601)) + (coding-system . (iso-2022-kr euc-kr)) + (sample-text . "Hangul ($(CGQ1[(B) $(C>H3gGO<<?d(B, $(C>H3gGO=J4O1n(B") + (documentation . t))) + +;;; korean.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/misc-lang.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,52 @@ +;;; misc-lang.el --- support for miscellaneous languages (characters) + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: multilingual, character set, coding system + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Code: + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; IPA (International Phonetic Alphabet) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(make-charset 'ipa "International Phonetic Alphabet" + '(registry "MuleIPA" + dimension 1 + chars 96 + final ?0 + graphic 1 + )) ; for XEmacs + +(defun setup-ipa-environment () + "Setup multilingual environment (MULE) for IPA." + (interactive) + (setup-english-environment)) + +(set-language-info-alist + "IPA" '((setup-function . setup-ipa-environment) + (charset . (ipa)) + (documentation . "\ +IPA is International Phonetic Alphabet for English, French, German +and Italian."))) + +;;; misc-lang.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-category.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,286 @@ +;;; mule-category.el --- category functions for XEmacs/Mule. + +;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; Functions for working with category tables, which are a particular +;; type of char table. Some function names / arguments should be +;; parallel with syntax tables. + +;; Written by Ben Wing <wing@666.com>. The initialization code +;; at the end of this file comes from Mule. +;; Some bugfixes by Jareth Hein <jhod@po.iijnet.or.jp> + +;;; Code: + +(defvar defined-category-hashtable (make-hashtable 50)) + +(defun define-category (designator doc-string) + "Make a new category whose designator is DESIGNATOR. +DESIGNATOR should be a visible letter of ' ' thru '~'. +STRING is a doc string for the category. +Letters of 'a' thru 'z' are already used or kept for the system." + (check-argument-type 'category-designator-p designator) + (check-argument-type 'stringp doc-string) + (puthash designator doc-string defined-category-hashtable)) + +(defun undefine-category (designator) + "Undefine DESIGNATOR as a designator for a category." + (check-argument-type 'category-designator-p designator) + (remhash designator defined-category-hashtable)) + +(defun defined-category-p (designator) + "Return non-nil if DESIGNATOR is a designator for a defined category." + (and (category-designator-p designator) + (gethash designator defined-category-hashtable))) + +(defun defined-category-list () + "Return a list of the currently defined categories. +Categories are given by their designators." + (let (list) + (maphash #'(lambda (key value) + (setq list (cons key list))) + defined-category-hashtable) + (nreverse list))) + +(defun undefined-category-designator () + "Return an undefined category designator, or nil if there are none." + (let ((a 32) found) + (while (and (< a 127) (not found)) + (if (gethash a defined-category-hashtable) + (setq found a)) + (setq a (1+ a))) + found)) + +(defun category-doc-string (designator) + "Return the doc-string for the category denoted by DESIGNATOR." + (check-argument-type 'defined-category-p designator) + (gethash designator defined-category-hashtable)) + +(defun modify-category-entry (char-range designator &optional table reset) + "Add a category to the categories associated with CHAR-RANGE. +CHAR-RANGE is a single character or a range of characters, + as per `put-char-table'. +The category is given by a designator character. +The changes are made in TABLE, which defaults to the current buffer's + category table. +If optional fourth argument RESET is non-nil, previous categories associated + with CHAR-RANGE are removed before adding the specified category." + (or table (setq table (category-table))) + (check-argument-type 'category-table-p table) + (check-argument-type 'defined-category-p designator) + (if reset + ;; clear all existing stuff. + (put-char-table char-range nil table)) + (map-char-table + #'(lambda (key value) + ;; make sure that this range has a bit-vector assigned to it + (if (not (bit-vector-p value)) + (setq value (make-bit-vector 95 0)) + (setq value (copy-sequence value))) + ;; set the appropriate bit in that vector. + (aset value (- designator 32) 1) + ;; put the vector back, thus assuring we have a unique setting for this range + (put-char-table key value table)) + table char-range)) + +(defun char-category-list (char &optional table) + "Return a list of the categories that CHAR is in. +TABLE defaults to the current buffer's category table. +The categories are given by their designators." + (or table (setq table (category-table))) + (check-argument-type 'category-table-p table) + (let ((vec (get-char-table char table))) + (if (null vec) nil + (let ((a 32) list) + (while (< a 127) + (if (= 1 (aref vec (- a 32))) + (setq list (cons a list))) + (setq a (1+ a))) + (nreverse list))))) + +;; implimented in c, file chartab.c (97/3/14 jhod@po.iijnet.or.jp) +;(defun char-in-category-p (char category &optional table) +; "Return non-nil if CHAR is in CATEGORY. +;TABLE defaults to the current buffer's category table. +;Categories are specified by their designators." +; (or table (setq table (category-table))) +; (check-argument-type 'category-table-p table) +; (check-argument-type 'category-designator-p category) +; (let ((vec (get-char-table char table))) +; (if (null vec) nil +; (= 1 (aref vec (- category 32)))))) + +(defun describe-category () + "Describe the category specifications in the category table. +The descriptions are inserted in a buffer, which is then displayed." + (interactive) + (with-output-to-temp-buffer "*Help*" + (describe-category-table (category-table) standard-output))) + +(defun describe-category-table (table stream) + (let (first-char + last-char + prev-val + (describe-one + (lambda (first last value stream) + (if (and (bit-vector-p value) + (> (reduce '+ value) 0)) + (progn + (if (equal first last) + (cond ((vectorp first) + (princ (format "%s, row %d" + (charset-name + (aref first 0)) + (aref first 1)) + stream)) + ((charsetp first) + (princ (charset-name first) stream)) + (t (princ first stream))) + (cond ((vectorp first) + (princ (format "%s, rows %d .. %d" + (charset-name + (aref first 0)) + (aref first 1) + (aref last 1)) + stream)) + (t + (princ (format "%s .. %s" first last) + stream)))) + (describe-category-code value stream)))))) + (map-char-table + (lambda (range value) + (if (and (or + (and (characterp range) + (characterp first-char) + (eq (char-charset range) (char-charset first-char)) + (= (char-to-int last-char) (1- (char-to-int range)))) + (and (vectorp range) + (vectorp first-char) + (eq (aref range 0) (aref first-char 0)) + (= (aref last-char 1) (1- (aref range 1)))) + (equal value prev-val))) + (setq last-char range) + (if first-char + (progn + (funcall describe-one first-char last-char prev-val stream) + (setq first-char nil))) + (funcall describe-one range range value stream)) + nil) + table) + (if first-char + (funcall describe-one first-char last-char prev-val stream)))) + +(defun describe-category-code (code stream) + (let ((standard-output (or stream standard-output))) + (princ "\tin categories: ") + (if (not (bit-vector-p code)) + (princ "(none)") + (let ((i 0) + already-matched) + (while (< i 95) + (if (= 1 (aref code i)) + (progn + (if (not already-matched) + (setq already-matched t) + (princ " ")) + (princ (int-to-char (+ 32 i))))) + (setq i (1+ i))) + (if (not already-matched) + (princ "(none)"))) + (let ((i 0)) + (while (< i 95) + (if (= 1 (aref code i)) + (princ (format "\n\t\tmeaning: %s" + (category-doc-string (int-to-char (+ 32 i)))))) + (setq i (1+ i))))) + (terpri))) + +(defconst predefined-category-list + '((latin-iso8859-1 ?l "Latin-1 through Latin-5 character set") + (latin-iso8859-2 ?l) + (latin-iso8859-3 ?l) + (latin-iso8859-4 ?l) + (latin-iso8859-9 ?l) + (cyrillic-iso8859-5 ?y "Cyrillic character set") + (arabic-iso8859-6 ?b "Arabic character set") + (greek-iso8859-7 ?g "Greek character set") + (hebrew-iso8859-8 ?w "Hebrew character set") + (katakana-jisx0201 ?k "Japanese 1-byte Katakana character set") + (latin-jisx0201 ?r "Japanese 1-byte Roman character set") + (japanese-jisx0208-1978 ?j "Japanese 2-byte character set (old)") + (japanese-jisx0208 ?j "Japanese 2-byte character set") + (japanese-jisx0212 ?j) + (chinese-gb2312 ?c "Chinese GB (China, PRC) 2-byte character set") + (chinese-cns11643-1 ?t "Chinese Taiwan (CNS or Big5) 2-byte character set") + (chinese-cns11643-2 ?t) + (chinese-big5-1 ?t) + (chinese-big5-2 ?t) + (korean-ksc5601 ?h "Hangul (Korean) 2-byte character set") + ) + "List of predefined categories. +Each element is a list of a charset, a designator, and maybe a doc string.") + +(let (i l) + (define-category ?a "ASCII character set.") + (setq i 32) + (while (< i 127) + (modify-category-entry i ?a) + (setq i (1+ i))) + (setq l predefined-category-list) + (while l + (if (and (nth 2 (car l)) + (not (defined-category-p (nth 2 (car l))))) + (define-category (nth 1 (car l)) (nth 2 (car l)))) + (modify-category-entry (car (car l)) (nth 1 (car l))) + (setq l (cdr l)))) + +;;; 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\\)" + "Regular expression of such characters which can be a word across newline.") + +(defvar ascii-char "[\40-\176]") +(defvar ascii-space "[ \t]") +(defvar ascii-symbols "[\40-\57\72-\100\133-\140\173-\176]") +(defvar ascii-numeric "[\60-\71]") +(defvar ascii-English-Upper "[\101-\132]") +(defvar ascii-English-Lower "[\141-\172]") +(defvar ascii-alphanumeric "[\60-\71\101-\132\141-\172]") + +(defvar kanji-char "\\cj") +(defvar kanji-space "$B!!(B") +(defvar kanji-symbols "\\cS") +(defvar kanji-numeric "[$B#0(B-$B#9(B]") +(defvar kanji-English-Upper "[$B#A(B-$B#Z(B]") +(defvar kanji-English-Lower "[$B#a(B-$B#z(B]") +(defvar kanji-hiragana "\\cH") +(defvar kanji-katakana "\\cK") +(defvar kanji-Greek-Upper "[$B&!(B-$B&8(B]") +(defvar kanji-Greek-Lower "[$B&A(B-$B&X(B]") +(defvar kanji-Russian-Upper "[$B'!(B-$B'A(B]") +(defvar kanji-Russian-Lower "[$B'Q(B-$B'q(B]") +(defvar kanji-Kanji-1st-Level "[$B0!(B-$BOS(B]") +(defvar kanji-Kanji-2nd-Level "[$BP!(B-$Bt$(B]") + +(defvar kanji-kanji-char "\\(\\cH\\|\\cK\\|\\cC\\)")
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-ccl.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,1110 @@ +;;; ccl.el --- CCL (Code Conversion Language) compiler + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. + +;; Keywords: CCL, mule, multilingual, character set, coding-system + +;; This file is part of X Emacs. + +;; GNU Emacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;; Synched up with: FSF 20.2 + +;;; Commentary: + +;; CCL (Code Conversion Language) is a simple programming language to +;; be used for various kind of code conversion. CCL program is +;; compiled to CCL code (vector of integers) and executed by CCL +;; interpreter of Emacs. +;; +;; CCL is used for code conversion at process I/O and file I/O for +;; non-standard coding-system. In addition, it is used for +;; calculating a code point of X's font from a character code. +;; However, since CCL is designed as a powerful programming language, +;; it can be used for more generic calculation. For instance, +;; combination of three or more arithmetic operations can be +;; calculated faster than Emacs Lisp. +;; +;; Here's the syntax of CCL program in BNF notation. +;; +;; CCL_PROGRAM := +;; (BUFFER_MAGNIFICATION +;; CCL_MAIN_BLOCK +;; [ CCL_EOF_BLOCK ]) +;; +;; BUFFER_MAGNIFICATION := integer +;; CCL_MAIN_BLOCK := CCL_BLOCK +;; CCL_EOF_BLOCK := CCL_BLOCK +;; +;; CCL_BLOCK := +;; STATEMENT | (STATEMENT [STATEMENT ...]) +;; STATEMENT := +;; SET | IF | BRANCH | LOOP | REPEAT | BREAK | READ | WRITE | CALL +;; +;; SET := +;; (REG = EXPRESSION) +;; | (REG ASSIGNMENT_OPERATOR EXPRESSION) +;; | integer +;; +;; EXPRESSION := ARG | (EXPRESSION OPERATOR ARG) +;; +;; IF := (if EXPRESSION CCL_BLOCK CCL_BLOCK) +;; BRANCH := (branch EXPRESSION CCL_BLOCK [CCL_BLOCK ...]) +;; LOOP := (loop STATEMENT [STATEMENT ...]) +;; BREAK := (break) +;; REPEAT := +;; (repeat) +;; | (write-repeat [REG | integer | string]) +;; | (write-read-repeat REG [integer | ARRAY]) +;; READ := +;; (read REG ...) +;; | (read-if (REG OPERATOR ARG) CCL_BLOCK CCL_BLOCK) +;; | (read-branch REG CCL_BLOCK [CCL_BLOCK ...]) +;; WRITE := +;; (write REG ...) +;; | (write EXPRESSION) +;; | (write integer) | (write string) | (write REG ARRAY) +;; | string +;; CALL := (call ccl-program-name) +;; END := (end) +;; +;; REG := r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 +;; ARG := REG | integer +;; OPERATOR := +;; + | - | * | / | % | & | '|' | ^ | << | >> | <8 | >8 | // +;; | < | > | == | <= | >= | != | de-sjis | en-sjis +;; ASSIGNMENT_OPERATOR := +;; += | -= | *= | /= | %= | &= | '|=' | ^= | <<= | >>= +;; ARRAY := '[' interger ... ']' + +;;; Code: + +(defconst ccl-command-table + [if branch loop break repeat write-repeat write-read-repeat + read read-if read-branch write call end] + "*Vector of CCL commands (symbols).") + +;; Put a property to each symbol of CCL commands for the compiler. +(let (op (i 0) (len (length ccl-command-table))) + (while (< i len) + (setq op (aref ccl-command-table i)) + (put op 'ccl-compile-function (intern (format "ccl-compile-%s" op))) + (setq i (1+ i)))) + +(defconst ccl-code-table + [set-register + set-short-const + set-const + set-array + jump + jump-cond + write-register-jump + write-register-read-jump + write-const-jump + write-const-read-jump + write-string-jump + write-array-read-jump + read-jump + branch + read-register + write-expr-const + read-branch + write-register + write-expr-register + call + write-const-string + write-array + end + set-assign-expr-const + set-assign-expr-register + set-expr-const + set-expr-register + jump-cond-expr-const + jump-cond-expr-register + read-jump-cond-expr-const + read-jump-cond-expr-register + ] + "*Vector of CCL compiled codes (symbols).") + +;; Put a property to each symbol of CCL codes for the disassembler. +(let (code (i 0) (len (length ccl-code-table))) + (while (< i len) + (setq code (aref ccl-code-table i)) + (put code 'ccl-code i) + (put code 'ccl-dump-function (intern (format "ccl-dump-%s" code))) + (setq i (1+ i)))) + +(defconst ccl-jump-code-list + '(jump jump-cond write-register-jump write-register-read-jump + write-const-jump write-const-read-jump write-string-jump + write-array-read-jump read-jump)) + +;; Put a property `jump-flag' to each CCL code which execute jump in +;; some way. +(let ((l ccl-jump-code-list)) + (while l + (put (car l) 'jump-flag t) + (setq l (cdr l)))) + +(defconst ccl-register-table + [r0 r1 r2 r3 r4 r5 r6 r7] + "*Vector of CCL registers (symbols).") + +;; Put a property to indicate register number to each symbol of CCL. +;; registers. +(let (reg (i 0) (len (length ccl-register-table))) + (while (< i len) + (setq reg (aref ccl-register-table i)) + (put reg 'ccl-register-number i) + (setq i (1+ i)))) + +(defconst ccl-arith-table + [+ - * / % & | ^ << >> <8 >8 // nil nil nil + < > == <= >= != de-sjis en-sjis] + "*Vector of CCL arithmetic/logical operators (symbols).") + +;; Put a property to each symbol of CCL operators for the compiler. +(let (arith (i 0) (len (length ccl-arith-table))) + (while (< i len) + (setq arith (aref ccl-arith-table i)) + (if arith (put arith 'ccl-arith-code i)) + (setq i (1+ i)))) + +(defconst ccl-assign-arith-table + [+= -= *= /= %= &= |= ^= <<= >>= <8= >8= //=] + "*Vector of CCL assignment operators (symbols).") + +;; Put a property to each symbol of CCL assignment operators for the compiler. +(let (arith (i 0) (len (length ccl-assign-arith-table))) + (while (< i len) + (setq arith (aref ccl-assign-arith-table i)) + (put arith 'ccl-self-arith-code i) + (setq i (1+ i)))) + +(defvar ccl-program-vector nil + "Working vector of CCL codes produced by CCL compiler.") +(defvar ccl-current-ic 0 + "The current index for `ccl-program-vector'.") + +;; Embed integer DATA in `ccl-program-vector' at `ccl-current-ic' and +;; increment it. If IC is specified, embed DATA at IC. +(defun ccl-embed-data (data &optional ic) + (let ((val (if (characterp data) (char-int data) data))) + (if ic + (aset ccl-program-vector ic val) + (aset ccl-program-vector ccl-current-ic val) + (setq ccl-current-ic (1+ ccl-current-ic))))) + +;; Embed string STR of length LEN in `ccl-program-vector' at +;; `ccl-current-ic'. +(defun ccl-embed-string (len str) + (let ((i 0)) + (while (< i len) + (ccl-embed-data (logior (ash (aref str i) 16) + (if (< (1+ i) len) + (ash (aref str (1+ i)) 8) + 0) + (if (< (+ i 2) len) + (aref str (+ i 2)) + 0))) + (setq i (+ i 3))))) + +;; Embed a relative jump address to `ccl-current-ic' in +;; `ccl-program-vector' at IC without altering the other bit field. +(defun ccl-embed-current-address (ic) + (let ((relative (- ccl-current-ic (1+ ic)))) + (aset ccl-program-vector ic + (logior (aref ccl-program-vector ic) (ash relative 8))))) + +;; Embed CCL code for the operation OP and arguments REG and DATA in +;; `ccl-program-vector' at `ccl-current-ic' in the following format. +;; |----------------- integer (28-bit) ------------------| +;; |------------ 20-bit ------------|- 3-bit --|- 5-bit -| +;; |------------- DATA -------------|-- REG ---|-- OP ---| +;; If REG2 is specified, embed a code in the following format. +;; |------- 17-bit ------|- 3-bit --|- 3-bit --|- 5-bit -| +;; |-------- DATA -------|-- REG2 --|-- REG ---|-- OP ---| + +;; If REG is a CCL register symbol (e.g. r0, r1...), the register +;; number is embedded. If OP is one of unconditional jumps, DATA is +;; changed to an relative jump address. + +(defun ccl-embed-code (op reg data &optional reg2) + (if (and (> data 0) (get op 'jump-flag)) + ;; DATA is an absolute jump address. Make it relative to the + ;; next of jump code. + (setq data (- data (1+ ccl-current-ic)))) + (let ((code (logior (get op 'ccl-code) + (ash + (if (symbolp reg) (get reg 'ccl-register-number) reg) 5) + (if reg2 + (logior (ash (get reg2 'ccl-register-number) 8) + (ash data 11)) + (ash data 8))))) + (aset ccl-program-vector ccl-current-ic code) + (setq ccl-current-ic (1+ ccl-current-ic)))) + +;; Just advance `ccl-current-ic' by INC. +(defun ccl-increment-ic (inc) + (setq ccl-current-ic (+ ccl-current-ic inc))) + +;;;###autoload +(defun ccl-program-p (obj) + "T if OBJECT is a valid CCL compiled code." + (and (vectorp obj) + (let ((i 0) (len (length obj)) (flag t)) + (if (> len 1) + (progn + (while (and flag (< i len)) + (setq flag (integerp (aref obj i))) + (setq i (1+ i))) + flag))))) + +;; If non-nil, index of the start of the current loop. +(defvar ccl-loop-head nil) +;; If non-nil, list of absolute addresses of the breaking points of +;; the current loop. +(defvar ccl-breaks nil) + +;;;###autoload +(defun ccl-compile (ccl-program) + "Return a compiled code of CCL-PROGRAM as a vector of integer." + (if (or (null (consp ccl-program)) + (null (integer-or-char-p (car ccl-program))) + (null (listp (car (cdr ccl-program))))) + (error "CCL: Invalid CCL program: %s" ccl-program)) + (if (null (vectorp ccl-program-vector)) + (setq ccl-program-vector (make-vector 8192 0))) + (setq ccl-loop-head nil ccl-breaks nil) + (setq ccl-current-ic 0) + + ;; The first element is the buffer magnification. + (ccl-embed-data (car ccl-program)) + + ;; The second element is the address of the start CCL code for + ;; processing end of input buffer (we call it eof-processor). We + ;; set it later. + (ccl-increment-ic 1) + + ;; Compile the main body of the CCL program. + (ccl-compile-1 (car (cdr ccl-program))) + + ;; Embed the address of eof-processor. + (ccl-embed-data ccl-current-ic 1) + + ;; Then compile eof-processor. + (if (nth 2 ccl-program) + (ccl-compile-1 (nth 2 ccl-program))) + + ;; At last, embed termination code. + (ccl-embed-code 'end 0 0) + + (let ((vec (make-vector ccl-current-ic 0)) + (i 0)) + (while (< i ccl-current-ic) + (aset vec i (aref ccl-program-vector i)) + (setq i (1+ i))) + vec)) + +;; Signal syntax error. +(defun ccl-syntax-error (cmd) + (error "CCL: Syntax error: %s" cmd)) + +;; Check if ARG is a valid CCL register. +(defun ccl-check-register (arg cmd) + (if (get arg 'ccl-register-number) + arg + (error "CCL: Invalid register %s in %s." arg cmd))) + +;; Check if ARG is a valid CCL command. +(defun ccl-check-compile-function (arg cmd) + (or (get arg 'ccl-compile-function) + (error "CCL: Invalid command: %s" cmd))) + +;; In the following code, most ccl-compile-XXXX functions return t if +;; they end with unconditional jump, else return nil. + +;; Compile CCL-BLOCK (see the syntax above). +(defun ccl-compile-1 (ccl-block) + (let (unconditional-jump + cmd) + (if (or (integer-or-char-p ccl-block) + (stringp ccl-block) + (and ccl-block (symbolp (car ccl-block)))) + ;; This block consists of single statement. + (setq ccl-block (list ccl-block))) + + ;; Now CCL-BLOCK is a list of statements. Compile them one by + ;; one. + (while ccl-block + (setq cmd (car ccl-block)) + (setq unconditional-jump + (cond ((integer-or-char-p cmd) + ;; SET statement for the register 0. + (ccl-compile-set (list 'r0 '= cmd))) + + ((stringp cmd) + ;; WRITE statement of string argument. + (ccl-compile-write-string cmd)) + + ((listp cmd) + ;; The other statements. + (cond ((eq (nth 1 cmd) '=) + ;; SET statement of the form `(REG = EXPRESSION)'. + (ccl-compile-set cmd)) + + ((and (symbolp (nth 1 cmd)) + (get (nth 1 cmd) 'ccl-self-arith-code)) + ;; SET statement with an assignment operation. + (ccl-compile-self-set cmd)) + + (t + (funcall (ccl-check-compile-function (car cmd) cmd) + cmd)))) + + (t + (ccl-syntax-error cmd)))) + (setq ccl-block (cdr ccl-block))) + unconditional-jump)) + +(defconst ccl-max-short-const (ash 1 19)) +(defconst ccl-min-short-const (ash -1 19)) + +;; Compile SET statement. +(defun ccl-compile-set (cmd) + (let ((rrr (ccl-check-register (car cmd) cmd)) + (right (nth 2 cmd))) + (cond ((listp right) + ;; CMD has the form `(RRR = (XXX OP YYY))'. + (ccl-compile-expression rrr right)) + + ((integer-or-char-p right) + ;; CMD has the form `(RRR = integer)'. + (if (and (<= right ccl-max-short-const) + (>= right ccl-min-short-const)) + (ccl-embed-code 'set-short-const rrr right) + (ccl-embed-code 'set-const rrr 0) + (ccl-embed-data right))) + + (t + ;; CMD has the form `(RRR = rrr [ array ])'. + (ccl-check-register right cmd) + (let ((ary (nth 3 cmd))) + (if (vectorp ary) + (let ((i 0) (len (length ary))) + (ccl-embed-code 'set-array rrr len right) + (while (< i len) + (ccl-embed-data (aref ary i)) + (setq i (1+ i)))) + (ccl-embed-code 'set-register rrr 0 right)))))) + nil) + +;; Compile SET statement with ASSIGNMENT_OPERATOR. +(defun ccl-compile-self-set (cmd) + (let ((rrr (ccl-check-register (car cmd) cmd)) + (right (nth 2 cmd))) + (if (listp right) + ;; CMD has the form `(RRR ASSIGN_OP (XXX OP YYY))', compile + ;; the right hand part as `(r7 = (XXX OP YYY))' (note: the + ;; register 7 can be used for storing temporary value). + (progn + (ccl-compile-expression 'r7 right) + (setq right 'r7))) + ;; Now CMD has the form `(RRR ASSIGN_OP ARG)'. Compile it as + ;; `(RRR = (RRR OP ARG))'. + (ccl-compile-expression + rrr + (list rrr (intern (substring (symbol-name (nth 1 cmd)) 0 -1)) right))) + nil) + +;; Compile SET statement of the form `(RRR = EXPR)'. +(defun ccl-compile-expression (rrr expr) + (let ((left (car expr)) + (op (get (nth 1 expr) 'ccl-arith-code)) + (right (nth 2 expr))) + (if (listp left) + (progn + ;; EXPR has the form `((EXPR2 OP2 ARG) OP RIGHT)'. Compile + ;; the first term as `(r7 = (EXPR2 OP2 ARG)).' + (ccl-compile-expression 'r7 left) + (setq left 'r7))) + + ;; Now EXPR has the form (LEFT OP RIGHT). + (if (eq rrr left) + ;; Compile this SET statement as `(RRR OP= RIGHT)'. + (if (integer-or-char-p right) + (progn + (ccl-embed-code 'set-assign-expr-const rrr (ash op 3) 'r0) + (ccl-embed-data right)) + (ccl-check-register right expr) + (ccl-embed-code 'set-assign-expr-register rrr (ash op 3) right)) + + ;; Compile this SET statement as `(RRR = (LEFT OP RIGHT))'. + (if (integer-or-char-p right) + (progn + (ccl-embed-code 'set-expr-const rrr (ash op 3) left) + (ccl-embed-data right)) + (ccl-check-register right expr) + (ccl-embed-code 'set-expr-register + rrr + (logior (ash op 3) (get right 'ccl-register-number)) + left))))) + +;; Compile WRITE statement with string argument. +(defun ccl-compile-write-string (str) + (let ((len (length str))) + (ccl-embed-code 'write-const-string 1 len) + (ccl-embed-string len str)) + nil) + +;; Compile IF statement of the form `(if CONDITION TRUE-PART FALSE-PART)'. +;; If READ-FLAG is non-nil, this statement has the form +;; `(read-if (REG OPERATOR ARG) TRUE-PART FALSE-PART)'. +(defun ccl-compile-if (cmd &optional read-flag) + (if (and (/= (length cmd) 3) (/= (length cmd) 4)) + (error "CCL: Invalid number of arguments: %s" cmd)) + (let ((condition (nth 1 cmd)) + (true-cmds (nth 2 cmd)) + (false-cmds (nth 3 cmd)) + jump-cond-address + false-ic) + (if (and (listp condition) + (listp (car condition))) + ;; If CONDITION is a nested expression, the inner expression + ;; should be compiled at first as SET statement, i.e.: + ;; `(if ((X OP2 Y) OP Z) ...)' is compiled into two statements: + ;; `(r7 = (X OP2 Y)) (if (r7 OP Z) ...)'. + (progn + (ccl-compile-expression 'r7 (car condition)) + (setq condition (cons 'r7 (cdr condition))) + (setq cmd (cons (car cmd) + (cons condition (cdr (cdr cmd))))))) + + (setq jump-cond-address ccl-current-ic) + ;; Compile CONDITION. + (if (symbolp condition) + ;; CONDITION is a register. + (progn + (ccl-check-register condition cmd) + (ccl-embed-code 'jump-cond condition 0)) + ;; CONDITION is a simple expression of the form (RRR OP ARG). + (let ((rrr (car condition)) + (op (get (nth 1 condition) 'ccl-arith-code)) + (arg (nth 2 condition))) + (ccl-check-register rrr cmd) + (if (integer-or-char-p arg) + (progn + (ccl-embed-code (if read-flag 'read-jump-cond-expr-const + 'jump-cond-expr-const) + rrr 0) + (ccl-embed-data op) + (ccl-embed-data arg)) + (ccl-check-register arg cmd) + (ccl-embed-code (if read-flag 'read-jump-cond-expr-register + 'jump-cond-expr-register) + rrr 0) + (ccl-embed-data op) + (ccl-embed-data (get arg 'ccl-register-number))))) + + ;; Compile TRUE-PART. + (let ((unconditional-jump (ccl-compile-1 true-cmds))) + (if (null false-cmds) + ;; This is the place to jump to if condition is false. + (ccl-embed-current-address jump-cond-address) + (let (end-true-part-address) + (if (not unconditional-jump) + (progn + ;; If TRUE-PART does not end with unconditional jump, we + ;; have to jump to the end of FALSE-PART from here. + (setq end-true-part-address ccl-current-ic) + (ccl-embed-code 'jump 0 0))) + ;; This is the place to jump to if CONDITION is false. + (ccl-embed-current-address jump-cond-address) + ;; Compile FALSE-PART. + (setq unconditional-jump + (and (ccl-compile-1 false-cmds) unconditional-jump)) + (if end-true-part-address + ;; This is the place to jump to after the end of TRUE-PART. + (ccl-embed-current-address end-true-part-address)))) + unconditional-jump))) + +;; Compile BRANCH statement. +(defun ccl-compile-branch (cmd) + (if (< (length cmd) 3) + (error "CCL: Invalid number of arguments: %s" cmd)) + (ccl-compile-branch-blocks 'branch + (ccl-compile-branch-expression (nth 1 cmd) cmd) + (cdr (cdr cmd)))) + +;; Compile READ statement of the form `(read-branch EXPR BLOCK0 BLOCK1 ...)'. +(defun ccl-compile-read-branch (cmd) + (if (< (length cmd) 3) + (error "CCL: Invalid number of arguments: %s" cmd)) + (ccl-compile-branch-blocks 'read-branch + (ccl-compile-branch-expression (nth 1 cmd) cmd) + (cdr (cdr cmd)))) + +;; Compile EXPRESSION part of BRANCH statement and return register +;; which holds a value of the expression. +(defun ccl-compile-branch-expression (expr cmd) + (if (listp expr) + ;; EXPR has the form `(EXPR2 OP ARG)'. Compile it as SET + ;; statement of the form `(r7 = (EXPR2 OP ARG))'. + (progn + (ccl-compile-expression 'r7 expr) + 'r7) + (ccl-check-register expr cmd))) + +;; Compile BLOCKs of BRANCH statement. CODE is 'branch or 'read-branch. +;; REG is a register which holds a value of EXPRESSION part. BLOCKs +;; is a list of CCL-BLOCKs. +(defun ccl-compile-branch-blocks (code rrr blocks) + (let ((branches (length blocks)) + branch-idx + jump-table-head-address + empty-block-indexes + block-tail-addresses + block-unconditional-jump) + (ccl-embed-code code rrr branches) + (setq jump-table-head-address ccl-current-ic) + ;; The size of jump table is the number of blocks plus 1 (for the + ;; case RRR is out of range). + (ccl-increment-ic (1+ branches)) + (setq empty-block-indexes (list branches)) + ;; Compile each block. + (setq branch-idx 0) + (while blocks + (if (null (car blocks)) + ;; This block is empty. + (setq empty-block-indexes (cons branch-idx empty-block-indexes) + block-unconditional-jump t) + ;; This block is not empty. + (ccl-embed-data (- ccl-current-ic jump-table-head-address) + (+ jump-table-head-address branch-idx)) + (setq block-unconditional-jump (ccl-compile-1 (car blocks))) + (if (not block-unconditional-jump) + (progn + ;; Jump address of the end of branches are embedded later. + ;; For the moment, just remember where to embed them. + (setq block-tail-addresses + (cons ccl-current-ic block-tail-addresses)) + (ccl-embed-code 'jump 0 0)))) + (setq branch-idx (1+ branch-idx)) + (setq blocks (cdr blocks))) + (if (not block-unconditional-jump) + ;; We don't need jump code at the end of the last block. + (setq block-tail-addresses (cdr block-tail-addresses) + ccl-current-ic (1- ccl-current-ic))) + ;; Embed jump address at the tailing jump commands of blocks. + (while block-tail-addresses + (ccl-embed-current-address (car block-tail-addresses)) + (setq block-tail-addresses (cdr block-tail-addresses))) + ;; For empty blocks, make entries in the jump table point directly here. + (while empty-block-indexes + (ccl-embed-data (- ccl-current-ic jump-table-head-address) + (+ jump-table-head-address (car empty-block-indexes))) + (setq empty-block-indexes (cdr empty-block-indexes)))) + ;; Branch command ends by unconditional jump if RRR is out of range. + nil) + +;; Compile LOOP statement. +(defun ccl-compile-loop (cmd) + (if (< (length cmd) 2) + (error "CCL: Invalid number of arguments: %s" cmd)) + (let* ((ccl-loop-head ccl-current-ic) + (ccl-breaks nil) + unconditional-jump) + (setq cmd (cdr cmd)) + (if cmd + (progn + (setq unconditional-jump t) + (while cmd + (setq unconditional-jump + (and (ccl-compile-1 (car cmd)) unconditional-jump)) + (setq cmd (cdr cmd))) + (if (not ccl-breaks) + unconditional-jump + ;; Embed jump address for break statements encountered in + ;; this loop. + (while ccl-breaks + (ccl-embed-current-address (car ccl-breaks)) + (setq ccl-breaks (cdr ccl-breaks)))) + nil)))) + +;; Compile BREAK statement. +(defun ccl-compile-break (cmd) + (if (/= (length cmd) 1) + (error "CCL: Invalid number of arguments: %s" cmd)) + (if (null ccl-loop-head) + (error "CCL: No outer loop: %s" cmd)) + (setq ccl-breaks (cons ccl-current-ic ccl-breaks)) + (ccl-embed-code 'jump 0 0) + t) + +;; Compile REPEAT statement. +(defun ccl-compile-repeat (cmd) + (if (/= (length cmd) 1) + (error "CCL: Invalid number of arguments: %s" cmd)) + (if (null ccl-loop-head) + (error "CCL: No outer loop: %s" cmd)) + (ccl-embed-code 'jump 0 ccl-loop-head) + t) + +;; Compile WRITE-REPEAT statement. +(defun ccl-compile-write-repeat (cmd) + (if (/= (length cmd) 2) + (error "CCL: Invalid number of arguments: %s" cmd)) + (if (null ccl-loop-head) + (error "CCL: No outer loop: %s" cmd)) + (let ((arg (nth 1 cmd))) + (cond ((integer-or-char-p arg) + (ccl-embed-code 'write-const-jump 0 ccl-loop-head) + (ccl-embed-data arg)) + ((stringp arg) + (let ((len (length arg)) + (i 0)) + (ccl-embed-code 'write-string-jump 0 ccl-loop-head) + (ccl-embed-data len) + (ccl-embed-string len arg))) + (t + (ccl-check-register arg cmd) + (ccl-embed-code 'write-register-jump arg ccl-loop-head)))) + t) + +;; Compile WRITE-READ-REPEAT statement. +(defun ccl-compile-write-read-repeat (cmd) + (if (or (< (length cmd) 2) (> (length cmd) 3)) + (error "CCL: Invalid number of arguments: %s" cmd)) + (if (null ccl-loop-head) + (error "CCL: No outer loop: %s" cmd)) + (let ((rrr (ccl-check-register (nth 1 cmd) cmd)) + (arg (nth 2 cmd))) + (cond ((null arg) + (ccl-embed-code 'write-register-read-jump rrr ccl-loop-head)) + ((integer-or-char-p arg) + (ccl-embed-code 'write-const-read-jump rrr arg ccl-loop-head)) + ((vectorp arg) + (let ((len (length arg)) + (i 0)) + (ccl-embed-code 'write-array-read-jump rrr ccl-loop-head) + (ccl-embed-data len) + (while (< i len) + (ccl-embed-data (aref arg i)) + (setq i (1+ i))))) + (t + (error "CCL: Invalid argument %s: %s" arg cmd))) + (ccl-embed-code 'read-jump rrr ccl-loop-head)) + t) + +;; Compile READ statement. +(defun ccl-compile-read (cmd) + (if (< (length cmd) 2) + (error "CCL: Invalid number of arguments: %s" cmd)) + (let* ((args (cdr cmd)) + (i (1- (length args)))) + (while args + (let ((rrr (ccl-check-register (car args) cmd))) + (ccl-embed-code 'read-register rrr i) + (setq args (cdr args) i (1- i))))) + nil) + +;; Compile READ-IF statement. +(defun ccl-compile-read-if (cmd) + (ccl-compile-if cmd 'read)) + +;; Compile WRITE statement. +(defun ccl-compile-write (cmd) + (if (< (length cmd) 2) + (error "CCL: Invalid number of arguments: %s" cmd)) + (let ((rrr (nth 1 cmd))) + (cond ((integer-or-char-p rrr) + (ccl-embed-code 'write-const-string 0 rrr)) + ((stringp rrr) + (ccl-compile-write-string rrr)) + ((and (symbolp rrr) (vectorp (nth 2 cmd))) + (ccl-check-register rrr cmd) + ;; CMD has the form `(write REG ARRAY)'. + (let* ((arg (nth 2 cmd)) + (len (length arg)) + (i 0)) + (ccl-embed-code 'write-array rrr len) + (while (< i len) + (if (not (integer-or-char-p (aref arg i))) + (error "CCL: Invalid argument %s: %s" arg cmd)) + (ccl-embed-data (aref arg i)) + (setq i (1+ i))))) + + ((symbolp rrr) + ;; CMD has the form `(write REG ...)'. + (let* ((args (cdr cmd)) + (i (1- (length args)))) + (while args + (setq rrr (ccl-check-register (car args) cmd)) + (ccl-embed-code 'write-register rrr i) + (setq args (cdr args) i (1- i))))) + + ((listp rrr) + ;; CMD has the form `(write (LEFT OP RIGHT))'. + (let ((left (car rrr)) + (op (get (nth 1 rrr) 'ccl-arith-code)) + (right (nth 2 rrr))) + (if (listp left) + (progn + ;; RRR has the form `((EXPR OP2 ARG) OP RIGHT)'. + ;; Compile the first term as `(r7 = (EXPR OP2 ARG))'. + (ccl-compile-expression 'r7 left) + (setq left 'r7))) + ;; Now RRR has the form `(ARG OP RIGHT)'. + (if (integer-or-char-p right) + (progn + (ccl-embed-code 'write-expr-const 0 (ash op 3) left) + (ccl-embed-data right)) + (ccl-check-register right rrr) + (ccl-embed-code 'write-expr-register 0 + (logior (ash op 3) + (get right 'ccl-register-number)))))) + + (t + (error "CCL: Invalid argument: %s" cmd)))) + nil) + +;; Compile CALL statement. +(defun ccl-compile-call (cmd) + (if (/= (length cmd) 2) + (error "CCL: Invalid number of arguments: %s" cmd)) + (if (not (symbolp (nth 1 cmd))) + (error "CCL: Subroutine should be a symbol: %s" cmd)) + (let* ((name (nth 1 cmd)) + (idx (get name 'ccl-program-idx))) + (if (not idx) + (error "CCL: Unknown subroutine name: %s" name)) + (ccl-embed-code 'call 0 idx)) + nil) + +;; Compile END statement. +(defun ccl-compile-end (cmd) + (if (/= (length cmd) 1) + (error "CCL: Invalid number of arguments: %s" cmd)) + (ccl-embed-code 'end 0 0) + t) + +;;; CCL dump staffs + +;; To avoid byte-compiler warning. +(defvar ccl-code) + +;;;###autoload +(defun ccl-dump (ccl-code) + "Disassemble compiled CCL-CODE." + (let ((len (length ccl-code)) + (buffer-mag (aref ccl-code 0))) + (cond ((= buffer-mag 0) + (insert "Don't output anything.\n")) + ((= buffer-mag 1) + (insert "Out-buffer must be as large as in-buffer.\n")) + (t + (insert + (format "Out-buffer must be %d times bigger than in-buffer.\n" + buffer-mag)))) + (insert "Main-body:\n") + (setq ccl-current-ic 2) + (if (> (aref ccl-code 1) 0) + (progn + (while (< ccl-current-ic (aref ccl-code 1)) + (ccl-dump-1)) + (insert "At EOF:\n"))) + (while (< ccl-current-ic len) + (ccl-dump-1)) + )) + +;; Return a CCL code in `ccl-code' at `ccl-current-ic'. +(defun ccl-get-next-code () + (prog1 + (aref ccl-code ccl-current-ic) + (setq ccl-current-ic (1+ ccl-current-ic)))) + +(defun ccl-dump-1 () + (let* ((code (ccl-get-next-code)) + (cmd (aref ccl-code-table (logand code 31))) + (rrr (ash (logand code 255) -5)) + (cc (ash code -8))) + (insert (format "%5d:[%s] " (1- ccl-current-ic) cmd)) + (funcall (get cmd 'ccl-dump-function) rrr cc))) + +(defun ccl-dump-set-register (rrr cc) + (insert (format "r%d = r%d\n" rrr cc))) + +(defun ccl-dump-set-short-const (rrr cc) + (insert (format "r%d = %d\n" rrr cc))) + +(defun ccl-dump-set-const (rrr ignore) + (insert (format "r%d = %d\n" rrr (ccl-get-next-code)))) + +(defun ccl-dump-set-array (rrr cc) + (let ((rrr2 (logand cc 7)) + (len (ash cc -3)) + (i 0)) + (insert (format "r%d = array[r%d] of length %d\n\t" + rrr rrr2 len)) + (while (< i len) + (insert (format "%d " (ccl-get-next-code))) + (setq i (1+ i))) + (insert "\n"))) + +(defun ccl-dump-jump (ignore cc &optional address) + (insert (format "jump to %d(" (+ (or address ccl-current-ic) cc))) + (if (>= cc 0) + (insert "+")) + (insert (format "%d)\n" (1+ cc)))) + +(defun ccl-dump-jump-cond (rrr cc) + (insert (format "if (r%d == 0), " rrr)) + (ccl-dump-jump nil cc)) + +(defun ccl-dump-write-register-jump (rrr cc) + (insert (format "write r%d, " rrr)) + (ccl-dump-jump nil cc)) + +(defun ccl-dump-write-register-read-jump (rrr cc) + (insert (format "write r%d, read r%d, " rrr rrr)) + (ccl-dump-jump nil cc) + (ccl-get-next-code) ; Skip dummy READ-JUMP + ) + +(defun ccl-extract-arith-op (cc) + (aref ccl-arith-table (ash cc -6))) + +(defun ccl-dump-write-expr-const (ignore cc) + (insert (format "write (r%d %s %d)\n" + (logand cc 7) + (ccl-extract-arith-op cc) + (ccl-get-next-code)))) + +(defun ccl-dump-write-expr-register (ignore cc) + (insert (format "write (r%d %s r%d)\n" + (logand cc 7) + (ccl-extract-arith-op cc) + (logand (ash cc -3) 7)))) + +(defun ccl-dump-insert-char (cc) + (cond ((= cc ?\t) (insert " \"^I\"")) + ((= cc ?\n) (insert " \"^J\"")) + (t (insert (format " \"%c\"" cc))))) + +(defun ccl-dump-write-const-jump (ignore cc) + (let ((address ccl-current-ic)) + (insert "write char") + (ccl-dump-insert-char (ccl-get-next-code)) + (insert ", ") + (ccl-dump-jump nil cc address))) + +(defun ccl-dump-write-const-read-jump (rrr cc) + (let ((address ccl-current-ic)) + (insert "write char") + (ccl-dump-insert-char (ccl-get-next-code)) + (insert (format ", read r%d, " rrr)) + (ccl-dump-jump cc address) + (ccl-get-next-code) ; Skip dummy READ-JUMP + )) + +(defun ccl-dump-write-string-jump (ignore cc) + (let ((address ccl-current-ic) + (len (ccl-get-next-code)) + (i 0)) + (insert "write \"") + (while (< i len) + (let ((code (ccl-get-next-code))) + (insert (ash code -16)) + (if (< (1+ i) len) (insert (logand (ash code -8) 255))) + (if (< (+ i 2) len) (insert (logand code 255)))) + (setq i (+ i 3))) + (insert "\", ") + (ccl-dump-jump nil cc address))) + +(defun ccl-dump-write-array-read-jump (rrr cc) + (let ((address ccl-current-ic) + (len (ccl-get-next-code)) + (i 0)) + (insert (format "write array[r%d] of length %d,\n\t" rrr len)) + (while (< i len) + (ccl-dump-insert-char (ccl-get-next-code)) + (setq i (1+ i))) + (insert (format "\n\tthen read r%d, " rrr)) + (ccl-dump-jump nil cc address) + (ccl-get-next-code) ; Skip dummy READ-JUMP. + )) + +(defun ccl-dump-read-jump (rrr cc) + (insert (format "read r%d, " rrr)) + (ccl-dump-jump nil cc)) + +(defun ccl-dump-branch (rrr len) + (let ((jump-table-head ccl-current-ic) + (i 0)) + (insert (format "jump to array[r%d] of length %d\n\t" rrr len)) + (while (<= i len) + (insert (format "%d " (+ jump-table-head (ccl-get-next-code)))) + (setq i (1+ i))) + (insert "\n"))) + +(defun ccl-dump-read-register (rrr cc) + (insert (format "read r%d (%d remaining)\n" rrr cc))) + +(defun ccl-dump-read-branch (rrr len) + (insert (format "read r%d, " rrr)) + (ccl-dump-branch rrr len)) + +(defun ccl-dump-write-register (rrr cc) + (insert (format "write r%d (%d remaining)\n" rrr cc))) + +(defun ccl-dump-call (ignore cc) + (insert (format "call subroutine #%d\n" cc))) + +(defun ccl-dump-write-const-string (rrr cc) + (if (= rrr 0) + (progn + (insert "write char") + (ccl-dump-insert-char cc) + (newline)) + (let ((len cc) + (i 0)) + (insert "write \"") + (while (< i len) + (let ((code (ccl-get-next-code))) + (insert (format "%c" (lsh code -16))) + (if (< (1+ i) len) + (insert (format "%c" (logand (lsh code -8) 255)))) + (if (< (+ i 2) len) + (insert (format "%c" (logand code 255)))) + (setq i (+ i 3)))) + (insert "\"\n")))) + +(defun ccl-dump-write-array (rrr cc) + (let ((i 0)) + (insert (format "write array[r%d] of length %d\n\t" rrr cc)) + (while (< i cc) + (ccl-dump-insert-char (ccl-get-next-code)) + (setq i (1+ i))) + (insert "\n"))) + +(defun ccl-dump-end (&rest ignore) + (insert "end\n")) + +(defun ccl-dump-set-assign-expr-const (rrr cc) + (insert (format "r%d %s= %d\n" + rrr + (ccl-extract-arith-op cc) + (ccl-get-next-code)))) + +(defun ccl-dump-set-assign-expr-register (rrr cc) + (insert (format "r%d %s= r%d\n" + rrr + (ccl-extract-arith-op cc) + (logand cc 7)))) + +(defun ccl-dump-set-expr-const (rrr cc) + (insert (format "r%d = r%d %s %d\n" + rrr + (logand cc 7) + (ccl-extract-arith-op cc) + (ccl-get-next-code)))) + +(defun ccl-dump-set-expr-register (rrr cc) + (insert (format "r%d = r%d %s r%d\n" + rrr + (logand cc 7) + (ccl-extract-arith-op cc) + (logand (ash cc -3) 7)))) + +(defun ccl-dump-jump-cond-expr-const (rrr cc) + (let ((address ccl-current-ic)) + (insert (format "if !(r%d %s %d), " + rrr + (aref ccl-arith-table (ccl-get-next-code)) + (ccl-get-next-code))) + (ccl-dump-jump nil cc address))) + +(defun ccl-dump-jump-cond-expr-register (rrr cc) + (let ((address ccl-current-ic)) + (insert (format "if !(r%d %s r%d), " + rrr + (aref ccl-arith-table (ccl-get-next-code)) + (ccl-get-next-code))) + (ccl-dump-jump nil cc address))) + +(defun ccl-dump-read-jump-cond-expr-const (rrr cc) + (insert (format "read r%d, " rrr)) + (ccl-dump-jump-cond-expr-const rrr cc)) + +(defun ccl-dump-read-jump-cond-expr-register (rrr cc) + (insert (format "read r%d, " rrr)) + (ccl-dump-jump-cond-expr-register rrr cc)) + +(defun ccl-dump-binary (ccl-code) + (let ((len (length ccl-code)) + (i 2)) + (while (< i len) + (let ((code (aref ccl-code i)) + (j 27)) + (while (>= j 0) + (insert (if (= (logand code (ash 1 j)) 0) ?0 ?1)) + (setq j (1- j))) + (setq code (logand code 31)) + (if (< code (length ccl-code-table)) + (insert (format ":%s" (aref ccl-code-table code)))) + (insert "\n")) + (setq i (1+ i))))) + +;; CCL emulation staffs + +;; Not yet implemented. + +;;;###autoload +(defmacro declare-ccl-program (name) + "Declare NAME as a name of CCL program. + +To compile a CCL program which calls another CCL program not yet +defined, it must be declared as a CCL program in advance." + `(put ',name 'ccl-program-idx (register-ccl-program ',name nil))) + +;;;###autoload +(defmacro define-ccl-program (name ccl-program &optional doc) + "Set NAME the compiled code of CCL-PROGRAM. +CCL-PROGRAM is `eval'ed before being handed to the CCL compiler `ccl-compile'. +The compiled code is a vector of integers." + `(let ((prog ,(ccl-compile (eval ccl-program)))) + (defconst ,name prog ,doc) + (put ',name 'ccl-program-idx (register-ccl-program ',name prog)) + nil)) + +;;;###autoload +(defun ccl-execute-with-args (ccl-prog &rest args) + "Execute CCL-PROGRAM with registers initialized by the remaining args. +The return value is a vector of resulting CCL registeres." + (let ((reg (make-vector 8 0)) + (i 0)) + (while (and args (< i 8)) + (if (not (integerp (car args))) + (error "Arguments should be integer")) + (aset reg i (car args)) + (setq args (cdr args) i (1+ i))) + (ccl-execute ccl-prog reg) + reg)) + +(provide 'ccl) + +;; ccl.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-charset.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,137 @@ +;;; mule-charset.el --- Charset functions for Mule. +;; Copyright (C) 1992 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1996 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + + +;;;; Composite character support + +(defun compose-region (start end &optional buffer) + "Compose characters in the current region into one composite character. +From a Lisp program, pass two arguments, START to END. +The composite character replaces the composed characters. +BUFFER defaults to the current buffer if omitted." + (interactive "r") + (let ((ch (make-composite-char (buffer-substring start end buffer)))) + (delete-region start end buffer) + (insert-char ch nil nil buffer))) + +(defun decompose-region (start end &optional buffer) + "Decompose any composite characters in the current region. +From a Lisp program, pass two arguments, START to END. +This converts each composite character into one or more characters, +the individual characters out of which the composite character was formed. +Non-composite characters are left as-is. BUFFER defaults to the current +buffer if omitted." + (interactive "r") + (save-excursion + (set-buffer buffer) + (save-restriction + (narrow-to-region start end) + (goto-char (point-min)) + (let ((compcharset (get-charset 'composite))) + (while (< (point) (point-max)) + (let ((ch (char-after (point)))) + (if (eq compcharset (char-charset ch)) + (progn + (delete-char 1) + (insert (composite-char-string ch)))))))))) + + +;;;; Classifying text according to charsets + +(defun charsets-in-region (start end &optional buffer) + "Return a list of the charsets in the region between START and END. +BUFFER defaults to the current buffer if omitted." + (let (list) + (save-excursion + (if buffer + (set-buffer buffer)) + (save-restriction + (narrow-to-region start end) + (goto-char (point-min)) + (while (not (eobp)) + (let* (prev-charset + (ch (char-after (point))) + (charset (char-charset ch))) + (if (not (eq prev-charset charset)) + (progn + (setq prev-charset charset) + (or (memq charset list) + (setq list (cons charset list)))))) + (forward-char)))) + list)) + +(defun charsets-in-string (string) + "Return a list of the charsets in STRING." + (let ((i 0) + (len (length string)) + prev-charset charset list) + (while (< i len) + (setq charset (char-charset (aref string i))) + (if (not (eq prev-charset charset)) + (progn + (setq prev-charset charset) + (or (memq charset list) + (setq list (cons charset list))))) + (setq i (1+ i))) + list)) + + +;;;; Charset accessors + +(defun charset-graphic (charset) + "Return the `graphic' property of CHARSET. +See `make-charset'." + (charset-property charset 'graphic)) + +(defun charset-final (charset) + "Return the final byte of the ISO 2022 escape sequence designating CHARSET." + (charset-property charset 'final)) + +(defun charset-chars (charset) + "Return the number of characters per dimension of CHARSET." + (charset-property charset 'chars)) + +(defun charset-columns (charset) + "Return the number of display columns per character of CHARSET. +This only applies to TTY mode (under X, the actual display width can +be automatically determined)." + (charset-property charset 'columns)) + +(defun charset-direction (charset) + "Return the display direction (`l2r' or `r2l') of CHARSET." + (charset-property charset 'direction)) + +(defun charset-registry (charset) + "Return the registry of CHARSET. +This is a regular expression matching the registry field of fonts +that can display the characters in CHARSET." + (charset-property charset 'registry)) + +(defun charset-ccl-program (charset) + "Return the CCL program of CHARSET. +See `make-charset'." + (charset-property charset 'ccl-program)) + +;;;; Define setf methods for all settable Charset properties + +(defsetf charset-registry set-charset-registry) +(defsetf charset-ccl-program set-charset-ccl-program)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-cmds.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,706 @@ +;;; mule-cmds.el --- Commands for multilingual environment + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; Keywords: mule, multilingual + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Code: + +;;; MULE related key bindings and menus. + +(defvar mule-keymap (make-sparse-keymap "MULE") + "Keymap for MULE (Multilingual environment) specific commands.") + +;; Keep "C-x C-m ..." for mule specific commands. +(define-key ctl-x-map "\C-m" mule-keymap) + +(define-key mule-keymap "f" 'set-buffer-file-coding-system) +(define-key mule-keymap "F" 'set-default-buffer-file-coding-system) ; XEmacs +(define-key mule-keymap "t" 'set-terminal-coding-system) +(define-key mule-keymap "k" 'set-keyboard-coding-system) +(define-key mule-keymap "p" 'set-buffer-process-coding-system) +(define-key mule-keymap "\C-\\" 'select-input-method) +(define-key mule-keymap "c" 'universal-coding-system-argument) +;;(define-key mule-keymap "c" 'list-coding-system-briefly) ; XEmacs +(define-key mule-keymap "C" 'list-coding-system) ; XEmacs +(define-key mule-keymap "r" 'toggle-display-direction) ; XEmacs +(define-key mule-keymap "l" 'set-language-environment) + +(define-key help-map "\C-L" 'describe-language-support) +(define-key help-map "L" 'describe-language-environment) +(define-key help-map "\C-\\" 'describe-input-method) +(define-key help-map "I" 'describe-input-method) +(define-key help-map "C" 'describe-coding-system) +(define-key help-map "h" 'view-hello-file) + +;; Menu for XEmacs were moved to menubar-items.el. + + +;; This should be a single character key binding because users use it +;; very frequently while editing multilingual text. Now we can use +;; only two such keys: "\C-\\" and "\C-^", but the latter is not +;; convenient because it requires shifting on most keyboards. An +;; alternative is "\C-\]" which is now bound to `abort-recursive-edit' +;; but it won't be used that frequently. +(define-key global-map "\C-\\" 'toggle-input-method) + +(defun view-hello-file () + "Display the HELLO file which list up many languages and characters." + (interactive) + ;; We have to decode the file in any environment. + (let ((coding-system-for-read 'iso-2022-7)) + (find-file-read-only (expand-file-name "HELLO" data-directory)))) + +(defun universal-coding-system-argument () + "Execute an I/O command using the specified coding system." + (interactive) + (let* ((coding-system + (read-coding-system "Coding system for following command: ")) + (keyseq (read-key-sequence + (format "Command to execute with %s:" coding-system))) + (cmd (key-binding keyseq))) + (let ((coding-system-for-read coding-system) + (coding-system-for-write coding-system)) + (message "") + (call-interactively cmd)))) + +(defun set-default-coding-systems (coding-system) + "Set default value of various coding systems to CODING-SYSTEM. +The follwing coding systems are set: + o coding system of a newly created buffer + o default coding system for terminal output + o default coding system for keyboard input + o default coding system for subprocess I/O" + (check-coding-system coding-system) + ;;(setq-default buffer-file-coding-system coding-system) + (set-default-buffer-file-coding-system coding-system) + ;;(setq default-terminal-coding-system coding-system) + (setq terminal-coding-system coding-system) + ;;(setq default-keyboard-coding-system coding-system) + (setq keyboard-coding-system coding-system) + ;;(setq default-process-coding-system (cons coding-system coding-system)) + (add-hook 'comint-exec-hook + `(lambda () + (let ((proc (get-buffer-process (current-buffer)))) + (set-process-input-coding-system proc ',coding-system) + (set-process-output-coding-system proc ',coding-system))) + 'append) + (setq file-name-coding-system coding-system)) + +(defun prefer-coding-system (coding-system) + "Add CODING-SYSTEM at the front of the priority list for automatic detection. +This also sets the following coding systems to CODING-SYSTEM: + o coding system of a newly created buffer + o default coding system for terminal output + o default coding system for keyboard input + o default coding system for subprocess I/O" + (interactive "zPrefer coding system: ") + (if (not (and coding-system (coding-system-p coding-system))) + (error "Invalid coding system `%s'" coding-system)) + (let ((coding-category (coding-system-category coding-system)) + (parent (coding-system-parent coding-system))) + (if (not coding-category) + ;; CODING-SYSTEM is no-conversion or undecided. + (error "Can't prefer the coding system `%s'" coding-system)) + (set coding-category (or parent coding-system)) + (if (not (eq coding-category (car coding-category-list))) + ;; We must change the order. + (setq coding-category-list + (cons coding-category + (delq coding-category coding-category-list)))) + (if (and parent (interactive-p)) + (message "Highest priority is set to %s (parent of %s)" + parent coding-system)) + (set-default-coding-systems (or parent coding-system)))) + + +;;; Language support staffs. + +(defvar language-info-alist nil + "Alist of language names vs the corresponding information of various kind. +Each element looks like: + (LANGUAGE-NAME . ((KEY . INFO) ...)) +where LANGUAGE-NAME is a string, +KEY is a symbol denoting the kind of information, +INFO is any Lisp object which contains the actual information related +to KEY.") + +(defun get-language-info (language-name key) + "Return the information for LANGUAGE-NAME of the kind KEY. +KEY is a symbol denoting the kind of required information." + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (let ((lang-slot (assoc-ignore-case language-name language-info-alist))) + (if lang-slot + (cdr (assq key (cdr lang-slot)))))) + +(defun set-language-info (language-name key info) + "Set for LANGUAGE-NAME the information INFO under KEY. +KEY is a symbol denoting the kind of information. +INFO is any Lisp object which contains the actual information. + +Currently, the following KEYs are used by Emacs: + +charset: list of symbols whose values are charsets specific to the language. + +coding-system: list of coding systems specific to the language. + +tutorial: a tutorial file name written in the language. + +sample-text: one line short text containing characters of the language. + +documentation: t or a string describing how Emacs supports the language. + If a string is specified, it is shown before any other information + of the language by the command `describe-language-environment'. + +setup-function: a function to call for setting up environment + convenient for a user of the language. + +If KEY is documentation or setup-function, you can also specify +a cons cell as INFO, in which case, the car part should be +a normal value as INFO for KEY (as described above), +and the cdr part should be a symbol whose value is a menu keymap +in which an entry for the language is defined. But, only the car part +is actually set as the information. + +We will define more KEYs in the future. To avoid conflict, +if you want to use your own KEY values, make them start with `user-'." + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (let (lang-slot key-slot) + (setq lang-slot (assoc language-name language-info-alist)) + (if (null lang-slot) ; If no slot for the language, add it. + (setq lang-slot (list language-name) + language-info-alist (cons lang-slot language-info-alist))) + (setq key-slot (assq key lang-slot)) + (if (null key-slot) ; If no slot for the key, add it. + (progn + (setq key-slot (list key)) + (setcdr lang-slot (cons key-slot (cdr lang-slot))))) + ;; Setup menu. + (cond ((eq key 'documentation) + ;; (define-key-after + ;; (if (consp info) + ;; (prog1 (symbol-value (cdr info)) + ;; (setq info (car info))) + ;; describe-language-environment-map) + ;; (vector (intern language-name)) + ;; (cons language-name 'describe-specified-language-support) + ;; t) + (if (consp info) + (setq info (car info))) + (when (featurep 'menubar) + (eval-after-load + "menubar-items.elc" + `(add-menu-button + '("Mule" "Describe Language Support") + (vector ,language-name + '(describe-language-environment ,language-name) + t)))) + ) + ((eq key 'setup-function) + ;; (define-key-after + ;; (if (consp info) + ;; (prog1 (symbol-value (cdr info)) + ;; (setq info (car info))) + ;; setup-language-environment-map) + ;; (vector (intern language-name)) + ;; (cons language-name 'setup-specified-language-environment) + ;; t) + (if (consp info) + (setq info (car info))) + (when (featurep 'menubar) + (eval-after-load + "menubar-items.elc" + `(add-menu-button + '("Mule" "Set Language Environment") + (vector ,language-name + '(set-language-environment ,language-name) + t)))) + )) + + (setcdr key-slot info) + )) + +(defun set-language-info-alist (language-name alist) + "Set for LANGUAGE-NAME the information in ALIST. +ALIST is an alist of KEY and INFO. See the documentation of +`set-language-info' for the meanings of KEY and INFO." + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (while alist + (set-language-info language-name (car (car alist)) (cdr (car alist))) + (setq alist (cdr alist)))) + +(defun read-language-name (key prompt &optional default) + "Read language name which has information for KEY, prompting with PROMPT. +DEFAULT is the default choice of language. +This returns a language name as a string." + (let* ((completion-ignore-case t) + (name (completing-read prompt + language-info-alist + (function (lambda (elm) (assq key elm))) + t nil default))) + (if (and (> (length name) 0) + (get-language-info name key)) + name))) + +;;; Multilingual input methods. + +(defconst leim-list-file-name "leim-list.el" + "Name of LEIM list file. +This file contains a list of libraries of Emacs input methods (LEIM) +in the format of Lisp expression for registering each input method. +Emacs loads this file at startup time.") + +(defvar leim-list-header (format +";;; %s -- list of LEIM (Library of Emacs Input Method) +;; +;; This file contains a list of LEIM (Library of Emacs Input Method) +;; in the same directory as this file. Loading this file registeres +;; the whole input methods in Emacs. +;; +;; Each entry has the form: +;; (register-input-method +;; INPUT-METHOD LANGUAGE-NAME ACTIVATE-FUNC +;; TITLE DESCRIPTION +;; ARG ...) +;; See the function `register-input-method' for the meanings of arguments. +;; +;; If this directory is included in load-path, Emacs automatically +;; loads this file at startup time. + +" + leim-list-file-name) + "Header to be inserted in LEIM list file.") + +(defvar leim-list-entry-regexp "^(register-input-method" + "Regexp matching head of each entry in LEIM list file. +See also the variable `leim-list-header'") + +(defvar update-leim-list-functions + '(quail-update-leim-list-file) + "List of functions to call to update LEIM list file. +Each function is called with one arg, LEIM directory name.") + +(defun update-leim-list-file (&rest dirs) + "Update LEIM list file in directories DIRS." + (let ((functions update-leim-list-functions)) + (while functions + (apply (car functions) dirs) + (setq functions (cdr functions))))) + +(defvar current-input-method nil + "The current input method for multilingual text. +If nil, that means no input method is activated now.") +(make-variable-buffer-local 'current-input-method) +(put 'current-input-method 'permanent-local t) + +(defvar current-input-method-title nil + "Title string of the current input method shown in mode line.") +(make-variable-buffer-local 'current-input-method-title) +(put 'current-input-method-title 'permanent-local t) + +(defcustom default-input-method nil + "*Default input method for multilingual text. +This is the input method activated automatically by the command +`toggle-input-method' (\\[toggle-input-method])." + :group 'mule) + +(defvar input-method-history nil + "History list for some commands that read input methods.") +(make-variable-buffer-local 'input-method-history) +(put 'input-method-history 'permanent-local t) + +(defvar inactivate-current-input-method-function nil + "Function to call for inactivating the current input method. +Every input method should set this to an appropriate value when activated. +This function is called with no argument. + +This function should never change the value of `current-input-method'. +It is set to nil by the function `inactivate-input-method'.") +(make-variable-buffer-local 'inactivate-current-input-method-function) +(put 'inactivate-current-input-method-function 'permanent-local t) + +(defvar describe-current-input-method-function nil + "Function to call for describing the current input method. +This function is called with no argument.") +(make-variable-buffer-local 'describe-current-input-method-function) +(put 'describe-current-input-method-function 'permanent-local t) + +(defvar input-method-alist nil + "Alist of input method names vs the corresponding information to use it. +Each element has the form: + (INPUT-METHOD LANGUAGE-NAME ACTIVATE-FUNC TITLE DESCRIPTION ...) +See the function `register-input-method' for the meanings of each elements.") + +(defun register-input-method (input-method language-name &rest args) + "Register INPUT-METHOD as an input method for LANGUAGE-NAME. +INPUT-METHOD and LANGUAGE-NAME are symbols or strings. +The remaining arguments are: + ACTIVATE-FUNC, TITLE, DESCRIPTION, and ARG ... + where, +ACTIVATE-FUNC is a function to call for activating this method. +TITLE is a string shown in mode-line while this method is active, +DESCRIPTION is a string describing about this method, +Arguments to ACTIVATE-FUNC are INPUT-METHOD and ARGs." + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (if (symbolp input-method) + (setq input-method (symbol-name input-method))) + (let ((info (cons language-name args)) + (slot (assoc input-method input-method-alist))) + (if slot + (setcdr slot info) + (setq slot (cons input-method info)) + (setq input-method-alist (cons slot input-method-alist))))) + +(defun read-input-method-name (prompt &optional default inhibit-null) + "Read a name of input method from a minibuffer prompting with PROMPT. +If DEFAULT is non-nil, use that as the default, + and substitute it into PROMPT at the first `%s'. +If INHIBIT-NULL is non-nil, null input signals an error. + +The return value is a string." + (if default + (setq prompt (format prompt default))) + (let* ((completion-ignore-case t) + ;; This binding is necessary because input-method-history is + ;; buffer local. + (input-method (completing-read prompt input-method-alist + nil t nil 'input-method-history) + ;;default) + )) + (if (> (length input-method) 0) + input-method + (if inhibit-null + (error "No valid input method is specified"))))) + +(defun activate-input-method (input-method) + "Turn INPUT-METHOD on. +If some input method is already on, turn it off at first." + (if (symbolp input-method) + (setq input-method (symbol-name input-method))) + (if (and current-input-method + (not (string= current-input-method input-method))) + (inactivate-input-method)) + (unless current-input-method + (let ((slot (assoc input-method input-method-alist))) + (if (null slot) + (error "Can't activate input method `%s'" input-method)) + (apply (nth 2 slot) input-method (nthcdr 5 slot)) + (setq current-input-method input-method) + (setq current-input-method-title (nth 3 slot)) + (run-hooks 'input-method-activate-hook)))) + +(defun inactivate-input-method () + "Turn off the current input method." + (when current-input-method + (if input-method-history + (unless (string= current-input-method (car input-method-history)) + (setq input-method-history + (cons current-input-method + (delete current-input-method input-method-history)))) + (setq input-method-history (list current-input-method))) + (unwind-protect + (funcall inactivate-current-input-method-function) + (unwind-protect + (run-hooks 'input-method-inactivate-hook) + (setq current-input-method nil + current-input-method-title nil))))) + +(defun select-input-method (input-method) + "Select and turn on INPUT-METHOD. +This sets the default input method to what you specify, +and turn it on for the current buffer." + (interactive + (let* ((default (or (car input-method-history) default-input-method))) + (list (read-input-method-name + (if default "Select input method (default %s): " "Select input method: ") + default t)))) + (activate-input-method input-method) + (setq default-input-method input-method)) + +(defun toggle-input-method (&optional arg) + "Turn on or off a multilingual text input method for the current buffer. + +With arg, read an input method from minibuffer and turn it on. + +Without arg, if some input method is currently activated, turn it off, +else turn on an input method selected last time +or the default input method (see `default-input-method'). + +When there's no input method to turn on, turn on what read from minibuffer." + (interactive "P") + (let* ((default (or (car input-method-history) default-input-method))) + (if (and current-input-method (not arg)) + (inactivate-input-method) + (activate-input-method + (if (or arg (not default)) + (read-input-method-name + (if default "Input method (default %s): " "Input method: " ) + default t) + default)) + (or default-input-method + (setq default-input-method current-input-method))))) + +(defun describe-input-method (input-method) + "Describe input method INPUT-METHOD." + (interactive + (list (read-input-method-name + "Describe input method (default, current choice): "))) + (if (and input-method (symbolp input-method)) + (setq input-method (symbol-name input-method))) + (if (null input-method) + (describe-current-input-method) + (with-output-to-temp-buffer "*Help*" + (let ((elt (assoc input-method input-method-alist))) + (princ (format "Input method: %s (`%s' in mode line) for %s\n %s\n" + input-method (nth 3 elt) (nth 1 elt) (nth 4 elt))))))) + +(defun describe-current-input-method () + "Describe the input method currently in use." + (if current-input-method + (if (and (symbolp describe-current-input-method-function) + (fboundp describe-current-input-method-function)) + (funcall describe-current-input-method-function) + (message "No way to describe the current input method `%s'" + (cdr current-input-method)) + (ding)) + (error "No input method is activated now"))) + +(defun read-multilingual-string (prompt &optional initial-input + input-method) + "Read a multilingual string from minibuffer, prompting with string PROMPT. +The input method selected last time is activated in minibuffer. +If optional second arg INITIAL-INPUT is non-nil, insert it in the minibuffer +initially. +Optional 3rd argument INPUT-METHOD specifies the input method +to be activated instead of the one selected last time. It is a symbol +or a string." + (setq input-method + (or input-method + default-input-method + (read-input-method-name "Input method: " nil t))) + (if (and input-method (symbolp input-method)) + (setq input-method (symbol-name input-method))) + (let ((current-input-method input-method)) + ;; FSFmacs + ;; (read-string prompt initial-input nil nil t))) + (read-string prompt initial-input nil))) + +;; Variables to control behavior of input methods. All input methods +;; should react to these variables. + +(defcustom input-method-verbose-flag t + "*If this flag is non-nil, input methods give extra guidance. + +The extra guidance is done by showing list of available keys in echo +area. + +For complex input methods such as `chinese-py' and `japanese', +when you use the input method in the minibuffer, the guidance is +shown at the bottom short window (split from the existing window). +For simple input methods, guidance is not shown +when you are in the minibuffer." + :type 'boolean + :group 'mule) + +(defcustom input-method-highlight-flag t + "*If this flag is non-nil, input methods highlight partially-entered text. +For instance, while you are in the middle of a Quail input method sequence, +the text inserted so far is temporarily underlined. +The underlining goes away when you finish or abort the input method sequence." + :type 'boolean + :group 'mule) + +(defvar input-method-activate-hook nil + "Normal hook run just after an input method is activated. + +The variable `current-input-method' keeps the input method name +just activated.") + +(defvar input-method-inactivate-hook nil + "Normal hook run just after an input method is inactivated. + +The variable `current-input-method' still keeps the input method name +just inacitvated.") + +(defvar input-method-after-insert-chunk-hook nil + "Normal hook run just after an input method insert some chunk of text.") + +(defvar input-method-exit-on-invalid-key nil + "This flag controls the behaviour of an input method on invalid key input. +Usually, when a user types a key which doesn't start any character +handled by the input method, the key is handled by turning off the +input method temporalily. After the key is handled, the input method is +back on. +But, if this flag is non-nil, the input method is never back on.") + + +(defun setup-specified-language-environment () + "Set up multi-lingual environment convenient for the specified language." + (interactive) + (let (language-name) + (if (and (symbolp last-command-event) + (or (not (eq last-command-event 'Default)) + (setq last-command-event 'English)) + (setq language-name (symbol-name last-command-event))) + (set-language-environment language-name) + (error "Bogus calling sequence")))) + +(defvar current-language-environment "English" + "The last language environment specified with `set-language-environment'.") + +(defun set-language-environment (language-name) + "Set up multi-lingual environment for using LANGUAGE-NAME. +This sets the coding system priority and the default input method +and sometimes other things." + (interactive (list (read-language-name 'setup-function + "Set language environment: "))) + (if language-name + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (setq language-name "English")) + (if (null (get-language-info language-name 'setup-function)) + (error "Language environment not defined: %S" language-name)) + (funcall (get-language-info language-name 'setup-function)) + (setq current-language-environment language-name) + (force-mode-line-update t)) + +;; Print all arguments with `princ', then print "\n". +(defsubst princ-list (&rest args) + (while args (princ (car args)) (setq args (cdr args))) + (princ "\n")) + +;; Print a language specific information such as input methods, +;; charsets, and coding systems. This function is intended to be +;; called from the menu: +;; [menu-bar mule describe-language-environment LANGUAGE] +;; and should not run it by `M-x describe-current-input-method-function'. +(defun describe-specified-language-support () + "Describe how Emacs supports the specified language environment." + (interactive) + (let (language-name) + (if (not (and (symbolp last-command-event) + (setq language-name (symbol-name last-command-event)))) + (error "Bogus calling sequence")) + (describe-language-environment language-name))) + +(defun describe-language-environment (language-name) + "Describe how Emacs supports language environment LANGUAGE-NAME." + (interactive + (list (read-language-name + 'documentation + "Describe language environment (default, current choise): "))) + (if (null language-name) + (setq language-name current-language-environment)) + (if (or (null language-name) + (null (get-language-info language-name 'documentation))) + (error "No documentation for the specified language")) + (if (symbolp language-name) + (setq language-name (symbol-name language-name))) + (let ((doc (get-language-info language-name 'documentation))) + (with-output-to-temp-buffer "*Help*" + (if (stringp doc) + (progn + (princ-list doc) + (terpri))) + (let ((str (get-language-info language-name 'sample-text))) + (if (stringp str) + (progn + (princ "Sample text:\n") + (princ-list " " str) + (terpri)))) + (princ "Input methods:\n") + (let ((l input-method-alist)) + (while l + (if (string= language-name (nth 1 (car l))) + (princ-list " " (car (car l)) + (format " (`%s' in mode line)" (nth 3 (car l))))) + (setq l (cdr l)))) + (terpri) + (princ "Character sets:\n") + (let ((l (get-language-info language-name 'charset))) + (if (null l) + (princ-list " nothing specific to " language-name) + (while l + (princ-list " " (car l) ": " + (charset-description (car l))) + (setq l (cdr l))))) + (terpri) + (princ "Coding systems:\n") + (let ((l (get-language-info language-name 'coding-system))) + (if (null l) + (princ-list " nothing specific to " language-name) + (while l + (princ ; (format " %s (`%c' in mode line):\n\t%s\n" + ;; In XEmacs, `coding-system-mnemonic' returns string. + (format " %s (`%s' in mode line):\n\t%s\n" + (car l) + (coding-system-mnemonic (car l)) + (coding-system-doc-string (car l)))) + (setq l (cdr l)))))))) + +;;; Charset property + +;; (defsubst get-charset-property (charset propname) +;; "Return the value of CHARSET's PROPNAME property. +;; This is the last value stored with +;; `(put-charset-property CHARSET PROPNAME VALUE)'." +;; (plist-get (charset-plist charset) propname)) + +;; (defsubst put-charset-property (charset propname value) +;; "Store CHARSETS's PROPNAME property with value VALUE. +;; It can be retrieved with `(get-charset-property CHARSET PROPNAME)'." +;; (set-charset-plist charset +;; (plist-put (charset-plist charset) propname value))) + +(defvar char-code-property-table + (make-char-table 'generic) + "Char-table containing a property list of each character code. +;; +See also the documentation of `get-char-code-property' and +`put-char-code-property'") +;; (let ((plist (aref char-code-property-table char))) +(defun get-char-code-property (char propname) + "Return the value of CHAR's PROPNAME property in `char-code-property-table'." + (let ((plist (get-char-table char char-code-property-table))) + (if (listp plist) + (car (cdr (memq propname plist)))))) + +(defun put-char-code-property (char propname value) + "Store CHAR's PROPNAME property with VALUE in `char-code-property-table'. +It can be retrieved with `(get-char-code-property CHAR PROPNAME)'." + (let ((plist (get-char-table char char-code-property-table))) + (if plist + (let ((slot (memq propname plist))) + (if slot + (setcar (cdr slot) value) + (nconc plist (list propname value)))) + (put-char-table char (list propname value) char-code-property-table) + ))) +;; (setcar (cdr slot) value) +;; (nconc plist (list propname value)))) +;; (aset char-code-property-table char (list propname value))))) + +;;; mule-cmds.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-coding.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,188 @@ +;;; mule-coding.el --- Coding-system functions for Mule. + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. +;; Copyright (C) 1997 MORIOKA Tomohiko + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; split off of mule.el and mostly moved to coding.el + +;;; Code: + +(defun coding-system-force-on-output (coding-system register) + "Return the 'force-on-output property of CODING-SYSTEM for the specified REGISTER." + (unless (integerp register) + (signal 'wrong-type-argument (list 'integerp register))) + (coding-system-property + coding-system + (case register + (0 'force-g0-on-output) + (1 'force-g1-on-output) + (2 'force-g2-on-output) + (3 'force-g3-on-output) + (t (signal 'args-out-of-range (list register 0 3)))))) + +(defun coding-system-short (coding-system) + "Return the 'short property of CODING-SYSTEM." + (coding-system-property coding-system 'short)) + +(defun coding-system-no-ascii-eol (coding-system) + "Return the 'no-ascii-eol property of CODING-SYSTEM." + (coding-system-property coding-system 'no-ascii-eol)) + +(defun coding-system-no-ascii-cntl (coding-system) + "Return the 'no-ascii-cntl property of CODING-SYSTEM." + (coding-system-property coding-system 'no-ascii-cntl)) + +(defun coding-system-seven (coding-system) + "Return the 'seven property of CODING-SYSTEM." + (coding-system-property coding-system 'seven)) + +(defun coding-system-lock-shift (coding-system) + "Return the 'lock-shift property of CODING-SYSTEM." + (coding-system-property coding-system 'lock-shift)) + +;;(defun coding-system-use-japanese-jisx0201-roman (coding-system) +;; "Return the 'use-japanese-jisx0201-roman property of CODING-SYSTEM." +;; (coding-system-property coding-system 'use-japanese-jisx0201-roman)) + +;;(defun coding-system-use-japanese-jisx0208-1978 (coding-system) +;; "Return the 'use-japanese-jisx0208-1978 property of CODING-SYSTEM." +;; (coding-system-property coding-system 'use-japanese-jisx0208-2978)) + +(defun coding-system-no-iso6429 (coding-system) + "Return the 'no-iso6429 property of CODING-SYSTEM." + (coding-system-property coding-system 'no-iso6429)) + +(defun coding-system-ccl-encode (coding-system) + "Return the CCL 'encode property of CODING-SYSTEM." + (coding-system-property coding-system 'encode)) + +(defun coding-system-ccl-decode (coding-system) + "Return the CCL 'decode property of CODING-SYSTEM." + (coding-system-property coding-system 'decode)) + + +;;;; Definitions of predefined coding systems + +(make-coding-system + 'ctext 'iso2022 + "Coding-system used in X as Compound Text Encoding." + '(charset-g0 ascii + charset-g1 latin-iso8859-1 + eol-type nil + mnemonic "CText")) + +;;; iso-8859-1 and ctext are aliases. + +;; (copy-coding-system 'ctext 'iso-8859-1) +(make-coding-system + 'iso-8859-1 'no-conversion + "Coding-system used in X as Compound Text Encoding." + '(eol-type nil mnemonic "Noconv")) + +(make-coding-system + 'iso-2022-8bit-ss2 'iso2022 + "ISO-2022 coding system using SS2 for 96-charset in 8-bit code." + '(charset-g0 ascii + charset-g1 latin-iso8859-1 + charset-g2 t ;; unspecified but can be used later. + short t + mnemonic "ISO8/SS" + )) + +(make-coding-system + 'iso-2022-7bit-ss2 'iso2022 + "ISO-2022 coding system using SS2 for 96-charset in 7-bit code." + '(charset-g0 ascii + charset-g2 t ;; unspecified but can be used later. + seven t + short t + mnemonic "ISO7/SS" + eol-type nil)) + +;; (copy-coding-system 'iso-2022-7bit-ss2 'iso-2022-jp-2) +(make-coding-system + 'iso-2022-jp-2 'iso2022 + "ISO-2022 coding system using SS2 for 96-charset in 7-bit code." + '(charset-g0 ascii + charset-g2 t ;; unspecified but can be used later. + seven t + short t + mnemonic "ISO7/SS" + eol-type nil)) + +(make-coding-system + 'iso-2022-7bit 'iso2022 + "ISO 2022 based 7-bit encoding using only G0" + '(charset-g0 ascii + seven t + short t + mnemonic "ISO7")) + +;; compatibility for old XEmacsen +(copy-coding-system 'iso-2022-7bit 'iso-2022-7) + +(make-coding-system + 'iso-2022-8 'iso2022 + "ISO-2022 eight-bit coding system. No single-shift or locking-shift." + '(charset-g0 ascii + charset-g1 latin-iso8859-1 + short t + mnemonic "ISO8" + )) + +(make-coding-system + 'escape-quoted 'iso2022 + "ISO-2022 eight-bit coding system with escape quoting; used for .ELC files." + '(charset-g0 ascii + charset-g1 latin-iso8859-1 + eol-type lf + escape-quoted t + mnemonic "ESC/Quot" + )) + +(make-coding-system + 'iso-2022-lock 'iso2022 + "ISO-2022 coding system using Locking-Shift for 96-charset." + '(charset-g0 ascii + charset-g1 t ;; unspecified but can be used later. + seven t + lock-shift t + mnemonic "ISO7/Lock" + )) + +;; initialize the coding categories to something semi-reasonable +;; so that the remaining Lisp files can contain extended characters. +;; (They will be in ISO-7 format) + +(set-coding-priority-list '(iso-8-2 iso-8-designate iso-8-1 + iso-7 iso-lock-shift no-conversion)) + +(set-coding-category-system 'iso-7 'iso-2022-7) +(set-coding-category-system 'iso-8-designate 'ctext) +(set-coding-category-system 'iso-8-1 'ctext) +(set-coding-category-system 'iso-lock-shift 'iso-2022-lock) +(set-coding-category-system 'no-conversion 'no-conversion) + +;;; mule-coding.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-files.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,35 @@ +;;; mule-files.el --- File I/O functions for XEmacs/Mule. + +;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Derived from mule.el in the original Mule but heavily modified +;;; by Ben Wing. Mostly moved to code-files.el + +;; 1997/3/11 modified by MORIOKA Tomohiko to sync with Emacs 20 API. + +;;; Code: + +(setq-default buffer-file-coding-system 'iso-2022-8) + +;;; mule-files.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-help.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,86 @@ +;;; mule-help.el --- Mule-ized Help functions + +;; Copyright (C) 1997 by Free Software Foundation, Inc. + +;; Author: SL Baur <steve@altair.xemacs.org> +;; Keywords: help, internal + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Emacs 20.1 + +;;; Commentary: + +;; + +;;; Code: + +;; TUTORIAL arg is XEmacs addition +(defun help-with-tutorial (&optional arg tutorial) + "Select the XEmacs learn-by-doing tutorial. +If there is a tutorial version written in the language +of the selected language environment, that version is used. +If there's no tutorial in that language, `TUTORIAL' is selected. +With arg, you are asked to select which language." + (interactive "P") + (let (lang filename file) + (if arg + (or (setq lang (read-language-name 'tutorial "Language: ")) + (error "No tutorial file of the specified language")) + (setq lang current-language-environment)) + ;; The menubar buttons call this function like this: + ;; (help-with-tutorial nil "tutorial.lang") + (setq filename (if (and (not arg) tutorial) + tutorial + (or (get-language-info lang 'tutorial) + (or tutorial "TUTORIAL")))) + (setq file (expand-file-name (concat "~/" filename))) + (delete-other-windows) + (if (get-file-buffer file) + (switch-to-buffer (get-file-buffer file)) + (switch-to-buffer (create-file-buffer file)) + (setq buffer-file-name file) + (setq default-directory (expand-file-name "~/")) + (setq buffer-auto-save-file-name nil) + (insert-file-contents (locate-data-file filename)) + (goto-char (point-min)) + ;; The 'didactic' blank lines: Possibly insert blank lines + ;; around <<nya nya nya>>, and change << >> to [ ]. + (if (re-search-forward "^<<.+>>" nil t) + (let ((n (- (window-height (selected-window)) + (count-lines (point-min) (point-at-bol)) + 6))) + (if (< n 12) + (progn (beginning-of-line) (kill-line)) + ;; Some people get confused by the large gap + (delete-backward-char 2) + (insert "]") + (beginning-of-line) + (save-excursion + (delete-char 2) + (insert "[")) + (newline (/ n 2)) + (next-line 1) + (newline (- n (/ n 2)))))) + (goto-char (point-min)) + (set-buffer-modified-p nil)))) + + +(provide 'mule-help) + +;;; mule-help.el ends here \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-init.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,132 @@ +;; Mule default configuration file + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; 87.6.9 created by K.handa +;;; (Note: following comment obsolete -- mrb) + +;;; IMPORTANT NOTICE -- DON'T EDIT THIS FILE!!! +;;; Keep this file unmodified for further patches being applied successfully. +;;; All language specific basic environments are defined here. +;;; By default, Japanese is set as the primary environment. +;;; You can change primary environment in `./lisp/site-init.el by +;;; `set-primary-environment'. For instance, +;;; (set-primary-environment 'chinese) +;;; makes Chinese the primary environment. +;;; If you are still not satisfied with the settings, you can +;;; override them after the above line. For instance, +;;; (set-default-buffer-file-coding-system 'big5) +;;; makes big5 be used for file I/O by default. +;;; If you are not satisfied with other default settings in this file, +;;; override any of them also in `./lisp/site-init.el'. For instance, +;;; (define-program-coding-system nil ".*mail.*" 'iso-8859-1) +;;; makes the coding-system 'iso-8859-1 be used in mail. + + +;;;; GLOBAL ENVIRONMENT SETUP +(require 'cl) + + +;; (setq language-environment-list +;; (sort (language-environment-list) 'string-lessp)) + +;; MULE keymap codes were moved to mule-cmds.el. + +;; Alternative key definitions +;; Original mapping will be altered by set-keyboard-coding-system. +(define-key global-map [(meta \#)] 'ispell-word) ;originally "$" +;; (define-key global-map [(meta {)] 'insert-parentheses) ;originally "(" + +;; Following line isn't mule-specific --mrb +;;(setq-default modeline-buffer-identification '("XEmacs: %17b")) + +;; MULE keymap codes were moved to mule-cmds.el. + +;; (define-key help-map "T" 'help-with-tutorial-for-mule) + +;; (defvar help-with-tutorial-language-alist +;; '(("Japanese" . ".jp") +;; ("Korean" . ".kr") +;; ("Thai" . ".th"))) + +;(defun help-with-tutorial-for-mule (language) +; "Select the Mule learn-by-doing tutorial." +; (interactive (list (let ((completion-ignore-case t) +; lang) +; (completing-read +; "Language: " +; help-with-tutorial-language-alist)))) +; (setq language (cdr (assoc language help-with-tutorial-language-alist))) +; (help-with-tutorial (concat "mule/TUTORIAL" (or language "")))) + +(defvar auto-language-alist + '(("^ja" . "Japanese") + ("^zh" . "Chinese") + ("^ko" . "Korean")) + "Alist of LANG patterns vs. corresponding language environment. +Each element looks like (REGEXP . LANGUAGE-ENVIRONMENT). +It the value of the environment variable LANG matches the regexp REGEXP, +then `set-language-environment' is called with LANGUAGE-ENVIRONMENT.") + +(defun init-mule () + "Initialize MULE environment at startup. Don't call this." + (let ((lang (or (getenv "LC_ALL") (getenv "LC_MESSAGES") (getenv "LANG")))) + (unless (or (null lang) (string-equal "C" lang)) + (let ((case-fold-search t)) + (loop for elt in auto-language-alist + if (string-match (car elt) lang) + return (progn + (setq lang (substring lang 0 (match-end 0))) + (set-language-environment (cdr elt)) + ))) + ;; Load a (localizable) locale-specific init file, if it exists. + (load (format "%s%s/locale-start" + (locate-data-directory "start-files") + lang) t t))) + + (when current-language-environment + ;; Translate remaining args on command line using file-name-coding-system + (loop for arg in-ref command-line-args-left do + (setf arg (decode-coding-string arg file-name-coding-system))) + + ;; rman seems to be incompatible with encoded text + (setq Manual-use-rosetta-man nil) + + ;; Make sure ls -l output is readable by dired and encoded using + ;; file-name-coding-system + (add-hook + 'dired-mode-hook + (lambda () + (make-local-variable 'process-environment) + (setenv "LC_MESSAGES" "C") + (setenv "LC_TIME" "C")))) + + ;; Register avairable input methods by loading LEIM list file. + (load "leim-list.el" 'noerror 'nomessage 'nosuffix) + ) + +(add-hook 'before-init-hook 'init-mule) + +;;;;; Enable the tm package by default +;;(defun init-mule-tm () +;; "Load MIME (TM) support for GNUS, VM, MH-E, and RMAIL." +;; (load "mime-setup")) + +;;(add-hook 'after-init-hook 'init-mule-tm) + +;;; mule-init.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-misc.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,295 @@ +;; mule-misc.el --- Miscellaneous Mule functions. + +;; Copyright (C) 1995 Electrotechnical Laboratory, JAPAN. +;; Licensed to the Free Software Foundation. +;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; +;;; protect specified local variables from kill-all-local-variables +;;; + +(defvar self-insert-after-hook nil + "Hook to run when extended self insertion command exits. Should take +two arguments START and END corresponding to character position.") + +(make-variable-buffer-local 'self-insert-after-hook) + +(defun toggle-display-direction () + (interactive) + (setq display-direction (not display-direction)) + (if (interactive-p) (redraw-display))) + +;;; +;;; Utility functions for Mule +;;; + +;(defun string-to-char-list (str) +; (let ((len (length str)) +; (idx 0) +; c l) +; (while (< idx len) +; (setq c (sref str idx)) +; (setq idx (+ idx (charset-dimension (char-charset c)))) +; (setq l (cons c l))) +; (nreverse l))) + +(defun string-to-char-list (str) + (mapcar 'identity str)) + +(defun string-width (string) + "Return number of columns STRING occupies when displayed. +Uses the charset-columns attribute of the characters in STRING, +which may not accurately represent the actual display width when +using a window system." + (let ((col 0) + (len (length string)) + (i 0)) + (while (< i len) + (setq col (+ col (charset-columns (char-charset (aref string i))))) + (setq i (1+ i))) + col)) + +(defalias 'string-columns 'string-width) +(make-obsolete 'string-columns 'string-width) + +(defun delete-text-in-column (from to) + "Delete the text between column FROM and TO (exclusive) of the current line. +Nil of FORM or TO means the current column. + +If there's a character across the borders, the character is replaced +with the same width of spaces before deleting." + (save-excursion + (let (p1 p2) + (if from + (progn + (setq p1 (move-to-column from)) + (if (> p1 from) + (progn + (delete-char -1) + (insert-char ? (- p1 (current-column))) + (forward-char (- from p1)))))) + (setq p1 (point)) + (if to + (progn + (setq p2 (move-to-column to)) + (if (> p2 to) + (progn + (delete-char -1) + (insert-char ? (- p2 (current-column))) + (forward-char (- to p2)))))) + (setq p2 (point)) + (delete-region p1 p2)))) + +;; #### Someone translate this!! + +(defun mc-normal-form-string (str) + "$BJ8;zNs(B STR $B$N4A;zI8=`7AJ8;zNs$rJV$9!%(B" + (let ((i 0)) + (while (setq i (string-match "\n" str i)) + (if (and (<= 1 i) (< i (1- (length str))) + (< (aref str (1- i)) 128) + (< (aref str (1+ i)) 128)) + (aset str i ? )) + (setq i (1+ i))) + (if (string-match "\n" str 0) + (let ((c 0) (i 0) new) + (while (setq i (string-match "\n" str i)) + (setq i (1+ i)) + (setq c (1+ c))) + (setq new (make-string (- (length str) c) 0)) + (setq i 0 c 0) + (while (< i (length str)) + (cond((not (= (aref str i) ?\n )) + (aset new c (aref str i)) + (setq c (1+ c)))) + + (setq i (1+ i)) + ) + new) + str))) + + +(defun string-memq (str list) + "Returns non-nil if STR is an element of LIST. Comparison done with string=. +The value is actually the tail of LIST whose car is STR. +If each element of LIST is not a string, it is converted to string + before comparison." + (let (find elm) + (while (and (not find) list) + (setq elm (car list)) + (if (numberp elm) (setq elm (char-to-string elm))) + (if (string= str elm) + (setq find list) + (setq list (cdr list)))) + find)) + +(defun cancel-undo-boundary () + "Cancel undo boundary." + (if (and (consp buffer-undo-list) + ;; if car is nil. + (null (car buffer-undo-list)) ) + (setq buffer-undo-list (cdr buffer-undo-list)) )) + + +;;; Common API emulation functions for GNU Emacs-merged Mule. +;;; As suggested by MORIOKA Tomohiko + +;; Following definition were imported from Emacs/mule-delta. + +;; Function `truncate-string-to-width' was moved to mule-util.el. + +;; end of imported definition + + +(defalias 'sref 'aref) +(defalias 'map-char-concat 'mapcar) +(defun char-bytes (character) + "Return number of length a CHARACTER occupies in a string or buffer. +It returns only 1 in XEmacs. It is for compatibility with MULE 2.3." + 1) +(defalias 'char-length 'char-bytes) + +(defun char-width (character) + "Return number of columns a CHARACTER occupies when displayed." + (charset-columns (char-charset character))) + +(defalias 'char-columns 'char-width) +(make-obsolete 'char-columns 'char-width) + +(defalias 'charset-description 'charset-doc-string) + +(defalias 'find-charset-string 'charsets-in-string) +(defalias 'find-charset-region 'charsets-in-region) + +(defun find-non-ascii-charset-string (string) + "Return a list of charsets in the STRING except ascii. +It might be available for compatibility with Mule 2.3, +because its `find-charset-string' ignores ASCII charset." + (delq 'ascii (charsets-in-string string))) + +(defun find-non-ascii-charset-region (start end) + "Return a list of charsets except ascii in the region between START and END. +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) + )))) + + +;;; Commands + +(defun set-buffer-process-coding-system (decoding encoding) + "Set coding systems for the process associated with the current buffer. +DECODING is the coding system to be used to decode input from the process, +ENCODING is the coding system to be used to encode output to the process. + +For a list of possible values of CODING-SYSTEM, use \\[list-coding-systems]." + (interactive + "zCoding-system for process input: \nzCoding-system for process output: ") + (let ((proc (get-buffer-process (current-buffer)))) + (if (null proc) + (error "no process") + (check-coding-system decoding) + (check-coding-system encoding) + (set-process-coding-system proc decoding encoding))) + (force-mode-line-update)) + + +;;; Language environments + +;; (defvar current-language-environment nil) + +;; (defvar language-environment-list nil) + +;; (defun current-language-environment () +;; "Return the current language environment as a symbol. +;; Returns nil if `set-language-environment' has not been called." +;; current-language-environment) + +;; (defun language-environment-list () +;; "Return a list of all currently defined language environments." +;; language-environment-list) + +;; (defun language-environment-p (sym) +;; "True if SYM names a defined language environment." +;; (memq sym (language-environment-list))) + +;; (defun set-language-environment (env) +;; "Set the current language environment to ENV." +;; (interactive +;; (list (intern (completing-read "Language environment: " +;; obarray 'language-environment-p +;; 'require-match)))) +;; (when (not (string= (charset-registry 'ascii) "iso8859-1")) +;; (set-charset-registry 'ascii "iso8859-1")) +;; (let ((func (get env 'set-lang-environ))) +;; (if (not (null func)) +;; (funcall func))) +;; (setq current-language-environment env) +;; (if (featurep 'egg) +;; (egg-lang-switch-callback)) +;; ;; (if (featurep 'quail) +;; ;; (quail-lang-switch-callback)) +;; ) + +;; (defun define-language-environment (env-sym doc-string enable-function) +;; "Define a new language environment, named by ENV-SYM. +;; DOC-STRING should be a string describing the environment. +;; ENABLE-FUNCTION should be a function of no arguments that will be called +;; when the language environment is made current." +;; (put env-sym 'lang-environ-doc-string doc-string) +;; (put env-sym 'set-lang-environ enable-function) +;; (setq language-environment-list (cons env-sym language-environment-list))) + +(defun define-egg-environment (env-sym doc-string enable-function) + "Define a new language environment for egg, named by ENV-SYM. +DOC-STRING should be a string describing the environment. +ENABLE-FUNCTION should be a function of no arguments that will be called +when the language environment is made current." + (put env-sym 'egg-environ-doc-string doc-string) + (put env-sym 'set-egg-environ enable-function)) + +;; (defun define-quail-environment (env-sym doc-string enable-function) +;; "Define a new language environment for quail, named by ENV-SYM. +;; DOC-STRING should be a string describing the environment. +;; ENABLE-FUNCTION should be a function of no arguments that will be called +;; when the language environment is made current." +;; (put env-sym 'quail-environ-doc-string doc-string) +;; (put env-sym 'set-quail-environ enable-function)) + +;;; mule-misc.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-tty-init.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,47 @@ +;;; mule-tty-init.el --- Initialization code for console tty under MULE + +;; Copyright (C) 1998 Free Software Foundation, Inc. +;; Copyright (C) 1998 Kazuyuki IENAGA <kazz@imasy.or.jp> + +;; Author: Kazuyuki IENAGA <kazz@imasy.or.jp> +;; Keywords: mule, tty, console, dumped + +;; This file is part of XEmacs. +;; +;; XEmacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. +;; +;; XEmacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;; This file is dumped with XEmacs when Mule and TTY support are enabled. + +;;; Code: + +(defvar mule-tty-win-initted nil) + +(defun init-mule-tty-win () + "Initialize TTY for MULE at startup. Don't call this." + (unless mule-tty-win-initted + (add-hook + 'before-init-hook + (lambda () + (when (eq (device-type) 'tty) + (when (string-match "^kterm" (getenv "TERM")) + (set-terminal-coding-system 'euc-jp) + (set-keyboard-coding-system 'euc-jp)) + (set-console-tty-coding-system)))) + (setq mule-tty-win-initted t))) + +;;; mule-tty-init.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/mule-x-init.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,126 @@ +;;; mule-x-init.el --- initialization code for X Windows under MULE +;; Copyright (C) 1994 Free Software Foundation, Inc. +;; Copyright (C) 1996 Ben Wing <wing@666.com> + +;; Author: various +;; Keywords: mule X11 + +;; This file is part of XEmacs. +;; +;; XEmacs is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. +;; +;; XEmacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Commentary: + +;;; Code: + +;;; Work around what is arguably a Sun CDE bug. + +(defun x-use-halfwidth-roman-font (fullwidth-charset roman-registry) + "Maybe set charset registry of the 'ascii charset to ROMAN-REGISTRY. + +Do this only if: + - the current display is an X device + - the displayed width of FULLWIDTH-CHARSET is twice the displayed + width of the 'ascii charset, but only when using ROMAN-REGISTRY. + +Traditionally, Asian characters have been displayed so that they +occupy exactly twice the screen space of ASCII (`halfwidth') +characters. On many systems, e.g. Sun CDE systems, this can only be +achieved by using a national variant roman font to display ASCII." + (let ((charset-font-width + (lambda (charset) + (font-instance-width + (face-font-instance 'default (selected-device) charset)))) + + (twice-as-wide + (lambda (cs1 cs2) + (let ((width1 (funcall charset-font-width cs1)) + (width2 (funcall charset-font-width cs2))) + (and width1 width2 (eq (+ width1 width1) width2)))))) + + (when (eq 'x (device-type)) + (condition-case nil + (unless (funcall twice-as-wide 'ascii fullwidth-charset) + (set-charset-registry 'ascii roman-registry) + (unless (funcall twice-as-wide 'ascii fullwidth-charset) + ;; Restore if roman-registry didn't help + (set-charset-registry 'ascii "iso8859-1"))) + (error (set-charset-registry 'ascii "iso8859-1")))))) + +;;;; + +(defvar mule-x-win-initted nil) + +(defun init-mule-x-win () + "Initialize X Windows for MULE at startup. Don't call this." + (when (not mule-x-win-initted) + (define-specifier-tag 'mule-fonts + (lambda (device) (eq 'x (device-type device)))) + + (set-face-font + 'default + '("-*-fixed-medium-r-*--16-*-iso8859-1" + "-*-fixed-medium-r-*--*-iso8859-1" + "-*-fixed-medium-r-*--*-iso8859-2" + "-*-fixed-medium-r-*--*-iso8859-3" + "-*-fixed-medium-r-*--*-iso8859-4" + "-*-fixed-medium-r-*--*-iso8859-7" + "-*-fixed-medium-r-*--*-iso8859-8" + "-*-fixed-medium-r-*--*-iso8859-5" + "-*-fixed-medium-r-*--*-iso8859-9" + + ;; Following 3 fonts proposed by Teruhiko.Kurosaka@Japan.eng.sun + "-sun-gothic-medium-r-normal--14-120-75-75-c-60-jisx0201.1976-0" + "-sun-gothic-medium-r-normal--14-120-75-75-c-120-jisx0208.1983-0" + "-wadalab-gothic-medium-r-normal--14-120-75-75-c-120-jisx0212.1990-0" + ;; Other Japanese fonts + "-*-fixed-medium-r-*--*-jisx0201.1976-*" + "-*-fixed-medium-r-*--*-jisx0208.1983-*" + "-*-fixed-medium-r-*--*-jisx0212*-*" + + ;; Chinese fonts + "-*-*-medium-r-*--*-gb2312.1980-*" + + ;; Use One font specification for CNS chinese + ;; Too many variations in font naming + "-*-fixed-medium-r-*--*-cns11643*-*" + ;; "-*-fixed-medium-r-*--*-cns11643*2" + ;; "-*-fixed-medium-r-*--*-cns11643*3" + ;; "-*-fixed-medium-r-*--*-cns11643*4" + ;; "-*-fixed-medium-r-*--*-cns11643.5-0" + ;; "-*-fixed-medium-r-*--*-cns11643.6-0" + ;; "-*-fixed-medium-r-*--*-cns11643.7-0" + + "-*-fixed-medium-r-*--*-big5*-*" + "-*-fixed-medium-r-*--*-sisheng_cwnn-0" + + ;; Other fonts + + ;; "-*-fixed-medium-r-*--*-viscii1.1-1" + + ;; "-*-fixed-medium-r-*--*-mulearabic-0" + ;; "-*-fixed-medium-r-*--*-mulearabic-1" + ;; "-*-fixed-medium-r-*--*-mulearabic-2" + + ;; "-*-fixed-medium-r-*--*-muleipa-1" + ;; "-*-fixed-medium-r-*--*-ethio-*" + + "-*-mincho-medium-r-*--*-ksc5601.1987-*" ; Korean + "-*-fixed-medium-r-*--*-tis620.2529-1" ; Thai + ) + 'global '(mule-fonts) 'append) + + (setq mule-x-win-initted t)))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/mule/viet-chars.el Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,57 @@ +;;; vietnamese-chars.el --- pre-loaded support for Vietnamese, part 1. + +;; Copyright (C) 1992,93,94,95 Free Software Foundation, Inc. +;; Copyright (C) 1995 Amdahl Corporation. +;; Copyright (C) 1995 Sun Microsystems. + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the +;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;; Boston, MA 02111-1307, USA. + +;;; Synched up with: Mule 2.3. + +;; We have to split up the Vietnamese stuff into two files because +;; we are registering new charsets and then immediately using characters +;; from those sets. We cannot reliably expect this to work if they +;; are in the same file because of the buffering that happens while +;; reading -- the place where we use the newly-defined sets may be +;; read in before the code that creates those sets is evaluated. + +;; Vietnamese VISCII with two tables. +(make-charset 'vietnamese-viscii-lower "VISCII lower (Vietnamese)" + '(registry "VISCII1.1" + dimension 1 + chars 96 + final ?1 + graphic 1 + )) + +(make-charset 'vietnamese-viscii-upper "VISCII upper (Vietnamese)" + '(registry "VISCII1.1" + dimension 1 + chars 96 + final ?2 + graphic 1 + )) + +(modify-syntax-entry 'vietnamese-viscii-lower "w") +(modify-syntax-entry 'vietnamese-viscii-upper "w") + +(define-category ?v "Vietnamese character.") +(modify-category-entry 'vietnamese-viscii-lower ?v) +(modify-category-entry 'vietnamese-viscii-upper ?v) + +;;; vietnamese-chars.el ends here
--- a/lisp/package-admin.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/package-admin.el Mon Aug 13 10:49:50 2007 +0200 @@ -177,7 +177,9 @@ ;; Ok we need to guess (if mule-related (package-admin-get-install-dir 'mule-base nil nil) - (car (last late-packages))))))) + (if (eq package 'xemacs-base) + (car (last late-packages)) + (package-admin-get-install-dir 'xemacs-base nil nil)))))))
--- a/lisp/package-get.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/package-get.el Mon Aug 13 10:49:50 2007 +0200 @@ -941,15 +941,19 @@ not, then it uses the (car search) as the remote site-name and the (cadr search) as the remote-directory and concatenates filename. In other words - site-name:remote-directory/filename + site-name:remote-directory/filename. + +If (car search) is nil, (cadr search is interpreted as a local directory). " - (if (efs-ftp-path filename) + (if (file-remote-p filename) filename (let ((dir (cadr search))) - (concat (if (string-match "@" (car search)) - "/" - "/anonymous@") - (car search) ":" + (concat (when (car search) + (concat + (if (string-match "@" (car search)) + "/" + "/anonymous@") + (car search) ":")) (if (string-match "/$" dir) dir (concat dir "/"))
--- a/lisp/paths.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/paths.el Mon Aug 13 10:49:50 2007 +0200 @@ -127,34 +127,13 @@ (defconst manual-program nil "Program to run to print man pages.") -(defconst abbrev-file-name +(defconst abbrev-file-name (purecopy (if (eq system-type 'vax-vms) "~/abbrev.def" "~/.abbrev_defs")) "*Default name of file to read abbrevs from.") -(defconst directory-abbrev-alist - (list - ;; - ;; This matches the default Sun automounter temporary mount points. These - ;; temporary mount points may go away, so it's important that we only try - ;; to read files under the "advertised" mount point, rather than the - ;; temporary one, or it will look like files have been deleted on us. - ;; Whoever came up with this design is clearly a moron of the first order, - ;; but now we're stuck with it, no doubt until the end of time. - ;; - ;; For best results, automounter junk should go near the front of this - ;; list, and other user translations should come after it. - ;; - ;; You may need to change this if you're not running the Sun automounter, - ;; if you're not running in the default configuration. Because the - ;; designers (and I use that term loosely) of the automounters failed to - ;; provide any uniform way of disambiguating a pathname, emacs needs to - ;; have knowledge about exactly how the automounter mangles pathnames - ;; (and this knowledge is basically impossible to derive at run-time.) - ;; - (cons (purecopy "\\`/tmp_mnt/") (purecopy "/")) - )) +(defconst directory-abbrev-alist nil) ;; Formerly, the values of these variables were computed once ;; (at dump time). However, with the advent of pre-compiled binaries @@ -207,7 +186,7 @@ l 'rmail-spool-directory (cond ((string-match "^[^-]+-[^-]+-sco3.2v4" system-configuration) "/usr/spool/mail/") - ;; On The Bull DPX/2 /usr/spool/mail is used although + ;; On The Bull DPX/2 /usr/spool/mail is used although ;; it is usg-unix-v. ((string-match "^m68k-bull-sysv3" system-configuration) "/usr/spool/mail/") @@ -260,8 +239,42 @@ ;; Solaris 2 has both of these files; prefer /usr/ucb/man ;; because the other has nonstandard argument conventions. (if (file-exists-p "/usr/ucb/man") - "/usr/ucb/man" "/usr/bin/man"))) -) + "/usr/ucb/man" "/usr/bin/man")) + + (funcall + l 'directory-abbrev-alist + ;; Try to match various conventions for automounter temporary + ;; mount points. These temporary mount points may go away, so + ;; it's important that we only try to read files under the + ;; "advertised" mount point, rather than the temporary one, or it + ;; will look like files have been deleted on us. Whoever came up + ;; with this design is clearly a moron of the first order, but + ;; now we're stuck with it, no doubt until the end of time. + ;; + ;; For best results, automounter junk should go near the front of this + ;; list, and other user translations should come after it. + ;; + ;; Our code handles the following empirically observed conventions: + ;; /net is an actual directory! (some systems are not broken!) + ;; /net/HOST -> /tmp_mnt/net/HOST (`standard' old Sun automounter) + ;; /net/HOST -> /tmp_mnt/HOST (BSDI 4.0) + ;; /net/HOST -> /a/HOST (Freebsd 2.2.x) + ;; /net/HOST -> /amd/HOST (seen in amd sample config files) + ;; + ;; If your system has a different convention, you may have to change this. + ;; Don't forget to send in a patch! + (when (file-directory-p "/net") + (append + (when (file-directory-p "/tmp_mnt") + (if (file-directory-p "/tmp_mnt/net") + '(("\\`/tmp_mnt/net/" . "/net/")) + '(("\\`/tmp_mnt/" . "/net/")))) + (when (file-directory-p "/a") + '(("\\`/a/" . "/net/"))) + (when (file-directory-p "/amd") + '(("\\`/amd/" . "/net/"))) + ))) +)) (if (running-temacs-p) (initialize-xemacs-paths))
--- a/lisp/process.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/process.el Mon Aug 13 10:49:50 2007 +0200 @@ -350,7 +350,7 @@ process as a string" ;; by "William G. Dubuque" <wgd@zurich.ai.mit.edu> (with-output-to-string - (call-process shell-file-name nil t nil "-c" command))) + (call-process shell-file-name nil t nil shell-command-switch command))) (defalias 'shell-command-to-string 'exec-to-string)
--- a/lisp/userlock.el Mon Aug 13 10:49:08 2007 +0200 +++ b/lisp/userlock.el Mon Aug 13 10:49:50 2007 +0200 @@ -154,6 +154,9 @@ (throw 'aual-done t)) ((and (misc-user-event-p event) (eq (event-object event) 'yield)) (signal 'file-locked (list "File is locked" fn opponent))) + ((and (misc-user-event-p event) + (eq (event-object event) 'menu-no-selection-hook)) + (signal 'quit nil)) ((button-release-event-p event) ;; don't beep twice nil) (t @@ -189,6 +192,9 @@ (revert-buffer nil t) (signal 'file-supersession (list fn "(reverted)"))) + ((and (misc-user-event-p event) + (eq (event-object event) 'menu-no-selection-hook)) + (signal 'quit nil)) ((button-release-event-p event) ;; don't beep twice nil) (t
--- a/lwlib/lwlib.h Mon Aug 13 10:49:08 2007 +0200 +++ b/lwlib/lwlib.h Mon Aug 13 10:49:50 2007 +0200 @@ -1,8 +1,17 @@ #ifndef LWLIB_H #define LWLIB_H +#undef CONST + #include <X11/Intrinsic.h> +/* To eliminate use of `const' in the lwlib sources, define CONST_IS_LOSING. */ +#ifdef CONST_IS_LOSING +# define CONST +#else +# define CONST const +#endif + #if defined (LWLIB_MENUBARS_LUCID) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_MENUBARS_ATHENA) #define NEED_MENUBARS #endif
--- a/man/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/man/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,7 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/nt/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,7 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/src/ChangeLog Mon Aug 13 10:49:08 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:49:50 2007 +0200 @@ -1,3 +1,40 @@ +1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org> + + * XEmacs 21.0.64 is released + +1999-02-22 Andy Piper <andy@xemacs.org> + + * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather + than SW_SHOWNORMAL to prevent resizing of maximised frames. + (mswindows_raise_frame): remove comment. + +1999-02-23 SL Baur <steve@xemacs.org> + + * glyphs-x.c (convert_EImage_to_XImage): Remove unused variable. + +1999-02-17 Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp> + + * glyphs-x.c (cononvert_EImage_to_XImage): correct + bytes per pixel counting. + +1999-02-15 Andy Piper <andy@xemacs.org> + + * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes + major lockups. + +1999-02-10 Martin Buchholz <martin@xemacs.org> + + * s/bsdos4.h: New file. Port to BSDI BSD/OS 4.0. + * xintrinsic.h: Redo CONST support for X11 R4 compatibility. + +1999-02-02 Gleb Arshinov <gleb@cs.stanford.edu> + + * process-nt.c (nt_send_process): + Fix for process-send-region/process-send-string breaking when size + of the input > 128 chars: change maximum chunk size for process + stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer + succeeds. + 1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org> * XEmacs 21.0.63 is released
--- a/src/buffer.c Mon Aug 13 10:49:08 2007 +0200 +++ b/src/buffer.c Mon Aug 13 10:49:50 2007 +0200 @@ -2758,11 +2758,11 @@ GET_C_CHARPTR_INT_FILENAME_DATA_ALLOCA (pwd, pwd_internal); return (IS_DIRECTORY_SEP (*pwd_internal) - && stat (pwd_internal, &pwdstat) == 0 - && stat ("." , &dotstat) == 0 + && stat ((char *) pwd_internal, &pwdstat) == 0 + && stat (".", &dotstat) == 0 && dotstat.st_ino == pwdstat.st_ino && dotstat.st_dev == pwdstat.st_dev - && (int) strlen (pwd_internal) < MAXPATHLEN); + && (int) strlen ((char *) pwd_internal) < MAXPATHLEN); } void @@ -2794,7 +2794,7 @@ initial_directory[len + 1] = '\0'; } } - + /* XEmacs change: store buffer's default directory using prefered (i.e. as defined at compile-time) directory separator. --marcpa */
--- a/src/frame-msw.c Mon Aug 13 10:49:08 2007 +0200 +++ b/src/frame-msw.c Mon Aug 13 10:49:50 2007 +0200 @@ -304,7 +304,7 @@ if (f->iconified) ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_RESTORE); else - ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOWNORMAL); + ShowWindow (FRAME_MSWINDOWS_HANDLE(f), SW_SHOW); f->visible = 1; f->iconified = 0; } @@ -456,7 +456,6 @@ mswindows_raise_frame (struct frame *f) { BringWindowToTop (FRAME_MSWINDOWS_HANDLE(f)); - /* XXX Should we do SetWindowForeground too ? */ } static void
--- a/src/glyphs-x.c Mon Aug 13 10:49:08 2007 +0200 +++ b/src/glyphs-x.c Mon Aug 13 10:49:50 2007 +0200 @@ -144,13 +144,14 @@ bitmap_pad = ((depth > 16) ? 32 : (depth > 8) ? 16 : 8); - byte_cnt = bitmap_pad >> 3; outimg = XCreateImage (dpy, vis, depth, ZPixmap, 0, 0, width, height, bitmap_pad, 0); if (!outimg) return NULL; + byte_cnt = outimg->bits_per_pixel >> 3; + data = (unsigned char *) xmalloc (outimg->bytes_per_line * height); if (!data) {
--- a/src/process-nt.c Mon Aug 13 10:49:08 2007 +0200 +++ b/src/process-nt.c Mon Aug 13 10:49:50 2007 +0200 @@ -621,14 +621,14 @@ /* use a reasonable-sized buffer (somewhere around the size of the stream buffer) so as to avoid inundating the stream with blocked data. */ - Bufbyte chunkbuf[512]; + Bufbyte chunkbuf[128]; Bytecount chunklen; while (1) { int writeret; - chunklen = Lstream_read (lstream, chunkbuf, 512); + chunklen = Lstream_read (lstream, chunkbuf, 128); if (chunklen <= 0) break; /* perhaps should abort() if < 0? This should never happen. */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/s/bsdos4.h Mon Aug 13 10:49:50 2007 +0200 @@ -0,0 +1,10 @@ +#include "bsdos3.h" + +/* BSD/OS seems to have switched to ELF format for executables. */ +#ifdef __ELF__ + +#undef ORDINARY_LINK +#define ORDINARY_LINK 1 +#define UNEXEC unexelf.o + +#endif /* ELF */
--- a/src/s/cygwin32.h Mon Aug 13 10:49:08 2007 +0200 +++ b/src/s/cygwin32.h Mon Aug 13 10:49:50 2007 +0200 @@ -153,7 +153,12 @@ #define UNEXEC "unexcw.o" #ifdef CYGWIN_VERSION_DLL_MAJOR +#if 0 +/* ### FIXME: although defining BROKEN_SIGIO is correct for proper ^G + behavior, bugs in cygwin mean that xemacs locks up frequently if + this is defined. */ #define BROKEN_SIGIO +#endif #else #define PROCESS_IO_BLOCKING #endif
--- a/src/xintrinsic.h Mon Aug 13 10:49:08 2007 +0200 +++ b/src/xintrinsic.h Mon Aug 13 10:49:50 2007 +0200 @@ -23,4 +23,8 @@ #include <X11/Intrinsic.h> -#define CONST const +#ifdef CONST_IS_LOSING +# define CONST +#else +# define CONST const +#endif
--- a/tests/database.el Mon Aug 13 10:49:08 2007 +0200 +++ b/tests/database.el Mon Aug 13 10:49:50 2007 +0200 @@ -1,29 +1,24 @@ ;;; Test database functionality -(defun test-database (db) - (Assert (databasep db)) - (put-database "key1" "val1" db) - (Assert (equal "val1" (get-database "key1" db))) - (remove-database "key1" db) - (Assert (equal nil (get-database "key1" db))) - (close-database db) - (Assert (not (database-live-p db))) - (Assert (databasep db)) - (let ((filename (database-file-name db))) - (loop for fn in (list filename (concat filename ".db")) do - (when (file-exists-p fn) - (delete-file fn)))) - ) +(flet ((delete-database-files (filename) + (dolist (fn (list filename (concat filename ".db"))) + (condition-case nil (delete-file fn) (file-error nil)))) -(let ((filename (expand-file-name "test-emacs" (temp-directory)))) + (test-database (db) + (Assert (databasep db)) + (put-database "key1" "val1" db) + (Assert (equal "val1" (get-database "key1" db))) + (remove-database "key1" db) + (Assert (equal nil (get-database "key1" db))) + (close-database db) + (Assert (not (database-live-p db))) + (Assert (databasep db)))) - (when (featurep 'dbm) - (let ((db (open-database filename 'dbm))) - (test-database db))) - - (princ "\n") + (let ((filename (expand-file-name "test-harness" (temp-directory)))) - (when (featurep 'berkeley-db) - (let ((db (open-database filename 'berkeley-db))) - (test-database db))) - ) + (dolist (db-type `(dbm berkeley-db)) + (when (featurep db-type) + (princ "\n") + (delete-database-files filename) + (test-database (open-database filename db-type)) + (delete-database-files filename)))))
--- a/version.sh Mon Aug 13 10:49:08 2007 +0200 +++ b/version.sh Mon Aug 13 10:49:50 2007 +0200 @@ -1,8 +1,8 @@ #!/bin/sh emacs_major_version=21 emacs_minor_version=0 -emacs_beta_version=63 -xemacs_codename="Pyrenean63" +emacs_beta_version=64 +xemacs_codename="20" infodock_major_version=4 infodock_minor_version=0 infodock_build_version=6