XEmacs 21.2.11
authortomo <tomo>
Mon, 17 May 1999 09:41:48 +0000 (09:41 +0000)
committertomo <tomo>
Mon, 17 May 1999 09:41:48 +0000 (09:41 +0000)
58 files changed:
CHANGES-beta
ChangeLog
INSTALL
PROBLEMS
README.packages
configure
configure.in
configure.usage
etc/BETA
etc/PACKAGES
etc/package-index.LATEST.pgp
lib-src/ChangeLog
lib-src/config.values.in
lib-src/update-autoloads.sh
lib-src/update-custom.sh
lisp/ChangeLog
lisp/about.el
lisp/auto-autoloads.el
lisp/custom-load.el
lisp/dumped-lisp.el
lisp/etags.el
lisp/menubar-items.el
lisp/mule/arabic.el [new file with mode: 0644]
lisp/mule/canna-leim.el [new file with mode: 0644]
lisp/mule/cyrillic.el [new file with mode: 0644]
lisp/mule/english.el [new file with mode: 0644]
lisp/mule/european.el [new file with mode: 0644]
lisp/mule/greek.el [new file with mode: 0644]
lisp/mule/hebrew.el [new file with mode: 0644]
lisp/mule/kinsoku.el [new file with mode: 0644]
lisp/mule/korean.el [new file with mode: 0644]
lisp/mule/mule-ccl.el [new file with mode: 0644]
lisp/mule/mule-help.el [new file with mode: 0644]
lisp/mule/mule-init.el [new file with mode: 0644]
lisp/mule/mule-misc.el [new file with mode: 0644]
lisp/mule/mule-tty-init.el [new file with mode: 0644]
lisp/mule/mule-x-init.el [new file with mode: 0644]
lisp/package-admin.el
lisp/paths.el
lisp/process.el
lisp/userlock.el
lwlib/lwlib.h
man/ChangeLog
nt/ChangeLog
src/ChangeLog
src/alloc.c
src/console-tty.h
src/event-msw.c
src/event-stream.c
src/event-tty.c
src/glyphs-x.c
src/mule-charset.c
src/s/bsdos4.h [new file with mode: 0644]
src/s/cygwin32.h
src/xintrinsic.h
tests/ChangeLog
tests/automated/database-tests.el
version.sh

index 2143e05..4e0c83b 100644 (file)
@@ -1,4 +1,14 @@
                                                        -*- indented-text -*-
+to 21.2 beta11 "Calliope"
+-- Dialog box fix from Jan Vroonhof
+-- unified mswindows and tty event loops from Andy Piper
+-- miscellaneous patches from 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.2 beta10 "Boreas"
 -- package UI fix from Jan Vroonhof
 -- MS Windows NT process fix from Gleb Arshinov
index e469aa2..d840e5b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,56 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 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-16  Martin Buchholz  <martin@xemacs.org>
+
+       * configure.usage: Move quantify/purify into debug flags section
+
+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
+
+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-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
diff --git a/INSTALL b/INSTALL
index 2cef985..88a377f 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -396,16 +396,12 @@ variable gets by default!  Make sure you know what kind of value the
 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
index 448cc36..127ee47 100644 (file)
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -119,6 +119,10 @@ libz.a in the X11 binary directory.
 ** 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 @@ to take advantage of the keyboard map in emacskeys.sco.
 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
index 2d3f904..014eb00 100644 (file)
@@ -74,16 +74,16 @@ The Sumo Tarball
 
 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 @@ XEmacs comes with some tools to make the periodic updating and
 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:
index 23394a2..6818c5f 100755 (executable)
--- a/configure
+++ b/configure
@@ -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.
@@ -199,6 +199,8 @@ 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
 
+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
@@ -781,7 +783,7 @@ echo "  Use \`$progname --help' to show usage.") >&2 && exit 1
 fi
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:785: checking whether ln -s works" >&5
+echo "configure:787: checking whether ln -s works" >&5
 
 rm -f conftestdata
 if ln -s X conftestdata 2>/dev/null
@@ -806,17 +808,26 @@ for dir in lisp etc man info; do
   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`  \
@@ -997,7 +1008,7 @@ EOF
 
 
 echo $ac_n "checking "host system type"""... $ac_c" 1>&6
-echo "configure:1001: checking "host system type"" >&5
+echo "configure:1012: checking "host system type"" >&5
 internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
 canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
 configuration=`echo "$configuration" | sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'`
@@ -1370,6 +1381,7 @@ EOF
       *-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 ;;
@@ -1486,13 +1498,14 @@ xe_save_CFLAGS="$CFLAGS"
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1490: checking for $ac_word" >&5
+echo "configure:1502: 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"
@@ -1512,14 +1525,15 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1516: checking for $ac_word" >&5
+echo "configure:1529: 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
@@ -1553,11 +1567,42 @@ else
   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:1577: 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:1561: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1606: 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'
@@ -1568,12 +1613,14 @@ 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
 
-cat > conftest.$ac_ext <<EOF
-#line 1573 "configure"
+cat > conftest.$ac_ext << EOF
+
+#line 1619 "configure"
 #include "confdefs.h"
+
 main(){return(0);}
 EOF
-if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1624: \"$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
@@ -1587,25 +1634,33 @@ else
   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:1597: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1652: 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:1602: checking whether we are using GNU C" >&5
+echo "configure:1657: 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:1609: \"$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:1664: \"$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
@@ -1615,11 +1670,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
 
 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:1623: 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:1682: checking whether ${CC-cc} accepts -g" >&5
 
 echo 'void f(){}' > conftest.c
 if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
@@ -1631,16 +1690,20 @@ rm -f conftest*
 
 
 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="-O2"
+    CFLAGS="-g"
   fi
 else
-  GCC=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
  
 if   test "$with_gcc" = "no"  -a "$GCC" = "yes"; then
@@ -1648,13 +1711,14 @@ if   test "$with_gcc" = "no"  -a "$GCC" = "yes"; then
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1652: checking for $ac_word" >&5
+echo "configure:1715: 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"
@@ -1674,14 +1738,15 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1678: checking for $ac_word" >&5
+echo "configure:1742: 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
@@ -1715,11 +1780,42 @@ else
   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:1790: 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:1723: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1819: 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'
@@ -1730,12 +1826,14 @@ 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
 
-cat > conftest.$ac_ext <<EOF
-#line 1735 "configure"
+cat > conftest.$ac_ext << EOF
+
+#line 1832 "configure"
 #include "confdefs.h"
+
 main(){return(0);}
 EOF
-if { (eval echo configure:1739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1837: \"$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
@@ -1749,25 +1847,33 @@ else
   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:1759: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1865: 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:1764: checking whether we are using GNU C" >&5
+echo "configure:1870: 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:1771: \"$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:1877: \"$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
@@ -1777,11 +1883,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
 
 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:1785: 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:1895: checking whether ${CC-cc} accepts -g" >&5
 
 echo 'void f(){}' > conftest.c
 if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
@@ -1793,16 +1903,20 @@ rm -f conftest*
 
 
 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="-O2"
+    CFLAGS="-g"
   fi
 else
-  GCC=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
 
 elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then
@@ -1810,13 +1924,14 @@ elif test "$with_gcc" = "yes" -a "$GCC" != "yes" ; then
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1814: checking for $ac_word" >&5
+echo "configure:1928: 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"
@@ -1836,14 +1951,15 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1840: checking for $ac_word" >&5
+echo "configure:1955: 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
@@ -1877,11 +1993,42 @@ else
   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:2003: 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:1885: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2032: 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'
@@ -1892,12 +2039,14 @@ 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
 
-cat > conftest.$ac_ext <<EOF
-#line 1897 "configure"
+cat > conftest.$ac_ext << EOF
+
+#line 2045 "configure"
 #include "confdefs.h"
+
 main(){return(0);}
 EOF
-if { (eval echo configure:1901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2050: \"$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
@@ -1911,25 +2060,33 @@ else
   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:1921: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2078: 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:1926: checking whether we are using GNU C" >&5
+echo "configure:2083: 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:1933: \"$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:2090: \"$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
@@ -1939,11 +2096,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6
 
 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:1947: 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:2108: checking whether ${CC-cc} accepts -g" >&5
 
 echo 'void f(){}' > conftest.c
 if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
@@ -1955,16 +2116,20 @@ rm -f conftest*
 
 
 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="-O2"
+    CFLAGS="-g"
   fi
 else
-  GCC=
-  test "${CFLAGS+set}" = set || CFLAGS="-g"
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
 fi
 
 fi
@@ -1976,7 +2141,7 @@ test -n "$CPP" -a -d "$CPP" && CPP=
 test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP"
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1980: checking how to run the C preprocessor" >&5
+echo "configure:2145: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1989,14 +2154,14 @@ if test -z "$CPP"; then
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1993 "configure"
+#line 2158 "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:1999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:2164: \"$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
@@ -2006,14 +2171,31 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 2010 "configure"
+#line 2175 "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:2181: \"$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 2192 "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:2016: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:2198: \"$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
@@ -2026,6 +2208,8 @@ fi
 rm -f conftest*
 fi
 rm -f conftest*
+fi
+rm -f conftest*
   ac_cv_prog_CPP="$CPP"
   CPP="$ac_cv_prog_CPP"
 else
@@ -2035,9 +2219,9 @@ echo "$ac_t""$CPP" 1>&6
 
 
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:2039: checking for AIX" >&5
+echo "configure:2223: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 2041 "configure"
+#line 2225 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -2064,9 +2248,9 @@ rm -f conftest*
 
 
 echo $ac_n "checking for GNU libc""... $ac_c" 1>&6
-echo "configure:2068: checking for GNU libc" >&5
+echo "configure:2252: checking for GNU libc" >&5
 cat > conftest.$ac_ext <<EOF
-#line 2070 "configure"
+#line 2254 "configure"
 #include "confdefs.h"
 #include <features.h>
 int main() {
@@ -2078,7 +2262,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2266: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   have_glibc=yes
 else
@@ -2100,7 +2284,7 @@ EOF
 
 
 cat > conftest.$ac_ext <<EOF
-#line 2104 "configure"
+#line 2288 "configure"
 #include "confdefs.h"
 int main () {
 #if defined __SUNPRO_C
@@ -2112,7 +2296,7 @@ return 0;
 #endif
 }
 EOF
-if { (eval echo configure:2116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:2300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   :
 else
@@ -2380,7 +2564,7 @@ test -n "$unexec"          && extra_objs="$extra_objs $unexec" &&  if test "$ext
  fi
 
 echo $ac_n "checking for dynodump""... $ac_c" 1>&6
-echo "configure:2384: checking for dynodump" >&5
+echo "configure:2568: checking for dynodump" >&5
 if test "$unexec" != "unexsol2.o"; then
   echo "$ac_t""no" 1>&6
 else
@@ -2418,12 +2602,12 @@ if test "$unexec" = "unexaix.o"; then
   done
   
 echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6
-echo "configure:2422: checking for terminateAndUnload in -lC" >&5
+echo "configure:2606: 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 2427 "configure"
+#line 2611 "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
@@ -2434,7 +2618,7 @@ int main() {
 terminateAndUnload()
 ; return 0; }
 EOF
-if { (eval echo configure:2438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2622: \"$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
@@ -2538,10 +2722,10 @@ fi
 
 if test "$add_runtime_path" = "yes"; then
       echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:2542: checking "for runtime libraries flag"" >&5
+echo "configure:2726: 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
@@ -2560,14 +2744,14 @@ if test "$GCC" = "yes"; then
   done
 fi
         cat > conftest.$ac_ext <<EOF
-#line 2564 "configure"
+#line 2748 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   dash_r="$try_dash_r"
 else
@@ -2669,10 +2853,10 @@ else
 fi
 after_morecore_hook_exists=yes
 echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6
-echo "configure:2673: checking for malloc_get_state" >&5
+echo "configure:2857: checking for malloc_get_state" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2676 "configure"
+#line 2860 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char malloc_get_state(); below.  */
@@ -2695,7 +2879,7 @@ malloc_get_state();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2883: \"$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
@@ -2715,10 +2899,10 @@ doug_lea_malloc=no
 fi
 
 echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:2719: checking for malloc_set_state" >&5
+echo "configure:2903: checking for malloc_set_state" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2722 "configure"
+#line 2906 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char malloc_set_state(); below.  */
@@ -2741,7 +2925,7 @@ malloc_set_state();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2929: \"$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
@@ -2761,16 +2945,16 @@ doug_lea_malloc=no
 fi
 
 echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6
-echo "configure:2765: checking whether __after_morecore_hook exists" >&5
+echo "configure:2949: checking whether __after_morecore_hook exists" >&5
 cat > conftest.$ac_ext <<EOF
-#line 2767 "configure"
+#line 2951 "configure"
 #include "confdefs.h"
 extern void (* __after_morecore_hook)();
 int main() {
 __after_morecore_hook = 0
 ; return 0; }
 EOF
-if { (eval echo configure:2774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2958: \"$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
@@ -2829,13 +3013,14 @@ fi
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2833: checking for $ac_word" >&5
+echo "configure:3017: 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"
@@ -2878,26 +3063,28 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # 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:2886: checking for a BSD compatible install" >&5
+echo "configure:3072: 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"
@@ -2926,6 +3113,8 @@ echo "$ac_t""$INSTALL" 1>&6
 # 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
@@ -2933,13 +3122,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2937: checking for $ac_word" >&5
+echo "configure:3126: 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"
@@ -2964,16 +3154,16 @@ for ac_hdr in mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2968: checking for $ac_hdr" >&5
+echo "configure:3158: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 2971 "configure"
+#line 3161 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3166: \"$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"
@@ -3005,16 +3195,16 @@ for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3009: checking for $ac_hdr" >&5
+echo "configure:3199: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3012 "configure"
+#line 3202 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=yes"
@@ -3046,16 +3236,16 @@ for ac_hdr in kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3050: checking for $ac_hdr" >&5
+echo "configure:3240: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3053 "configure"
+#line 3243 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=yes"
@@ -3084,10 +3274,10 @@ fi
 done
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:3088: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3278: checking for sys/wait.h that is POSIX.1 compatible" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3091 "configure"
+#line 3281 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -3103,7 +3293,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:3107: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -3127,10 +3317,10 @@ EOF
 fi
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3131: checking for ANSI C header files" >&5
+echo "configure:3321: checking for ANSI C header files" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3134 "configure"
+#line 3324 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3138,8 +3328,8 @@ cat > conftest.$ac_ext <<EOF
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:3332: \"$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
@@ -3155,7 +3345,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3159 "configure"
+#line 3349 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -3173,7 +3363,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 3177 "configure"
+#line 3367 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -3191,7 +3381,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
 cat > conftest.$ac_ext <<EOF
-#line 3195 "configure"
+#line 3385 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -3202,7 +3392,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:3206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:3396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   :
 else
@@ -3228,10 +3418,10 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3232: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3422: checking whether time.h and sys/time.h may both be included" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3235 "configure"
+#line 3425 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -3240,7 +3430,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:3244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -3264,10 +3454,10 @@ EOF
 fi
 
 echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
-echo "configure:3268: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3458: checking for sys_siglist declaration in signal.h or unistd.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3271 "configure"
+#line 3461 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -3279,7 +3469,7 @@ int main() {
 char *msg = *(sys_siglist + 1);
 ; return 0; }
 EOF
-if { (eval echo configure:3283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3473: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_decl_sys_siglist=yes
 else
@@ -3304,9 +3494,9 @@ fi
 
 
 echo $ac_n "checking for struct utimbuf""... $ac_c" 1>&6
-echo "configure:3308: checking for struct utimbuf" >&5
+echo "configure:3498: checking for struct utimbuf" >&5
 cat > conftest.$ac_ext <<EOF
-#line 3310 "configure"
+#line 3500 "configure"
 #include "confdefs.h"
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -3325,7 +3515,7 @@ int main() {
 static struct utimbuf x; x.actime = x.modtime;
 ; return 0; }
 EOF
-if { (eval echo configure:3329: \"$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*
   echo "$ac_t""yes" 1>&6
    { test "$extra_verbose" = "yes" && cat << \EOF
@@ -3345,10 +3535,10 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3349: checking return type of signal handlers" >&5
+echo "configure:3539: checking return type of signal handlers" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3352 "configure"
+#line 3542 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -3365,7 +3555,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:3369: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3559: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -3387,10 +3577,10 @@ EOF
 
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3391: checking for size_t" >&5
+echo "configure:3581: checking for size_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3394 "configure"
+#line 3584 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3399,7 +3589,7 @@ cat > conftest.$ac_ext <<EOF
 #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
@@ -3421,10 +3611,10 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3425: checking for pid_t" >&5
+echo "configure:3615: checking for pid_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3428 "configure"
+#line 3618 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3433,7 +3623,7 @@ cat > conftest.$ac_ext <<EOF
 #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
@@ -3455,10 +3645,10 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3459: checking for uid_t in sys/types.h" >&5
+echo "configure:3649: checking for uid_t in sys/types.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3462 "configure"
+#line 3652 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -3494,10 +3684,10 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:3498: checking for mode_t" >&5
+echo "configure:3688: checking for mode_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3501 "configure"
+#line 3691 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3506,7 +3696,7 @@ cat > conftest.$ac_ext <<EOF
 #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
@@ -3528,10 +3718,10 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3532: checking for off_t" >&5
+echo "configure:3722: checking for off_t" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3535 "configure"
+#line 3725 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3540,7 +3730,7 @@ cat > conftest.$ac_ext <<EOF
 #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
@@ -3563,9 +3753,9 @@ fi
 
 
 echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:3567: checking for struct timeval" >&5
+echo "configure:3757: checking for struct timeval" >&5
 cat > conftest.$ac_ext <<EOF
-#line 3569 "configure"
+#line 3759 "configure"
 #include "confdefs.h"
 #ifdef TIME_WITH_SYS_TIME
 #include <sys/time.h>
@@ -3581,7 +3771,7 @@ int main() {
 static struct timeval x; x.tv_sec = x.tv_usec;
 ; return 0; }
 EOF
-if { (eval echo configure:3585: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3775: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
   HAVE_TIMEVAL=yes
@@ -3603,10 +3793,10 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:3607: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:3797: checking whether struct tm is in sys/time.h or time.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3610 "configure"
+#line 3800 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <time.h>
@@ -3614,7 +3804,7 @@ int main() {
 struct tm *tp; tp->tm_sec;
 ; return 0; }
 EOF
-if { (eval echo configure:3618: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3808: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm=time.h
 else
@@ -3638,10 +3828,10 @@ EOF
 fi
 
 echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:3642: checking for tm_zone in struct tm" >&5
+echo "configure:3832: checking for tm_zone in struct tm" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3645 "configure"
+#line 3835 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_cv_struct_tm>
@@ -3649,7 +3839,7 @@ int main() {
 struct tm tm; tm.tm_zone;
 ; return 0; }
 EOF
-if { (eval echo configure:3653: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm_zone=yes
 else
@@ -3672,10 +3862,10 @@ EOF
 
 else
   echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:3676: checking for tzname" >&5
+echo "configure:3866: checking for tzname" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3679 "configure"
+#line 3869 "configure"
 #include "confdefs.h"
 #include <time.h>
 #ifndef tzname /* For SGI.  */
@@ -3685,7 +3875,7 @@ int main() {
 atoi(*tzname);
 ; return 0; }
 EOF
-if { (eval echo configure:3689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_var_tzname=yes
 else
@@ -3711,10 +3901,10 @@ fi
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:3715: checking for working const" >&5
+echo "configure:3905: checking for working const" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3718 "configure"
+#line 3908 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -3763,7 +3953,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:3767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3957: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -3788,7 +3978,7 @@ fi
 
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:3792: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:3982: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 
 cat > conftestmake <<\EOF
@@ -3813,12 +4003,12 @@ fi
 
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:3817: checking whether byte ordering is bigendian" >&5
+echo "configure:4007: 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 3822 "configure"
+#line 4012 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -3829,11 +4019,11 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:3833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4023: \"$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 3837 "configure"
+#line 4027 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -3844,7 +4034,7 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:3848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4038: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -3861,7 +4051,7 @@ fi
 rm -f conftest*
 if test $ac_cv_c_bigendian = unknown; then
 cat > conftest.$ac_ext <<EOF
-#line 3865 "configure"
+#line 4055 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -3874,7 +4064,7 @@ main () {
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:3878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_c_bigendian=no
 else
@@ -3901,10 +4091,10 @@ fi
 
 
 echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:3905: checking size of short" >&5
+echo "configure:4095: checking size of short" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3908 "configure"
+#line 4098 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3915,7 +4105,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_short=`cat conftestval`
 else
@@ -3943,10 +4133,10 @@ if test "$ac_cv_sizeof_short" = 0; then
   exit 1
 fi
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:3947: checking size of int" >&5
+echo "configure:4137: checking size of int" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3950 "configure"
+#line 4140 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3957,7 +4147,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
@@ -3979,10 +4169,10 @@ EOF
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:3983: checking size of long" >&5
+echo "configure:4173: checking size of long" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 3986 "configure"
+#line 4176 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -3993,7 +4183,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:3997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
@@ -4015,10 +4205,10 @@ EOF
 
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4019: checking size of long long" >&5
+echo "configure:4209: checking size of long long" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4022 "configure"
+#line 4212 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4029,7 +4219,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:4033: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4223: \"$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
@@ -4051,10 +4241,10 @@ EOF
 
 
 echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4055: checking size of void *" >&5
+echo "configure:4245: checking size of void *" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4058 "configure"
+#line 4248 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4065,7 +4255,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:4069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4259: \"$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
@@ -4088,7 +4278,7 @@ EOF
 
 
 echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4092: checking for long file names" >&5
+echo "configure:4282: 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:
@@ -4135,12 +4325,12 @@ fi
 
 
 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4139: checking for sin in -lm" >&5
+echo "configure:4329: 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 4144 "configure"
+#line 4334 "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
@@ -4151,7 +4341,7 @@ int main() {
 sin()
 ; return 0; }
 EOF
-if { (eval echo configure:4155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4345: \"$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
@@ -4193,14 +4383,14 @@ EOF
 
 
 cat > conftest.$ac_ext <<EOF
-#line 4197 "configure"
+#line 4387 "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:4204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4394: \"$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
@@ -4217,7 +4407,7 @@ fi
 rm -f conftest*
 
 echo "checking type of mail spool file locking" 1>&6
-echo "configure:4221: checking type of mail spool file locking" >&5
+echo "configure:4411: 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
@@ -4241,12 +4431,12 @@ fi
 
 
 echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:4245: checking for kstat_open in -lkstat" >&5
+echo "configure:4435: 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 4250 "configure"
+#line 4440 "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
@@ -4257,7 +4447,7 @@ int main() {
 kstat_open()
 ; return 0; }
 EOF
-if { (eval echo configure:4261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4451: \"$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
@@ -4291,12 +4481,12 @@ fi
 
 
 echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:4295: checking for kvm_read in -lkvm" >&5
+echo "configure:4485: 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 4300 "configure"
+#line 4490 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4307,7 +4497,7 @@ int main() {
 kvm_read()
 ; return 0; }
 EOF
-if { (eval echo configure:4311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4342,12 +4532,12 @@ fi
 case "$opsys" in decosf*)
   
 echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:4346: checking for cma_open in -lpthreads" >&5
+echo "configure:4536: 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 4351 "configure"
+#line 4541 "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
@@ -4358,7 +4548,7 @@ int main() {
 cma_open()
 ; return 0; }
 EOF
-if { (eval echo configure:4362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4552: \"$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
@@ -4394,7 +4584,7 @@ fi
 esac
 
 echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:4398: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:4588: 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;
@@ -4405,7 +4595,7 @@ fi
 
 if test "$opsys" = "sol2" && test "$OS_RELEASE" -ge 56; then
   echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:4409: checking for \"-z ignore\" linker flag" >&5
+echo "configure:4599: 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 ;;
@@ -4415,7 +4605,7 @@ fi
 
 
 echo "checking "for specified window system"" 1>&6
-echo "configure:4419: checking "for specified window system"" >&5
+echo "configure:4609: checking "for specified window system"" >&5
 
 if test "$with_x11" != "no"; then
     test "$x_includes $x_libraries" != "NONE NONE" && \
@@ -4448,7 +4638,7 @@ if test "$with_x11" != "no"; then
 # Uses ac_ vars as temps to allow command line to override cache and checks.
 # --without-x overrides everything else, but does not touch the cache.
 echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:4452: checking for X" >&5
+echo "configure:4642: checking for X" >&5
 
 # Check whether --with-x or --without-x was given.
 if test "${with_x+set}" = set; then
@@ -4508,13 +4698,13 @@ if test "$ac_x_includes" = NO; then
 
   # First, try using that file with no special directory specified.
 cat > conftest.$ac_ext <<EOF
-#line 4512 "configure"
+#line 4702 "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:4517: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:4707: \"$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.
@@ -4582,14 +4772,14 @@ if test "$ac_x_libraries" = NO; then
   ac_save_LIBS="$LIBS"
   LIBS="-l$x_direct_test_library $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4586 "configure"
+#line 4776 "configure"
 #include "confdefs.h"
 
 int main() {
 ${x_direct_test_function}()
 ; return 0; }
 EOF
-if { (eval echo configure:4593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4783: \"$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.
@@ -4698,17 +4888,17 @@ else
     case "`(uname -sr) 2>/dev/null`" in
     "SunOS 5"*)
       echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:4702: checking whether -R must be followed by a space" >&5
+echo "configure:4892: 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 4705 "configure"
+#line 4895 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:4712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_nospace=yes
 else
@@ -4724,14 +4914,14 @@ rm -f conftest*
       else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
        cat > conftest.$ac_ext <<EOF
-#line 4728 "configure"
+#line 4918 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:4735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_R_space=yes
 else
@@ -4767,12 +4957,12 @@ ac_cv_lib_dnet_dnet_ntoa=no
 else
 
 echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:4771: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:4961: 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 4776 "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
@@ -4783,7 +4973,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:4787: \"$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
@@ -4807,12 +4997,12 @@ fi
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
       
 echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:4811: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:5001: 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 4816 "configure"
+#line 5006 "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
@@ -4823,7 +5013,7 @@ int main() {
 dnet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:4827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5017: \"$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
@@ -4852,10 +5042,10 @@ fi
     # The nsl library prevents programs from opening the X display
     # on Irix 5.2, according to dickey@clark.net.
     echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:4856: checking for gethostbyname" >&5
+echo "configure:5046: checking for gethostbyname" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4859 "configure"
+#line 5049 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -4878,7 +5068,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5072: \"$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
@@ -4899,12 +5089,12 @@ fi
     if test $ac_cv_func_gethostbyname = no; then
       
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:4903: checking for gethostbyname in -lnsl" >&5
+echo "configure:5093: 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 4908 "configure"
+#line 5098 "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
@@ -4915,7 +5105,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:4919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5109: \"$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
@@ -4945,10 +5135,10 @@ fi
     # -lsocket must be given before -lnsl if both are needed.
     # We assume that if connect needs -lnsl, so does gethostbyname.
     echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:4949: checking for connect" >&5
+echo "configure:5139: checking for connect" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 4952 "configure"
+#line 5142 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char connect(); below.  */
@@ -4971,7 +5161,7 @@ connect();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5165: \"$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
@@ -4994,12 +5184,12 @@ fi
 xe_msg_checking="for connect in -lsocket"
 test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:4998: checking "$xe_msg_checking"" >&5
+echo "configure:5188: 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 5003 "configure"
+#line 5193 "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
@@ -5010,7 +5200,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:5014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5204: \"$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
@@ -5034,10 +5224,10 @@ fi
 
     # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
     echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:5038: checking for remove" >&5
+echo "configure:5228: checking for remove" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5041 "configure"
+#line 5231 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char remove(); below.  */
@@ -5060,7 +5250,7 @@ remove();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5254: \"$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
@@ -5081,12 +5271,12 @@ fi
     if test $ac_cv_func_remove = no; then
       
 echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:5085: checking for remove in -lposix" >&5
+echo "configure:5275: 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 5090 "configure"
+#line 5280 "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
@@ -5097,7 +5287,7 @@ int main() {
 remove()
 ; return 0; }
 EOF
-if { (eval echo configure:5101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5291: \"$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
@@ -5121,10 +5311,10 @@ fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
     echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:5125: checking for shmat" >&5
+echo "configure:5315: checking for shmat" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5128 "configure"
+#line 5318 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shmat(); below.  */
@@ -5147,7 +5337,7 @@ shmat();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5341: \"$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
@@ -5168,12 +5358,12 @@ fi
     if test $ac_cv_func_shmat = no; then
       
 echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:5172: checking for shmat in -lipc" >&5
+echo "configure:5362: 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 5177 "configure"
+#line 5367 "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
@@ -5184,7 +5374,7 @@ int main() {
 shmat()
 ; return 0; }
 EOF
-if { (eval echo configure:5188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5378: \"$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
@@ -5217,13 +5407,15 @@ fi
   # 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:5222: 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:5414: checking "$xe_msg_checking"" >&5
 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
 
-xe_check_libs=" -lICE "
+xe_check_libs=" -lICE $X_EXTRA_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5227 "configure"
+#line 5419 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5234,7 +5426,7 @@ int main() {
 IceConnectionNumber()
 ; return 0; }
 EOF
-if { (eval echo configure:5238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5403,7 +5595,7 @@ EOF
 
 
     echo "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:5407: checking for X defines extracted by xmkmf" >&5
+echo "configure:5599: checking for X defines extracted by xmkmf" >&5
   rm -fr conftestdir
   if mkdir conftestdir; then
     cd conftestdir
@@ -5435,16 +5627,16 @@ EOF
 
     ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6
-echo "configure:5439: checking for X11/Intrinsic.h" >&5
+echo "configure:5631: checking for X11/Intrinsic.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5442 "configure"
+#line 5634 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:5639: \"$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"
@@ -5467,12 +5659,12 @@ fi
 
       
 echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:5471: checking for XOpenDisplay in -lX11" >&5
+echo "configure:5663: 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 5476 "configure"
+#line 5668 "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
@@ -5483,7 +5675,7 @@ int main() {
 XOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:5487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5679: \"$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
@@ -5508,12 +5700,12 @@ fi
 xe_msg_checking="for XGetFontProperty in -lX11"
 test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:5512: checking "$xe_msg_checking"" >&5
+echo "configure:5704: 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 5517 "configure"
+#line 5709 "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
@@ -5524,7 +5716,7 @@ int main() {
 XGetFontProperty()
 ; return 0; }
 EOF
-if { (eval echo configure:5528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5720: \"$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
@@ -5551,12 +5743,12 @@ fi
 
     
 echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:5555: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:5747: 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 5560 "configure"
+#line 5752 "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
@@ -5567,7 +5759,7 @@ int main() {
 XShapeSelectInput()
 ; return 0; }
 EOF
-if { (eval echo configure:5571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5763: \"$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
@@ -5590,12 +5782,12 @@ fi
 
     
 echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:5594: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:5786: 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 5599 "configure"
+#line 5791 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5606,7 +5798,7 @@ int main() {
 XtOpenDisplay()
 ; return 0; }
 EOF
-if { (eval echo configure:5610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5629,14 +5821,14 @@ fi
 
 
   echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:5633: checking the version of X11 being used" >&5
+echo "configure:5825: checking the version of X11 being used" >&5
   cat > conftest.$ac_ext <<EOF
-#line 5635 "configure"
+#line 5827 "configure"
 #include "confdefs.h"
 #include <X11/Intrinsic.h>
     int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
 EOF
-if { (eval echo configure:5640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:5832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ./conftest foobar; x11_release=$?
 else
@@ -5661,16 +5853,16 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5665: checking for $ac_hdr" >&5
+echo "configure:5857: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 5668 "configure"
+#line 5860 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:5865: \"$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"
@@ -5700,7 +5892,7 @@ done
 
 
     echo $ac_n "checking for XFree86""... $ac_c" 1>&6
-echo "configure:5704: checking for XFree86" >&5
+echo "configure:5896: checking for XFree86" >&5
   if test -d "/usr/X386/include" -o \
           -f "/etc/XF86Config"    -o \
          -f "/etc/X11/XF86Config" -o \
@@ -5720,12 +5912,12 @@ EOF
 
     test -z "$with_xmu" && { 
 echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:5724: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:5916: 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 5729 "configure"
+#line 5921 "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
@@ -5736,7 +5928,7 @@ int main() {
 XmuReadBitmapDataFromFile()
 ; return 0; }
 EOF
-if { (eval echo configure:5740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5932: \"$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
@@ -5775,19 +5967,19 @@ EOF
 
       
 echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:5779: checking for main in -lXbsd" >&5
+echo "configure:5971: 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 5784 "configure"
+#line 5976 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5791: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5983: \"$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
@@ -5824,22 +6016,22 @@ fi
 fi 
 if test "$with_msw" != "no"; then
   echo "checking for MS-Windows" 1>&6
-echo "configure:5828: checking for MS-Windows" >&5
+echo "configure:6020: checking for MS-Windows" >&5
   
 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:5831: checking for main in -lgdi32" >&5
+echo "configure:6023: 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 5836 "configure"
+#line 6028 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6035: \"$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
@@ -5904,12 +6096,12 @@ EOF
  fi
     fi
         cat > conftest.$ac_ext <<EOF
-#line 5908 "configure"
+#line 6100 "configure"
 #include "confdefs.h"
 #include <fcntl.h>
     int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
 EOF
-if { (eval echo configure:5913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6105: \"$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
@@ -5964,7 +6156,7 @@ else
 fi
 
 if test "$with_x11" != "yes"; then
-            for feature in tooltalk cde offix session xim xmu 
+            for feature in tooltalk cde offix session xim xmu
   do
     if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
        echo "configure: warning: --with-$feature ignored:  Not valid without X support" 1>&2
@@ -5987,7 +6179,7 @@ case "$x_libraries" in *X11R4* )
 esac
 
 echo "checking for session-management option" 1>&6
-echo "configure:5991: checking for session-management option" >&5;
+echo "configure:6183: checking for session-management option" >&5;
 if test "$with_session" != "no"; then
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_SESSION
@@ -6002,16 +6194,16 @@ fi
 test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no
 test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6
-echo "configure:6006: checking for X11/Xauth.h" >&5
+echo "configure:6198: checking for X11/Xauth.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6009 "configure"
+#line 6201 "configure"
 #include "confdefs.h"
 #include <X11/Xauth.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6014: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6206: \"$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"
@@ -6033,12 +6225,12 @@ fi
  }
 test -z "$with_xauth" && { 
 echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6
-echo "configure:6037: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:6229: 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 6042 "configure"
+#line 6234 "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
@@ -6049,7 +6241,7 @@ int main() {
 XauGetAuthByAddr()
 ; return 0; }
 EOF
-if { (eval echo configure:6053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6245: \"$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
@@ -6094,16 +6286,16 @@ if test "$with_tooltalk" != "no" ; then
       for dir in "" "Tt/" "desktop/" ; do
     ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6
-echo "configure:6098: checking for ${dir}tt_c.h" >&5
+echo "configure:6290: checking for ${dir}tt_c.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6101 "configure"
+#line 6293 "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:6106: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6298: \"$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"
@@ -6138,12 +6330,12 @@ if test "$with_tooltalk" != "no" ; then
 xe_msg_checking="for tt_message_create in -ltt"
 test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs"
 echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6
-echo "configure:6142: checking "$xe_msg_checking"" >&5
+echo "configure:6334: 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 6147 "configure"
+#line 6339 "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
@@ -6154,7 +6346,7 @@ int main() {
 tt_message_create()
 ; return 0; }
 EOF
-if { (eval echo configure:6158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6350: \"$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
@@ -6211,16 +6403,16 @@ fi
 
 test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6
-echo "configure:6215: checking for Dt/Dt.h" >&5
+echo "configure:6407: checking for Dt/Dt.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6218 "configure"
+#line 6410 "configure"
 #include "confdefs.h"
 #include <Dt/Dt.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6415: \"$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"
@@ -6242,12 +6434,12 @@ fi
  }
 test -z "$with_cde" && { 
 echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6
-echo "configure:6246: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:6438: 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 6251 "configure"
+#line 6443 "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
@@ -6258,7 +6450,7 @@ int main() {
 DtDndDragStart()
 ; return 0; }
 EOF
-if { (eval echo configure:6262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6454: \"$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
@@ -6327,7 +6519,7 @@ EOF
 fi
 
 echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:6331: checking if drag and drop API is needed" >&5
+echo "configure:6523: checking if drag and drop API is needed" >&5
 if test "$with_dragndrop" != "no" ; then
   if test -n "$dragndrop_proto" ; then
     with_dragndrop=yes
@@ -6348,19 +6540,19 @@ EOF
 fi
 
 echo "checking for LDAP" 1>&6
-echo "configure:6352: checking for LDAP" >&5
+echo "configure:6544: 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:6355: checking for ldap.h" >&5
+echo "configure:6547: checking for ldap.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6358 "configure"
+#line 6550 "configure"
 #include "confdefs.h"
 #include <ldap.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6363: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6555: \"$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"
@@ -6382,16 +6574,16 @@ fi
  }
 test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for lber.h""... $ac_c" 1>&6
-echo "configure:6386: checking for lber.h" >&5
+echo "configure:6578: checking for lber.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6389 "configure"
+#line 6581 "configure"
 #include "confdefs.h"
 #include <lber.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6394: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6586: \"$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"
@@ -6416,12 +6608,12 @@ if test "$with_ldap" != "no"; then
 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:6420: checking "$xe_msg_checking"" >&5
+echo "configure:6612: 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 6425 "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
@@ -6432,7 +6624,7 @@ int main() {
 ldap_open()
 ; return 0; }
 EOF
-if { (eval echo configure:6436: \"$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
@@ -6455,12 +6647,12 @@ fi
  }
   test "$with_umich_ldap" = "no" && { 
 echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6
-echo "configure:6459: checking for ldap_set_option in -lldap10" >&5
+echo "configure:6651: 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 6464 "configure"
+#line 6656 "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
@@ -6471,7 +6663,7 @@ int main() {
 ldap_set_option()
 ; return 0; }
 EOF
-if { (eval echo configure:6475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6667: \"$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
@@ -6535,15 +6727,15 @@ fi
 
 if test "$window_system" != "none"; then
   echo "checking for graphics libraries" 1>&6
-echo "configure:6539: checking for graphics libraries" >&5
+echo "configure:6731: 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:6544: checking for Xpm - no older than 3.4f" >&5
+echo "configure:6736: checking for Xpm - no older than 3.4f" >&5
     xe_check_libs=-lXpm
     cat > conftest.$ac_ext <<EOF
-#line 6547 "configure"
+#line 6739 "configure"
 #include "confdefs.h"
 #include <X11/xpm.h>
     int main(int c, char **v) {
@@ -6551,7 +6743,7 @@ echo "configure:6544: checking for Xpm - no older than 3.4f" >&5
       XpmIncludeVersion != XpmLibraryVersion() ? 1 :
       XpmIncludeVersion < 30406 ? 2 : 0 ;}
 EOF
-if { (eval echo configure:6555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6747: \"$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
@@ -6593,17 +6785,17 @@ EOF
 
     libs_x="-lXpm $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-lXpm\" to \$libs_x"; fi
     echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6
-echo "configure:6597: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:6789: checking for \"FOR_MSW\" xpm" >&5
     xe_check_libs=-lXpm
     cat > conftest.$ac_ext <<EOF
-#line 6600 "configure"
+#line 6792 "configure"
 #include "confdefs.h"
 
 int main() {
 XpmCreatePixmapFromData()
 ; return 0; }
 EOF
-if { (eval echo configure:6607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   xpm_for_msw=no
 else
@@ -6629,16 +6821,16 @@ EOF
 
     test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:6633: checking for compface.h" >&5
+echo "configure:6825: checking for compface.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6636 "configure"
+#line 6828 "configure"
 #include "confdefs.h"
 #include <compface.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:6833: \"$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"
@@ -6660,12 +6852,12 @@ fi
  }
   test -z "$with_xface" && { 
 echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:6664: checking for UnGenFace in -lcompface" >&5
+echo "configure:6856: 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 6669 "configure"
+#line 6861 "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
@@ -6676,7 +6868,7 @@ int main() {
 UnGenFace()
 ; return 0; }
 EOF
-if { (eval echo configure:6680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6872: \"$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
@@ -6728,12 +6920,12 @@ EOF
       if test "$with_png $with_tiff" != "no no"; then
     
 echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:6732: checking for inflate in -lc" >&5
+echo "configure:6924: 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 6737 "configure"
+#line 6929 "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
@@ -6744,7 +6936,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6748: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6940: \"$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
@@ -6763,12 +6955,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:6767: checking for inflate in -lz" >&5
+echo "configure:6959: 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 6772 "configure"
+#line 6964 "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
@@ -6779,7 +6971,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6975: \"$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
@@ -6798,12 +6990,12 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:6802: checking for inflate in -lgz" >&5
+echo "configure:6994: 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 6807 "configure"
+#line 6999 "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
@@ -6814,7 +7006,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:6818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7010: \"$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
@@ -6844,16 +7036,16 @@ fi
 
     test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:6848: checking for jpeglib.h" >&5
+echo "configure:7040: checking for jpeglib.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6851 "configure"
+#line 7043 "configure"
 #include "confdefs.h"
 #include <jpeglib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6856: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:7048: \"$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"
@@ -6875,12 +7067,12 @@ fi
  }
   test -z "$with_jpeg" && { 
 echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
-echo "configure:6879: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:7071: 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 6884 "configure"
+#line 7076 "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
@@ -6891,7 +7083,7 @@ int main() {
 jpeg_destroy_decompress()
 ; return 0; }
 EOF
-if { (eval echo configure:6895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7087: \"$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
@@ -6927,10 +7119,10 @@ EOF
 
     png_problem=""
   test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:6931: checking for pow" >&5
+echo "configure:7123: checking for pow" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6934 "configure"
+#line 7126 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char pow(); below.  */
@@ -6953,7 +7145,7 @@ pow();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7149: \"$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
@@ -6974,16 +7166,16 @@ fi
  }
   test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for png.h""... $ac_c" 1>&6
-echo "configure:6978: checking for png.h" >&5
+echo "configure:7170: checking for png.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 6981 "configure"
+#line 7173 "configure"
 #include "confdefs.h"
 #include <png.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6986: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:7178: \"$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"
@@ -7005,12 +7197,12 @@ fi
  }
   test -z "$with_png" && { 
 echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:7009: checking for png_read_image in -lpng" >&5
+echo "configure:7201: 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 7014 "configure"
+#line 7206 "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
@@ -7021,7 +7213,7 @@ int main() {
 png_read_image()
 ; return 0; }
 EOF
-if { (eval echo configure:7025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7217: \"$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
@@ -7044,10 +7236,10 @@ fi
  }
   if test -z "$with_png"; then
     echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
-echo "configure:7048: checking for workable png version information" >&5
+echo "configure:7240: checking for workable png version information" >&5
     xe_check_libs="-lpng -lz"
     cat > conftest.$ac_ext <<EOF
-#line 7051 "configure"
+#line 7243 "configure"
 #include "confdefs.h"
 #include <png.h>
     int main(int c, char **v) {
@@ -7055,7 +7247,7 @@ echo "configure:7048: checking for workable png version information" >&5
     if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
     return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
 EOF
-if { (eval echo configure:7059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:7251: \"$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
@@ -7098,16 +7290,16 @@ EOF
 
     test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
-echo "configure:7102: checking for tiffio.h" >&5
+echo "configure:7294: checking for tiffio.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7105 "configure"
+#line 7297 "configure"
 #include "confdefs.h"
 #include <tiffio.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7110: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:7302: \"$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"
@@ -7129,12 +7321,12 @@ fi
  }
   test -z "$with_tiff" && { 
 echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:7133: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:7325: 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 7138 "configure"
+#line 7330 "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
@@ -7145,7 +7337,7 @@ int main() {
 TIFFClientOpen()
 ; return 0; }
 EOF
-if { (eval echo configure:7149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7341: \"$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
@@ -7184,16 +7376,16 @@ fi
 if test "$with_x11" = "yes"; then
 
   echo "checking for X11 graphics libraries" 1>&6
-echo "configure:7188: checking for X11 graphics libraries" >&5
+echo "configure:7380: checking for X11 graphics libraries" >&5
 
     
 echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6
-echo "configure:7192: checking for XawScrollbarSetThumb in -lXaw" >&5
+echo "configure:7384: 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 7197 "configure"
+#line 7389 "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
@@ -7204,7 +7396,7 @@ int main() {
 XawScrollbarSetThumb()
 ; return 0; }
 EOF
-if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7400: \"$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
@@ -7228,16 +7420,16 @@ fi
                     
     ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:7232: checking for Xm/Xm.h" >&5
+echo "configure:7424: checking for Xm/Xm.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7235 "configure"
+#line 7427 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:7432: \"$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"
@@ -7253,12 +7445,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   
 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:7257: checking for XmStringFree in -lXm" >&5
+echo "configure:7449: 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 7262 "configure"
+#line 7454 "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
@@ -7269,7 +7461,7 @@ int main() {
 XmStringFree()
 ; return 0; }
 EOF
-if { (eval echo configure:7273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7465: \"$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
@@ -7298,9 +7490,9 @@ fi
 
   if test "$have_motif" = "yes"; then
         echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:7302: checking for Lesstif" >&5
+echo "configure:7494: checking for Lesstif" >&5
     cat > conftest.$ac_ext <<EOF
-#line 7304 "configure"
+#line 7496 "configure"
 #include "confdefs.h"
 #include <Xm/Xm.h>
 #ifdef LESSTIF_VERSION
@@ -7581,7 +7773,7 @@ fi
 
 if test "$with_mule" = "yes" ; then
   echo "checking for Mule-related features" 1>&6
-echo "configure:7585: checking for Mule-related features" >&5
+echo "configure:7777: checking for Mule-related features" >&5
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining MULE
 EOF
@@ -7606,16 +7798,16 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7610: checking for $ac_hdr" >&5
+echo "configure:7802: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7613 "configure"
+#line 7805 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:7810: \"$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"
@@ -7645,12 +7837,12 @@ done
 
   
 echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:7649: checking for strerror in -lintl" >&5
+echo "configure:7841: 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 7654 "configure"
+#line 7846 "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
@@ -7661,7 +7853,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:7665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7857: \"$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
@@ -7694,19 +7886,58 @@ fi
 
 
   echo "checking for Mule input methods" 1>&6
-echo "configure:7698: checking for Mule input methods" >&5
+echo "configure:7890: checking for Mule input methods" >&5
         case "$with_xim" in "" | "yes" )
     echo "checking for XIM" 1>&6
-echo "configure:7701: checking for XIM" >&5
-        if test "$have_lesstif" = "yes"; then with_xim=xlib
-    else 
+echo "configure:7893: checking for XIM" >&5
+    
+echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6
+echo "configure:7896: 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 7901 "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:7912: \"$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:7705: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:7936: 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 7710 "configure"
+#line 7941 "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
@@ -7717,7 +7948,7 @@ int main() {
 XmImMbLookupString()
 ; return 0; }
 EOF
-if { (eval echo configure:7721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7952: \"$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
@@ -7734,11 +7965,10 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
   with_xim=motif
 else
   echo "$ac_t""no" 1>&6
-with_xim=xlib
 fi
 
 
-    fi
+    fi ;;
   esac
   if test "$with_xim" != "no"; then
     { test "$extra_verbose" = "yes" && cat << \EOF
@@ -7783,15 +8013,15 @@ EOF
 
     if test "$with_xfs" = "yes" ; then
     echo "checking for XFontSet" 1>&6
-echo "configure:7787: checking for XFontSet" >&5
+echo "configure:8017: checking for XFontSet" >&5
     
 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:7790: checking for XmbDrawString in -lX11" >&5
+echo "configure:8020: 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 7795 "configure"
+#line 8025 "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
@@ -7802,7 +8032,7 @@ int main() {
 XmbDrawString()
 ; return 0; }
 EOF
-if { (eval echo configure:7806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8036: \"$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
@@ -7842,16 +8072,16 @@ EOF
     test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
   test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6
-echo "configure:7846: checking for wnn/jllib.h" >&5
+echo "configure:8076: checking for wnn/jllib.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7849 "configure"
+#line 8079 "configure"
 #include "confdefs.h"
 #include <wnn/jllib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:8084: \"$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"
@@ -7875,10 +8105,10 @@ fi
     for ac_func in crypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7879: checking for $ac_func" >&5
+echo "configure:8109: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 7882 "configure"
+#line 8112 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7901,7 +8131,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8135: \"$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
@@ -7930,12 +8160,12 @@ done
 
     test "$ac_cv_func_crypt" != "yes" && { 
 echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:7934: checking for crypt in -lcrypt" >&5
+echo "configure:8164: 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 7939 "configure"
+#line 8169 "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
@@ -7946,7 +8176,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:7950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8180: \"$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
@@ -7981,12 +8211,12 @@ fi
     if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
     
 echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6
-echo "configure:7985: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:8215: 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 7990 "configure"
+#line 8220 "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
@@ -7997,7 +8227,7 @@ int main() {
 jl_dic_list_e()
 ; return 0; }
 EOF
-if { (eval echo configure:8001: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8231: \"$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
@@ -8015,12 +8245,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6
-echo "configure:8019: checking for jl_dic_list_e in -lwnn4" >&5
+echo "configure:8249: 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 8024 "configure"
+#line 8254 "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
@@ -8031,7 +8261,7 @@ int main() {
 jl_dic_list_e()
 ; return 0; }
 EOF
-if { (eval echo configure:8035: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8265: \"$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
@@ -8049,12 +8279,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6
-echo "configure:8053: checking for jl_dic_list_e in -lwnn6" >&5
+echo "configure:8283: 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 8058 "configure"
+#line 8288 "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
@@ -8065,7 +8295,7 @@ int main() {
 jl_dic_list_e()
 ; return 0; }
 EOF
-if { (eval echo configure:8069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8299: \"$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
@@ -8083,12 +8313,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6
-echo "configure:8087: checking for dic_list_e in -lwnn6_fromsrc" >&5
+echo "configure:8317: 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 8092 "configure"
+#line 8322 "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
@@ -8099,7 +8329,7 @@ int main() {
 dic_list_e()
 ; return 0; }
 EOF
-if { (eval echo configure:8103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8333: \"$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
@@ -8147,12 +8377,12 @@ EOF
     if test "$with_wnn6" != "no"; then
       
 echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6
-echo "configure:8151: checking for jl_fi_dic_list in -l$libwnn" >&5
+echo "configure:8381: 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 8156 "configure"
+#line 8386 "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
@@ -8163,7 +8393,7 @@ int main() {
 jl_fi_dic_list()
 ; return 0; }
 EOF
-if { (eval echo configure:8167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8198,16 +8428,16 @@ EOF
   if test "$with_canna" != "no"; then
     ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:8202: checking for canna/jrkanji.h" >&5
+echo "configure:8432: checking for canna/jrkanji.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8205 "configure"
+#line 8435 "configure"
 #include "confdefs.h"
 #include <canna/jrkanji.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:8440: \"$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"
@@ -8233,16 +8463,16 @@ fi
     c_switch_site="$c_switch_site -I/usr/local/canna/include"
     ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6
-echo "configure:8237: checking for canna/jrkanji.h" >&5
+echo "configure:8467: checking for canna/jrkanji.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8240 "configure"
+#line 8470 "configure"
 #include "confdefs.h"
 #include <canna/jrkanji.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8245: \"$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"
@@ -8269,16 +8499,16 @@ fi
 
   test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6
-echo "configure:8273: checking for canna/RK.h" >&5
+echo "configure:8503: checking for canna/RK.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8276 "configure"
+#line 8506 "configure"
 #include "confdefs.h"
 #include <canna/RK.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:8511: \"$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"
@@ -8300,12 +8530,12 @@ fi
  }
   test -z "$with_canna" && { 
 echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6
-echo "configure:8304: checking for RkBgnBun in -lRKC" >&5
+echo "configure:8534: 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 8309 "configure"
+#line 8539 "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
@@ -8316,7 +8546,7 @@ int main() {
 RkBgnBun()
 ; return 0; }
 EOF
-if { (eval echo configure:8320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8550: \"$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
@@ -8339,12 +8569,12 @@ fi
  }
   test -z "$with_canna" && { 
 echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:8343: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:8573: 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 8348 "configure"
+#line 8578 "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
@@ -8355,7 +8585,7 @@ int main() {
 jrKanjiControl()
 ; return 0; }
 EOF
-if { (eval echo configure:8359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8589: \"$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
@@ -8404,12 +8634,12 @@ if test "$need_motif" = "yes" ; then
   libs_x="-lXm $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-lXm\" to \$libs_x"; fi
     
 echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6
-echo "configure:8408: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:8638: 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 8413 "configure"
+#line 8643 "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
@@ -8420,7 +8650,7 @@ int main() {
 layout_object_getvalue()
 ; return 0; }
 EOF
-if { (eval echo configure:8424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8654: \"$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
@@ -8506,10 +8736,10 @@ fi
 for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8510: checking for $ac_func" >&5
+echo "configure:8740: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8513 "configure"
+#line 8743 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8532,7 +8762,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8766: \"$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
@@ -8573,10 +8803,10 @@ case "$opsys" in
       * ) for ac_func in realpath
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8577: checking for $ac_func" >&5
+echo "configure:8807: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8580 "configure"
+#line 8810 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8599,7 +8829,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8833: \"$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
@@ -8633,16 +8863,16 @@ done
 esac
 
 echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:8637: checking whether netdb declares h_errno" >&5
+echo "configure:8867: checking whether netdb declares h_errno" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8639 "configure"
+#line 8869 "configure"
 #include "confdefs.h"
 #include <netdb.h>
 int main() {
 return h_errno;
 ; return 0; }
 EOF
-if { (eval echo configure:8646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8876: \"$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
@@ -8662,16 +8892,16 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:8666: checking for sigsetjmp" >&5
+echo "configure:8896: checking for sigsetjmp" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8668 "configure"
+#line 8898 "configure"
 #include "confdefs.h"
 #include <setjmp.h>
 int main() {
 sigjmp_buf bar; sigsetjmp (bar, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:8675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8905: \"$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
@@ -8691,11 +8921,11 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6
-echo "configure:8695: checking whether localtime caches TZ" >&5
+echo "configure:8925: checking whether localtime caches TZ" >&5
 
 if test "$ac_cv_func_tzset" = "yes"; then
 cat > conftest.$ac_ext <<EOF
-#line 8699 "configure"
+#line 8929 "configure"
 #include "confdefs.h"
 #include <time.h>
 #if STDC_HEADERS
@@ -8730,7 +8960,7 @@ main()
   exit (0);
 }
 EOF
-if { (eval echo configure:8734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   emacs_cv_localtime_cache=no
 else
@@ -8760,9 +8990,9 @@ fi
 
 if test "$HAVE_TIMEVAL" = "yes"; then
 echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:8764: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:8994: checking whether gettimeofday accepts one or two arguments" >&5
 cat > conftest.$ac_ext <<EOF
-#line 8766 "configure"
+#line 8996 "configure"
 #include "confdefs.h"
 
 #ifdef TIME_WITH_SYS_TIME
@@ -8784,7 +9014,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:8788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9018: \"$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
@@ -8806,19 +9036,19 @@ fi
 
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:8810: checking for inline" >&5
+echo "configure:9040: checking for inline" >&5
 
 ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 8815 "configure"
+#line 9045 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:8822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -8868,17 +9098,17 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:8872: checking for working alloca.h" >&5
+echo "configure:9102: checking for working alloca.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8875 "configure"
+#line 9105 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:8882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9112: \"$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
@@ -8902,23 +9132,28 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:8906: checking for alloca" >&5
+echo "configure:9136: checking for alloca" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8909 "configure"
+#line 9139 "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
@@ -8928,7 +9163,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:8932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9167: \"$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
@@ -8956,7 +9191,7 @@ if test $ac_cv_func_alloca_works = no; then
   # 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
@@ -8967,10 +9202,10 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:8971: checking whether alloca needs Cray hooks" >&5
+echo "configure:9206: checking whether alloca needs Cray hooks" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 8974 "configure"
+#line 9209 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -8994,10 +9229,10 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8998: checking for $ac_func" >&5
+echo "configure:9233: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9001 "configure"
+#line 9236 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9020,7 +9255,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9259: \"$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
@@ -9050,10 +9285,10 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:9054: checking stack direction for C alloca" >&5
+echo "configure:9289: checking stack direction for C alloca" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9057 "configure"
+#line 9292 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -9072,7 +9307,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:9076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_c_stack_direction=1
 else
@@ -9101,16 +9336,16 @@ test -n "$ALLOCA" && extra_objs="$extra_objs $ALLOCA" &&  if test "$extra_verbos
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:9105: checking for vfork.h" >&5
+echo "configure:9340: checking for vfork.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9108 "configure"
+#line 9343 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9113: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:9348: \"$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"
@@ -9137,10 +9372,10 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:9141: checking for working vfork" >&5
+echo "configure:9376: checking for working vfork" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9144 "configure"
+#line 9379 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -9235,7 +9470,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:9239: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9474: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_vfork_works=yes
 else
@@ -9261,10 +9496,10 @@ fi
 
 
 echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:9265: checking for working strcoll" >&5
+echo "configure:9500: checking for working strcoll" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9268 "configure"
+#line 9503 "configure"
 #include "confdefs.h"
 #include <string.h>
 main ()
@@ -9274,7 +9509,7 @@ main ()
        strcoll ("123", "456") >= 0);
 }
 EOF
-if { (eval echo configure:9278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_strcoll_works=yes
 else
@@ -9302,10 +9537,10 @@ fi
 for ac_func in getpgrp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9306: checking for $ac_func" >&5
+echo "configure:9541: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9309 "configure"
+#line 9544 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9328,7 +9563,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9567: \"$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
@@ -9356,10 +9591,10 @@ fi
 done
 
 echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:9360: checking whether getpgrp takes no argument" >&5
+echo "configure:9595: checking whether getpgrp takes no argument" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9363 "configure"
+#line 9598 "configure"
 #include "confdefs.h"
 
 /*
@@ -9414,7 +9649,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:9418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   ac_cv_func_getpgrp_void=yes
 else
@@ -9441,10 +9676,10 @@ fi
 
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9445: checking for working mmap" >&5
+echo "configure:9680: checking for working mmap" >&5
 case "$opsys" in ultrix* ) have_mmap=no ;; *)
 cat > conftest.$ac_ext <<EOF
-#line 9448 "configure"
+#line 9683 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <unistd.h>
@@ -9477,7 +9712,7 @@ int main (int argc, char *argv[])
   return 1;
 }
 EOF
-if { (eval echo configure:9481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   have_mmap=yes
 else
@@ -9502,16 +9737,16 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9506: checking for $ac_hdr" >&5
+echo "configure:9741: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9509 "configure"
+#line 9744 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:9749: \"$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"
@@ -9542,10 +9777,10 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9546: checking for $ac_func" >&5
+echo "configure:9781: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9549 "configure"
+#line 9784 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9568,7 +9803,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9807: \"$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
@@ -9596,10 +9831,10 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9600: checking for working mmap" >&5
+echo "configure:9835: checking for working mmap" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9603 "configure"
+#line 9838 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -9739,7 +9974,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:9743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:9978: \"$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
@@ -9777,16 +10012,16 @@ EOF
 
 ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:9781: checking for termios.h" >&5
+echo "configure:10016: checking for termios.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9784 "configure"
+#line 10019 "configure"
 #include "confdefs.h"
 #include <termios.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10024: \"$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"
@@ -9828,16 +10063,16 @@ else
   echo "$ac_t""no" 1>&6
 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for termio.h""... $ac_c" 1>&6
-echo "configure:9832: checking for termio.h" >&5
+echo "configure:10067: checking for termio.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9835 "configure"
+#line 10070 "configure"
 #include "confdefs.h"
 #include <termio.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10075: \"$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"
 
 
 echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:9872: checking for socket" >&5
+echo "configure:10107: checking for socket" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9875 "configure"
+#line 10110 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char socket(); below.  */
@@ -9894,7 +10129,7 @@ socket();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9898: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10133: \"$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
@@ -9909,16 +10144,16 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6
-echo "configure:9913: checking for netinet/in.h" >&5
+echo "configure:10148: checking for netinet/in.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9916 "configure"
+#line 10151 "configure"
 #include "confdefs.h"
 #include <netinet/in.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9921: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10156: \"$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"
@@ -9934,16 +10169,16 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6
-echo "configure:9938: checking for arpa/inet.h" >&5
+echo "configure:10173: checking for arpa/inet.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 9941 "configure"
+#line 10176 "configure"
 #include "confdefs.h"
 #include <arpa/inet.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10181: \"$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"
@@ -9967,9 +10202,9 @@ EOF
 }
 
       echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:9971: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:10206: checking "for sun_len member in struct sockaddr_un"" >&5
       cat > conftest.$ac_ext <<EOF
-#line 9973 "configure"
+#line 10208 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9980,7 +10215,7 @@ int main() {
 static struct sockaddr_un x; x.sun_len = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:9984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10219: \"$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
@@ -9998,9 +10233,9 @@ else
 fi
 rm -f conftest*
       echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:10002: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:10237: checking "for ip_mreq struct in netinet/in.h"" >&5
       cat > conftest.$ac_ext <<EOF
-#line 10004 "configure"
+#line 10239 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -10010,7 +10245,7 @@ int main() {
 static struct ip_mreq x;
 ; return 0; }
 EOF
-if { (eval echo configure:10014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10249: \"$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
 
 
 echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:10045: checking for msgget" >&5
+echo "configure:10280: checking for msgget" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10048 "configure"
+#line 10283 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char msgget(); below.  */
@@ -10067,7 +10302,7 @@ msgget();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10306: \"$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
@@ -10082,16 +10317,16 @@ if eval "test \"`echo '$ac_cv_func_'msgget`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6
-echo "configure:10086: checking for sys/ipc.h" >&5
+echo "configure:10321: checking for sys/ipc.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10089 "configure"
+#line 10324 "configure"
 #include "confdefs.h"
 #include <sys/ipc.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10329: \"$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"
@@ -10107,16 +10342,16 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6
-echo "configure:10111: checking for sys/msg.h" >&5
+echo "configure:10346: checking for sys/msg.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10114 "configure"
+#line 10349 "configure"
 #include "confdefs.h"
 #include <sys/msg.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10119: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10354: \"$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"
 
 ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for dirent.h""... $ac_c" 1>&6
-echo "configure:10157: checking for dirent.h" >&5
+echo "configure:10392: checking for dirent.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10160 "configure"
+#line 10395 "configure"
 #include "confdefs.h"
 #include <dirent.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10165: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10400: \"$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"
@@ -10188,16 +10423,16 @@ else
   echo "$ac_t""no" 1>&6
 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6
-echo "configure:10192: checking for sys/dir.h" >&5
+echo "configure:10427: checking for sys/dir.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10195 "configure"
+#line 10430 "configure"
 #include "confdefs.h"
 #include <sys/dir.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10200: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10435: \"$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"
 
 ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:10233: checking for nlist.h" >&5
+echo "configure:10468: checking for nlist.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10236 "configure"
+#line 10471 "configure"
 #include "confdefs.h"
 #include <nlist.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10241: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10476: \"$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"
@@ -10267,7 +10502,7 @@ fi
 
 
 echo "checking "for sound support"" 1>&6
-echo "configure:10271: checking "for sound support"" >&5
+echo "configure:10506: checking "for sound support"" >&5
 case "$with_sound" in
   native | both ) with_native_sound=yes;;
   nas    | no   ) with_native_sound=no;;
@@ -10278,16 +10513,16 @@ if test "$with_native_sound" != "no"; then
     if test -n "$native_sound_lib"; then
     ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6
-echo "configure:10282: checking for multimedia/audio_device.h" >&5
+echo "configure:10517: checking for multimedia/audio_device.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10285 "configure"
+#line 10520 "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:10290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
   eval "ac_cv_header_$ac_safe=yes"
       if test -z "$native_sound_lib"; then
         
 echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6
-echo "configure:10338: checking for ALopenport in -laudio" >&5
+echo "configure:10573: 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 10343 "configure"
+#line 10578 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -10350,7 +10585,7 @@ int main() {
 ALopenport()
 ; return 0; }
 EOF
-if { (eval echo configure:10354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
       if test -z "$native_sound_lib"; then
        
 echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:10385: checking for AOpenAudio in -lAlib" >&5
+echo "configure:10620: 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 10390 "configure"
+#line 10625 "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
@@ -10397,7 +10632,7 @@ int main() {
 AOpenAudio()
 ; return 0; }
 EOF
-if { (eval echo configure:10401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10636: \"$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
     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:10439: checking for ${dir}/soundcard.h" >&5
+echo "configure:10674: checking for ${dir}/soundcard.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10442 "configure"
+#line 10677 "configure"
 #include "confdefs.h"
 #include <${dir}/soundcard.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10447: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10682: \"$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"
@@ -10513,7 +10748,7 @@ EOF
  fi
   libs_x="-laudio $libs_x" &&  if test "$extra_verbose" = "yes"; then echo "    Prepending \"-laudio\" to \$libs_x"; fi
       cat > conftest.$ac_ext <<EOF
-#line 10517 "configure"
+#line 10752 "configure"
 #include "confdefs.h"
 #include <audio/Xtutil.h>
 EOF
@@ -10540,7 +10775,7 @@ test -z "$with_tty" && with_tty=yes
 
 if test "$with_tty" = "yes"  ; then
   echo "checking for TTY-related features" 1>&6
-echo "configure:10544: checking for TTY-related features" >&5
+echo "configure:10779: checking for TTY-related features" >&5
   { test "$extra_verbose" = "yes" && cat << \EOF
     Defining HAVE_TTY
 EOF
@@ -10556,12 +10791,12 @@ EOF
     if test -z "$with_ncurses"; then
     
 echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:10560: checking for tgetent in -lncurses" >&5
+echo "configure:10795: 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 10565 "configure"
+#line 10800 "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
@@ -10572,7 +10807,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10811: \"$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
@@ -10605,16 +10840,16 @@ EOF
 
     ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:10609: checking for ncurses/curses.h" >&5
+echo "configure:10844: checking for ncurses/curses.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10612 "configure"
+#line 10847 "configure"
 #include "confdefs.h"
 #include <ncurses/curses.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10617: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10852: \"$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"
 
     ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6
-echo "configure:10639: checking for ncurses/term.h" >&5
+echo "configure:10874: checking for ncurses/term.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10642 "configure"
+#line 10877 "configure"
 #include "confdefs.h"
 #include <ncurses/term.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10882: \"$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"
       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:10677: checking for ncurses/curses.h" >&5
+echo "configure:10912: checking for ncurses/curses.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10680 "configure"
+#line 10915 "configure"
 #include "confdefs.h"
 #include <ncurses/curses.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10685: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:10920: \"$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"
        for lib in curses termlib termcap; do
          
 echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6
-echo "configure:10720: checking for tgetent in -l$lib" >&5
+echo "configure:10955: 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 10725 "configure"
+#line 10960 "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
@@ -10732,7 +10967,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10971: \"$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
       else
        
 echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:10767: checking for tgetent in -lcurses" >&5
+echo "configure:11002: 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 10772 "configure"
+#line 11007 "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
@@ -10779,7 +11014,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11018: \"$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
@@ -10797,12 +11032,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:10801: checking for tgetent in -ltermcap" >&5
+echo "configure:11036: 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 10806 "configure"
+#line 11041 "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
@@ -10813,7 +11048,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:10817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11052: \"$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
@@ -10861,16 +11096,16 @@ EOF
 
     test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for gpm.h""... $ac_c" 1>&6
-echo "configure:10865: checking for gpm.h" >&5
+echo "configure:11100: checking for gpm.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10868 "configure"
+#line 11103 "configure"
 #include "confdefs.h"
 #include <gpm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10873: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:11108: \"$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"
  }
   test -z "$with_gpm" && { 
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:10896: checking for Gpm_Open in -lgpm" >&5
+echo "configure:11131: 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 10901 "configure"
+#line 11136 "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
@@ -10908,7 +11143,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:10912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11147: \"$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
@@ -10958,21 +11193,21 @@ test "$with_x11" = "yes" -o "$with_tty" = "yes" && extra_objs="$extra_objs event
 
 test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
   != "no no no" && echo "checking for database support" 1>&6
-echo "configure:10962: checking for database support" >&5
+echo "configure:11197: 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:10967: checking for ndbm.h" >&5
+echo "configure:11202: checking for ndbm.h" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 10970 "configure"
+#line 11205 "configure"
 #include "confdefs.h"
 #include <ndbm.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10975: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:11210: \"$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"
 if test "$with_database_gnudbm" != "no"; then
   
 echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:11005: checking for dbm_open in -lgdbm" >&5
+echo "configure:11240: 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 11010 "configure"
+#line 11245 "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
@@ -11017,7 +11252,7 @@ int main() {
 dbm_open()
 ; return 0; }
 EOF
-if { (eval echo configure:11021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11256: \"$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
 
 if test "$with_database_dbm" != "no"; then
   echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:11049: checking for dbm_open" >&5
+echo "configure:11284: checking for dbm_open" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11052 "configure"
+#line 11287 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dbm_open(); below.  */
@@ -11071,7 +11306,7 @@ dbm_open();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11310: \"$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
@@ -11090,12 +11325,12 @@ else
 
     
 echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:11094: checking for dbm_open in -ldbm" >&5
+echo "configure:11329: 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 11099 "configure"
+#line 11334 "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
@@ -11106,7 +11341,7 @@ int main() {
 dbm_open()
 ; return 0; }
 EOF
-if { (eval echo configure:11110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11345: \"$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
@@ -11147,10 +11382,10 @@ EOF
 
 if test "$with_database_berkdb" != "no"; then
   echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:11151: checking for Berkeley db.h" >&5
+echo "configure:11386: checking for Berkeley db.h" >&5
   for path in "db/db.h" "db.h"; do
     cat > conftest.$ac_ext <<EOF
-#line 11154 "configure"
+#line 11389 "configure"
 #include "confdefs.h"
 #ifdef HAVE_INTTYPES_H
 #define __BIT_TYPES_DEFINED__
@@ -11168,7 +11403,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:11172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   db_h_path="$path"; break
 else
@@ -11184,9 +11419,9 @@ rm -f conftest*
 
   if test "$with_database_berkdb" != "no"; then
     echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:11188: checking for Berkeley DB version" >&5
+echo "configure:11423: checking for Berkeley DB version" >&5
     cat > conftest.$ac_ext <<EOF
-#line 11190 "configure"
+#line 11425 "configure"
 #include "confdefs.h"
 #include <$db_h_path>
 #if DB_VERSION_MAJOR > 1
 rm -f conftest*
 
     echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:11209: checking for $dbfunc" >&5
+echo "configure:11444: checking for $dbfunc" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11212 "configure"
+#line 11447 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $dbfunc(); below.  */
@@ -11231,7 +11466,7 @@ $dbfunc();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11470: \"$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
@@ -11250,12 +11485,12 @@ else
 
     
 echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6
-echo "configure:11254: checking for $dbfunc in -ldb" >&5
+echo "configure:11489: 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 11259 "configure"
+#line 11494 "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
@@ -11266,7 +11501,7 @@ int main() {
 $dbfunc()
 ; return 0; }
 EOF
-if { (eval echo configure:11270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11505: \"$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
 if test "$with_socks" = "yes"; then
   
 echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:11334: checking for SOCKSinit in -lsocks" >&5
+echo "configure:11569: 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 11339 "configure"
+#line 11574 "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
@@ -11346,7 +11581,7 @@ int main() {
 SOCKSinit()
 ; return 0; }
 EOF
-if { (eval echo configure:11350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11585: \"$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
@@ -11403,16 +11638,16 @@ for ac_hdr in dlfcn.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11407: checking for $ac_hdr" >&5
+echo "configure:11642: checking for $ac_hdr" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 11410 "configure"
+#line 11645 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11415: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:11650: \"$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"
@@ -11450,12 +11685,12 @@ done
 
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:11454: checking for dlopen in -ldl" >&5
+echo "configure:11689: 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 11459 "configure"
+#line 11694 "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
@@ -11466,7 +11701,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11705: \"$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
  }
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11499: checking for _dlopen in -lc" >&5
+echo "configure:11734: 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 11504 "configure"
+#line 11739 "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
@@ -11511,7 +11746,7 @@ int main() {
 _dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11750: \"$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
  }
 test -z "$with_shlib" && test ! -z "$have_dlfcn" && { 
 echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11544: checking for dlopen in -lc" >&5
+echo "configure:11779: 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 11549 "configure"
+#line 11784 "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
@@ -11556,7 +11791,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:11560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11795: \"$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
  }
 test -z "$with_shlib" && { 
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:11589: checking for shl_load in -ldld" >&5
+echo "configure:11824: 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 11594 "configure"
+#line 11829 "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
@@ -11601,7 +11836,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo configure:11605: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11840: \"$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
  }
 test -z "$with_shlib" && { 
 echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:11634: checking for dld_init in -ldld" >&5
+echo "configure:11869: 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 11639 "configure"
+#line 11874 "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
@@ -11646,7 +11881,7 @@ int main() {
 dld_init()
 ; return 0; }
 EOF
-if { (eval echo configure:11650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11885: \"$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
@@ -11685,7 +11920,7 @@ xehost=$canonical
 xealias=$internal_configuration
 
 echo "checking how to build dynamic libraries for ${xehost}" 1>&6
-echo "configure:11689: checking how to build dynamic libraries for ${xehost}" >&5
+echo "configure:11924: checking how to build dynamic libraries for ${xehost}" >&5
 # Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
 case "$xehost" in
 *-*-linux-gnu*) ;;
@@ -11713,9 +11948,9 @@ if test "$GCC" = "yes"; then
   XEGCC=yes
 else
   echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:11717: checking checking whether we are using GNU C" >&5
+echo "configure:11952: checking checking whether we are using GNU C" >&5
   cat > conftest.$ac_ext <<EOF
-#line 11719 "configure"
+#line 11954 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -11737,7 +11972,7 @@ rm -f conftest*
 fi
 
 echo $ac_n "checking how to produce PIC code""... $ac_c" 1>&6
-echo "configure:11741: checking how to produce PIC code" >&5
+echo "configure:11976: checking how to produce PIC code" >&5
 wl=
 
 can_build_shared=yes
@@ -11830,18 +12065,18 @@ if test -n "$dll_cflags"; then
   
   # Check to make sure the dll_cflags actually works.
   echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6
-echo "configure:11834: checking if PIC flag ${dll_cflags} really works" >&5
+echo "configure:12069: checking if PIC flag ${dll_cflags} really works" >&5
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS $dll_cflags -DPIC"
   cat > conftest.$ac_ext <<EOF
-#line 11838 "configure"
+#line 12073 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=0;
 ; return 0; }
 EOF
-if { (eval echo configure:11845: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12080: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
     # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
@@ -11872,7 +12107,7 @@ cc_produces_so=no
 xldf=
 xcldf=
 echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6
-echo "configure:11876: checking if C compiler can produce shared libraries" >&5
+echo "configure:12111: checking if C compiler can produce shared libraries" >&5
 if test "$XEGCC" = yes; then
   xcldf="-shared"
   xldf="-shared"
@@ -11923,14 +12158,14 @@ if test -n "$xcldf"; then
   xe_libs=
   ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5'
   cat > conftest.$ac_ext <<EOF
-#line 11927 "configure"
+#line 12162 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=0;
 ; return 0; }
 EOF
-if { (eval echo configure:11934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:12169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cc_produces_so=yes
 else
@@ -11955,7 +12190,7 @@ if test -z "$LTLD"; then
   if test "$XEGCC" = yes; then
     # Check if gcc -print-prog-name=ld gives a path.
     echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:11959: checking for ld used by GCC" >&5
+echo "configure:12194: checking for ld used by GCC" >&5
     ac_prog=`($CC -print-prog-name=ld) 2>&5`
     case "$ac_prog" in
     # Accept absolute paths.
@@ -11980,7 +12215,7 @@ echo "configure:11959: checking for ld used by GCC" >&5
     esac
   else
     echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:11984: checking for GNU ld" >&5
+echo "configure:12219: checking for GNU ld" >&5
   fi
 
   if test -z "$LTLD"; then
@@ -12018,7 +12253,7 @@ ld_dynamic_link_flags=
 
 # Check to see if it really is or isn't GNU ld.
 echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6
-echo "configure:12022: checking if the linker is GNU ld" >&5
+echo "configure:12257: checking if the linker is GNU ld" >&5
 # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 if $LTLD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
   xe_gnu_ld=yes
@@ -12045,7 +12280,7 @@ else
   # OK - only NOW do we futz about with ld.
   # See if the linker supports building shared libraries.
   echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6
-echo "configure:12049: checking whether the linker supports shared libraries" >&5
+echo "configure:12284: checking whether the linker supports shared libraries" >&5
   dll_ld=$CC
   dll_ldflags=$LDFLAGS
   ld_shlibs=yes
@@ -12257,10 +12492,10 @@ EOF
     for ac_func in dlerror _dlerror
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12261: checking for $ac_func" >&5
+echo "configure:12496: checking for $ac_func" >&5
 
 cat > conftest.$ac_ext <<EOF
-#line 12264 "configure"
+#line 12499 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -12283,7 +12518,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:12287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:12522: \"$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
@@ -12317,11 +12552,11 @@ done
 fi
 
 cat > conftest.$ac_ext <<EOF
-#line 12321 "configure"
+#line 12556 "configure"
 #include "confdefs.h"
 int main(int c,char *v[]){return 0;}
 EOF
-if { (eval echo configure:12325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
 then
   :
 else
@@ -13002,7 +13237,15 @@ case "$with_scrollbars" in
   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
@@ -13097,7 +13340,7 @@ do
     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 ;;
@@ -13117,9 +13360,11 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
  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
@@ -13149,6 +13394,7 @@ s%@ld@%$ld%g
 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
index 5243fb0..f44e169 100644 (file)
@@ -876,13 +876,22 @@ for dir in lisp etc man info; do
   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)
 
@@ -892,7 +901,7 @@ dnl give you automounter prefixes, which can go away.
 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.
@@ -1456,6 +1465,7 @@ case "$canonical" in
       *-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 ;;
@@ -1941,7 +1951,7 @@ if test "$add_runtime_path" = "yes"; then
   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
@@ -2535,7 +2545,7 @@ if test "$with_x11" != "yes"; then
   dnl if test "$with_tty" = "no" ; then
   dnl   AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
   dnl fi
-  for feature in tooltalk cde offix session xim xmu 
+  for feature in tooltalk cde offix session xim xmu
   do
     if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
        AC_MSG_WARN([--with-$feature ignored:  Not valid without X support])
@@ -2985,10 +2995,11 @@ if test "$with_mule" = "yes" ; then
   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)
@@ -3006,7 +3017,7 @@ if test "$with_mule" = "yes" ; then
     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)
@@ -3016,7 +3027,7 @@ if test "$with_mule" = "yes" ; then
         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
@@ -4090,7 +4101,15 @@ case "$with_scrollbars" in
   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
index b5154f6..d612b90 100644 (file)
@@ -204,6 +204,8 @@ Debugging options:
                         int, for the fundamental Lisp_Object type; this
                         provides stricter type-checking.  Only works with
                         some systems and compilers.
+--with-quantify         Add support for performance debugging using Quantify.
+--with-purify           Add support for memory debugging using Purify.
 
 
 Other options:
@@ -214,15 +216,13 @@ Other options:
 --with-dlmalloc         Control usage of Doug Lea malloc on systems that have
                         it in the standard C library (default is to use it if
                         it is available).
+--with-system-malloc    Force use of the system malloc, rather than GNU malloc.
+--with-debug-malloc     Use the debugging malloc package.
 --with-clash-detection  Use lock files to detect multiple edits of the same
                         file.  The default is to not do clash detection.
 --lockdir=DIR           The directory to put clash detection files in, such as
                         `/var/lock/emacs'.
                         Defaults to `${statedir}/xemacs/lock'.
---with-system-malloc    Force use of the system malloc, rather than GNU malloc.
---with-debug-malloc     Use the debugging malloc package.
---with-quantify         Add support for performance debugging using Quantify.
---with-purify           Add support for memory debugging using Purify.
 
 You may also specify any of the `path' variables found in Makefile.in,
 including --bindir, --libdir, --lispdir, --sitelispdir, --datadir,
index a6658c1..b5babd1 100644 (file)
--- a/etc/BETA
+++ b/etc/BETA
@@ -224,6 +224,10 @@ Patches to XEmacs should be mailed to <xemacs-patches@xemacs.org>.
 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).
 
index 598c097..138ea65 100644 (file)
@@ -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 @@ when adding new files there as it is required by almost everything.
 
 *** Sun
 
-Support for Sparcworks.  Must be installed prior to XEmacs build to be 
-effective.
+Support for Sparcworks.
 
 *** apel
 
@@ -38,8 +37,7 @@ Fundamental lisp files for providing email support.
 
 *** 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 @@ Emacs MIME support.
 
 *** vm
 
-An Emacs mailer.  This package must be installed prior to building XEmacs.
+An Emacs mailer.
 
 *** w3
 
@@ -280,8 +278,7 @@ Support for editing shell scripts.
 
 *** vc
 
-Version Control for Free systems.  This package must be installed
-prior to building XEmacs.
+Version Control for Free systems.
 
 *** vc-cc
 
index d059441..0ae705e 100644 (file)
@@ -1,6 +1,28 @@
 ;; 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"
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
 (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
index a2d2860..581ff01 100644 (file)
@@ -1,3 +1,21 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 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-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 6e2c24b..a816455 100644 (file)
@@ -43,6 +43,8 @@ LN_S "@LN_S@"
 LOCKDIR "@LOCKDIR@"
 LOCKDIR_USER_DEFINED "@LOCKDIR_USER_DEFINED@"
 MAKE_SUBDIR "@MAKE_SUBDIR@"
+MODULEDIR "@MODULEDIR@"
+MODULEDIR_USER_DEFINED "@MODULEDIR_USER_DEFINED@"
 PACKAGE_PATH "@PACKAGE_PATH@"
 PACKAGE_PATH_USER_DEFINED "@PACKAGE_PATH_USER_DEFINED@"
 PREFIX "@PREFIX@"
@@ -50,8 +52,13 @@ PROGNAME "@PROGNAME@"
 RANLIB "@RANLIB@"
 RECURSIVE_MAKE "@RECURSIVE_MAKE@"
 SET_MAKE "@SET_MAKE@"
+SITELISPDIR "@SITELISPDIR@"
+SITELISPDIR_USER_DEFINED "@SITELISPDIR_USER_DEFINED@"
+SITEMODULEDIR "@SITEMODULEDIR@"
+SITEMODULEDIR_USER_DEFINED "@SITEMODULEDIR_USER_DEFINED@"
 SRC_SUBDIR_DEPS "@SRC_SUBDIR_DEPS@"
 SUBDIR_MAKEFILES "@SUBDIR_MAKEFILES@"
+XEMACS_CC "@XEMACS_CC@"
 X_CFLAGS "@X_CFLAGS@"
 X_EXTRA_LIBS "@X_EXTRA_LIBS@"
 X_LIBS "@X_LIBS@"
@@ -70,8 +77,9 @@ configure_input "@configure_input@"
 datadir "@datadir@"
 dll_cflags "@dll_cflags@"
 dll_ld "@dll_ld@"
-dll_lflags "@dll_lflags@"
-dll_oflags "@dll_oflags@"
+dll_ldflags "@dll_ldflags@"
+dll_ldo "@dll_ldo@"
+dll_post "@dll_post@"
 dnd_objs "@dnd_objs@"
 docdir "@docdir@"
 dynodump_arch "@dynodump_arch@"
@@ -102,6 +110,7 @@ lockdir "@lockdir@"
 lwlib_objs "@lwlib_objs@"
 machfile "@machfile@"
 mandir "@mandir@"
+moduledir "@moduledir@"
 native_sound_lib "@native_sound_lib@"
 oldincludedir "@oldincludedir@"
 opsysfile "@opsysfile@"
@@ -111,6 +120,8 @@ prefix "@prefix@"
 program_transform_name "@program_transform_name@"
 sbindir "@sbindir@"
 sharedstatedir "@sharedstatedir@"
+sitelispdir "@sitelispdir@"
+sitemoduledir "@sitemoduledir@"
 sound_cflags "@sound_cflags@"
 srcdir "@srcdir@"
 start_files "@start_files@"
index 6af202c..ee56e65 100644 (file)
@@ -43,14 +43,24 @@ echo " (using $EMACS)"
 
 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
index 7e0a2ea..dd62a86 100755 (executable)
@@ -45,13 +45,20 @@ echo " (using $EMACS)"
 
 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 @@ else
 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 @@ lisp_prog='(princ (featurep (quote mule)))'
 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
index 94ae391..1da4016 100644 (file)
@@ -1,3 +1,84 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 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-25  SL Baur  <steve@xemacs.org>
+
+       * mule/mule-charset.el (charset-leading-byte): New function.
+       From Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+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>
+
+       * dumped-lisp.el (preloaded-file-list): Core mule files moved out
+       of mule-base into lisp/mule.
+
+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-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-15  Martin Buchholz  <martin@xemacs.org>
+
+       * paths.el: 
+       - improved automounter tmp directory support.
+       - support 4 (!) empirically discovered automounter conventions
+
+1999-02-12  SL Baur  <steve@xemacs.org>
+
+       * etags.el (pop-tag-mark): autoload to match key binding.
+
 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 9f5d27b..959887e 100644 (file)
@@ -283,7 +283,7 @@ developers responsible for this release are:\n\n")
                             :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
index fb49fe1..c77939e 100644 (file)
@@ -254,7 +254,7 @@ This is equivalent to `(return-from nil RESULT)'." nil 'macro)
 
 (autoload 'return-from "cl-macs" "\
 (return-from NAME [RESULT]): return from the block named NAME.
-This jump out to the innermost enclosing `(block NAME ...)' form,
+This jumps out to the innermost enclosing `(block NAME ...)' form,
 returning RESULT from that form (or nil if RESULT is omitted).
 This is compatible with Common Lisp, but note that `defun' and
 `defmacro' do not create implicit blocks as they do in Common Lisp." nil 'macro)
@@ -744,7 +744,7 @@ With prefix argument, enable European character display iff arg is positive." t
 
 ;;;***
 \f
-;;;### (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.
@@ -844,6 +844,11 @@ Display list of tags in FILE." t nil)
 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)
+
 ;;;***
 \f
 ;;;### (autoloads (finder-by-keyword) "finder" "lisp/finder.el")
index 44c3135..cc40648 100644 (file)
 (custom-add-loads 'help '("help" "cus-edit" "hyper-apropos" "info"))
 (custom-add-loads 'keyboard '("cmdloop"))
 (custom-add-loads 'hyper-apropos-faces '("hyper-apropos"))
+(custom-add-loads 'ldap '("ldap"))
 (custom-add-loads 'widget-browse '("wid-browse"))
 (custom-add-loads 'data '("auto-save"))
 (custom-add-loads 'warnings '("simple"))
 (custom-add-loads 'widget-documentation '("wid-edit"))
+(custom-add-loads 'comm '("ldap"))
 (custom-add-loads 'backup '("files"))
 (custom-add-loads 'frames '("frame" "window-xemacs" "gui" "gnuserv"))
 (custom-add-loads 'customize '("cus-edit" "wid-edit"))
index cbbecfb..290991b 100644 (file)
 
        (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")
index f00f8fa..00180d6 100644 (file)
@@ -1189,6 +1189,7 @@ and `\\[pop-tag-mark]'."
 
 ;;;###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 @@ This function pops (and moves to) the tag at the top of this stack."
 \f
 (provide 'etags)
 (provide 'tags)
+
+;;; etags.el ends here
index 7879ea0..462aea8 100644 (file)
        :active (fboundp 'gnus)]
       ["Browse the Web" w3
        :active (fboundp 'w3)]
-      ["Gopher" gopher
-       :active (fboundp 'gopher)]
       "----"
       ["Spell-Check Buffer" ispell-buffer
        :active (fboundp 'ispell-buffer)]
diff --git a/lisp/mule/arabic.el b/lisp/mule/arabic.el
new file mode 100644 (file)
index 0000000..c9c82b0
--- /dev/null
@@ -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
diff --git a/lisp/mule/canna-leim.el b/lisp/mule/canna-leim.el
new file mode 100644 (file)
index 0000000..2754c51
--- /dev/null
@@ -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
diff --git a/lisp/mule/cyrillic.el b/lisp/mule/cyrillic.el
new file mode 100644 (file)
index 0000000..24322f8
--- /dev/null
@@ -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 ?\e,L-\e(B ".")
+(modify-syntax-entry ?\e,Lp\e(B ".")
+(modify-syntax-entry ?\e,L}\e(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)
+
+\f
+;; 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 (\e,L@caaZXY\e(B)       \e,L7T`PRabRcYbU\e(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 ?\e,Lq\e(B   32  32  32  32  32  32  32  32  32  32  32  32
+           32  32  32 ?\e,L!\e(B   32  32  32  32  32  32  32  32  32  32  32  32
+          ?\e,Ln\e(B  ?\e,LP\e(B  ?\e,LQ\e(B  ?\e,Lf\e(B  ?\e,LT\e(B  ?\e,LU\e(B  ?\e,Ld\e(B  ?\e,LS\e(B  ?\e,Le\e(B  ?\e,LX\e(B  ?\e,LY\e(B  ?\e,LZ\e(B  ?\e,L[\e(B  ?\e,L\\e(B  ?\e,L]\e(B  ?\e,L^\e(B 
+          ?\e,L_\e(B  ?\e,Lo\e(B  ?\e,L`\e(B  ?\e,La\e(B  ?\e,Lb\e(B  ?\e,Lc\e(B  ?\e,LV\e(B  ?\e,LR\e(B  ?\e,Ll\e(B  ?\e,Lk\e(B  ?\e,LW\e(B  ?\e,Lh\e(B  ?\e,Lm\e(B  ?\e,Li\e(B  ?\e,Lg\e(B  ?\e,Lj\e(B 
+          ?\e,LN\e(B  ?\e,L0\e(B  ?\e,L1\e(B  ?\e,LF\e(B  ?\e,L4\e(B  ?\e,L5\e(B  ?\e,LD\e(B  ?\e,L3\e(B  ?\e,LE\e(B  ?\e,L8\e(B  ?\e,L9\e(B  ?\e,L:\e(B  ?\e,L;\e(B  ?\e,L<\e(B  ?\e,L=\e(B  ?\e,L>\e(B 
+          ?\e,L?\e(B  ?\e,LO\e(B  ?\e,L@\e(B  ?\e,LA\e(B  ?\e,LB\e(B  ?\e,LC\e(B  ?\e,L6\e(B  ?\e,L2\e(B  ?\e,LL\e(B  ?\e,LK\e(B  ?\e,L7\e(B  ?\e,LH\e(B  ?\e,LM\e(B  ?\e,LI\e(B  ?\e,LG\e(B  ?\e,LJ\e(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 (\e,L@caaZXY\e(B)      \e,L7T`PRabRcYbU\e(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
+              ?\e,L0\e(B  ?\e,L1\e(B  ?\e,L2\e(B  ?\e,L3\e(B  ?\e,L4\e(B  ?\e,L5\e(B  ?\e,L6\e(B  ?\e,L7\e(B  ?\e,L8\e(B  ?\e,L9\e(B  ?\e,L:\e(B  ?\e,L;\e(B  ?\e,L<\e(B  ?\e,L=\e(B  ?\e,L>\e(B  ?\e,L?\e(B
+              ?\e,L@\e(B  ?\e,LA\e(B  ?\e,LB\e(B  ?\e,LC\e(B  ?\e,LD\e(B  ?\e,LE\e(B  ?\e,LF\e(B  ?\e,LG\e(B  ?\e,LH\e(B  ?\e,LI\e(B  ?\e,LJ\e(B  ?\e,LK\e(B  ?\e,LL\e(B  ?\e,LM\e(B  ?\e,LN\e(B  ?\e,LO\e(B
+              ?\e,LP\e(B  ?\e,LQ\e(B  ?\e,LR\e(B  ?\e,LS\e(B  ?\e,LT\e(B  ?\e,LU\e(B  ?\e,LV\e(B  ?\e,LW\e(B  ?\e,LX\e(B  ?\e,LY\e(B  ?\e,LZ\e(B  ?\e,L[\e(B  ?\e,L\\e(B  ?\e,L]\e(B  ?\e,L^\e(B  ?\e,L_\e(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
+              ?\e,L`\e(B  ?\e,La\e(B  ?\e,Lb\e(B  ?\e,Lc\e(B  ?\e,Ld\e(B  ?\e,Le\e(B  ?\e,Lf\e(B  ?\e,Lg\e(B  ?\e,Lh\e(B  ?\e,Li\e(B  ?\e,Lj\e(B  ?\e,Lk\e(B  ?\e,Ll\e(B  ?\e,Lm\e(B  ?\e,Ln\e(B  ?\e,Lo\e(B
+              ?\e,L!\e(B  ?\e,Lq\e(B   32  32  32  32  32  32  32  32  32  32  32  32  32 ?\e,Lp\e(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 (\e,L@caaZXY\e(B)       \e,L7T`PRabRcYbU\e(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 (\e,L@caaZXY\e(B) \e,L7T`PRabRcYbU\e(B!")
+              (documentation . nil)))
+
+;;; cyrillic.el ends here
diff --git a/lisp/mule/english.el b/lisp/mule/english.el
new file mode 100644 (file)
index 0000000..60731be
--- /dev/null
@@ -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
diff --git a/lisp/mule/european.el b/lisp/mule/european.el
new file mode 100644 (file)
index 0000000..7feb4e4
--- /dev/null
@@ -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 '\e,A@\e(B' to '\e,A\7f\e(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 ?\e,AW\e(B "_")
+(modify-syntax-entry ?\e,Aw\e(B "_")
+
+;; For syntax of Latin-2
+(loop for c in '(?\e,B!\e(B ?\e,B#\e(B ?\e,B%\e(B ?\e,B&\e(B ?\e,B)\e(B ?\e,B*\e(B ?\e,B+\e(B ?\e,B,\e(B ?\e,B.\e(B ?\e,B/\e(B ?\e,B1\e(B ?\e,B3\e(B ?\e,B5\e(B ?\e,B6\e(B ?\e,B9\e(B ?\e,B:\e(B ?\e,B;\e(B ?\e,B<\e(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 ?\e,BW\e(B ".")
+(modify-syntax-entry ?\e,Bw\e(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))
+  )
+\f
+;; 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\e,A|_\e(B Gott, Ciao, \e,A!\e(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\e,A|_\e(B Gott, Ciao, \e,A!\e(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\e,A|_\e(B Gott, Ciao, \e,A!\e(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\e,A|_\e(B Gott, Ciao, \e,A!\e(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))
+            ))
+\f
+;; 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))
+             ))
+\f
+;; 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))
+            ))
+\f
+;; 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))
+            ))
+\f
+;; 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\e,A|_\e(B Gott, Ciao, \e,A!\e(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
diff --git a/lisp/mule/greek.el b/lisp/mule/greek.el
new file mode 100644 (file)
index 0000000..b878c67
--- /dev/null
@@ -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 ?\e,F7\e(B ".")
+(modify-syntax-entry ?\e,F;\e(B ".")
+(modify-syntax-entry ?\e,F=\e(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))
+;;     ))
+\f
+;; (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 (\e,FGkk]mija\e(B)       \e,FCei\\e(B \e,Fsar\e(B")
+          (documentation . t)))
+
+;;; greek.el ends here
diff --git a/lisp/mule/hebrew.el b/lisp/mule/hebrew.el
new file mode 100644 (file)
index 0000000..767fc0a
--- /dev/null
@@ -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
+
+\f
+;; (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      \e,Hylem\e(B")
+           (documentation . "Right-to-left writing is not yet supported.")
+           ))
+
+;;; hebrew.el ends here
diff --git a/lisp/mule/kinsoku.el b/lisp/mule/kinsoku.el
new file mode 100644 (file)
index 0000000..94cf414
--- /dev/null
@@ -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
+;;;     "\e$B!!!"!#!$!%!&!'!'!(!)!*!+!,!-!.!/\e(B"
+;;;   "\e$B!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?\e(B"
+;;;   "\e$B!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O\e(B"
+;;;   "\e$B!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_\e(B"
+;;;   "\e$B!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o\e(B"
+;;;   "\e$B!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~\e(B"
+;;;     "\e$B"!"""#"$"%"&"'"(")"*"+","-".\e(B "
+;;;     "\e$B&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/\e(B"
+;;;   "\e$B&0&1&2&3&4&5&6&7&8\e(B"
+;;;     "\e$B&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O\e(B"
+;;;   "\e$B&P&Q&R&S&T&U&V&W&X\e(B"
+;;;     "\e$B'!'"'#'$'%'&'''(')'*'+','-'.'/\e(B"
+;;;   "\e$B'0'1'2'3'4'5'6'7'8'9':';'<'='>'?\e(B"
+;;;   "\e$B'@'A\e(B"
+;;;     "\e$B'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_!I\e(B
+;;;   "\e$B'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o\e(B"
+;;;   "\e$B'p'q\e(B"
+;;;    \e$B#0#1#2#3#4#5#6#7#8#9#A#B#C#D#E#F\e(B
+;;;   "\e$B$!$#$%$'$)$C$c$e$g$n\e(B"
+;;;   "\e$B%!%#%%%'%)%C%c%e%g%n%u%v\e(B"
+
+;;; Special characters for GB
+;;;
+;;;  \e$A!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/\e(B
+;;;\e$A!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?\e(B
+;;;\e$A!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O\e(B
+;;;\e$A!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_\e(B
+;;;\e$A!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o\e(B
+;;;\e$A!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~\e(B
+;;;  \e$A"1"2"3"4"5"6"7"8"9":";"<"=">"?\e(B
+;;;\e$A"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O\e(B
+;;;\e$A"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_\e(B
+;;;\e$A"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o\e(B
+;;;\e$A"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~\e(B
+;;;  \e$A#!#"###$#%#&#'#(#)#*#+#,#-#.#/\e(B
+;;;\e$A#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?\e(B
+;;;\e$A#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O\e(B
+;;;\e$A#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_\e(B
+;;;\e$A#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o\e(B
+;;;\e$A#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~\e(B
+;;;  \e$A$!$"$#$$$%$&$'$($)$*$+$,$-$.$/\e(B
+;;;\e$A$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?\e(B
+;;;\e$A$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\e(B
+;;;\e$A$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_\e(B
+;;;\e$A$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o\e(B
+;;;\e$A$p$q$r$s$t$u$v$w$x$y$z${$|$}$~\e(B
+;;;  \e$A%!%"%#%$%%%&%'%(%)%*%+%,%-%.%/\e(B
+;;;\e$A%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?\e(B
+;;;\e$A%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O\e(B
+;;;\e$A%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_\e(B
+;;;\e$A%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o\e(B
+;;;\e$A%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~\e(B
+;;;  \e$A&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/\e(B
+;;;\e$A&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?\e(B
+;;;\e$A&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O\e(B
+;;;\e$A&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_\e(B
+;;;\e$A&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o\e(B
+;;;\e$A&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~\e(B
+;;;  \e$A'!'"'#'$'%'&'''(')'*'+','-'.'/\e(B
+;;;\e$A'0'1'2'3'4'5'6'7'8'9':';'<'='>'?\e(B
+;;;\e$A'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O\e(B
+;;;\e$A'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_\e(B
+;;;\e$A'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o\e(B
+;;;\e$A'p'q'r's't'u'v'w'x'y'z'{'|'}'~\e(B
+;;;  \e$A(!("(#($(%(&('((()(*(+(,(-(.(/\e(B
+;;;\e$A(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?\e(B
+;;;\e$A(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O\e(B
+;;;\e$A(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_\e(B
+;;;\e$A(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o\e(B
+
+;;; Special characters for BIG5
+;;;
+;;;  \e$(0!!!"!#!$!%!&!'!(!)!*!+!,!-!.!/\e(B
+;;;\e$(0!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>!?\e(B
+;;;\e$(0!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O\e(B
+;;;\e$(0!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_\e(B
+;;;\e$(0!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o\e(B
+;;;\e$(0!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~\e(B
+;;;  \e$(0"!"""#"$"%"&"'"(")"*"+","-"."/\e(B
+;;;\e$(0"0"1"2"3"4"5"6"7"8"9":";"<"=">"?\e(B
+;;;\e$(0"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O\e(B
+;;;\e$(0"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_\e(B
+;;;\e$(0"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o\e(B
+;;;\e$(0"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~\e(B
+;;;  \e$(0#!#"###$#%#&#'#(#)#*#+#,#-#.#/\e(B
+;;;\e$(0#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?\e(B
+;;;\e$(0#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O\e(B
+;;;\e$(0#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_\e(B
+;;;\e$(0#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o\e(B
+;;;\e$(0#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~\e(B
+;;;  \e$(0$!$"$#$$$%$&$'$($)$*$+$,$-$.$/\e(B
+;;;\e$(0$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?\e(B
+;;;\e$(0$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O\e(B
+;;;\e$(0$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_\e(B
+;;;\e$(0$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o\e(B
+;;;\e$(0$p$q$r$s$t$u$v$w$x$y$z${$|$}$~\e(B
+;;;  \e$(0%!%"%#%$%%%&%'%(%)%*%+%,%-%.%/\e(B
+;;;\e$(0%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?\e(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  "\e$B!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!<!=!>\e(B"
+          "\e$B!?!@!A!B!C!D!E!G!I!K!M!O!Q!S!U!W!Y![!k!l!m!n\e(B"
+          "\e$B$!$#$%$'$)$C$c$e$g$n%!%#%%%'%)%C%c%e%g%n%u%v\e(B")
+  "BOL kinsoku for JISX0208.")
+(defvar kinsoku-jis-eol
+  "\e$B!F!H!J!L!N!P!R!T!V!X!Z!k!l!m!n!w!x\e(B"
+  "EOL kinsoku for JISX0208.")
+(defvar kinsoku-gb-bol
+  (concat  "\e$A!"!##.#,!$!%!&!'!(!)!*!+!,!-!/!1#)!3!5!7!9!;!=\e(B"
+          "\e$A!?#;#:#?#!!@!A!B!C!c!d!e!f#/#\#"#_#~#|(e\e(B")
+  "BOL kinsoku for GB2312.")
+(defvar kinsoku-gb-eol
+  (concat "\e$A!.!0#"#(!2!4!6!8!:!<!>!c!d!e#@!f!l\e(B"
+         "\e$A(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(h\e(B")
+  "EOL kinsoku for GB2312.")
+(defvar kinsoku-big5-bol
+  (concat  "\e$(0!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2\e(B"
+          "\e$(0!3!4!5!6!7!8!9!:!;!<!=!?!A!C!E!G!I!K\e(B"
+          "\e$(0!M!O!Q\e(B       \e$(0!S!U!W!Y![!]!_!a!c!e!g!i!k!q\e(B"
+          "\e$(0"#"$"%"&"'"(")"*"+","2"3"4"j"k"l"x%7\e(B")
+  "BOL kinsoku for BIG5.")
+(defvar kinsoku-big5-eol
+  (concat "\e$(0!>!@!B!D!F!H!J!L!N!P!R!T!V!X!Z!\!^!`!b\e(B"
+         "\e$(0!d!f!h!j!k!q!p"i"j"k"n"x$u$v$w$x$y$z${\e(B"
+         "\e$(0$|$}$~%!%"%#%$%%%&%'%(%)%*%+%:\e(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\e$B$G2~9T$9$k$H9TF,6XB'$K?($l$k$+$I$&$+$r$+$($9!#\e(B
+\e$B9TF,6XB'J8;z$O\e(B\'s\'\e$B$N\e(Bcategory\e$B$G;XDj$9$k!#\e(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\e$B$G2~9T$9$k$H9TKv6XB'$K?($l$k$+$I$&$+$r$+$($9!#\e(B
+\e$B9TKv6XB'J8;z$O\e(B\'s\'\e$B$N\e(Bcategory\e$B$G;XDj$9$k!#\e(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.
+\e$B6XB'=hM}$G9T$r?-$P$7$FNI$$H>3QJ8;z?t$r;XDj$9$k!#\e(B
+\e$BHsIi@0?t0J30$N>l9g$OL58BBg$r0UL#$9$k!#\e(B")
+
+(defun kinsoku-process ()
+  "Move to a point that will not break forbidden line break rules.
+\e$B6XB'$K?($l$J$$E@$X0\F0$9$k!#\e(B
+point\e$B$,9TF,6XB'$K?($l$k>l9g$O9T$r?-$P$7$F!"6XB'$K?($l$J$$E@$rC5$9!#\e(B
+point\e$B$,9TKv6XB'$K?($l$k>l9g$O9T$r=L$a$F!"6XB'$K?($l$J$$E@$rC5$9!#\e(B
+\e$B$?$@$7!"9T?-$P$7H>3QJ8;z?t$,\e(Bkinsoku-extend-limit\e$B$r1[$($k$H!"\e(B
+\e$B9T$r=L$a$F6XB'$K?($l$J$$E@$rC5$9!#\e(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.
+\e$B9T$r?-$P$7$F6XB'$K?($l$J$$E@$X0\F0$9$k!#\e(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.
+\e$B9T$r=L$a$F6XB'$K?($l$J$$E@$X0\F0$9$k!#\e(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))))
diff --git a/lisp/mule/korean.el b/lisp/mule/korean.el
new file mode 100644 (file)
index 0000000..2763262
--- /dev/null
@@ -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"))))
+\f
+;; (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 (\e$(CGQ1[\e(B)        \e$(C>H3gGO<<?d\e(B, \e$(C>H3gGO=J4O1n\e(B")
+           (documentation . t)))
+
+;;; korean.el ends here
diff --git a/lisp/mule/mule-ccl.el b/lisp/mule/mule-ccl.el
new file mode 100644 (file)
index 0000000..7f28d19
--- /dev/null
@@ -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.
+\f
+;;;###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
diff --git a/lisp/mule/mule-help.el b/lisp/mule/mule-help.el
new file mode 100644 (file)
index 0000000..0a330cd
--- /dev/null
@@ -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
diff --git a/lisp/mule/mule-init.el b/lisp/mule/mule-init.el
new file mode 100644 (file)
index 0000000..baf9c57
--- /dev/null
@@ -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)
+
+\f
+;; (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
diff --git a/lisp/mule/mule-misc.el b/lisp/mule/mule-misc.el
new file mode 100644 (file)
index 0000000..3488781
--- /dev/null
@@ -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)
+  "\e$BJ8;zNs\e(B STR \e$B$N4A;zI8=`7AJ8;zNs$rJV$9!%\e(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
diff --git a/lisp/mule/mule-tty-init.el b/lisp/mule/mule-tty-init.el
new file mode 100644 (file)
index 0000000..40054d5
--- /dev/null
@@ -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
diff --git a/lisp/mule/mule-x-init.el b/lisp/mule/mule-x-init.el
new file mode 100644 (file)
index 0000000..8bb351c
--- /dev/null
@@ -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)))
index 2c99440..d5603ec 100644 (file)
@@ -177,7 +177,9 @@ or return a location appropriate for the package otherwise."
        ;; 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)))))))
          
 
 
index 5deff64..094087b 100644 (file)
@@ -129,28 +129,7 @@ the terminal-initialization file to be loaded.")
 (defconst abbrev-file-name (purecopy "~/.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
@@ -203,7 +182,7 @@ Will not override settings in site-init.el or site-run.el."
      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/")
@@ -256,8 +235,42 @@ Will not override settings in site-init.el or site-run.el."
      ;; 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))
index 0f3f64c..749f99d 100644 (file)
@@ -337,7 +337,7 @@ Fourth arg SERVICE is name of the service desired, or an integer
 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)
 
index 55a5830..446c326 100644 (file)
@@ -154,6 +154,9 @@ to get the latest version of the file, then make the change again.")
                 (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 @@ Do you really want to edit the buffer? " fn)
                 (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
index 92c5cda..b770831 100644 (file)
@@ -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
index 1bedbed..06b9a90 100644 (file)
@@ -1,3 +1,7 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 is released
+
 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 2c4a4ac..25bc2e2 100644 (file)
@@ -1,3 +1,7 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 is released
+
 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 081fbc5..44798e3 100644 (file)
@@ -1,3 +1,35 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 is released
+
+1999-02-25  SL Baur  <steve@xemacs.org>
+
+       * mule-charset.c (Qleading_byte): New variable to implement
+       charset-leading-byte function.
+       (Fcharset_property): Use it.
+       (syms_of_mule_charset): Initialize it.
+       From Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+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-16  Martin Buchholz  <martin@xemacs.org>
+
+       * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
+       * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
+
+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-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 86a75e0..b53f506 100644 (file)
@@ -382,6 +382,10 @@ xmalloc (size_t size)
   return val;
 }
 
+#ifdef xcalloc
+#undef xcalloc
+#endif
+
 static void *
 xcalloc (size_t nelem, size_t elsize)
 {
index 3b88295..bc5aacd 100644 (file)
@@ -293,5 +293,6 @@ Lisp_Object tty_semi_canonicalize_device_connection (Lisp_Object connection,
                                                     Error_behavior errb);
 Lisp_Object tty_canonicalize_device_connection (Lisp_Object connection,
                                                Error_behavior errb);
+struct console * tty_find_console_from_fd (int fd);
 
 #endif /* _XEMACS_CONSOLE_TTY_H_ */
index cd67be2..4042366 100644 (file)
@@ -65,6 +65,7 @@ Boston, MA 02111-1307, USA.  */
 #include "events-mod.h"
 #ifdef HAVE_MSG_SELECT
 #include "sysfile.h"
+#include "console-tty.h"
 #elif defined(__CYGWIN32__)
 typedef unsigned int SOCKET;
 #endif
@@ -121,10 +122,10 @@ static Lisp_Object mswindows_s_dispatch_event_queue, mswindows_s_dispatch_event_
 /* The number of things we can wait on */
 #define MAX_WAITABLE (MAXIMUM_WAIT_OBJECTS - 1)
 
+#ifndef HAVE_MSG_SELECT
 /* List of mswindows waitable handles. */
 static HANDLE mswindows_waitable_handles[MAX_WAITABLE];
 
-#ifndef HAVE_MSG_SELECT
 /* Number of wait handles */
 static int mswindows_waitable_count=0;
 #endif /* HAVE_MSG_SELECT */
@@ -1322,28 +1323,6 @@ mswindows_need_event (int badly_p)
          pointer_to_this = &select_time_to_block;
        }
 
-      /* select() is slow and buggy so if we don't have any processes
-         just wait as normal */
-      if (memcmp (&process_only_mask, &zero_mask, sizeof(SELECT_TYPE))==0)
-       {
-         /* Now try getting a message or process event */
-         active = MsgWaitForMultipleObjects (0, mswindows_waitable_handles,
-                                             FALSE, badly_p ? INFINITE : 0,
-                                             QS_ALLINPUT);
-         
-         if (active == WAIT_TIMEOUT)
-           {
-             /* No luck trying - just return what we've already got */
-             return;
-           }
-         else if (active == WAIT_OBJECT_0)
-           {
-             /* Got your message, thanks */
-             mswindows_drain_windows_queue ();
-             continue;
-           }
-       }
-
       active = select (MAXDESC, &temp_mask, 0, 0, pointer_to_this);
       
       if (active == 0)
@@ -1356,7 +1335,28 @@ mswindows_need_event (int badly_p)
            {
              mswindows_drain_windows_queue ();
            }
-         
+#ifdef HAVE_TTY          
+         /* Look for a TTY event */
+         for (i = 0; i < MAXDESC-1; i++)
+           {
+             /* To avoid race conditions (among other things, an infinite
+                loop when called from Fdiscard_input()), we must return
+                user events ahead of process events. */
+             if (FD_ISSET (i, &temp_mask) && FD_ISSET (i, &tty_only_mask))
+               {
+                 struct console *c = tty_find_console_from_fd (i);
+                 Lisp_Object emacs_event = Fmake_event (Qnil, Qnil);
+                 struct Lisp_Event* event = XEVENT (emacs_event);
+                 
+                 assert (c);
+                 if (read_event_from_tty_or_stream_desc (event, c, i))
+                   {
+                     mswindows_enqueue_dispatch_event (emacs_event);
+                     return;
+                   }
+               }
+           }
+#endif
          /* Look for a process event */
          for (i = 0; i < MAXDESC-1; i++)
            {
@@ -1369,11 +1369,6 @@ mswindows_need_event (int badly_p)
                      
                      mswindows_enqueue_process_event (p);
                    }
-                 else if (FD_ISSET (i, &tty_only_mask))
-                   {
-                               /* do we care about tty events? Do we
-                                   ever get tty events? */
-                   }
                  else
                    {
                      /* We might get here when a fake event came
@@ -2674,11 +2669,23 @@ emacs_mswindows_unselect_process (struct Lisp_Process *process)
 static void
 emacs_mswindows_select_console (struct console *con)
 {
+#ifdef HAVE_MSG_SELECT
+  if (CONSOLE_MSWINDOWS_P (con))
+    return; /* mswindows consoles are automatically selected */
+
+  event_stream_unixoid_select_console (con);
+#endif
 }
 
 static void
 emacs_mswindows_unselect_console (struct console *con)
 {
+#ifdef HAVE_MSG_SELECT
+  if (CONSOLE_MSWINDOWS_P (con))
+    return; /* mswindows consoles are automatically selected */
+
+  event_stream_unixoid_unselect_console (con);
+#endif
 }
 
 static void
index 1829140..52e8006 100644 (file)
@@ -5374,8 +5374,7 @@ init_event_stream (void)
   if (initialized)
     {
 #ifdef HAVE_UNIXOID_EVENT_LOOP
-      /*      if (strcmp (display_use, "mswindows") != 0)*/
-       init_event_unixoid ();
+      init_event_unixoid ();
 #endif
 #ifdef HAVE_X_WINDOWS
       if (!strcmp (display_use, "x"))
@@ -5390,12 +5389,13 @@ init_event_stream (void)
          {
            /* For TTY's, use the Xt event loop if we can; it allows
               us to later open an X connection. */
-#if defined (HAVE_X_WINDOWS) && !defined (DEBUG_TTY_EVENT_STREAM)
+#if defined (HAVE_MS_WINDOWS) && defined (HAVE_MSG_SELECT) \
+           && !defined (DEBUG_TTY_EVENT_STREAM)
+           init_event_mswindows_late ();
+#elif defined (HAVE_X_WINDOWS) && !defined (DEBUG_TTY_EVENT_STREAM)
            init_event_Xt_late ();
 #elif defined (HAVE_TTY)
            init_event_tty_late ();
-#elif defined (HAVE_MS_WINDOWS)
-           init_event_mswindows_late ();
 #endif
          }
       init_interrupts_late ();
index 00dd49c..0e44cf4 100644 (file)
@@ -94,8 +94,8 @@ emacs_tty_event_pending_p (int user_p)
                             non_fake_input_wait_mask);
 }
 
-static struct console *
-find_console_from_fd (int fd)
+struct console *
+tty_find_console_from_fd (int fd)
 {
   Lisp_Object concons;
 
@@ -142,7 +142,7 @@ emacs_tty_next_event (struct Lisp_Event *emacs_event)
                 user events ahead of process events. */
              if (FD_ISSET (i, &temp_mask) && FD_ISSET (i, &tty_only_mask))
                {
-                 struct console *c = find_console_from_fd (i);
+                 struct console *c = tty_find_console_from_fd (i);
 
                  assert (c);
                  if (read_event_from_tty_or_stream_desc (emacs_event, c, i))
index aed51bf..6d5f750 100644 (file)
@@ -124,7 +124,7 @@ convert_EImage_to_XImage (Lisp_Object device, int width, int height,
   Colormap cmap;
   Visual *vis;
   XImage *outimg;
-  int depth, bitmap_pad, byte_cnt, i, j;
+  int depth, bitmap_pad, bits_per_pixel, byte_cnt, i, j;
   int rd,gr,bl,q;
   unsigned char *data, *ip, *dp;
   quant_table *qtable = 0;
@@ -149,13 +149,15 @@ convert_EImage_to_XImage (Lisp_Object device, int width, int height,
   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;
 
+  bits_per_pixel = outimg->bits_per_pixel;
+  byte_cnt = bits_per_pixel >> 3;
+
   data = (unsigned char *) xmalloc (outimg->bytes_per_line * height);
   if (!data)
     {
index 6e4c96d..9c5499b 100644 (file)
@@ -108,6 +108,7 @@ Lisp_Object Qregistry, Qfinal, Qgraphic;
 Lisp_Object Qdirection;
 Lisp_Object Qreverse_direction_charset;
 Lisp_Object Qccl_program;
+Lisp_Object Qleading_byte;
 
 Lisp_Object Qascii, Qcontrol_1,
 
@@ -922,6 +923,7 @@ Recognized properties are those listed in `make-charset', as well as
   if (EQ (prop, Qchars))       return make_int (CHARSET_CHARS (cs));
   if (EQ (prop, Qregistry))    return CHARSET_REGISTRY (cs);
   if (EQ (prop, Qccl_program)) return CHARSET_CCL_PROGRAM (cs);
+  if (EQ (prop, Qleading_byte)) return make_char (CHARSET_LEADING_BYTE (cs));
   if (EQ (prop, Qdirection))
     return CHARSET_DIRECTION (cs) == CHARSET_LEFT_TO_RIGHT ? Ql2r : Qr2l;
   if (EQ (prop, Qreverse_direction_charset))
@@ -1173,6 +1175,7 @@ syms_of_mule_charset (void)
   defsymbol (&Qdirection, "direction");
   defsymbol (&Qreverse_direction_charset, "reverse-direction-charset");
   defsymbol (&Qccl_program, "ccl-program");
+  defsymbol (&Qleading_byte, "leading-byte");
 
   defsymbol (&Ql2r, "l2r");
   defsymbol (&Qr2l, "r2l");
diff --git a/src/s/bsdos4.h b/src/s/bsdos4.h
new file mode 100644 (file)
index 0000000..a9dfe19
--- /dev/null
@@ -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 */
index b3a423b..2e2148c 100644 (file)
@@ -127,7 +127,12 @@ extern long random();
 #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
index 0baf968..8262613 100644 (file)
@@ -23,4 +23,8 @@ Boston, MA 02111-1307, USA.  */
 
 #include <X11/Intrinsic.h>
 
-#define CONST const
+#ifdef CONST_IS_LOSING
+# define CONST
+#else
+# define CONST const
+#endif
index d5825af..b440f1d 100644 (file)
@@ -1,3 +1,7 @@
+1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
+
+       * XEmacs 21.2.11 is released
+
 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
 
        * XEmacs 21.2.10 is released
index 01d195a..62296e0 100644 (file)
      (push (file-name-directory load-file-name) load-path)
      (require 'test-harness))))
 
-(flet ((test-database
-       (db)
+(flet ((delete-database-files (filename)
+       (dolist (fn (list filename (concat filename ".db")))
+         (ignore-file-errors (delete-file fn))))
+
+       (test-database (db)
        (Assert (databasep db))
        (put-database "key1" "val1" db)
        (Assert (equal "val1" (get-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)))
-         (dolist (fn (list filename (concat filename ".db")))
-           (condition-case nil (delete-file fn) (file-error nil))))))
+       (Assert (databasep db))))
 
   (let ((filename (expand-file-name "test-harness" (temp-directory))))
 
-    (dolist (fn (list filename (concat filename ".db")))
-      (ignore-file-errors (delete-file fn)))
-
     (dolist (db-type `(dbm berkeley-db))
       (when (featurep db-type)
        (princ "\n")
-       (test-database (open-database filename db-type))))
-    ))
+       (delete-database-files filename)
+       (test-database (open-database filename db-type))
+       (delete-database-files filename)))))
index d381b53..535a620 100644 (file)
@@ -1,8 +1,8 @@
 #!/bin/sh
 emacs_major_version=21
 emacs_minor_version=2
-emacs_beta_version=10
-xemacs_codename="Boreas"
+emacs_beta_version=11
+xemacs_codename="Calliope"
 infodock_major_version=4
 infodock_minor_version=0
 infodock_build_version=1