Index: BOOK/introduction/common/changelog.xml
===================================================================
--- BOOK/introduction/common/changelog.xml	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ BOOK/introduction/common/changelog.xml	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -36,4 +36,28 @@
     </listitem>
 -->
+
+    <listitem>
+      <para>June 18, 2007</para>
+      <itemizedlist>
+        <listitem>
+          <para>[jciccone] - Updated to Tar 1.17.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Vim 7.1.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Findutils 4.2.31.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to File 4.21.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Less 403.</para>
+        </listitem>
+        <listitem>
+          <para>[jciccone] - Updated to Man Pages 2.57.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
 
     <listitem>
Index: BOOK/packages.ent
===================================================================
--- BOOK/packages.ent	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ BOOK/packages.ent	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -72,14 +72,14 @@
 <!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net">
 
-<!ENTITY file-version "4.19">
-<!ENTITY file-size "538 KB">
+<!ENTITY file-version "4.21">
+<!ENTITY file-size "544 KB">
 <!ENTITY file-url "ftp://ftp.gw.com/mirrors/pub/unix/file/file-&file-version;.tar.gz">
-<!ENTITY file-md5 "a61ef3aa8339d5987148089afde25f60">
+<!ENTITY file-md5 "9e3503116f4269a1be70220ee2234b0e">
 <!ENTITY file-home "http://www.darwinsys.com/file">
 
-<!ENTITY findutils-version "4.2.29">
-<!ENTITY findutils-size "1,076 KB">
+<!ENTITY findutils-version "4.2.31">
+<!ENTITY findutils-size "1,300 KB">
 <!ENTITY findutils-url "&gnu;findutils/findutils-&findutils-version;.tar.gz">
-<!ENTITY findutils-md5 "24e76434ca74ba3c2c6ad621eb64e1ff">
+<!ENTITY findutils-md5 "a0e31a0f18a49709bf5a449867c8049a">
 <!ENTITY findutils-home "&gnu-software;findutils">
 
@@ -163,8 +163,8 @@
 <!ENTITY kbd-home " ">
 
-<!ENTITY less-version "394">
-<!ENTITY less-size "286 KB">
+<!ENTITY less-version "403">
+<!ENTITY less-size "292 KB">
 <!ENTITY less-url "http://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz">
-<!ENTITY less-md5 "a9f072ccefa0d315b325f3e9cdbd4b97">
+<!ENTITY less-md5 "46d8d2008f7b6f6c63fb497e5c3a204a">
 <!ENTITY less-home "http://www.greenwoodsoftware.com/less">
 
@@ -207,8 +207,8 @@
 <!ENTITY man-home "http://primates.ximian.com/~flucifredi/man">
 
-<!ENTITY man-pages-version "2.46">
-<!ENTITY man-pages-size "1,792 KB">
+<!ENTITY man-pages-version "2.57">
+<!ENTITY man-pages-size "1,764 KB">
 <!ENTITY man-pages-url "&kernel;linux/docs/manpages/man-pages-&man-pages-version;.tar.bz2">
-<!ENTITY man-pages-md5 "318a948119a593b5042b7eb52a2ab79e">
+<!ENTITY man-pages-md5 "82b67ea3e9bd5204617d041435b98ce5">
 <!ENTITY man-pages-home "http://www.win.tue.nl/~aeb/linux/man">
 
@@ -286,8 +286,8 @@
 <!ENTITY sysvinit-home " ">
 
-<!ENTITY tar-version "1.16.1">
-<!ENTITY tar-size "1,760 KB">
+<!ENTITY tar-version "1.17">
+<!ENTITY tar-size "1,844 KB">
 <!ENTITY tar-url "&gnu;tar/tar-&tar-version;.tar.bz2">
-<!ENTITY tar-md5 "d51593461c5ef1f7e37134f22338bb9e">
+<!ENTITY tar-md5 "c6c4f1c075dbf0f75c29737faa58f290">
 <!ENTITY tar-home "&gnu-software;tar">
 
@@ -316,13 +316,13 @@
 <!ENTITY util-linux-home " ">
 
-<!ENTITY vim-version "7.0">
-<!ENTITY vim-version2 "70">
-<!ENTITY vim-size "6,422 KB">
+<!ENTITY vim-version "7.1">
+<!ENTITY vim-version2 "71">
+<!ENTITY vim-size "6,728 KB">
 <!ENTITY vim-url "ftp://ftp.vim.org/pub/vim/unix/vim-&vim-version;.tar.bz2">
-<!ENTITY vim-md5 "4ca69757678272f718b1041c810d82d8">
+<!ENTITY vim-md5 "44c6b4914f38d6f9aa959640b89da329">
 <!ENTITY vim-home "http://www.vim.org">
-<!ENTITY vim-language-size "1,153 KB">
+<!ENTITY vim-language-size "1,168 KB">
 <!ENTITY vim-language-url "ftp://ftp.vim.org/pub/vim/extra/vim-&vim-version;-lang.tar.gz">
-<!ENTITY vim-language-md5 "6d43efaff570b5c86e76b833ea0c6a04">
+<!ENTITY vim-language-md5 "144aa049ba70621acf4247f0459f3ee7">
 <!ENTITY vim-language-home " ">
 
Index: BOOK/patches.ent
===================================================================
--- BOOK/patches.ent	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ BOOK/patches.ent	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -114,10 +114,10 @@
 
 <!ENTITY vim-cross_compile-patch "vim-&vim-version;-cross_compile-1.patch">
-<!ENTITY vim-cross_compile-patch-md5 "05da89742f75fc39292fbf7c5ccc17ff">
+<!ENTITY vim-cross_compile-patch-md5 "f8af7a628b58959914390783932c23bc">
 <!ENTITY vim-cross_compile-patch-size "28 KB">
 
-<!ENTITY vim-fixes-patch "vim-&vim-version;-fixes-23.patch">
-<!ENTITY vim-fixes-patch-md5 "695ef97cf6cd5afce5f803a693ef6545">
-<!ENTITY vim-fixes-patch-size "344 KB">
+<!ENTITY vim-fixes-patch "vim-&vim-version;-fixes-1.patch">
+<!ENTITY vim-fixes-patch-md5 "4b1b187869baed56eb0d95237860704d">
+<!ENTITY vim-fixes-patch-size "4 KB">
 
 <!ENTITY zlib-fpic-patch "zlib-&zlib-version;-fPIC-1.patch">
Index: tches/gcc-4.1.2-PR20425-1.patch
===================================================================
--- patches/gcc-4.1.2-PR20425-1.patch	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ 	(revision )
@@ -1,1069 +1,0 @@
-Submitted By: Ryan Oliver <ryan at pha dot com dot au>
-Date: 2006-03-10
-Initial Package Version: 4.1.0
-Origin: GCC SVN Revision 108635 (diffed against 4.1.0 release)
-Upstream Status: In GCC trunk
-Description: Fix for PR20425
-
-Modified by Jim Gifford for 4.1.1
-
-From http://gcc.gnu.org/ml/gcc-patches/2005-12/msg00818.html
----------------------------------8<------------------------------------
-This gives the gcc driver a new path iteration function, for_each_path,
-and uses it everywhere, making path iteration a little more consistent.
-for_each_path uses the same path ordering as the existing find_file
-function.  I've also tweaked some of the existing find_a_file calls for
-consistency, and uncovered and fixed some other bugs..
-
-Functional changes are:
-
-o  %D library paths are printed in the same order as gcc uses elsewhere
-   when searching library directories, ie. all multilib paths are first.
-   http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02044.html effectively
-   reverted by the rewrite because I believe the same speedup is gained
-   by searching the right dirs first.
-
-o  gcc -print-search-dirs prints library multilib paths followed by
-   non-multilib paths where before we just printed non-multilib paths.
-
-o  LIBRARY_PATH_ENV similarly includes multilib directories.
-
-o  All searches of startfile_prefixes now look in multilib dirs first
-   followed by non-multilib dirs.  This changes the dirs we search for
-   spec files, and %include and %include_noerr in specs.  Previously
-   we only searched the non-multilib dirs for specs files.  I think this
-   change is worthwhile just for consistency, and the extension is
-   reasonable.  For instance, it would allow different spec files to be
-   used for gcc -m64 vs. gcc -m32.  However, if others think this wrong,
-   I won't argue.  Consistency isn't everything.
-
-o  Some attempt made to prevent searching of duplicate paths.  The old
-   find_file would search some paths twice (when multilib_dir was NULL
-   but multilib_os_dir non-NULL).  We still search twice in some cases,
-   eg. /usr/lib/../lib and /usr/lib are considered different paths.
-
-o  find_a_file with last param (do_multi) true now searches both
-   multilib and non-multilib paths.  Before, do_multi (well, the old
-   param name was multilib) meant just search multilib paths.  This
-   isn't a user-visible change as the only place where find_a_file was
-   invoked with the last param true was from find_file, where we
-   immediately followed with a non-multilib find_a_file.
-
-o  Memory leaks fixed in is_directory.
-
-o  LIBRARY_PATH_ENV and COMPILER_PATH now only have existing
-   directories, making LIBRARY_PATH_ENV closer to %D paths.  The
-   following lines (which I remove) in is_directory meant that
-   is_directory didn't do much for LIBRARY_PATH_ENV, except on
-   SMALL_ARG_MAX machines.
-
-  4278        ian #ifndef SMALL_ARG_MAX
-  4278        ian   if (! linker)
-  4278        ian     return 1;
-  4278        ian #endif
-
-   I'll also remove mention of SMALL_ARG_MAX in config and doc files
-   when I commit this change as this is the only place it is used.
-
-o  gcc -Bnon-dir-prefix- now works properly.  The previously mentioned
-   is_directory peculiarity affected the following code.
-
- 43664      nickc /* Catch the case where the user has forgotten to append a
- 46063      jsm28    directory separator to the path.  Note, they may be using
- 43664      nickc    -B to add an executable name prefix, eg "i386-elf-", in
- 43664      nickc    order to distinguish between multiple installations of
- 43664      nickc    GCC in the same directory.  Hence we must check to see
- 43664      nickc    if appending a directory separator actually makes a
- 43664      nickc    valid directory name.  */
- 43664      nickc if (! IS_DIR_SEPARATOR (value [len - 1])
- 43664      nickc     && is_directory (value, "", 0))
- 43664      nickc   {
- 43767      ghazi     char *tmp = xmalloc (len + 2);
- 43767      ghazi     strcpy (tmp, value);
- 43767      ghazi     tmp[len] = DIR_SEPARATOR;
- 43767      ghazi     tmp[++ len] = 0;
- 43767      ghazi     value = tmp;
- 43664      nickc   }
-
-Bootstrapped and regression tested powerpc64-linux and powerpc-linux on
-a previous iteration of this patch missing is_directory fixes.
-Currently running tests on this patch.
----------------------------------8<------------------------------------
-
-diff -uNr gcc-4.1.0/gcc/config.build gcc-4.1.0-PR20425/gcc/config.build
---- gcc-4.1.0/gcc/config.build	2005-06-25 12:02:01.000000000 +1000
-+++ gcc-4.1.0-PR20425/gcc/config.build	2006-03-10 23:47:02.000000000 +1100
-@@ -90,15 +90,10 @@
-     build_install_headers_dir=install-headers-cpio
-     ;;
-   i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4* )
--    build_xm_defines="SMALL_ARG_MAX"
-     build_install_headers_dir=install-headers-cpio
-     ;;
--  i[34567]86-*-solaris2*)
--    build_xm_defines="SMALL_ARG_MAX"
--    ;;
-   i[34567]86-*-sysv4*) 
-     # Intel x86 running system V r4
--    build_xm_defines="SMALL_ARG_MAX"
-     build_install_headers_dir=install-headers-cpio
-     ;;
-   i[34567]86-*-udk*) 
-diff -uNr gcc-4.1.0/gcc/config.gcc gcc-4.1.0-PR20425/gcc/config.gcc
---- gcc-4.1.0/gcc/config.gcc	2006-02-07 03:07:46.000000000 +1100
-+++ gcc-4.1.0-PR20425/gcc/config.gcc	2006-03-10 23:47:20.000000000 +1100
-@@ -994,7 +994,6 @@
- 	then
- 		tm_file="${tm_file} usegas.h"
- 	fi
--	xm_defines="SMALL_ARG_MAX"
- 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
- 	tmake_file=t-svr4
- 	extra_parts="crtbegin.o crtend.o"
-@@ -1125,7 +1124,6 @@
- 	use_fixproto=yes
- 	;;
- i[34567]86-*-solaris2*)
--	xm_defines="SMALL_ARG_MAX"
- 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h sol2.h"
- 	case ${target} in
- 	*-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
-@@ -1192,7 +1190,6 @@
- 	use_fixproto=yes
-        ;;
- i[34567]86-*-sysv4*)		# Intel 80386's running system V.4
--	xm_defines="SMALL_ARG_MAX"
- 	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
- 	if test x$stabs = xyes
- 	then
-diff -uNr gcc-4.1.0/gcc/config.host gcc-4.1.0-PR20425/gcc/config.host
---- gcc-4.1.0/gcc/config.host	2006-02-06 03:18:20.000000000 +1100
-+++ gcc-4.1.0-PR20425/gcc/config.host	2006-03-10 23:47:52.000000000 +1100
-@@ -135,17 +135,10 @@
-   i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture
-     host_xm_defines='FATAL_EXIT_CODE=12'
-     ;;
--  i[34567]86-sequent-ptx4*)
--    host_xm_defines="SMALL_ARG_MAX"
--    ;;
-   i[34567]86-*-solaris2*)
--    host_xm_defines="SMALL_ARG_MAX"
-     out_host_hook_obj=host-solaris.o
-     host_xmake_file=x-solaris
-     ;;
--  i[34567]86-*-sysv4*) # Intel 80386's running System V Release 4
--    host_xm_defines="SMALL_ARG_MAX"
--    ;;
-   i[34567]86-pc-msdosdjgpp*)
-     host_xm_file=i386/xm-djgpp.h
-     host_exeext=.exe
-diff -uNr gcc-4.1.0/gcc/doc/hostconfig.texi gcc-4.1.0-PR20425/gcc/doc/hostconfig.texi
---- gcc-4.1.0/gcc/doc/hostconfig.texi	2004-11-24 15:31:58.000000000 +1100
-+++ gcc-4.1.0-PR20425/gcc/doc/hostconfig.texi	2006-03-10 23:48:20.000000000 +1100
-@@ -208,11 +208,6 @@
- If defined, a C statement (sans semicolon) that performs host-dependent
- initialization when a compilation driver is being initialized.
- 
--@item SMALL_ARG_MAX
--Define this macro if the host system has a small limit on the total
--size of an argument vector.  This causes the driver to take more care
--not to pass unnecessary arguments to subprocesses.
--
- @item HOST_LONG_LONG_FORMAT
- If defined, the string used to indicate an argument of type @code{long
- long} to functions like @code{printf}.  The default value is
-diff -uNr gcc-4.1.0/gcc/gcc.c gcc-4.1.0-PR20425/gcc/gcc.c
---- gcc-4.1.0/gcc/gcc.c	2006-01-22 05:29:08.000000000 +1100
-+++ gcc-4.1.0-PR20425/gcc/gcc.c	2006-03-10 22:14:35.000000000 +1100
-@@ -287,10 +287,12 @@
- static void read_specs (const char *, int);
- static void set_spec (const char *, const char *);
- static struct compiler *lookup_compiler (const char *, size_t, const char *);
--static char *build_search_list (struct path_prefix *, const char *, int);
--static void putenv_from_prefixes (struct path_prefix *, const char *);
-+static char *build_search_list (const struct path_prefix *, const char *,
-+				bool, bool);
-+static void putenv_from_prefixes (const struct path_prefix *, const char *,
-+				  bool);
- static int access_check (const char *, int);
--static char *find_a_file (struct path_prefix *, const char *, int, int);
-+static char *find_a_file (const struct path_prefix *, const char *, int, bool);
- static void add_prefix (struct path_prefix *, const char *, const char *,
- 			int, int, int);
- static void add_sysrooted_prefix (struct path_prefix *, const char *,
-@@ -313,13 +315,12 @@
- static const char *handle_spec_function (const char *);
- static char *save_string (const char *, int);
- static void set_collect_gcc_options (void);
--static void do_spec_path (struct prefix_list *, const char *, int, int, int, const char *, const char *);
- static int do_spec_1 (const char *, int, const char *);
- static int do_spec_2 (const char *);
- static void do_option_spec (const char *, const char *);
- static void do_self_spec (const char *);
- static const char *find_file (const char *);
--static int is_directory (const char *, const char *, int);
-+static int is_directory (const char *, bool);
- static const char *validate_switches (const char *);
- static void validate_all_switches (void);
- static inline void validate_switches_from_spec (const char *);
-@@ -2036,7 +2037,7 @@
- 		       (long) (p1 - buffer + 1));
- 
- 	      p[-2] = '\0';
--	      new_filename = find_a_file (&startfile_prefixes, p1, R_OK, 0);
-+	      new_filename = find_a_file (&startfile_prefixes, p1, R_OK, true);
- 	      read_specs (new_filename ? new_filename : p1, FALSE);
- 	      continue;
- 	    }
-@@ -2055,7 +2056,7 @@
- 		       (long) (p1 - buffer + 1));
- 
- 	      p[-2] = '\0';
--	      new_filename = find_a_file (&startfile_prefixes, p1, R_OK, 0);
-+	      new_filename = find_a_file (&startfile_prefixes, p1, R_OK, true);
- 	      if (new_filename)
- 		read_specs (new_filename, FALSE);
- 	      else if (verbose_flag)
-@@ -2352,65 +2353,214 @@
-   failure_delete_queue = 0;
- }
- 
-
--/* Build a list of search directories from PATHS.
--   PREFIX is a string to prepend to the list.
--   If CHECK_DIR_P is nonzero we ensure the directory exists.
--   This is used mostly by putenv_from_prefixes so we use `collect_obstack'.
--   It is also used by the --print-search-dirs flag.  */
--
--static char *
--build_search_list (struct path_prefix *paths, const char *prefix,
--		   int check_dir_p)
-+/* Call CALLBACK for each path in PATHS, breaking out early if CALLBACK
-+   returns non-NULL.
-+   If DO_MULTI is true iterate over the paths twice, first with multilib
-+   suffix then without, otherwise iterate over the paths once without
-+   adding a multilib suffix.  When DO_MULTI is true, some attempt is made
-+   to avoid visiting the same path twice, but we could do better.  For
-+   instance, /usr/lib/../lib is considered different from /usr/lib.
-+   At least EXTRA_SPACE chars past the end of the path passed to
-+   CALLBACK are available for use by the callback.
-+   CALLBACK_INFO allows extra parameters to be passed to CALLBACK.
-+
-+   Returns the value returned by CALLBACK.  */
-+
-+static void *
-+for_each_path (const struct path_prefix *paths,
-+	       bool do_multi,
-+	       size_t extra_space,
-+	       void *(*callback) (char *, void *),
-+	       void *callback_info)
- {
--  int suffix_len = (machine_suffix) ? strlen (machine_suffix) : 0;
--  int just_suffix_len
--    = (just_machine_suffix) ? strlen (just_machine_suffix) : 0;
--  int first_time = TRUE;
--  struct prefix_list *pprefix;
--
--  obstack_grow (&collect_obstack, prefix, strlen (prefix));
--  obstack_1grow (&collect_obstack, '=');
-+  struct prefix_list *pl;
-+  const char *multi_dir = NULL;
-+  const char *multi_os_dir = NULL;
-+  const char *multi_suffix;
-+  const char *just_multi_suffix;
-+  char *path = NULL;
-+  void *ret = NULL;
-+  bool skip_multi_dir = false;
-+  bool skip_multi_os_dir = false;
-+
-+  multi_suffix = machine_suffix;
-+  just_multi_suffix = just_machine_suffix;
-+  if (do_multi && multilib_dir && strcmp (multilib_dir, ".") != 0)
-+    {
-+      multi_dir = concat (multilib_dir, dir_separator_str, NULL);
-+      multi_suffix = concat (multi_suffix, multi_dir, NULL);
-+      just_multi_suffix = concat (just_multi_suffix, multi_dir, NULL);
-+    }
-+  if (do_multi && multilib_os_dir && strcmp (multilib_os_dir, ".") != 0)
-+    multi_os_dir = concat (multilib_os_dir, dir_separator_str, NULL);
- 
--  for (pprefix = paths->plist; pprefix != 0; pprefix = pprefix->next)
-+  while (1)
-     {
--      int len = strlen (pprefix->prefix);
-+      size_t multi_dir_len = 0;
-+      size_t multi_os_dir_len = 0;
-+      size_t suffix_len;
-+      size_t just_suffix_len;
-+      size_t len;
-+
-+      if (multi_dir)
-+	multi_dir_len = strlen (multi_dir);
-+      if (multi_os_dir)
-+	multi_os_dir_len = strlen (multi_os_dir);
-+      suffix_len = strlen (multi_suffix);
-+      just_suffix_len = strlen (just_multi_suffix);
-+
-+      if (path == NULL)
-+	{
-+	  len = paths->max_len + extra_space + 1;
-+	  if (suffix_len > multi_os_dir_len)
-+	    len += suffix_len;
-+	  else
-+	    len += multi_os_dir_len;
-+	  path = xmalloc (len);
-+	}
- 
--      if (machine_suffix
--	  && (! check_dir_p
--	      || is_directory (pprefix->prefix, machine_suffix, 0)))
-+      for (pl = paths->plist; pl != 0; pl = pl->next)
- 	{
--	  if (!first_time)
--	    obstack_1grow (&collect_obstack, PATH_SEPARATOR);
-+	  len = strlen (pl->prefix);
-+	  memcpy (path, pl->prefix, len);
- 
--	  first_time = FALSE;
--	  obstack_grow (&collect_obstack, pprefix->prefix, len);
--	  obstack_grow (&collect_obstack, machine_suffix, suffix_len);
--	}
-+	  /* Look first in MACHINE/VERSION subdirectory.  */
-+	  if (!skip_multi_dir)
-+	    {
-+	      memcpy (path + len, multi_suffix, suffix_len + 1);
-+	      ret = callback (path, callback_info);
-+	      if (ret)
-+		break;
-+	    }
- 
--      if (just_machine_suffix
--	  && pprefix->require_machine_suffix == 2
--	  && (! check_dir_p
--	      || is_directory (pprefix->prefix, just_machine_suffix, 0)))
--	{
--	  if (! first_time)
--	    obstack_1grow (&collect_obstack, PATH_SEPARATOR);
-+	  /* Some paths are tried with just the machine (ie. target)
-+	     subdir.  This is used for finding as, ld, etc.  */
-+	  if (!skip_multi_dir
-+	      && pl->require_machine_suffix == 2)
-+	    {
-+	      memcpy (path + len, just_multi_suffix, just_suffix_len + 1);
-+	      ret = callback (path, callback_info);
-+	      if (ret)
-+		break;
-+	    }
-+
-+	  /* Now try the base path.  */
-+	  if (!pl->require_machine_suffix
-+	      && !(pl->os_multilib ? skip_multi_os_dir : skip_multi_dir))
-+	    {
-+	      const char *this_multi;
-+	      size_t this_multi_len;
-+
-+	      if (pl->os_multilib)
-+		{
-+		  this_multi = multi_os_dir;
-+		  this_multi_len = multi_os_dir_len;
-+		}
-+	      else
-+		{
-+		  this_multi = multi_dir;
-+		  this_multi_len = multi_dir_len;
-+		}
- 
--	  first_time = FALSE;
--	  obstack_grow (&collect_obstack, pprefix->prefix, len);
--	  obstack_grow (&collect_obstack, just_machine_suffix,
--			just_suffix_len);
-+	      if (this_multi_len)
-+		memcpy (path + len, this_multi, this_multi_len + 1);
-+	      else
-+		path[len] = '\0';
-+
-+	      ret = callback (path, callback_info);
-+	      if (ret)
-+		break;
-+	    }
- 	}
-+      if (pl)
-+	break;
- 
--      if (! pprefix->require_machine_suffix)
--	{
--	  if (! first_time)
--	    obstack_1grow (&collect_obstack, PATH_SEPARATOR);
-+      if (multi_dir == NULL && multi_os_dir == NULL)
-+	break;
- 
--	  first_time = FALSE;
--	  obstack_grow (&collect_obstack, pprefix->prefix, len);
-+      /* Run through the paths again, this time without multilibs.
-+	 Don't repeat any we have already seen.  */
-+      if (multi_dir)
-+	{
-+	  free ((char *) multi_dir);
-+	  multi_dir = NULL;
-+	  free ((char *) multi_suffix);
-+	  multi_suffix = machine_suffix;
-+	  free ((char *) just_multi_suffix);
-+	  just_multi_suffix = just_machine_suffix;
-+	}
-+      else
-+	skip_multi_dir = true;
-+      if (multi_os_dir)
-+	{
-+	  free ((char *) multi_os_dir);
-+	  multi_os_dir = NULL;
- 	}
-+      else
-+	skip_multi_os_dir = true;
-     }
- 
-+  if (multi_dir)
-+    {
-+      free ((char *) multi_dir);
-+      free ((char *) multi_suffix);
-+      free ((char *) just_multi_suffix);
-+    }
-+  if (multi_os_dir)
-+    free ((char *) multi_os_dir);
-+  if (ret != path)
-+    free (path);
-+  return ret;
-+}
-+
-+/* Callback for build_search_list.  Adds path to obstack being built.  */
-+
-+struct add_to_obstack_info {
-+  struct obstack *ob;
-+  bool check_dir;
-+  bool first_time;
-+};
-+
-+static void *
-+add_to_obstack (char *path, void *data)
-+{
-+  struct add_to_obstack_info *info = data;
-+
-+  if (info->check_dir && !is_directory (path, false))
-+    return NULL;
-+
-+  if (!info->first_time)
-+    obstack_1grow (info->ob, PATH_SEPARATOR);
-+
-+  obstack_grow (info->ob, path, strlen (path));
-+
-+  info->first_time = false;
-+  return NULL;
-+}
-+
-+/* Build a list of search directories from PATHS.
-+   PREFIX is a string to prepend to the list.
-+   If CHECK_DIR_P is true we ensure the directory exists.
-+   If DO_MULTI is true, multilib paths are output first, then
-+   non-multilib paths.
-+   This is used mostly by putenv_from_prefixes so we use `collect_obstack'.
-+   It is also used by the --print-search-dirs flag.  */
-+
-+static char *
-+build_search_list (const struct path_prefix *paths, const char *prefix,
-+		   bool check_dir, bool do_multi)
-+{
-+  struct add_to_obstack_info info;
-+
-+  info.ob = &collect_obstack;
-+  info.check_dir = check_dir;
-+  info.first_time = true;
-+
-+  obstack_grow (&collect_obstack, prefix, strlen (prefix));
-+  obstack_1grow (&collect_obstack, '=');
-+
-+  for_each_path (paths, do_multi, 0, add_to_obstack, &info);
-+
-   obstack_1grow (&collect_obstack, '\0');
-   return XOBFINISH (&collect_obstack, char *);
- }
-@@ -2419,9 +2569,10 @@
-    for collect.  */
- 
- static void
--putenv_from_prefixes (struct path_prefix *paths, const char *env_var)
-+putenv_from_prefixes (const struct path_prefix *paths, const char *env_var,
-+		      bool do_multi)
- {
--  putenv (build_search_list (paths, env_var, 1));
-+  putenv (build_search_list (paths, env_var, true, do_multi));
- }
- 
-
- /* Check whether NAME can be accessed in MODE.  This is like access,
-@@ -2442,20 +2593,53 @@
-   return access (name, mode);
- }
- 
-+/* Callback for find_a_file.  Appends the file name to the directory
-+   path.  If the resulting file exists in the right mode, return the
-+   full pathname to the file.  */
-+
-+struct file_at_path_info {
-+  const char *name;
-+  const char *suffix;
-+  int name_len;
-+  int suffix_len;
-+  int mode;
-+};
-+
-+static void *
-+file_at_path (char *path, void *data)
-+{
-+  struct file_at_path_info *info = data;
-+  size_t len = strlen (path);
-+
-+  memcpy (path + len, info->name, info->name_len);
-+  len += info->name_len;
-+
-+  /* Some systems have a suffix for executable files.
-+     So try appending that first.  */
-+  if (info->suffix_len)
-+    {
-+      memcpy (path + len, info->suffix, info->suffix_len + 1);
-+      if (access_check (path, info->mode) == 0)
-+	return path;
-+    }
-+
-+  path[len] = '\0';
-+  if (access_check (path, info->mode) == 0)
-+    return path;
-+
-+  return NULL;
-+}
-+
- /* Search for NAME using the prefix list PREFIXES.  MODE is passed to
--   access to check permissions.
-+   access to check permissions.  If DO_MULTI is true, search multilib
-+   paths then non-multilib paths, otherwise do not search multilib paths.
-    Return 0 if not found, otherwise return its name, allocated with malloc.  */
- 
- static char *
--find_a_file (struct path_prefix *pprefix, const char *name, int mode,
--	     int multilib)
-+find_a_file (const struct path_prefix *pprefix, const char *name, int mode,
-+	     bool do_multi)
- {
--  char *temp;
--  const char *const file_suffix =
--    ((mode & X_OK) != 0 ? HOST_EXECUTABLE_SUFFIX : "");
--  struct prefix_list *pl;
--  int len = pprefix->max_len + strlen (name) + strlen (file_suffix) + 1;
--  const char *multilib_name, *multilib_os_name;
-+  struct file_at_path_info info;
- 
- #ifdef DEFAULT_ASSEMBLER
-   if (! strcmp (name, "as") && access (DEFAULT_ASSEMBLER, mode) == 0)
-@@ -2467,112 +2651,24 @@
-     return xstrdup (DEFAULT_LINKER);
- #endif
- 
--  if (machine_suffix)
--    len += strlen (machine_suffix);
--
--  multilib_name = name;
--  multilib_os_name = name;
--  if (multilib && multilib_os_dir)
--    {
--      int len1 = multilib_dir ? strlen (multilib_dir) + 1 : 0;
--      int len2 = strlen (multilib_os_dir) + 1;
--
--      len += len1 > len2 ? len1 : len2;
--      if (multilib_dir)
--	multilib_name = ACONCAT ((multilib_dir, dir_separator_str, name,
--				  NULL));
--      if (strcmp (multilib_os_dir, ".") != 0)
--	multilib_os_name = ACONCAT ((multilib_os_dir, dir_separator_str, name,
--				    NULL));
--    }
--
--  temp = xmalloc (len);
--
-   /* Determine the filename to execute (special case for absolute paths).  */
- 
-   if (IS_ABSOLUTE_PATH (name))
-     {
-       if (access (name, mode) == 0)
--	{
--	  strcpy (temp, name);
--	  return temp;
--	}
--    }
--  else
--    for (pl = pprefix->plist; pl; pl = pl->next)
--      {
--	const char *this_name
--	  = pl->os_multilib ? multilib_os_name : multilib_name;
-+	return xstrdup (name);
- 
--	if (machine_suffix)
--	  {
--	    /* Some systems have a suffix for executable files.
--	       So try appending that first.  */
--	    if (file_suffix[0] != 0)
--	      {
--		strcpy (temp, pl->prefix);
--		strcat (temp, machine_suffix);
--		strcat (temp, multilib_name);
--		strcat (temp, file_suffix);
--		if (access_check (temp, mode) == 0)
--		  return temp;
--	      }
--
--	    /* Now try just the multilib_name.  */
--	    strcpy (temp, pl->prefix);
--	    strcat (temp, machine_suffix);
--	    strcat (temp, multilib_name);
--	    if (access_check (temp, mode) == 0)
--	      return temp;
--	  }
--
--	/* Certain prefixes are tried with just the machine type,
--	   not the version.  This is used for finding as, ld, etc.  */
--	if (just_machine_suffix && pl->require_machine_suffix == 2)
--	  {
--	    /* Some systems have a suffix for executable files.
--	       So try appending that first.  */
--	    if (file_suffix[0] != 0)
--	      {
--		strcpy (temp, pl->prefix);
--		strcat (temp, just_machine_suffix);
--		strcat (temp, multilib_name);
--		strcat (temp, file_suffix);
--		if (access_check (temp, mode) == 0)
--		  return temp;
--	      }
--
--	    strcpy (temp, pl->prefix);
--	    strcat (temp, just_machine_suffix);
--	    strcat (temp, multilib_name);
--	    if (access_check (temp, mode) == 0)
--	      return temp;
--	  }
--
--	/* Certain prefixes can't be used without the machine suffix
--	   when the machine or version is explicitly specified.  */
--	if (! pl->require_machine_suffix)
--	  {
--	    /* Some systems have a suffix for executable files.
--	       So try appending that first.  */
--	    if (file_suffix[0] != 0)
--	      {
--		strcpy (temp, pl->prefix);
--		strcat (temp, this_name);
--		strcat (temp, file_suffix);
--		if (access_check (temp, mode) == 0)
--		  return temp;
--	      }
-+      return NULL;
-+    }
- 
--	    strcpy (temp, pl->prefix);
--	    strcat (temp, this_name);
--	    if (access_check (temp, mode) == 0)
--	      return temp;
--	  }
--      }
-+  info.name = name;
-+  info.suffix = (mode & X_OK) != 0 ? HOST_EXECUTABLE_SUFFIX : "";
-+  info.name_len = strlen (info.name);
-+  info.suffix_len = strlen (info.suffix);
-+  info.mode = mode;
- 
--  free (temp);
--  return 0;
-+  return for_each_path (pprefix, do_multi, info.name_len + info.suffix_len,
-+			file_at_path, &info);
- }
- 
- /* Ranking of prefixes in the sort list. -B prefixes are put before
-@@ -2691,7 +2787,7 @@
- 
-   commands[0].prog = argbuf[0]; /* first command.  */
-   commands[0].argv = &argbuf[0];
--  string = find_a_file (&exec_prefixes, commands[0].prog, X_OK, 0);
-+  string = find_a_file (&exec_prefixes, commands[0].prog, X_OK, false);
- 
-   if (string)
-     commands[0].argv[0] = string;
-@@ -2706,7 +2802,7 @@
- 	commands[n_commands].prog = argbuf[i + 1];
- 	commands[n_commands].argv = &argbuf[i + 1];
- 	string = find_a_file (&exec_prefixes, commands[n_commands].prog,
--			      X_OK, 0);
-+			      X_OK, false);
- 	if (string)
- 	  commands[n_commands].argv[0] = string;
- 	n_commands++;
-@@ -3643,7 +3739,7 @@
- 		   if appending a directory separator actually makes a
- 		   valid directory name.  */
- 		if (! IS_DIR_SEPARATOR (value [len - 1])
--		    && is_directory (value, "", 0))
-+		    && is_directory (value, false))
- 		  {
- 		    char *tmp = xmalloc (len + 2);
- 		    strcpy (tmp, value);
-@@ -4391,108 +4487,55 @@
-     }
- }
- 
--void
--do_spec_path (struct prefix_list *pl, const char *option,
--	      int omit_if_relative, int separate_options,
--	      int only_subdir,
--	      const char *dir_for_machine_suffix,
--	      const char *dir_for_no_suffix)
--{
--  static size_t bufsize = 0;
--  static char *buffer;
--  int idx;
--  bool multilib_p = false;
--
--  /* Used on systems which record the specified -L dirs
--     and use them to search for dynamic linking.  */
--  /* Relative directories always come from -B,
--     and it is better not to use them for searching
--     at run time.  In particular, stage1 loses.  */
--  if (omit_if_relative
--      && !IS_ABSOLUTE_PATH (pl->prefix))
--    return;
-+/* Callback for processing %D and %I specs.  */
- 
--  /* Try subdirectory if there is one.  */
--  if (machine_suffix && dir_for_machine_suffix)
--    {
--      if (strlen (pl->prefix) + strlen (machine_suffix)
--	  >= bufsize)
--	bufsize = (strlen (pl->prefix)
--		  + strlen (machine_suffix)) * 2 + 1;
--      buffer = xrealloc (buffer, bufsize);
--      strcpy (buffer, pl->prefix);
--      strcat (buffer, machine_suffix);
--      if (is_directory (buffer, dir_for_machine_suffix, 1))
--	{
--	  multilib_p = true;
--	  do_spec_1 (option, separate_options, NULL);
--	  if (separate_options)
--	    do_spec_1 (" ", 0, NULL);
--	  do_spec_1 (buffer, 1, NULL);
--	  do_spec_1 (dir_for_machine_suffix, 1, NULL);
--	  /* Make this a separate argument.  */
--	  do_spec_1 (" ", 0, NULL);
--	}
--    }
--  if (!pl->require_machine_suffix && dir_for_no_suffix)
-+struct spec_path_info {
-+  const char *option;
-+  const char *append;
-+  size_t append_len;
-+  bool omit_relative;
-+  bool separate_options;
-+};
-+
-+static void *
-+spec_path (char *path, void *data)
-+{
-+  struct spec_path_info *info = data;
-+  size_t len = 0;
-+  char save = 0;
-+
-+  if (info->omit_relative && !IS_ABSOLUTE_PATH (path))
-+    return NULL;
-+
-+  if (info->append_len != 0)
-     {
--      if (is_directory (pl->prefix, dir_for_no_suffix, 1))
--	{
--	  multilib_p = true;
--	  do_spec_1 (option, separate_options, NULL);
--	  if (separate_options)
--	    do_spec_1 (" ", 0, NULL);
--	  do_spec_1 (pl->prefix, 1, NULL);
--	  do_spec_1 (dir_for_no_suffix, 1, NULL);
--	  /* Make this a separate argument.  */
--	  do_spec_1 (" ", 0, NULL);
--	}
-+      len = strlen (path);
-+      memcpy (path + len, info->append, info->append_len + 1);
-     }
- 
--  if (only_subdir || multilib_p)
--    return;
-+  if (!is_directory (path, true))
-+    return NULL;
-+
-+  do_spec_1 (info->option, 1, NULL);
-+  if (info->separate_options)
-+    do_spec_1 (" ", 0, NULL);
- 
--  if (machine_suffix)
-+  if (info->append_len == 0)
-     {
--      if (is_directory (pl->prefix, machine_suffix, 1))
--	{
--	  do_spec_1 (option, separate_options, NULL);
--	  if (separate_options)
--	    do_spec_1 (" ", 0, NULL);
--	  do_spec_1 (pl->prefix, 1, NULL);
--	  /* Remove slash from machine_suffix.  */
--	  if (strlen (machine_suffix) >= bufsize)
--	    bufsize = strlen (machine_suffix) * 2 + 1;
--	  buffer = xrealloc (buffer, bufsize);
--	  strcpy (buffer, machine_suffix);
--	  idx = strlen (buffer);
--	  if (IS_DIR_SEPARATOR (buffer[idx - 1]))
--	    buffer[idx - 1] = 0;
--	  do_spec_1 (buffer, 1, NULL);
--	  /* Make this a separate argument.  */
--	  do_spec_1 (" ", 0, NULL);
--	}
--    }
--  if (!pl->require_machine_suffix)
--    {
--      if (is_directory (pl->prefix, "", 1))
--	{
--	  do_spec_1 (option, separate_options, NULL);
--	  if (separate_options)
--	    do_spec_1 (" ", 0, NULL);
--	  /* Remove slash from pl->prefix.  */
--	  if (strlen (pl->prefix) >= bufsize)
--	    bufsize = strlen (pl->prefix) * 2 + 1;
--	  buffer = xrealloc (buffer, bufsize);
--	  strcpy (buffer, pl->prefix);
--	  idx = strlen (buffer);
--	  if (IS_DIR_SEPARATOR (buffer[idx - 1]))
--	    buffer[idx - 1] = 0;
--	  do_spec_1 (buffer, 1, NULL);
--	  /* Make this a separate argument.  */
--	  do_spec_1 (" ", 0, NULL);
--	}
-+      len = strlen (path);
-+      save = path[len - 1];
-+      if (IS_DIR_SEPARATOR (path[len - 1]))
-+	path[len - 1] = '\0';
-     }
-+
-+  do_spec_1 (path, 1, NULL);
-+  do_spec_1 (" ", 0, NULL);
-+
-+  /* Must not damage the original path.  */
-+  if (info->append_len == 0)
-+    path[len - 1] = save;
-+
-+  return NULL;
- }
- 
- /* Process the sub-spec SPEC as a portion of a larger spec.
-@@ -4630,23 +4673,23 @@
- 	     that we search for startfiles.  */
- 	  case 'D':
- 	    {
--	      struct prefix_list *pl = startfile_prefixes.plist;
--
--	      for (; pl; pl = pl->next)
--		{
--		  const char *no_suffix_multilib_dir;
-+	      struct spec_path_info info;
- 
--		  no_suffix_multilib_dir = pl->os_multilib ? multilib_os_dir
--					   : multilib_dir;
--		  /* Do not separate options, include non-multilibbed variant.  */
--		  do_spec_path (pl, "-L",
-+	      info.option = "-L";
-+	      info.append_len = 0;
- #ifdef RELATIVE_PREFIX_NOT_LINKDIR
--				1,
-+	      /* Used on systems which record the specified -L dirs
-+		 and use them to search for dynamic linking.
-+		 Relative directories always come from -B,
-+		 and it is better not to use them for searching
-+		 at run time.  In particular, stage1 loses.  */
-+	      info.omit_relative = true;
- #else
--				0,
-+	      info.omit_relative = false;
- #endif
--				0, 0, multilib_dir, no_suffix_multilib_dir);
--		}
-+	      info.separate_options = false;
-+
-+	      for_each_path (&startfile_prefixes, true, 0, spec_path, &info);
- 	    }
- 	    break;
- 
-@@ -4883,7 +4926,7 @@
- 
- 	  case 'I':
- 	    {
--	      struct prefix_list *pl = include_prefixes.plist;
-+	      struct spec_path_info info;
- 
- 	      if (gcc_exec_prefix)
- 		{
-@@ -4906,9 +4949,14 @@
- 		  do_spec_1 (" ", 0, NULL);
- 		}
- 
--	      for (; pl; pl = pl->next)
--		/* Separate options, don't include non-suffixed variant.  */
--		do_spec_path (pl, "-isystem", 0, 1, 1, "include", "include");
-+	      info.option = "-isystem";
-+	      info.append = "include";
-+	      info.append_len = strlen (info.append);
-+	      info.omit_relative = false;
-+	      info.separate_options = true;
-+
-+	      for_each_path (&include_prefixes, false, info.append_len,
-+			     spec_path, &info);
- 	    }
- 	    break;
- 
-@@ -5894,48 +5942,27 @@
- static const char *
- find_file (const char *name)
- {
--  char *newname;
--
--  /* Try multilib_dir if it is defined.  */
--  if (multilib_os_dir != NULL)
--    {
--      newname = find_a_file (&startfile_prefixes, name, R_OK, 1);
--
--      /* If we don't find it in the multi library dir, then fall
--	 through and look for it in the normal places.  */
--      if (newname != NULL)
--	return newname;
--    }
--
--  newname = find_a_file (&startfile_prefixes, name, R_OK, 0);
-+  char *newname = find_a_file (&startfile_prefixes, name, R_OK, true);
-   return newname ? newname : name;
- }
- 
- /* Determine whether a directory exists.  If LINKER, return 0 for
--   certain fixed names not needed by the linker.  If not LINKER, it is
--   only important to return 0 if the host machine has a small ARG_MAX
--   limit.  */
-+   certain fixed names not needed by the linker.  */
- 
- static int
--is_directory (const char *path1, const char *path2, int linker)
-+is_directory (const char *path1, bool linker)
- {
--  int len1 = strlen (path1);
--  int len2 = strlen (path2);
--  char *path = alloca (3 + len1 + len2);
-+  int len1;
-+  char *path;
-   char *cp;
-   struct stat st;
- 
--#ifndef SMALL_ARG_MAX
--  if (! linker)
--    return 1;
--#endif
--
--  /* Construct the path from the two parts.  Ensure the string ends with "/.".
--     The resulting path will be a directory even if the given path is a
--     symbolic link.  */
-+  /* Ensure the string ends with "/.".  The resulting path will be a
-+     directory even if the given path is a symbolic link.  */
-+  len1 = strlen (path1);
-+  path = alloca (3 + len1);
-   memcpy (path, path1, len1);
--  memcpy (path + len1, path2, len2);
--  cp = path + len1 + len2;
-+  cp = path + len1;
-   if (!IS_DIR_SEPARATOR (cp[-1]))
-     *cp++ = DIR_SEPARATOR;
-   *cp++ = '.';
-@@ -5943,13 +5970,13 @@
- 
-   /* Exclude directories that the linker is known to search.  */
-   if (linker
-+      && IS_DIR_SEPARATOR (path[0])
-       && ((cp - path == 6
--	   && strcmp (path, concat (dir_separator_str, "lib",
--				    dir_separator_str, ".", NULL)) == 0)
-+	   && strncmp (path + 1, "lib", 3) == 0)
- 	  || (cp - path == 10
--	      && strcmp (path, concat (dir_separator_str, "usr",
--				       dir_separator_str, "lib",
--				       dir_separator_str, ".", NULL)) == 0)))
-+	      && strncmp (path + 1, "usr", 3) == 0
-+	      && IS_DIR_SEPARATOR (path[4])
-+	      && strncmp (path + 5, "lib", 3) == 0)))
-     return 0;
- 
-   return (stat (path, &st) >= 0 && S_ISDIR (st.st_mode));
-@@ -6139,7 +6166,7 @@
- 			   spec_version, dir_separator_str, NULL);
-   just_machine_suffix = concat (spec_machine, dir_separator_str, NULL);
- 
--  specs_file = find_a_file (&startfile_prefixes, "specs", R_OK, 0);
-+  specs_file = find_a_file (&startfile_prefixes, "specs", R_OK, true);
-   /* Read the specs file unless it is a default one.  */
-   if (specs_file != 0 && strcmp (specs_file, "specs"))
-     read_specs (specs_file, TRUE);
-@@ -6275,7 +6302,7 @@
-   for (uptr = user_specs_head; uptr; uptr = uptr->next)
-     {
-       char *filename = find_a_file (&startfile_prefixes, uptr->filename,
--				    R_OK, 0);
-+				    R_OK, true);
-       read_specs (filename ? filename : uptr->filename, FALSE);
-     }
- 
-@@ -6304,8 +6331,10 @@
-   if (print_search_dirs)
-     {
-       printf (_("install: %s%s\n"), standard_exec_prefix, machine_suffix);
--      printf (_("programs: %s\n"), build_search_list (&exec_prefixes, "", 0));
--      printf (_("libraries: %s\n"), build_search_list (&startfile_prefixes, "", 0));
-+      printf (_("programs: %s\n"),
-+	      build_search_list (&exec_prefixes, "", false, false));
-+      printf (_("libraries: %s\n"),
-+	      build_search_list (&startfile_prefixes, "", false, true));
-       return (0);
-     }
- 
-@@ -6622,14 +6651,14 @@
-       /* We'll use ld if we can't find collect2.  */
-       if (! strcmp (linker_name_spec, "collect2"))
- 	{
--	  char *s = find_a_file (&exec_prefixes, "collect2", X_OK, 0);
-+	  char *s = find_a_file (&exec_prefixes, "collect2", X_OK, false);
- 	  if (s == NULL)
- 	    linker_name_spec = "ld";
- 	}
-       /* Rebuild the COMPILER_PATH and LIBRARY_PATH environment variables
- 	 for collect.  */
--      putenv_from_prefixes (&exec_prefixes, "COMPILER_PATH");
--      putenv_from_prefixes (&startfile_prefixes, LIBRARY_PATH_ENV);
-+      putenv_from_prefixes (&exec_prefixes, "COMPILER_PATH", false);
-+      putenv_from_prefixes (&startfile_prefixes, LIBRARY_PATH_ENV, true);
- 
-       value = do_spec (link_command_spec);
-       if (value < 0)
-diff -uNr gcc-4.1.0/gcc/system.h gcc-4.1.0-PR20425/gcc/system.h
---- gcc-4.1.0/gcc/system.h	2005-08-16 10:13:53.000000000 +1000
-+++ gcc-4.1.0-PR20425/gcc/system.h	2006-03-10 23:51:31.000000000 +1100
-@@ -728,7 +728,8 @@
-         TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT	   \
-         LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE		   \
- 	TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC	   \
--	PREDICATE_CODES SPECIAL_MODE_PREDICATES HOST_PTR_PRINTF
-+	PREDICATE_CODES SPECIAL_MODE_PREDICATES HOST_PTR_PRINTF		   \
-+	SMALL_ARG_MAX
- 
- /* Hooks that are no longer used.  */
-  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\
Index: tches/gcc-4.1.2-cross_search_paths-1.patch
===================================================================
--- patches/gcc-4.1.2-cross_search_paths-1.patch	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ 	(revision )
@@ -1,50 +1,0 @@
-Submitted by: Ryan Oliver <ryan.oliver@pha.com.au>
-Date: 2007-02-14
-Initial Package Version: 4.1.2
-Origin: Ryan Oliver (issue reported by Erik-Jan Post)
-        Rediffed against 4.1.0 by Chris Staub
-	Rediffed against 4.1.2 by Jim Gifford
-Upstream Status: N/A
-Description:
-  Removes standard_exec_prefix_2 from library search path when cross-compiling.
-  Removes both standard_exec_prefix_1 and standard_exec_prefix_2 from the gcc
-  executable search path when cross-compiling.
-
-  ie: if cross_compile = 1 in the specs file, do not
-      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} to the library search path
-      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} or
-                   /usr/libexec/gcc/${TARGET}/${GCC_VER}
-        to the executable search path
-
-  This avoids the possibility of linking in libraries from the host if they
-  exist under those directories.
- 
-diff -Naur gcc-4.1.2.orig/gcc/gcc.c gcc-4.1.2/gcc/gcc.c
---- gcc-4.1.2.orig/gcc/gcc.c	2006-11-07 06:26:21.000000000 -0800
-+++ gcc-4.1.2/gcc/gcc.c	2007-02-14 07:48:55.000000000 -0800
-@@ -3821,16 +3821,22 @@
- 	      PREFIX_PRIORITY_LAST, 2, 0);
-   add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
- 	      PREFIX_PRIORITY_LAST, 2, 0);
--  add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
-+  if (*cross_compile == '0')
-+    {
-+      add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
- 	      PREFIX_PRIORITY_LAST, 2, 0);
--  add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
-+      add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
- 	      PREFIX_PRIORITY_LAST, 2, 0);
-+    }
- #endif
- 
-   add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS",
- 	      PREFIX_PRIORITY_LAST, 1, 0);
--  add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
-+  if (*cross_compile == '0')
-+    {
-+      add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
- 	      PREFIX_PRIORITY_LAST, 1, 0);
-+    }
- 
-   tooldir_prefix = concat (tooldir_base_prefix, spec_machine,
- 			   dir_separator_str, NULL);
Index: tches/gcc-4.1.2-posix-1.patch
===================================================================
--- patches/gcc-4.1.2-posix-1.patch	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ 	(revision )
@@ -1,211 +1,0 @@
-Submitted By: Jim Gifford (patches at jg555 dot com)
-Date: 2007-02-14
-Initial Package Version: 4.1.2
-Origin: Jim Gifford
-        Rediffed against 4.1.0 by Chris Staub
-        Rediffed against 4.1.2 by Jim Gifford
-Upstream Status: On Hold
-Description: Makes GCC Posix Compliant
-
-diff -Naur gcc-4.1.2.orig/contrib/test_summary gcc-4.1.2/contrib/test_summary
---- gcc-4.1.2.orig/contrib/test_summary	2004-08-25 22:51:22.000000000 -0700
-+++ gcc-4.1.2/contrib/test_summary	2007-02-14 08:02:33.000000000 -0800
-@@ -106,7 +106,7 @@
-     srcdir = configflags;
-     sub(/\/configure .*/, "", srcdir);
-     printf "LAST_UPDATED: ";
--    system("tail -1 " srcdir "/LAST_UPDATED");
-+    system("tail -n 1 " srcdir "/LAST_UPDATED");
-     print "";
- 
-     sub(/^[^ ]*\/configure */, " ", configflags);
-diff -Naur gcc-4.1.2.orig/gcc/configure gcc-4.1.2/gcc/configure
---- gcc-4.1.2.orig/gcc/configure	2006-11-13 14:09:55.000000000 -0800
-+++ gcc-4.1.2/gcc/configure	2007-02-14 08:02:33.000000000 -0800
-@@ -14318,7 +14318,7 @@
-   # and we got the correct data, then succeed.
-   if test x$gcc_cv_objdump != x \
-   && $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
--     | tail -3 > conftest.got \
-+     | tail -n 3 > conftest.got \
-   && { cmp conftest.lit conftest.got > /dev/null 2>&1 \
-     || cmp conftest.big conftest.got > /dev/null 2>&1; }
-   then
-diff -Naur gcc-4.1.2.orig/gcc/configure.ac gcc-4.1.2/gcc/configure.ac
---- gcc-4.1.2.orig/gcc/configure.ac	2006-11-13 14:09:55.000000000 -0800
-+++ gcc-4.1.2/gcc/configure.ac	2007-02-14 08:02:33.000000000 -0800
-@@ -2124,7 +2124,7 @@
-   # and we got the correct data, then succeed.
-   if test x$gcc_cv_objdump != x \
-   && $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
--     | tail -3 > conftest.got \
-+     | tail -n 3 > conftest.got \
-   && { cmp conftest.lit conftest.got > /dev/null 2>&1 \
-     || cmp conftest.big conftest.got > /dev/null 2>&1; }
-   then
-diff -Naur gcc-4.1.2.orig/libjava/configure gcc-4.1.2/libjava/configure
---- gcc-4.1.2.orig/libjava/configure	2007-02-13 21:17:22.000000000 -0800
-+++ gcc-4.1.2/libjava/configure	2007-02-14 08:02:33.000000000 -0800
-@@ -6736,8 +6736,8 @@
- echo $ECHO_N "checking whether 'ld' is at least 2.13... $ECHO_C" >&6
- LD_PROG=`$CC --print-prog-name=ld`
- LD_VERSION=`$LD_PROG --version`
--LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
--LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
-+LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
-+LD_VERSION_MINOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 2`
- if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
-   LD_OK="ok"
- else
-diff -Naur gcc-4.1.2.orig/libjava/mingwld.m4 gcc-4.1.2/libjava/mingwld.m4
---- gcc-4.1.2.orig/libjava/mingwld.m4	2005-08-22 15:36:35.000000000 -0700
-+++ gcc-4.1.2/libjava/mingwld.m4	2007-02-14 08:02:33.000000000 -0800
-@@ -3,8 +3,8 @@
- AC_MSG_CHECKING(whether 'ld' is at least 2.13)
- LD_PROG=`$CC --print-prog-name=ld`
- LD_VERSION=`$LD_PROG --version`
--LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
--LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
-+LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
-+LD_VERSION_MINOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 2`
- if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
-   LD_OK="ok"
- else
-diff -Naur gcc-4.1.2.orig/libstdc++-v3/acinclude.m4 gcc-4.1.2/libstdc++-v3/acinclude.m4
---- gcc-4.1.2.orig/libstdc++-v3/acinclude.m4	2007-01-29 02:51:01.000000000 -0800
-+++ gcc-4.1.2/libstdc++-v3/acinclude.m4	2007-02-14 08:03:05.000000000 -0800
-@@ -224,7 +224,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
-     changequote(,)
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
-     changequote([,])
-     glibcxx_gnu_ld_version=`echo $ldver | \
-diff -Naur gcc-4.1.2.orig/libstdc++-v3/configure gcc-4.1.2/libstdc++-v3/configure
---- gcc-4.1.2.orig/libstdc++-v3/configure	2007-01-29 02:51:01.000000000 -0800
-+++ gcc-4.1.2/libstdc++-v3/configure	2007-02-14 08:03:51.000000000 -0800
-@@ -8280,7 +8280,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -53121,7 +53121,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -74455,7 +74455,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -75952,7 +75952,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -77325,7 +77325,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -79485,7 +79485,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -80304,7 +80304,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -81679,7 +81679,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -83446,7 +83446,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -84663,7 +84663,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-@@ -85664,7 +85664,7 @@
-   # does some of this, but throws away the result.
-   if test x"$with_gnu_ld" = x"yes"; then
- 
--    ldver=`$LD --version 2>/dev/null | head -1 | \
-+    ldver=`$LD --version 2>/dev/null | head -n 1 | \
-            sed -e 's/GNU ld version \([0-9.][0-9.]*\).*/\1/'`
- 
-     glibcxx_gnu_ld_version=`echo $ldver | \
-diff -Naur gcc-4.1.2.orig/ltcf-c.sh gcc-4.1.2/ltcf-c.sh
---- gcc-4.1.2.orig/ltcf-c.sh	2005-11-18 14:53:08.000000000 -0800
-+++ gcc-4.1.2/ltcf-c.sh	2007-02-14 08:02:33.000000000 -0800
-@@ -153,7 +153,7 @@
-     # If the export-symbols file already is a .def file (1st line
-     # is EXPORTS), use it as is.
-     # If DATA tags from a recent dlltool are present, honour them!
--    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
-+    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname-def;
-       else
-         echo EXPORTS > $output_objdir/$soname-def;
-diff -Naur gcc-4.1.2.orig/ltcf-gcj.sh gcc-4.1.2/ltcf-gcj.sh
---- gcc-4.1.2.orig/ltcf-gcj.sh	2005-07-15 19:30:53.000000000 -0700
-+++ gcc-4.1.2/ltcf-gcj.sh	2007-02-14 08:02:33.000000000 -0800
-@@ -156,7 +156,7 @@
-     # If the export-symbols file already is a .def file (1st line
-     # is EXPORTS), use it as is.
-     # If DATA tags from a recent dlltool are present, honour them!
--    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
-+    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname-def;
-       else
-         echo EXPORTS > $output_objdir/$soname-def;
Index: patches/gcc-4.2.0-cross_search_paths-1.patch
===================================================================
--- patches/gcc-4.2.0-cross_search_paths-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
+++ patches/gcc-4.2.0-cross_search_paths-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -0,0 +1,51 @@
+Submitted by: Ryan Oliver <ryan.oliver@pha.com.au>
+Date: 2007-02-14
+Initial Package Version: 4.2.0
+Origin: Ryan Oliver (issue reported by Erik-Jan Post)
+        Rediffed against 4.1.0 by Chris Staub
+        Rediffed against 4.1.2 by Jim Gifford
+	Rediffed against 4.2.0 by Joe Ciccone
+Upstream Status: N/A
+Description:
+  Removes standard_exec_prefix_2 from library search path when cross-compiling.
+  Removes both standard_exec_prefix_1 and standard_exec_prefix_2 from the gcc
+  executable search path when cross-compiling.
+
+  ie: if cross_compile = 1 in the specs file, do not
+      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} to the library search path
+      - do not add /usr/lib/gcc/${TARGET}/${GCC_VER} or
+                   /usr/libexec/gcc/${TARGET}/${GCC_VER}
+        to the executable search path
+
+  This avoids the possibility of linking in libraries from the host if they
+  exist under those directories.
+
+diff -Naur gcc-4.2.0.orig/gcc/gcc.c gcc-4.2.0/gcc/gcc.c
+--- gcc-4.2.0.orig/gcc/gcc.c	2007-05-16 19:21:26.000000000 -0400
++++ gcc-4.2.0/gcc/gcc.c	2007-05-16 19:22:10.000000000 -0400
+@@ -3949,16 +3949,22 @@
+ 	      PREFIX_PRIORITY_LAST, 2, 0);
+   add_prefix (&exec_prefixes, standard_exec_prefix, "BINUTILS",
+ 	      PREFIX_PRIORITY_LAST, 2, 0);
+-  add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
++  if (*cross_compile == '0')
++    {
++      add_prefix (&exec_prefixes, standard_exec_prefix_1, "BINUTILS",
+ 	      PREFIX_PRIORITY_LAST, 2, 0);
+-  add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
++      add_prefix (&exec_prefixes, standard_exec_prefix_2, "BINUTILS",
+ 	      PREFIX_PRIORITY_LAST, 2, 0);
++    }
+ #endif
+ 
+   add_prefix (&startfile_prefixes, standard_exec_prefix, "BINUTILS",
+ 	      PREFIX_PRIORITY_LAST, 1, 0);
+-  add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
++  if (*cross_compile == '0')
++    {
++      add_prefix (&startfile_prefixes, standard_exec_prefix_2, "BINUTILS",
+ 	      PREFIX_PRIORITY_LAST, 1, 0);
++    }
+ 
+   tooldir_prefix = concat (tooldir_base_prefix, spec_machine,
+ 			   dir_separator_str, NULL);
Index: patches/gcc-4.2.0-posix-1.patch
===================================================================
--- patches/gcc-4.2.0-posix-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
+++ patches/gcc-4.2.0-posix-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -0,0 +1,296 @@
+Submitted By: Jim Gifford (patches at jg555 dot com)
+Date: 2007-02-14
+Initial Package Version: 4.1.2
+Origin: Jim Gifford
+        Rediffed against 4.1.0 by Chris Staub
+        Rediffed against 4.1.2 by Jim Gifford
+	Rediffed and additions against 4.2.0 by Joe Ciccone
+Upstream Status: On Hold
+Description: Makes GCC Posix Compliant
+
+diff -Naur gcc-4.2.0.orig/contrib/test_summary gcc-4.2.0/contrib/test_summary
+--- gcc-4.2.0.orig/contrib/test_summary	2007-05-16 19:21:35.000000000 -0400
++++ gcc-4.2.0/contrib/test_summary	2007-05-18 16:38:48.000000000 -0400
+@@ -106,7 +106,7 @@
+     srcdir = configflags;
+     sub(/\/configure .*/, "", srcdir);
+     printf "LAST_UPDATED: ";
+-    system("tail -1 " srcdir "/LAST_UPDATED");
++    system("tail -n 1 " srcdir "/LAST_UPDATED");
+     print "";
+ 
+     sub(/^[^ ]*\/configure */, " ", configflags);
+diff -Naur gcc-4.2.0.orig/gcc/configure.ac gcc-4.2.0/gcc/configure.ac
+--- gcc-4.2.0.orig/gcc/configure.ac	2007-05-16 19:21:23.000000000 -0400
++++ gcc-4.2.0/gcc/configure.ac	2007-05-18 16:39:21.000000000 -0400
+@@ -2227,7 +2227,7 @@
+   # Therefore, use diff -b for the comparisons.
+   if test x$gcc_cv_objdump != x \
+   && $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
+-     | tail -3 > conftest.got \
++     | tail -n 3 > conftest.got \
+   && { diff -b conftest.lit conftest.got > /dev/null 2>&1 \
+     || diff -b conftest.big conftest.got > /dev/null 2>&1; }
+   then
+diff -Naur gcc-4.2.0.orig/gcc/configure gcc-4.2.0/gcc/configure
+--- gcc-4.2.0.orig/gcc/configure	2007-05-16 19:21:26.000000000 -0400
++++ gcc-4.2.0/gcc/configure	2007-05-18 16:39:10.000000000 -0400
+@@ -14120,7 +14120,7 @@
+   # Therefore, use diff -b for the comparisons.
+   if test x$gcc_cv_objdump != x \
+   && $gcc_cv_objdump -s -j .eh_frame conftest.o 2>/dev/null \
+-     | tail -3 > conftest.got \
++     | tail -n 3 > conftest.got \
+   && { diff -b conftest.lit conftest.got > /dev/null 2>&1 \
+     || diff -b conftest.big conftest.got > /dev/null 2>&1; }
+   then
+diff -Naur gcc-4.2.0.orig/gcc/testsuite/ada/acats/run_all.sh gcc-4.2.0/gcc/testsuite/ada/acats/run_all.sh
+--- gcc-4.2.0.orig/gcc/testsuite/ada/acats/run_all.sh	2007-05-16 19:21:20.000000000 -0400
++++ gcc-4.2.0/gcc/testsuite/ada/acats/run_all.sh	2007-05-18 16:44:02.000000000 -0400
+@@ -68,7 +68,7 @@
+   ls ${i}?.adb > ${i}.lst 2> /dev/null
+   ls ${i}*m.adb >> ${i}.lst 2> /dev/null
+   ls ${i}.adb >> ${i}.lst 2> /dev/null
+-  main=`tail -1 ${i}.lst`
++  main=`tail -n 1 ${i}.lst`
+ }
+ 
+ EXTERNAL_OBJECTS=""
+diff -Naur gcc-4.2.0.orig/libgomp/acinclude.m4 gcc-4.2.0/libgomp/acinclude.m4
+--- gcc-4.2.0.orig/libgomp/acinclude.m4	2007-05-16 19:21:18.000000000 -0400
++++ gcc-4.2.0/libgomp/acinclude.m4	2007-05-18 16:42:11.000000000 -0400
+@@ -147,7 +147,7 @@
+   # Start by getting the version number.  I think the libtool test already
+   # does some of this, but throws away the result.
+   changequote(,)
+-  ldver=`$LD --version 2>/dev/null | head -1 | \
++  ldver=`$LD --version 2>/dev/null | head -n 1 | \
+          sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+   changequote([,])
+   libgomp_gnu_ld_version=`echo $ldver | \
+diff -Naur gcc-4.2.0.orig/libgomp/configure gcc-4.2.0/libgomp/configure
+--- gcc-4.2.0.orig/libgomp/configure	2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/libgomp/configure	2007-05-18 16:42:19.000000000 -0400
+@@ -9314,7 +9314,7 @@
+   # Start by getting the version number.  I think the libtool test already
+   # does some of this, but throws away the result.
+ 
+-  ldver=`$LD --version 2>/dev/null | head -1 | \
++  ldver=`$LD --version 2>/dev/null | head -n 1 | \
+          sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+   libgomp_gnu_ld_version=`echo $ldver | \
+diff -Naur gcc-4.2.0.orig/libjava/classpath/m4/ax_create_stdint_h.m4 gcc-4.2.0/libjava/classpath/m4/ax_create_stdint_h.m4
+--- gcc-4.2.0.orig/libjava/classpath/m4/ax_create_stdint_h.m4	2007-05-16 19:21:35.000000000 -0400
++++ gcc-4.2.0/libjava/classpath/m4/ax_create_stdint_h.m4	2007-05-18 16:43:26.000000000 -0400
+@@ -217,7 +217,7 @@
+ fi # shortcircut to system "stdint.h"
+ # ------------------ PREPARE VARIABLES ------------------------------
+ if test "$GCC" = "yes" ; then
+-ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1`
++ac_cv_stdint_message="using gnu compiler "`$CC --version | head -n 1`
+ else
+ ac_cv_stdint_message="using $CC"
+ fi
+diff -Naur gcc-4.2.0.orig/libjava/classpath/configure gcc-4.2.0/libjava/classpath/configure
+--- gcc-4.2.0.orig/libjava/classpath/configure	2007-05-16 19:21:35.000000000 -0400
++++ gcc-4.2.0/libjava/classpath/configure	2007-05-18 16:43:09.000000000 -0400
+@@ -18514,7 +18514,7 @@
+ fi # shortcircut to system "stdint.h"
+ # ------------------ PREPARE VARIABLES ------------------------------
+ if test "$GCC" = "yes" ; then
+-ac_cv_stdint_message="using gnu compiler "`$CC --version | head -1`
++ac_cv_stdint_message="using gnu compiler "`$CC --version | head -n 1`
+ else
+ ac_cv_stdint_message="using $CC"
+ fi
+diff -Naur gcc-4.2.0.orig/libjava/classpath/ltcf-c.sh gcc-4.2.0/libjava/classpath/ltcf-c.sh
+--- gcc-4.2.0.orig/libjava/classpath/ltcf-c.sh	2007-05-16 19:21:31.000000000 -0400
++++ gcc-4.2.0/libjava/classpath/ltcf-c.sh	2007-05-18 16:42:36.000000000 -0400
+@@ -153,7 +153,7 @@
+     # If the export-symbols file already is a .def file (1st line
+     # is EXPORTS), use it as is.
+     # If DATA tags from a recent dlltool are present, honour them!
+-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
++    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname-def;
+       else
+         echo EXPORTS > $output_objdir/$soname-def;
+diff -Naur gcc-4.2.0.orig/libjava/classpath/ltcf-gcj.sh gcc-4.2.0/libjava/classpath/ltcf-gcj.sh
+--- gcc-4.2.0.orig/libjava/classpath/ltcf-gcj.sh	2007-05-16 19:21:34.000000000 -0400
++++ gcc-4.2.0/libjava/classpath/ltcf-gcj.sh	2007-05-18 16:42:45.000000000 -0400
+@@ -156,7 +156,7 @@
+     # If the export-symbols file already is a .def file (1st line
+     # is EXPORTS), use it as is.
+     # If DATA tags from a recent dlltool are present, honour them!
+-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
++    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname-def;
+       else
+         echo EXPORTS > $output_objdir/$soname-def;
+diff -Naur gcc-4.2.0.orig/libjava/mingwld.m4 gcc-4.2.0/libjava/mingwld.m4
+--- gcc-4.2.0.orig/libjava/mingwld.m4	2007-05-16 19:21:29.000000000 -0400
++++ gcc-4.2.0/libjava/mingwld.m4	2007-05-18 16:40:06.000000000 -0400
+@@ -3,8 +3,8 @@
+ AC_MSG_CHECKING(whether 'ld' is at least 2.13)
+ LD_PROG=`$CC --print-prog-name=ld`
+ LD_VERSION=`$LD_PROG --version`
+-LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
+-LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
++LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
++LD_VERSION_MINOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 2`
+ if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
+   LD_OK="ok"
+ else
+diff -Naur gcc-4.2.0.orig/libjava/configure gcc-4.2.0/libjava/configure
+--- gcc-4.2.0.orig/libjava/configure	2007-05-16 19:21:29.000000000 -0400
++++ gcc-4.2.0/libjava/configure	2007-05-18 16:39:43.000000000 -0400
+@@ -7025,8 +7025,8 @@
+ echo $ECHO_N "checking whether 'ld' is at least 2.13... $ECHO_C" >&6
+ LD_PROG=`$CC --print-prog-name=ld`
+ LD_VERSION=`$LD_PROG --version`
+-LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
+-LD_VERSION_MINOR=`echo "$LD_VERSION" | head -1 | cut -d '.' -f 2`
++LD_VERSION_MAJOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 1 | cut -d ' ' -f 4`
++LD_VERSION_MINOR=`echo "$LD_VERSION" | head -n 1 | cut -d '.' -f 2`
+ if expr "$LD_VERSION_MAJOR" \> 2 > /dev/null; then
+   LD_OK="ok"
+ else
+diff -Naur gcc-4.2.0.orig/libstdc++-v3/acinclude.m4 gcc-4.2.0/libstdc++-v3/acinclude.m4
+--- gcc-4.2.0.orig/libstdc++-v3/acinclude.m4	2007-05-16 19:21:35.000000000 -0400
++++ gcc-4.2.0/libstdc++-v3/acinclude.m4	2007-05-18 16:40:37.000000000 -0400
+@@ -234,7 +234,7 @@
+   if test x"$with_gnu_ld" = x"yes"; then
+     AC_MSG_CHECKING([for ld version])
+     changequote(,)
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+     changequote([,])
+     glibcxx_gnu_ld_version=`echo $ldver | \
+diff -Naur gcc-4.2.0.orig/libstdc++-v3/configure gcc-4.2.0/libstdc++-v3/configure
+--- gcc-4.2.0.orig/libstdc++-v3/configure	2007-05-16 19:21:36.000000000 -0400
++++ gcc-4.2.0/libstdc++-v3/configure	2007-05-18 16:41:04.000000000 -0400
+@@ -8377,7 +8377,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -54289,7 +54289,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -75651,7 +75651,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -77176,7 +77176,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -78669,7 +78669,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -100561,7 +100561,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -101408,7 +101408,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -102811,7 +102811,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -104606,7 +104606,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -105851,7 +105851,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+@@ -106880,7 +106880,7 @@
+     echo "$as_me:$LINENO: checking for ld version" >&5
+ echo $ECHO_N "checking for ld version... $ECHO_C" >&6
+ 
+-    ldver=`$LD --version 2>/dev/null | head -1 | \
++    ldver=`$LD --version 2>/dev/null | head -n 1 | \
+            sed -e 's/GNU ld \(version \)\{0,1\}\(([^)]*) \)\{0,1\}\([0-9.][0-9.]*\).*/\3/'`
+ 
+     glibcxx_gnu_ld_version=`echo $ldver | \
+diff -Naur gcc-4.2.0.orig/ltcf-c.sh gcc-4.2.0/ltcf-c.sh
+--- gcc-4.2.0.orig/ltcf-c.sh	2007-05-16 19:21:19.000000000 -0400
++++ gcc-4.2.0/ltcf-c.sh	2007-05-18 16:41:18.000000000 -0400
+@@ -153,7 +153,7 @@
+     # If the export-symbols file already is a .def file (1st line
+     # is EXPORTS), use it as is.
+     # If DATA tags from a recent dlltool are present, honour them!
+-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
++    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname-def;
+       else
+         echo EXPORTS > $output_objdir/$soname-def;
+diff -Naur gcc-4.2.0.orig/ltcf-gcj.sh gcc-4.2.0/ltcf-gcj.sh
+--- gcc-4.2.0.orig/ltcf-gcj.sh	2007-05-16 19:21:35.000000000 -0400
++++ gcc-4.2.0/ltcf-gcj.sh	2007-05-18 16:41:29.000000000 -0400
+@@ -156,7 +156,7 @@
+     # If the export-symbols file already is a .def file (1st line
+     # is EXPORTS), use it as is.
+     # If DATA tags from a recent dlltool are present, honour them!
+-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
++    archive_expsym_cmds='if test "x`head -n 1 $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname-def;
+       else
+         echo EXPORTS > $output_objdir/$soname-def;
Index: tches/vim-7.0-cross_compile-1.patch
===================================================================
--- patches/vim-7.0-cross_compile-1.patch	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ 	(revision )
@@ -1,770 +1,0 @@
-Submitted By: Joe Ciccone <joeciccone@crazyeyesoft.com
-Date: 2006-06-06
-Initial Package Version: 7.0
-Upstream Status: Unknown
-Origin: Joe Ciccone and OpenEmbedded
-Description: This patch makes it possible to cross_compile vim.
-
-diff -Naur vim70.orig/src/auto/configure vim70/src/auto/configure
---- vim70.orig/src/auto/configure	2006-06-06 16:19:58.000000000 -0400
-+++ vim70/src/auto/configure	2006-06-06 16:49:08.000000000 -0400
-@@ -2796,14 +2796,6 @@
-   fi
- fi
- 
--if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: cannot compile a simple program, check CC and CFLAGS
--  (cross compiling doesn't work)" >&5
--echo "$as_me: error: cannot compile a simple program, check CC and CFLAGS
--  (cross compiling doesn't work)" >&2;}
--   { (exit 1); exit 1; }; }
--fi
--
- test "$GCC" = yes && CPP_MM=M;
- 
- if test -f ./toolcheck; then
-@@ -3410,27 +3402,6 @@
- 
- 
- 
--have_local_include=''
--have_local_lib=''
--if test "$GCC" = yes; then
--  echo 'void f(){}' > conftest.c
--    have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
--  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
--  rm -f conftest.c conftest.o
--fi
--if test -z "$have_local_lib" -a -d /usr/local/lib; then
--  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
--  if test "$tt" = "$LDFLAGS"; then
--    LDFLAGS="$LDFLAGS -L/usr/local/lib"
--  fi
--fi
--if test -z "$have_local_include" -a -d /usr/local/include; then
--  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
--  if test "$tt" = "$CPPFLAGS"; then
--    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
--  fi
--fi
--
- echo "$as_me:$LINENO: checking --with-vim-name argument" >&5
- echo $ECHO_N "checking --with-vim-name argument... $ECHO_C" >&6
- 
-@@ -9273,9 +9244,8 @@
- echo "$as_me:$LINENO: checking quality of toupper" >&5
- echo $ECHO_N "checking quality of toupper... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -11748,9 +11718,12 @@
- echo "$as_me:$LINENO: checking whether we talk terminfo" >&5
- echo $ECHO_N "checking whether we talk terminfo... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
--echo "$as_me: error: failed to compile test program." >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program." >&5
-+echo "$as_me: WARNING: failed to compile test program." >&2;}
-+          cat >>confdefs.h <<\_ACEOF
-+#define TERMINFO 1
-+_ACEOF
-+
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -12313,9 +12286,8 @@
- echo $ECHO_N "checking default tty permissions/group... $ECHO_C" >&6
- rm -f conftest_grp
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -12542,9 +12514,8 @@
- echo "$as_me:$LINENO: checking getcwd implementation" >&5
- echo $ECHO_N "checking getcwd implementation... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -12805,10 +12776,12 @@
- 
- echo "$as_me:$LINENO: checking whether stat() ignores a trailing slash" >&5
- echo $ECHO_N "checking whether stat() ignores a trailing slash... $ECHO_C" >&6
--if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+if test "${ac_cv_func_stat_ignores_trailing_slash+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test "$cross_compiling" = yes; then
-+  ac_cv_func_stat_ignores_trailing_slash=no
-+
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -12831,22 +12804,27 @@
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; }; then
--  echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
--#define STAT_IGNORES_SLASH 1
--_ACEOF
--
-+  ac_cv_func_stat_ignores_trailing_slash=yes
- else
-   echo "$as_me: program exited with status $ac_status" >&5
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- 
- ( exit $ac_status )
--echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6
-+ac_cv_func_stat_ignores_trailing_slash=no
- fi
- rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_func_stat_ignores_trailing_slash" >&5
-+echo "${ECHO_T}$ac_cv_func_stat_ignores_trailing_slash" >&6
-+
-+if X"$ac_cv_func_stat_ignores_trailing_slash" = Xyes; then
-+       cat >>confdefs.h <<\_ACEOF
-+#define STAT_IGNORES_SLASH 1
-+_ACEOF
-+
-+fi
- 
- echo "$as_me:$LINENO: checking for iconv_open()" >&5
- echo $ECHO_N "checking for iconv_open()... $ECHO_C" >&6
-@@ -13743,15 +13721,341 @@
- fi
- rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- 
-+echo "$as_me:$LINENO: checking for int" >&5
-+echo $ECHO_N "checking for int... $ECHO_C" >&6
-+if test "${ac_cv_type_int+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+if ((int *) 0)
-+  return 0;
-+if (sizeof (int))
-+  return 0;
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_cv_type_int=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_type_int=no
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-+echo "${ECHO_T}$ac_cv_type_int" >&6
- 
- echo "$as_me:$LINENO: checking size of int" >&5
- echo $ECHO_N "checking size of int... $ECHO_C" >&6
- if test "${ac_cv_sizeof_int+set}" = set; then
-   echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-+  if test "$ac_cv_type_int" = yes; then
-+  # The cast to unsigned long works around a bug in the HP C Compiler
-+  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-+  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-+  # This bug is HP SR number 8606223364.
-   if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
-+  # Depending upon the size, compute the lo and hi bounds.
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
-+test_array [0] = 0
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_lo=0 ac_mid=0
-+  while :; do
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-+test_array [0] = 0
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_hi=$ac_mid; break
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_lo=`expr $ac_mid + 1`
-+		    if test $ac_lo -le $ac_mid; then
-+		      ac_lo= ac_hi=
-+		      break
-+		    fi
-+		    ac_mid=`expr 2 '*' $ac_mid + 1`
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+  done
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
-+test_array [0] = 0
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_hi=-1 ac_mid=-1
-+  while :; do
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
-+test_array [0] = 0
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_lo=$ac_mid; break
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_hi=`expr '(' $ac_mid ')' - 1`
-+		       if test $ac_mid -le $ac_hi; then
-+			 ac_lo= ac_hi=
-+			 break
-+		       fi
-+		       ac_mid=`expr 2 '*' $ac_mid`
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+  done
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_lo= ac_hi=
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+# Binary search between lo and hi bounds.
-+while test "x$ac_lo" != "x$ac_hi"; do
-+  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_includes_default
-+int
-+main ()
-+{
-+static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-+test_array [0] = 0
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-+  (eval $ac_compile) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } &&
-+	 { ac_try='test -z "$ac_c_werror_flag"
-+			 || test ! -s conftest.err'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; } &&
-+	 { ac_try='test -s conftest.$ac_objext'
-+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_hi=$ac_mid
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_lo=`expr '(' $ac_mid ')' + 1`
-+fi
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+done
-+case $ac_lo in
-+?*) ac_cv_sizeof_int=$ac_lo;;
-+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute sizeof (int), 77
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; } ;;
-+esac
-+else
-+  if test "$cross_compiling" = yes; then
-+  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot run test program while cross compiling
-+See \`config.log' for more details." >&2;}
-    { (exit 1); exit 1; }; }
- else
-   cat >conftest.$ac_ext <<_ACEOF
-@@ -13760,14 +14064,37 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
-+$ac_includes_default
-+long longval () { return (long) (sizeof (int)); }
-+unsigned long ulongval () { return (long) (sizeof (int)); }
- #include <stdio.h>
--		main()
--		{
--		  FILE *f=fopen("conftestval", "w");
--		  if (!f) exit(1);
--		  fprintf(f, "%d\n", (int)sizeof(int));
--		  exit(0);
--		}
-+#include <stdlib.h>
-+int
-+main ()
-+{
-+
-+  FILE *f = fopen ("conftest.val", "w");
-+  if (! f)
-+    exit (1);
-+  if (((long) (sizeof (int))) < 0)
-+    {
-+      long i = longval ();
-+      if (i != ((long) (sizeof (int))))
-+	exit (1);
-+      fprintf (f, "%ld\n", i);
-+    }
-+  else
-+    {
-+      unsigned long i = ulongval ();
-+      if (i != ((long) (sizeof (int))))
-+	exit (1);
-+      fprintf (f, "%lu\n", i);
-+    }
-+  exit (ferror (f) || fclose (f) != 0);
-+
-+  ;
-+  return 0;
-+}
- _ACEOF
- rm -f conftest$ac_exeext
- if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-@@ -13780,19 +14107,27 @@
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; }; then
--  ac_cv_sizeof_int=`cat conftestval`
-+  ac_cv_sizeof_int=`cat conftest.val`
- else
-   echo "$as_me: program exited with status $ac_status" >&5
- echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- 
- ( exit $ac_status )
--ac_cv_sizeof_int=0
-+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute sizeof (int), 77
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }
- fi
- rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
- fi
--
-+rm -f conftest.val
-+else
-+  ac_cv_sizeof_int=0
-+fi
-+fi
- echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
- echo "${ECHO_T}$ac_cv_sizeof_int" >&6
- cat >>confdefs.h <<_ACEOF
-@@ -13800,6 +14135,7 @@
- _ACEOF
- 
- 
-+
- echo "$as_me:$LINENO: checking whether memmove/bcopy/memcpy handle overlaps" >&5
- echo $ECHO_N "checking whether memmove/bcopy/memcpy handle overlaps... $ECHO_C" >&6
- bcopy_test_prog='
-@@ -13818,9 +14154,8 @@
- 
- 
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -13853,9 +14188,8 @@
- 
- ( exit $ac_status )
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -13888,9 +14222,8 @@
- 
- ( exit $ac_status )
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
--echo "$as_me: error: failed to compile test program" >&2;}
--   { (exit 1); exit 1; }; }
-+  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
-+echo "$as_me: WARNING: failed to compile test program" >&2;}
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-diff -Naur vim70.orig/src/configure.in vim70/src/configure.in
---- vim70.orig/src/configure.in	2006-06-06 16:19:58.000000000 -0400
-+++ vim70/src/configure.in	2006-06-06 16:49:04.000000000 -0400
-@@ -47,13 +47,6 @@
-   fi
- fi
- 
--dnl If configure thinks we are cross compiling, there is probably something
--dnl wrong with the CC or CFLAGS settings, give an understandable error message
--if test "$cross_compiling" = yes; then
--  AC_MSG_ERROR([cannot compile a simple program, check CC and CFLAGS
--  (cross compiling doesn't work)])
--fi
--
- dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
- dnl But gcc 3.1 changed the meaning!  See near the end.
- test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
-@@ -183,31 +176,6 @@
- AC_SUBST(OS_EXTRA_SRC)
- AC_SUBST(OS_EXTRA_OBJ)
- 
--dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
--dnl Only when the directory exists and it wasn't there yet.
--dnl For gcc don't do this when it is already in the default search path.
--have_local_include=''
--have_local_lib=''
--if test "$GCC" = yes; then
--  echo 'void f(){}' > conftest.c
--  dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
--  have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
--  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
--  rm -f conftest.c conftest.o
--fi
--if test -z "$have_local_lib" -a -d /usr/local/lib; then
--  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
--  if test "$tt" = "$LDFLAGS"; then
--    LDFLAGS="$LDFLAGS -L/usr/local/lib"
--  fi
--fi
--if test -z "$have_local_include" -a -d /usr/local/include; then
--  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
--  if test "$tt" = "$CPPFLAGS"; then
--    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
--  fi
--fi
--
- AC_MSG_CHECKING(--with-vim-name argument)
- AC_ARG_WITH(vim-name, [  --with-vim-name=NAME    what to call the Vim executable],
- 	VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
-@@ -1977,7 +1945,7 @@
- AC_TRY_RUN([#include <ctype.h>
- main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }],
- 	AC_DEFINE(BROKEN_TOUPPER) AC_MSG_RESULT(bad),
--	AC_MSG_RESULT(good), AC_MSG_ERROR(failed to compile test program))
-+	AC_MSG_RESULT(good), AC_MSG_WARN(failed to compile test program))
- 
- AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
- AC_TRY_COMPILE(, [printf("(" __DATE__ " " __TIME__ ")");],
-@@ -2197,7 +2165,8 @@
- {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }],
- 	  AC_MSG_RESULT([no -- we are in termcap land]),
- 	  AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(TERMINFO),
--	  AC_MSG_ERROR(failed to compile test program.))
-+	  AC_MSG_WARN(failed to compile test program.)
-+          AC_DEFINE(TERMINFO))
- 
- if test "x$olibs" != "x$LIBS"; then
-   AC_MSG_CHECKING(what tgetent() returns for an unknown terminal)
-@@ -2360,7 +2329,7 @@
-     fi
- ],
-     AC_MSG_RESULT([can't determine - assume ptys are world accessable]),
--    AC_MSG_ERROR(failed to compile test program))
-+    AC_MSG_WARN(failed to compile test program))
- rm -f conftest_grp
- 
- dnl Checks for library functions. ===================================
-@@ -2403,7 +2372,7 @@
- 	AC_MSG_RESULT(it is usable),
- 	AC_MSG_RESULT(it stinks)
- 		AC_DEFINE(BAD_GETCWD),
--	AC_MSG_ERROR(failed to compile test program))
-+	AC_MSG_WARN(failed to compile test program))
- 
- dnl Check for functions in one big call, to reduce the size of configure
- AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
-@@ -2427,13 +2396,20 @@
- 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
- 	AC_MSG_RESULT(no))
- 
--AC_MSG_CHECKING(whether stat() ignores a trailing slash)
-+AC_CACHE_CHECK([whether stat() ignores a trailing slash],
-+              [ac_cv_func_stat_ignores_trailing_slash],
- AC_TRY_RUN(
- [#include <sys/types.h>
- #include <sys/stat.h>
- main() {struct stat st;  exit(stat("configure/", &st) != 0); }],
--	AC_MSG_RESULT(yes); AC_DEFINE(STAT_IGNORES_SLASH),
--	AC_MSG_RESULT(no), AC_MSG_ERROR(failed to compile test program))
-+       ac_cv_func_stat_ignores_trailing_slash=yes,
-+       ac_cv_func_stat_ignores_trailing_slash=no,
-+       ac_cv_func_stat_ignores_trailing_slash=no
-+))
-+
-+if X"$ac_cv_func_stat_ignores_trailing_slash" = Xyes; then
-+       AC_DEFINE(STAT_IGNORES_SLASH)
-+fi
- 
- dnl Link with iconv for charset translation, if not found without library.
- dnl check for iconv() requires including iconv.h
-@@ -2597,24 +2573,7 @@
- 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
- 	AC_MSG_RESULT(not usable))
- 
--dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
--dnl be printed with "%d", and avoids a warning for cross-compiling.
--
--AC_MSG_CHECKING(size of int)
--AC_CACHE_VAL(ac_cv_sizeof_int,
--	[AC_TRY_RUN([#include <stdio.h>
--		main()
--		{
--		  FILE *f=fopen("conftestval", "w");
--		  if (!f) exit(1);
--		  fprintf(f, "%d\n", (int)sizeof(int));
--		  exit(0);
--		}],
--	    ac_cv_sizeof_int=`cat conftestval`,
--	    ac_cv_sizeof_int=0,
--	    AC_MSG_ERROR(failed to compile test program))])
--AC_MSG_RESULT($ac_cv_sizeof_int)
--AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
-+AC_CHECK_SIZEOF(int)
- 
- AC_MSG_CHECKING(whether memmove/bcopy/memcpy handle overlaps)
- [bcopy_test_prog='
-@@ -2640,9 +2599,9 @@
- 	AC_DEFINE(USEBCOPY) AC_MSG_RESULT(bcopy does),
- 	AC_TRY_RUN([#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog],
- 	    AC_DEFINE(USEMEMCPY) AC_MSG_RESULT(memcpy does), AC_MSG_RESULT(no),
--	    AC_MSG_ERROR(failed to compile test program)),
--	AC_MSG_ERROR(failed to compile test program)),
--    AC_MSG_ERROR(failed to compile test program))
-+	    AC_MSG_WARN(failed to compile test program)),
-+	AC_MSG_WARN(failed to compile test program)),
-+    AC_MSG_WARN(failed to compile test program))
- 
- dnl Check for multibyte locale functions
- dnl Find out if _Xsetlocale() is supported by libX11.
Index: tches/vim-7.0-fixes-23.patch
===================================================================
--- patches/vim-7.0-fixes-23.patch	(revision 030b4d25180d913984aae76995f51f9cf4d03cab)
+++ 	(revision )
@@ -1,10542 +1,0 @@
-Submitted By: Jim Gifford (jim at linuxfromscratch dot org)
-Date: 02-15-2007
-Initial Package Version: 7.0
-Origin: Upstream
-Upstream Status: Applied
-Description: Contains all upstream patches up to 7.0.195
-             The following patches were skipped
-             005 027 028 032 045 057 065 074 108 130 131 132 138 156 161 170 171 180
-
-diff -Naur vim70.orig/configure vim70/configure
---- vim70.orig/configure	2004-07-05 02:02:24.000000000 -0700
-+++ vim70/configure	2007-02-15 21:22:24.000000000 -0800
-@@ -3,4 +3,4 @@
- # This is just a stub for the Unix configure script, to provide support for
- # doing "./configure" in the top Vim directory.
- 
--cd src && ./configure "$@"
-+cd src && exec ./configure "$@"
-diff -Naur vim70.orig/runtime/autoload/ccomplete.vim vim70/runtime/autoload/ccomplete.vim
---- vim70.orig/runtime/autoload/ccomplete.vim	2006-05-03 07:35:56.000000000 -0700
-+++ vim70/runtime/autoload/ccomplete.vim	2007-02-15 21:22:24.000000000 -0800
-@@ -1,7 +1,7 @@
- " Vim completion script
- " Language:	C
- " Maintainer:	Bram Moolenaar <Bram@vim.org>
--" Last Change:	2006 May 03
-+" Last Change:	2006 May 08
- 
- 
- " This function is used for the 'omnifunc' option.
-@@ -458,7 +458,7 @@
- " member.
- function! s:StructMembers(typename, items, all)
-   " Todo: What about local structures?
--  let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
-+  let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")'))
-   if fnames == ''
-     return []
-   endif
-diff -Naur vim70.orig/runtime/autoload/gzip.vim vim70/runtime/autoload/gzip.vim
---- vim70.orig/runtime/autoload/gzip.vim	2006-03-31 07:12:15.000000000 -0800
-+++ vim70/runtime/autoload/gzip.vim	2007-02-15 21:22:25.000000000 -0800
-@@ -1,6 +1,6 @@
- " Vim autoload file for editing compressed files.
- " Maintainer: Bram Moolenaar <Bram@vim.org>
--" Last Change: 2006 Mar 31
-+" Last Change: 2006 Oct 03
- 
- " These functions are used by the gzip plugin.
- 
-@@ -68,9 +68,9 @@
-   let tmp = tempname()
-   let tmpe = tmp . "." . expand("<afile>:e")
-   " write the just read lines to a temp file "'[,']w tmp.gz"
--  execute "silent '[,']w " . tmpe
-+  execute "silent '[,']w " . escape(tmpe, ' ')
-   " uncompress the temp file: call system("gzip -dn tmp.gz")
--  call system(a:cmd . " " . tmpe)
-+  call system(a:cmd . " " . s:escape(tmpe))
-   if !filereadable(tmp)
-     " uncompress didn't work!  Keep the compressed file then.
-     echoerr "Error: Could not read uncompressed file"
-@@ -127,9 +127,9 @@
-     let nmt = s:tempname(nm)
-     if rename(nm, nmt) == 0
-       if exists("b:gzip_comp_arg")
--	call system(a:cmd . " " . b:gzip_comp_arg . " " . nmt)
-+	call system(a:cmd . " " . b:gzip_comp_arg . " " . s:escape(nmt))
-       else
--	call system(a:cmd . " " . nmt)
-+	call system(a:cmd . " " . s:escape(nmt))
-       endif
-       call rename(nmt . "." . expand("<afile>:e"), nm)
-     endif
-@@ -154,10 +154,10 @@
-     if rename(nm, nmte) == 0
-       if &patchmode != "" && getfsize(nm . &patchmode) == -1
- 	" Create patchmode file by creating the decompressed file new
--	call system(a:cmd . " -c " . nmte . " > " . nmt)
-+	call system(a:cmd . " -c " . s:escape(nmte) . " > " . s:escape(nmt))
- 	call rename(nmte, nm . &patchmode)
-       else
--	call system(a:cmd . " " . nmte)
-+	call system(a:cmd . " " . s:escape(nmte))
-       endif
-       call rename(nmt, nm)
-     endif
-@@ -175,4 +175,12 @@
-   return fnamemodify(a:name, ":p:h") . "/X~=@l9q5"
- endfun
- 
-+fun s:escape(name)
-+  " shellescape() was added by patch 7.0.111
-+  if v:version > 700 || (v:version == 700 && has('patch111'))
-+    return shellescape(a:name)
-+  endif
-+  return "'" . a:name . "'"
-+endfun
-+
- " vim: set sw=2 :
-diff -Naur vim70.orig/runtime/autoload/paste.vim vim70/runtime/autoload/paste.vim
---- vim70.orig/runtime/autoload/paste.vim	2006-04-21 11:31:01.000000000 -0700
-+++ vim70/runtime/autoload/paste.vim	2007-02-15 21:22:24.000000000 -0800
-@@ -1,6 +1,6 @@
- " Vim support file to help with paste mappings and menus
- " Maintainer:	Bram Moolenaar <Bram@vim.org>
--" Last Change:	2006 Apr 21
-+" Last Change:	2006 Jun 23
- 
- " Define the string to use for items that are present both in Edit, Popup and
- " Toolbar menu.  Also used in mswin.vim and macmap.vim.
-@@ -12,7 +12,7 @@
- if has("virtualedit")
-   let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
-   let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
--  let paste#paste_cmd['i'] = '<Esc>' . paste#paste_cmd['n'] . 'gi'
-+  let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
- 
-   func! paste#Paste()
-     let ove = &ve
-diff -Naur vim70.orig/runtime/autoload/spellfile.vim vim70/runtime/autoload/spellfile.vim
---- vim70.orig/runtime/autoload/spellfile.vim	2006-02-01 04:12:24.000000000 -0800
-+++ vim70/runtime/autoload/spellfile.vim	2007-02-15 21:22:25.000000000 -0800
-@@ -1,9 +1,9 @@
- " Vim script to download a missing spell file
- " Maintainer:	Bram Moolenaar <Bram@vim.org>
--" Last Change:	2006 Feb 01
-+" Last Change:	2006 Aug 29
- 
- if !exists('g:spellfile_URL')
--  let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/unstable/runtime/spell'
-+  let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
- endif
- let s:spellfile_URL = ''    " Start with nothing so that s:donedict is reset.
- 
-@@ -61,13 +61,13 @@
-     new
-     setlocal bin
-     echo 'Downloading ' . fname . '...'
--    exe 'Nread ' g:spellfile_URL . '/' . fname
-+    call spellfile#Nread(fname)
-     if getline(2) !~ 'VIMspell'
-       " Didn't work, perhaps there is an ASCII one.
-       g/^/d
-       let fname = a:lang . '.ascii.spl'
-       echo 'Could not find it, trying ' . fname . '...'
--      exe 'Nread ' g:spellfile_URL . '/' . fname
-+      call spellfile#Nread(fname)
-       if getline(2) !~ 'VIMspell'
- 	echo 'Sorry, downloading failed'
- 	bwipe!
-@@ -95,7 +95,7 @@
- 	g/^/d
- 	let fname = substitute(fname, '\.spl$', '.sug', '')
- 	echo 'Downloading ' . fname . '...'
--	exe 'Nread ' g:spellfile_URL . '/' . fname
-+	call spellfile#Nread(fname)
- 	if getline(2) !~ 'VIMsug'
- 	  echo 'Sorry, downloading failed'
- 	else
-@@ -109,3 +109,15 @@
-     bwipe
-   endif
- endfunc
-+
-+" Read "fname" from the server.
-+function! spellfile#Nread(fname)
-+  if g:spellfile_URL =~ '^ftp://'
-+    " for an ftp server use a default login and password to avoid a prompt
-+    let machine = substitute(g:spellfile_URL, 'ftp://\([^/]*\).*', '\1', '')
-+    let dir = substitute(g:spellfile_URL, 'ftp://[^/]*/\(.*\)', '\1', '')
-+    exe 'Nread "' . machine . ' anonymous vim7user ' . dir . '/' . a:fname . '"'
-+  else
-+    exe 'Nread ' g:spellfile_URL . '/' . a:fname
-+  endif
-+endfunc
-diff -Naur vim70.orig/runtime/doc/autocmd.txt vim70/runtime/doc/autocmd.txt
---- vim70.orig/runtime/doc/autocmd.txt	2006-05-07 05:16:44.000000000 -0700
-+++ vim70/runtime/doc/autocmd.txt	2007-02-15 21:22:27.000000000 -0800
-@@ -1,4 +1,4 @@
--*autocmd.txt*   For Vim version 7.0.  Last change: 2006 May 06
-+*autocmd.txt*   For Vim version 7.0.  Last change: 2007 Jan 16
- 
- 
- 		  VIM REFERENCE MANUAL    by Bram Moolenaar
-@@ -279,6 +279,7 @@
- |FuncUndefined|		a user function is used but it isn't defined
- |SpellFileMissing|	a spell file is used but it can't be found
- |SourcePre|		before sourcing a Vim script
-+|SourceCmd|		before sourcing a Vim script |Cmd-event|
- 
- |VimResized|		after the Vim window size changed
- |FocusGained|		Vim got input focus
-@@ -690,10 +691,17 @@
- 				Can be used to check for any changed files.
- 							*SourcePre*
- SourcePre			Before sourcing a Vim script. |:source|
-+				<afile> is the name of the file being sourced.
-+							*SourceCmd*
-+SourceCmd			When sourcing a Vim script. |:source|
-+				<afile> is the name of the file being sourced.
-+				The autocommand must source this file.
-+				|Cmd-event|
- 							*SpellFileMissing*
- SpellFileMissing		When trying to load a spell checking file and
--				it can't be found.  <amatch> is the language,
--				'encoding' also matters.  See
-+				it can't be found.  The pattern is matched
-+				against the language.  <amatch> is the
-+				language, 'encoding' also matters.  See
- 				|spell-SpellFileMissing|.
- 							*StdinReadPost*
- StdinReadPost			After reading from the stdin into the buffer,
-@@ -1219,8 +1227,8 @@
- 
- 							*Cmd-event*
- When using one of the "*Cmd" events, the matching autocommands are expected to
--do the file reading or writing.  This can be used when working with a special
--kind of file, for example on a remote system.
-+do the file reading, writing or sourcing.  This can be used when working with
-+a special kind of file, for example on a remote system.
- CAREFUL: If you use these events in a wrong way, it may have the effect of
- making it impossible to read or write the matching files!  Make sure you test
- your autocommands properly.  Best is to use a pattern that will never match a
-@@ -1233,9 +1241,10 @@
- original file isn't needed for recovery.  You might want to do this only when
- you expect the file to be modified.
- 
--The |v:cmdarg| variable holds the "++enc=" and "++ff=" argument that are
--effective.  These should be used for the command that reads/writes the file.
--The |v:cmdbang| variable is one when "!" was used, zero otherwise.
-+For file read and write commands the |v:cmdarg| variable holds the "++enc="
-+and "++ff=" argument that are effective.  These should be used for the command
-+that reads/writes the file.  The |v:cmdbang| variable is one when "!" was
-+used, zero otherwise.
- 
- See the $VIMRUNTIME/plugin/netrw.vim for examples.
- 
-diff -Naur vim70.orig/runtime/doc/eval.txt vim70/runtime/doc/eval.txt
---- vim70.orig/runtime/doc/eval.txt	2006-05-07 05:16:44.000000000 -0700
-+++ vim70/runtime/doc/eval.txt	2007-02-15 21:22:27.000000000 -0800
-@@ -1,4 +1,4 @@
--*eval.txt*      For Vim version 7.0.  Last change: 2006 May 06
-+*eval.txt*      For Vim version 7.0.  Last change: 2006 Nov 01
- 
- 
- 		  VIM REFERENCE MANUAL    by Bram Moolenaar
-@@ -1374,6 +1374,21 @@
- 		'guitabtooltip'.  Only valid while one of these expressions is
- 		being evaluated.  Read-only when in the |sandbox|.
- 
-+					*v:mouse_win* *mouse_win-variable*
-+v:mouse_win	Window number for a mouse click obtained with |getchar()|.
-+		First window has number 1, like with |winnr()|.  The value is
-+		zero when there was no mouse button click.
-+
-+					*v:mouse_lnum* *mouse_lnum-variable*
-+v:mouse_lnum	Line number for a mouse click obtained with |getchar()|.
-+		This is the text line number, not the screen line number.  The
-+		value is zero when there was no mouse button click.
-+
-+					*v:mouse_col* *mouse_col-variable*
-+v:mouse_col	Column number for a mouse click obtained with |getchar()|.
-+		This is the screen column number, like with |virtcol()|.  The
-+		value is zero when there was no mouse button click.
-+
- 					*v:prevcount* *prevcount-variable*
- v:prevcount	The count given for the last but one Normal mode command.
- 		This is the v:count value of the previous command.  Useful if
-@@ -1709,6 +1724,8 @@
- settabwinvar( {tabnr}, {winnr}, {varname}, {val})    set {varname} in window
- 					{winnr} in tab page {tabnr} to {val}
- setwinvar( {nr}, {varname}, {val})	set {varname} in window {nr} to {val}
-+shellescape( {string})		String	escape {string} for use as shell
-+					command argument
- simplify( {filename})		String	simplify filename as much as possible
- sort( {list} [, {func}])	List	sort {list}, using {func} to compare
- soundfold( {word})		String	sound-fold {word}
-@@ -2700,6 +2717,17 @@
- 		one-byte character it is the character itself as a number.
- 		Use nr2char() to convert it to a String.
- 
-+		When the user clicks a mouse button, the mouse event will be
-+		returned.  The position can then be found in |v:mouse_col|,
-+		|v:mouse_lnum| and |v:mouse_win|.  This example positions the
-+		mouse as it would normally happen: >
-+			let c = getchar()
-+		  	if c == "\<LeftMouse>" && v:mouse_win > 0
-+			  exe v:mouse_win . "wincmd w"
-+			  exe v:mouse_lnum
-+			  exe "normal " . v:mouse_col . "|"
-+			endif
-+<
- 		There is no prompt, you will somehow have to make clear to the
- 		user that a character has to be typed.
- 		There is no mapping for the character.
-@@ -2869,12 +2897,14 @@
- 			vcol	non-zero: "col" is visual column
- 				zero: "col" is byte index
- 			nr	error number
-+			pattern	search pattern used to locate the error
- 			text	description of the error
- 			type	type of the error, 'E', '1', etc.
- 			valid	non-zero: recognized error message
- 
- 		When there is no error list or it's empty an empty list is
--		returned.
-+		returned. Quickfix list entries with non-existing buffer
-+		number are returned with "bufnr" set to zero.
- 
- 		Useful application: Find pattern matches in multiple files and
- 		do something with them: >
-@@ -4343,7 +4373,10 @@
- 		Non-dictionary items in {list} are ignored.  Each dictionary
- 		item can contain the following entries:
- 
--		    filename	name of a file
-+		    bufnr	buffer number; must be the number of a valid
-+		    		buffer
-+		    filename	name of a file; only used when "bufnr" is not
-+		    		present or it is invalid.
- 		    lnum	line number in the file
- 		    pattern	search pattern used to locate the error
- 		    col		column number
-@@ -4356,11 +4389,13 @@
- 		The "col", "vcol", "nr", "type" and "text" entries are
- 		optional.  Either "lnum" or "pattern" entry can be used to
- 		locate a matching error line.
--		If the "filename" entry is not present or neither the "lnum"
--		or "pattern" entries are present, then the item will not be
--		handled as an error line.
-+		If the "filename" and "bufnr" entries are not present or
-+		neither the "lnum" or "pattern" entries are present, then the
-+		item will not be handled as an error line.
- 		If both "pattern" and "lnum" are present then "pattern" will
- 		be used.
-+		Note that the list is not exactly the same as what
-+		|getqflist()| returns.
- 
- 		If {action} is set to 'a', then the items from {list} are
- 		added to the existing quickfix list. If there is no existing
-@@ -4434,6 +4469,21 @@
- 			:call setwinvar(1, "&list", 0)
- 			:call setwinvar(2, "myvar", "foobar")
- 
-+shellescape({string})					*shellescape()*
-+		Escape {string} for use as shell command argument.
-+		On MS-Windows and MS-DOS, when 'shellslash' is not set, it
-+		will enclose {string} double quotes and double all double
-+		quotes within {string}.
-+		For other systems, it will enclose {string} in single quotes
-+		and replace all "'" with "'\''".
-+		Example: >
-+			:echo shellescape('c:\program files\vim')
-+<		results in:
-+			"c:\program files\vim" ~
-+		Example usage: >
-+			:call system("chmod +x -- " . shellescape(expand("%")))
-+
-+
- simplify({filename})					*simplify()*
- 		Simplify the file name as much as possible without changing
- 		the meaning.  Shortcuts (on MS-Windows) or symbolic links (on
-diff -Naur vim70.orig/runtime/doc/netbeans.txt vim70/runtime/doc/netbeans.txt
---- vim70.orig/runtime/doc/netbeans.txt	2006-05-07 05:16:45.000000000 -0700
-+++ vim70/runtime/doc/netbeans.txt	2007-02-15 21:22:26.000000000 -0800
-@@ -1,4 +1,4 @@
--*netbeans.txt*  For Vim version 7.0.  Last change: 2006 Mar 09
-+*netbeans.txt*  For Vim version 7.0.  Last change: 2006 Nov 14
- 
- 
- 		  VIM REFERENCE MANUAL    by Gordon Prieur
-@@ -259,8 +259,8 @@
- confusion happening again, netbeans_saved() has been renamed to
- netbeans_save_buffer().
- 
--We are now at version 2.3.  For the differences between 2.2 and 2.3 search for
--"2.3" below.
-+We are now at version 2.4.  For the differences between 2.3 and 2.4 search for
-+"2.4" below.
- 
- The messages are currently sent over a socket.  Since the messages are in
- plain UTF-8 text this protocol could also be used with any other communication
-@@ -605,6 +605,15 @@
- 
- getMark		Not implemented.
- 
-+getAnno serNum
-+		Return the line number of the annotation in the buffer.
-+		Argument:
-+			serNum		serial number of this placed annotation
-+		The reply is:
-+			123 lnum	line number of the annotation
-+			123 0		invalid annotation serial number
-+		New in version 2.4.
-+
- getModified	When a buffer is specified: Return zero if the buffer does not
- 		have changes, one if it does have changes.
- 		When no buffer is specified (buffer number zero): Return the
-diff -Naur vim70.orig/runtime/menu.vim vim70/runtime/menu.vim
---- vim70.orig/runtime/menu.vim	2006-04-17 06:47:28.000000000 -0700
-+++ vim70/runtime/menu.vim	2007-02-15 21:22:25.000000000 -0800
-@@ -2,7 +2,7 @@
- " You can also use this as a start for your own set of menus.
- "
- " Maintainer:	Bram Moolenaar <Bram@vim.org>
--" Last Change:	2006 Apr 17
-+" Last Change:	2006 Sep 14
- 
- " Note that ":an" (short for ":anoremenu") is often used to make a menu work
- " in all modes and avoid side effects from mappings defined by the user.
-@@ -885,6 +885,8 @@
-     if exists("s:changeitem") && s:changeitem != ''
-       call <SID>SpellDel()
-     endif
-+
-+    " Return quickly if spell checking is not enabled.
-     if !&spell || &spelllang == ''
-       return
-     endif
-@@ -908,18 +910,18 @@
- 	let s:fromword = w
- 	let pri = 1
- 	for sug in s:suglist
--	  exe 'amenu 1.5.' . pri . ' PopUp.' . s:changeitem . '.' . escape(sug, ' .')
-+	  exe 'anoremenu 1.5.' . pri . ' PopUp.' . s:changeitem . '.' . escape(sug, ' .')
- 		\ . ' :call <SID>SpellReplace(' . pri . ')<CR>'
- 	  let pri += 1
- 	endfor
- 
- 	let s:additem = 'add\ "' . escape(w, ' .') . '"\ to\ word\ list'
--	exe 'amenu 1.6 PopUp.' . s:additem . ' :spellgood ' . w . '<CR>'
-+	exe 'anoremenu 1.6 PopUp.' . s:additem . ' :spellgood ' . w . '<CR>'
- 
- 	let s:ignoreitem = 'ignore\ "' . escape(w, ' .') . '"'
--	exe 'amenu 1.7 PopUp.' . s:ignoreitem . ' :spellgood! ' . w . '<CR>'
-+	exe 'anoremenu 1.7 PopUp.' . s:ignoreitem . ' :spellgood! ' . w . '<CR>'
- 
--	amenu 1.8 PopUp.-SpellSep- :
-+	anoremenu 1.8 PopUp.-SpellSep- :
-       endif
-     endif
-   endfunc
-@@ -938,7 +940,9 @@
-     let s:changeitem = ''
-   endfun
- 
--  au! MenuPopup * call <SID>SpellPopup()
-+  augroup SpellPopupMenu
-+    au! MenuPopup * call <SID>SpellPopup()
-+  augroup END
- endif
- 
- " The GUI toolbar (for MS-Windows and GTK)
-@@ -1013,9 +1017,9 @@
-     tmenu ToolBar.FindPrev	Find Previous
-     tmenu ToolBar.Replace		Find / Replace...
-   endif
--  tmenu ToolBar.LoadSesn	Chose a session to load
-+  tmenu ToolBar.LoadSesn	Choose a session to load
-   tmenu ToolBar.SaveSesn	Save current session
--  tmenu ToolBar.RunScript	Chose a Vim Script to run
-+  tmenu ToolBar.RunScript	Choose a Vim Script to run
-   tmenu ToolBar.Make		Make current project (:make)
-   tmenu ToolBar.RunCtags	Build tags in current directory tree (!ctags -R .)
-   tmenu ToolBar.TagJump		Jump to tag under cursor
-diff -Naur vim70.orig/runtime/plugin/matchparen.vim vim70/runtime/plugin/matchparen.vim
---- vim70.orig/runtime/plugin/matchparen.vim	2006-04-27 06:31:26.000000000 -0700
-+++ vim70/runtime/plugin/matchparen.vim	2007-02-15 21:22:25.000000000 -0800
-@@ -1,6 +1,6 @@
- " Vim plugin for showing matching parens
- " Maintainer:  Bram Moolenaar <Bram@vim.org>
--" Last Change: 2006 Apr 27
-+" Last Change: 2006 Sep 09
- 
- " Exit quickly when:
- " - this plugin was already loaded (or disabled)
-@@ -44,7 +44,7 @@
-   let before = 0
- 
-   let c = getline(c_lnum)[c_col - 1]
--  let plist = split(&matchpairs, ':\|,')
-+  let plist = split(&matchpairs, '.\zs[:,]')
-   let i = index(plist, c)
-   if i < 0
-     " not found, in Insert mode try character before the cursor
-@@ -90,19 +90,19 @@
-   " Find the match.  When it was just before the cursor move it there for a
-   " moment.
-   if before > 0
--    let save_cursor = getpos('.')
-+    let save_cursor = winsaveview()
-     call cursor(c_lnum, c_col - before)
-   endif
- 
-   " When not in a string or comment ignore matches inside them.
-   let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
--	\ '=~?  "string\\|comment"'
-+	\ '=~?  "string\\|character\\|singlequote\\|comment"'
-   execute 'if' s_skip '| let s_skip = 0 | endif'
- 
-   let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
- 
-   if before > 0
--    call setpos('.', save_cursor)
-+    call winrestview(save_cursor)
-   endif
- 
-   " If a match is found setup match highlighting.
-diff -Naur vim70.orig/runtime/scripts.vim vim70/runtime/scripts.vim
---- vim70.orig/runtime/scripts.vim	2006-03-28 11:30:49.000000000 -0800
-+++ vim70/runtime/scripts.vim	2007-02-15 21:22:24.000000000 -0800
-@@ -1,7 +1,7 @@
- " Vim support file to detect file types in scripts
- "
- " Maintainer:	Bram Moolenaar <Bram@vim.org>
--" Last change:	2006 Mar 28
-+" Last change:	2006 Jul 08
- 
- " This file is called by an autocommand for every file that has just been
- " loaded into a buffer.  It checks if the type of file can be recognized by
-@@ -54,6 +54,12 @@
-     let s:name = substitute(s:line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
-   endif
- 
-+  " tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
-+  " third line.  Suggested by Steven Atkinson.
-+  if getline(3) =~ '^exec wish'
-+    let s:name = 'wish'
-+  endif
-+
-   " Bourne-like shell scripts: bash bash2 ksh ksh93 sh
-   if s:name =~ '^\(bash\d*\|\|ksh\d*\|sh\)\>'
-     call SetFileTypeSH(s:line1)	" defined in filetype.vim
-diff -Naur vim70.orig/runtime/tutor/Makefile vim70/runtime/tutor/Makefile
---- vim70.orig/runtime/tutor/Makefile	2004-06-07 07:32:39.000000000 -0700
-+++ vim70/runtime/tutor/Makefile	2007-02-15 21:22:25.000000000 -0800
-@@ -2,8 +2,13 @@
- #
- # The Japanese tutor exists in three encodings.  Use the UTF-8 version as the
- # original and create the others with conversion.
-+#
-+# Similarly for Russian and Korean
- 
--all: tutor.ja.sjis tutor.ja.euc tutor.ko.euc
-+all: tutor.ja.sjis tutor.ja.euc \
-+	tutor.ko.euc \
-+	tutor.ru tutor.ru.cp1251 \
-+	tutor.gr tutor.gr.cp737
- 
- tutor.ja.sjis: tutor.ja.utf-8
- 	nkf -WXs tutor.ja.utf-8 > tutor.ja.sjis
-@@ -13,3 +18,15 @@
- 
- tutor.ko.euc: tutor.ko.utf-8
- 	iconv -f UTF-8 -t EUC-KR tutor.ko.utf-8 > tutor.ko.euc
-+
-+tutor.ru: tutor.ru.utf-8
-+	iconv -f UTF-8 -t KOI8-R tutor.ru.utf-8 > tutor.ru
-+
-+tutor.ru.cp1251: tutor.ru.utf-8
-+	iconv -f UTF-8 -t cp1251 tutor.ru.utf-8 > tutor.ru.cp1251
-+
-+tutor.gr: tutor.gr.utf-8
-+	iconv -f UTF-8 -t ISO-8859-7 tutor.gr.utf-8 > tutor.gr
-+
-+tutor.gr.cp737: tutor.gr.utf-8
-+	iconv -f UTF-8 -t cp737 tutor.gr.utf-8 > tutor.gr.cp737
-diff -Naur vim70.orig/runtime/tutor/tutor.gr.utf-8 vim70/runtime/tutor/tutor.gr.utf-8
---- vim70.orig/runtime/tutor/tutor.gr.utf-8	1969-12-31 16:00:00.000000000 -0800
-+++ vim70/runtime/tutor/tutor.gr.utf-8	2007-02-15 21:22:25.000000000 -0800
-@@ -0,0 +1,815 @@
-+===============================================================================
-+=    Î Î±Î» Ï Ï Î® Ï Îž Î± Ï Îµ    Ï Ï Î¿   V I M   T u t o r    -    ÎÎºÎŽÎ¿ÏÎ· 1.5     =
-+===============================================================================
-+
-+     Î Vim ÎµÎ¯ÎœÎ±Î¹ Î­ÎœÎ±Ï ÏÎ±ÎœÎ¯ÏÏÏ
-ÏÎ¿Ï ÏÏ
-ÎœÏÎ¬ÎºÏÎ·Ï ÏÎ¿Ï
- Î­ÏÎµÎ¹ ÏÎ¿Î»Î»Î­Ï ÎµÎœÏÎ¿Î»Î­Ï, ÏÎ¬ÏÎ±
-+     ÏÎ¿Î»Î»Î­Ï Î³Î¹Î± ÎœÎ± ÎµÎŸÎ·Î³Î®ÏÎ¿Ï
-ÎŒÎµ ÏÎµ ÎŒÎ¯Î± ÏÎµÏÎ¹Î®Î³Î·ÏÎ· ÏÏÏÏ Î±Ï
-ÏÎ®. ÎÏ
-ÏÎ® Î· ÏÎµÏÎ¹Î®Î³Î·ÏÎ·
-+     ÏÏÎµÎŽÎ¹Î¬ÏÏÎ·ÎºÎµ Î³Î¹Î± ÎœÎ± ÏÎµÏÎ¹Î³ÏÎ¬ÏÎµÎ¹ Î¹ÎºÎ±ÎœÎ¿ÏÎ¿Î¹Î·ÏÎ¹ÎºÎ¬ ÏÎ¹Ï ÎµÎœÏÎ¿Î»Î­Ï ÏÎ¿Ï
- ÎžÎ± ÏÎ±Ï
-+     ÎºÎ¬ÎœÎ¿Ï
-Îœ ÎœÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎµ ÎµÏÎºÎ¿Î»Î± ÏÎ¿Îœ Vim ÏÎ±Îœ Î­ÎœÎ±Îœ Î³ÎµÎœÎ¹ÎºÎ®Ï ÏÏÎ®ÏÎ·Ï ÏÏ
-ÎœÏÎ¬ÎºÏÎ·.
-+
-+     Î ÎºÎ±ÏÎ¬ ÏÏÎ¿ÏÎ­Î³Î³Î¹ÏÎ· ÏÏÏÎœÎ¿Ï ÏÎ¿Ï
- Î±ÏÎ±Î¹ÏÎµÎ¯ÏÎ±Î¹ Î³Î¹Î± ÎœÎ± Î¿Î»Î¿ÎºÎ»Î·ÏÏÏÎµÏÎµ ÏÎ·Îœ ÏÎµÏÎ¹Î®Î³Î·ÏÎ·
-+     ÎµÎ¯ÎœÎ±Î¹ 25-30 Î»ÎµÏÏÎ¬, ÎµÎŸÎ±ÏÏÏÎœÏÎ±Ï Î±ÏÏ ÏÎ¿ ÏÏÏÎ¿ ÏÏÏÎœÎ¿ ÎžÎ± ÎŸÎ¿ÎŽÎ­ÏÎµÏÎµ Î³Î¹Î±
-+     ÏÎµÎ¹ÏÎ±ÎŒÎ±ÏÎ¹ÏÎŒÎ¿ÏÏ.
-+
-+     ÎÎ¹ ÎµÎœÏÎ¿Î»Î­Ï ÏÏÎ± ÎŒÎ±ÎžÎ®ÎŒÎ±ÏÎ± ÎžÎ± ÏÏÎ¿ÏÎ¿ÏÎ¿Î¹Î®ÏÎ¿Ï
-Îœ ÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿. ÎÎ·ÎŒÎ¹Î¿Ï
-ÏÎ³Î®ÏÏÎµ Î­ÎœÎ±
-+     Î±ÎœÏÎ¯Î³ÏÎ±ÏÎ¿ Î±Ï
-ÏÎ¿Ï ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
- Î³Î¹Î± ÎœÎ± ÎµÎŸÎ±ÏÎºÎ·ÎžÎµÎ¯ÏÎµ (Î±Îœ ÎŸÎµÎºÎ¹ÎœÎ®ÏÎ±ÏÎµ ÏÎ¿
-+     "Vimtutor" Î±Ï
-ÏÏ ÎµÎ¯ÎœÎ±Î¹ Î®ÎŽÎ· Î­ÎœÎ± Î±ÎœÏÎ¯Î³ÏÎ±ÏÎ¿).
-+
-+     ÎÎ¯ÎœÎ±Î¹ ÏÎ·ÎŒÎ±ÎœÏÎ¹ÎºÏ ÎœÎ± ÎžÏ
-ÎŒÎ¬ÏÏÎµ ÏÏÎ¹ Î±Ï
-ÏÎ® Î· ÏÎµÏÎ¹Î®Î³Î·ÏÎ· ÎµÎ¯ÎœÎ±Î¹ Î¿ÏÎ³Î±ÎœÏÎŒÎ­ÎœÎ· Î­ÏÏÎ¹
-+     ÏÏÏÎµ ÎœÎ± ÎŽÎ¹ÎŽÎ¬ÏÎºÎµÎ¹ ÎŒÎ­ÏÏ ÏÎ·Ï ÏÏÎ®ÏÎ·Ï. ÎÏ
-ÏÏ ÏÎ·ÎŒÎ±Î¯ÎœÎµÎ¹ ÏÏÎ¹ ÏÏÎµÎ¹Î¬Î¶ÎµÏÎ±Î¹ ÎœÎ±
-+     ÎµÎºÏÎµÎ»ÎµÎ¯ÏÎµ ÏÎ¹Ï ÎµÎœÏÎ¿Î»Î­Ï Î³Î¹Î± ÎœÎ± ÏÎ¹Ï ÎŒÎ¬ÎžÎµÏÎµ ÏÏÏÏÎ¬. ÎÎœ ÎŽÎ¹Î±Î²Î¬Î¶ÎµÏÎµ ÎŒÏÎœÎ¿ ÏÎ¿
-+     ÎºÎµÎ¯ÎŒÎµÎœÎ¿, ÎžÎ± ÏÎ¹Ï ÎŸÎµÏÎ¬ÏÎµÏÎµ!
-+
-+     Î€ÏÏÎ±, Î²ÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ Shift-Lock ÎÎÎ ÎµÎ¯ÎœÎ±Î¹ ÏÎ±ÏÎ·ÎŒÎ­ÎœÎ¿ ÎºÎ±Î¹
-+     ÏÎ±ÏÎ®ÏÏÎµ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ j Î±ÏÎºÎµÏÎ­Ï ÏÎ¿ÏÎ­Ï Î³Î¹Î± ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ®ÏÎµÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± Î­ÏÏÎ¹
-+     ÏÏÏÎµ ÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 1.1 ÎœÎ± Î³ÎµÎŒÎ¯ÏÎµÎ¹ ÏÎ»Î®ÏÏÏ ÏÎ·Îœ Î¿ÎžÏÎœÎ·.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		      ÎÎ¬ÎžÎ·ÎŒÎ± 1.1:  ÎÎÎ€ÎÎÎÎÎÎÎ€ÎÎ£ Î€ÎÎ ÎÎ¡ÎÎÎÎ
-+
-+  ** ÎÎ¹Î± ÎœÎ± ÎºÎ¹ÎœÎ®ÏÎµÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±, ÏÎ±ÏÎ®ÏÏÎµ ÏÎ± ÏÎ»Î®ÎºÏÏÎ± h,j,k,l ÏÏÏÏ ÎŽÎµÎ¯ÏÎœÎµÏÎ±Î¹. **
-+	     ^
-+	     k	      Hint: Î€Î¿ ÏÎ»Î®ÎºÏÏÎ¿ h ÎµÎ¯ÎœÎ±Î¹ Î±ÏÎ¹ÏÏÎµÏÎ¬ ÎºÎ±Î¹ ÎºÎ¹ÎœÎµÎ¯ ÏÏ' Î±ÏÎ¹ÏÏÎµÏÎ¬.
-+       < h	 l >	    Î€Î¿ ÏÎ»Î®ÎºÏÏÎ¿ l ÎµÎ¯ÎœÎ±Î¹ ÎŽÎµÎŸÎ¹Î¬ ÎºÎ±Î¹ ÎºÎ¹ÎœÎµÎ¯ ÏÏÎ± ÎŽÎµÎŸÎ¹Î¬.
-+	     j		    Î€Î¿ ÏÎ»Î®ÎºÏÏÎ¿ j ÎŒÎ¿Î¹Î¬Î¶ÎµÎ¹ ÎŒÎµ Î²ÎµÎ»Î¬ÎºÎ¹ ÏÏÎ¿Ï ÏÎ± ÎºÎ¬ÏÏ.
-+	     v
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¹Î³ÏÏÏ ÏÏÎ·Îœ Î¿ÎžÏÎœÎ· ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎœÎ¿Î¹ÏÎžÎµÏÎµ Î¬ÎœÎµÏÎ±.
-+
-+  2. ÎÏÎ±ÏÎ®ÏÏÎµ ÏÎ±ÏÎ·ÎŒÎ­ÎœÎ¿ ÏÎ¿ ÎºÎ¬ÏÏ ÏÎ»Î®ÎºÏÏÎ¿ (j) ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎµÏÎ±ÎœÎ±Î»Î·ÏÎžÎµÎ¯.
-+---> Î€ÏÏÎ± ÎŸÎ­ÏÎµÏÎµ ÏÏÏ ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ¿ ÎµÏÏÎŒÎµÎœÎ¿ ÎŒÎ¬ÎžÎ·ÎŒÎ±.
-+
-+  3. Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï ÏÎ¿ ÎºÎ¬ÏÏ ÏÎ»Î®ÎºÏÏÎ¿, ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 1.2.
-+
-+Î£Î·ÎŒÎµÎ¯ÏÏÎ·: ÎÎœ Î±ÎŒÏÎ¹Î²Î¬Î»Î»ÎµÏÎµ Î³Î¹Î± ÎºÎ¬ÏÎ¹ ÏÎ¿Ï
- ÏÎ±ÏÎ®ÏÎ±ÏÎµ, ÏÎ±ÏÎ®ÏÏÎµ <ESC> Î³Î¹Î± ÎœÎ± Î²ÏÎµÎžÎµÎ¯ÏÎµ
-+	  ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·. ÎÎµÏÎ¬ ÏÎ±ÏÎ®ÏÏÎµ ÎŸÎ±ÎœÎ¬ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ÏÎ¿Ï
- ÎžÎ­Î»Î±ÏÎµ.
-+
-+Î£Î·ÎŒÎµÎ¯ÏÏÎ·: Î€Î± ÏÎ»Î®ÎºÏÏÎ± ÏÎ¿Ï
- ÎŽÏÎ¿ÎŒÎ­Î± ÎžÎ± ÏÏÎ­ÏÎµÎ¹ ÎµÏÎ¯ÏÎ·Ï ÎœÎ± ÎŽÎ¿Ï
-Î»ÎµÏÎ¿Ï
-Îœ. ÎÎ»Î»Î¬ ÎŒÎµ ÏÎ± hjkl
-+	  ÎžÎ± ÎŒÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÎ¿Î»Ï Î³ÏÎ·Î³Î¿ÏÏÏÎµÏÎ±, ÎŒÏÎ»Î¹Ï ÏÎ± ÏÏ
-ÎœÎ·ÎžÎ¯ÏÎµÏÎµ.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		ÎÎ¬ÎžÎ·ÎŒÎ± 1.2:  ÎÎ ÎÎÎÎÎÎ€ÎÎ£ ÎÎÎ ÎÎÎÎÎÎÎÎ€ÎÎ£ Î£Î€ÎÎ VIM
-+
-+  !! Î£ÎÎÎÎÎ©Î£Î: Î ÏÎ¹Îœ ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ ÎºÎ¬ÏÎ¿Î¹Î¿ Î±ÏÏ ÏÎ± Î²Î®ÎŒÎ±ÏÎ±, ÎŽÎ¹Î±Î²Î¬ÏÏÎµ ÏÎ»Î¿ ÏÎ¿ ÎŒÎ¬ÎžÎ·ÎŒÎ±!!
-+
-+  1. Î Î±ÏÎ®ÏÏÎµ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ <ESC> (Î³Î¹Î± ÎœÎ± ÎµÎ¯ÏÏÎµ ÏÎ¯Î³Î¿Ï
-ÏÎ± ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·).
-+
-+  2. Î Î»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ:		:q! <ENTER>.
-+
-+---> ÎÏ
-ÏÏ ÎµÎŸÎ­ÏÏÎµÏÎ±Î¹ Î±ÏÏ ÏÎ¿Îœ ÏÏ
-ÎœÏÎ¬ÎºÏÎ· Î§Î©Î¡ÎÎ£ ÎœÎ± ÏÏÏÎµÎ¹ ÏÏÎ¿Î¹ÎµÏ Î±Î»Î»Î±Î³Î­Ï Î­ÏÎµÏÎµ ÎºÎ¬ÎœÎµÎ¹.
-+     ÎÎœ ÎžÎ­Î»ÎµÏÎµ ÎœÎ± ÏÏÏÎµÏÎµ ÏÎ¹Ï Î±Î»Î»Î±Î³Î­Ï ÎºÎ±Î¹ ÎœÎ± ÎµÎŸÎ­ÏÎžÎµÏÎµ ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ:
-+	      :wq <ENTER>
-+
-+  3. ÎÏÎ±Îœ ÎŽÎµÎ¯ÏÎµ ÏÎ·Îœ ÏÏÎ¿ÏÏÎ¿ÏÎ® ÏÎ¿Ï
- ÏÎ»Î¿Î¹Î¿Ï, ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ÎŒÎµ ÏÎ·Îœ Î¿ÏÎ¿Î¯Î±
-+     ÎŒÏÎ®ÎºÎ±ÏÎµ ÏÎµ Î±Ï
-ÏÎ®Îœ ÏÎ·Îœ ÏÎµÏÎ¹Î®Î³Î·ÏÎ·. ÎÏÎ¿ÏÎµÎ¯ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹:	vimtutor <ENTER>
-+     ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ¬ ÎžÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î¿ÏÏÎ±ÏÎµ:			vim tutor <ENTER>
-+
-+---> 'vim' ÏÎ·ÎŒÎ±Î¯ÎœÎµÎ¹ ÎµÎ¹ÏÎ±Î³ÏÎ³Î® ÏÏÎ¿Îœ ÏÏ
-ÎœÏÎ¬ÎºÏÎ· vim, 'tutor' ÎµÎ¯ÎœÎ±Î¹ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÏÎ¿Ï
-
-+     ÎžÎ­Î»Î¿Ï
-ÎŒÎµ ÎœÎ± ÎŽÎ¹Î¿ÏÎžÏÏÎ¿Ï
-ÎŒÎµ.
-+
-+  4. ÎÎœ Î­ÏÎµÏÎµ Î±ÏÎ¿ÎŒÎœÎ·ÎŒÎ¿ÎœÎµÏÏÎµÎ¹ Î±Ï
-ÏÎ¬ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± ÎºÎ±Î¹ Î­ÏÎµÏÎµ Î±Ï
-ÏÎ¿ÏÎµÏÎ¿Î¯ÎžÎ·ÏÎ·, ÎµÎºÏÎµÎ»Î­ÏÏÎµ
-+     ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 1 Î­ÏÏ 3 Î³Î¹Î± ÎœÎ± Î²Î³ÎµÎ¯ÏÎµ ÎºÎ±Î¹ ÎœÎ± ÎŒÏÎµÎ¯ÏÎµ ÎŸÎ±ÎœÎ¬ ÏÏÎ¿Îœ ÏÏ
-ÎœÏÎ¬ÎºÏÎ·. ÎÎµÏÎ¬
-+     ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ®ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎºÎ¬ÏÏ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 1.3.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 1.3:  ÎÎÎÎ¡ÎÎ©Î£Î ÎÎÎÎÎÎÎÎ¥ - ÎÎÎÎÎ¡ÎÎŠÎ
-+
-+   ** ÎÏÎ¿ ÎµÎ¯ÏÏÎµ ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ±ÏÎ®ÏÏÎµ  x  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ¿Îœ
-+      ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. ÎÎ¹Î± ÎœÎ± ÎŽÎ¹Î¿ÏÎžÏÏÎµÏÎµ ÏÎ± Î»Î¬ÎžÎ·, ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÎ¬ÎœÏ Î±ÏÏ
-+     ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÏÎ¿Ï
- ÎžÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯.
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ x Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ¿Îœ Î±ÎœÎµÏÎ¹ÎžÏÎŒÎ·ÏÎ¿ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±.
-+
-+  4. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 2 ÎŒÎ­ÏÏÎ¹ 4 ÎŒÎ­ÏÏÎ¹ Î· ÏÏÏÏÎ±ÏÎ· ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÏÏÏÎ®.
-+
-+---> The ccow jumpedd ovverr thhe mooon.
-+
-+  5. Î€ÏÏÎ± ÏÎ¿Ï
- Î· Î³ÏÎ±ÎŒÎŒÎ® ÎµÎ¯ÎœÎ±Î¹ ÏÏÏÏÎ®, ÏÎ·Î³Î±Î¯ÎœÏÎµ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 1.4.
-+
-+Î£ÎÎÎÎÎ©Î£Î: ÎÎ±ÎžÏÏ ÎŽÎ¹Î±ÏÏÎ­ÏÎµÏÎµ Î±Ï
-ÏÎ®Îœ ÏÎ·Îœ ÏÎµÏÎ¹Î®Î³Î·ÏÎ·, ÏÏÎ¿ÏÏÎ±ÎžÎ®ÏÏÎµ ÎœÎ± ÎŒÎ·Îœ
-+	  Î±ÏÎ¿ÎŒÎœÎ·ÎŒÎ¿ÎœÎµÏÎµÏÎµ, ÎŒÎ±ÎžÎ±Î¯ÎœÎµÏÎµ ÎŒÎµ ÏÎ· ÏÏÎ®ÏÎ·.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 1.4: ÎÎÎÎ¡ÎÎ©Î£Î ÎÎÎÎÎÎÎÎ¥ - Î ÎÎ¡ÎÎÎÎÎÎ
-+
-+ ** ÎÏÎ¿ ÎµÎ¯ÏÏÎµ ÏÎµ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ±ÏÎ®ÏÏÎµ  i  Î³Î¹Î± ÎœÎ± ÏÎ±ÏÎµÎŒÎ²Î¬Î»Î»ÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. ÎÎ¹Î± ÎœÎ± ÎºÎ¬ÎœÎµÏÎµ ÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î¯ÎŽÎ¹Î± ÎŒÎµ ÏÎ·Îœ ÎŽÎµÏÏÎµÏÎ·, ÎŒÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ
-+     ÎŽÏÎ¿ÎŒÎ­Î± ÏÎ¬ÎœÏ ÏÏÎ¿Îœ ÏÏÏÏÎ¿ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÎÎÎ€Î Î±ÏÏ ÏÏÎ¿Ï
- ÎžÎ± ÏÎ±ÏÎµÎŒÎ²Î»Î·ÎžÎµÎ¯ ÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿.
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ ÏÎ¿  i  ÎºÎ±Î¹ ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ ÏÎ¹Ï Î±ÏÎ±ÏÎ±Î¯ÏÎ·ÏÎµÏ ÏÏÎ¿ÏÎžÎ®ÎºÎµÏ.
-+
-+  4. ÎÎ±ÎžÏÏ ÎŽÎ¹Î¿ÏÎžÏÎœÎµÏÎµ ÎºÎ¬ÎžÎµ Î»Î¬ÎžÎ¿Ï ÏÎ±ÏÎ®ÏÏÎµ <ESC> Î³Î¹Î± ÎœÎ± ÎµÏÎ¹ÏÏÏÎ­ÏÎµÏÎµ ÏÏÎ·Îœ
-+     ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 2 ÎŒÎ­ÏÏÎ¹ 4 Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î¿ÏÎžÏÏÎµÏÎµ
-+     ÏÎ·Îœ ÏÏÏÏÎ±ÏÎ·.
-+
-+---> There is text misng this .
-+---> There is some text missing from this line.
-+
-+  5. ÎÏÎ±Îœ ÎµÎ¯ÏÏÎµ Î¬ÎœÎµÏÎ¿Î¹ ÎŒÎµ ÏÎ·Îœ ÏÎ±ÏÎµÎŒÎ²Î¿Î»Î® ÎºÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
- ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ·Îœ
-+     ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎµÏÎ¯Î»Î·ÏÎ·.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 1 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1. Î ÎŽÏÎ¿ÎŒÎ­Î±Ï ÎºÎ¹ÎœÎµÎ¯ÏÎ±Î¹ ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï ÎµÎ¯ÏÎµ ÏÎ± ÏÎ»Î®ÎºÏÏÎ± ÎŽÏÎ¿ÎŒÎ­Î± Î® ÏÎ± hjkl.
-+	 h (Î±ÏÎ¹ÏÏÎ­ÏÎ±)	j (ÎºÎ¬ÏÏ)	k (ÏÎ¬ÎœÏ)	l (ÎŽÎµÎŸÎ¹Î¬)
-+
-+  2. ÎÎ¹Î± ÎœÎ± ÎŒÏÎµÎ¯ÏÎµ ÏÏÎ¿Îœ Vim (Î±ÏÏ ÏÎ·Îœ ÏÏÎ¿ÏÏÎ¿ÏÎ® %) Î³ÏÎ¬ÏÏÎµ:  vim ÎÎ¡Î§ÎÎÎ <ENTER>
-+
-+  3. ÎÎ¹Î± ÎœÎ± Î²Î³ÎµÎ¯ÏÎµ Î³ÏÎ¬ÏÏÎµ:  <ESC>   :q!   <ENTER>   Î³Î¹Î± Î±ÏÏÏÏÎ¹ÏÎ· ÏÏÎœ Î±Î»Î»Î±Î³ÏÎœ.
-+		 Î Î³ÏÎ¬ÏÏÎµ:  <ESC>   :wq   <ENTER>   Î³Î¹Î± Î±ÏÎ¿ÎžÎ®ÎºÎµÏ
-ÏÎ· ÏÏÎœ Î±Î»Î»Î±Î³ÏÎœ.
-+
-+  4. ÎÎ¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ Î­ÎœÎ±Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÎµ
-+     ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ±ÏÎ®ÏÏÎµ:  x
-+
-+  5. ÎÎ¹Î± ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÎµÎ¯ÏÏÎµ ÏÎµ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· Î³ÏÎ¬ÏÏÎµ:
-+	 i     ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ ÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿	<ESC>
-+
-+Î£ÎÎÎÎÎ©Î£Î: Î Î±ÏÏÎœÏÎ±Ï <ESC> ÎžÎ± ÏÎ¿ÏÎ¿ÎžÎµÏÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· Î® ÎžÎ±
-+	  Î±ÎºÏ
-ÏÏÏÎµÏÎµ ÎŒÎ¯Î± Î±ÎœÎµÏÎ¹ÎžÏÎŒÎ·ÏÎ· ÎºÎ±Î¹ ÎŒÎµÏÎ¹ÎºÏÏ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎŒÎ­ÎœÎ· ÎµÎœÏÎ¿Î»Î®.
-+
-+Î€ÏÏÎ± ÏÏ
-ÎœÎµÏÎ¯ÏÏÎµ ÎŒÎµ ÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 2.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 ÎÎ¬ÎžÎ·ÎŒÎ± 2.1: ÎÎÎ€ÎÎÎÎ£ ÎÎÎÎÎ¡ÎÎŠÎÎ£
-+
-+	 ** ÎÏÎ¬ÏÏÎµ  dw  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÎŒÎ¯Î±Ï Î»Î­ÎŸÎ·Ï. **
-+
-+  1. Î Î±ÏÎ®ÏÏÎµ  <ESC>  Î³Î¹Î± ÎœÎ± Î²ÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÎµÎ¯ÏÏÎµ ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·.
-+
-+  2. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  3. Î Î·Î³Î±Î¯ÎœÎµÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ Î±ÏÏÎ® ÏÎ·Ï Î»Î­ÎŸÎ·Ï ÏÎ¿Ï
- ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯.
-+
-+  4. ÎÏÎ¬ÏÏÎµ  dw  Î³Î¹Î± ÎœÎ± ÎºÎ¬ÎœÎµÏÎµ ÏÎ·Îœ Î»Î­ÎŸÎ· ÎœÎ± ÎµÎŸÎ±ÏÎ±ÎœÎ¹ÏÏÎµÎ¯.
-+
-+Î£ÎÎÎÎÎ©Î£Î: Î€Î± Î³ÏÎ¬ÎŒÎŒÎ±ÏÎ± dw ÎžÎ± ÎµÎŒÏÎ±ÎœÎ¹ÏÏÎ¿ÏÎœ ÏÏÎ·Îœ ÏÎµÎ»ÎµÏ
-ÏÎ±Î¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·Ï Î¿ÎžÏÎœÎ·Ï ÏÏÎ¿
-+	  ÏÎ± ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³ÎµÎ¯ÏÎµ. ÎÎœ Î³ÏÎ¬ÏÎ±ÏÎµ ÎºÎ¬ÏÎ¹ Î»Î¬ÎžÎ¿Ï, ÏÎ±ÏÎ®ÏÏÎµ  <ESC>  ÎºÎ±Î¹
-+	  ÎŸÎµÎºÎ¹ÎœÎ®ÏÏÎµ Î±ÏÏ ÏÎ·Îœ Î±ÏÏÎ®.
-+
-+---> There are a some words fun that don't belong paper in this sentence.
-+
-+  5. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 3 ÎºÎ±Î¹ 4 ÎŒÎ­ÏÏÎ¹ Î· ÏÏÏÏÎ±ÏÎ· ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÏÏÏÎ® ÎºÎ±Î¹
-+     ÏÎ·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 2.2.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 2.2: Î ÎÎ¡ÎÎ£Î£ÎÎ€ÎÎ¡ÎÎ£ ÎÎÎ€ÎÎÎÎ£ ÎÎÎÎÎ¡ÎÎŠÎÎ£
-+
-+    ** Î Î»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ  d$  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï. **
-+
-+  1. Î Î±ÏÎ®ÏÏÎµ  <ESC>  Î³Î¹Î± ÎœÎ± Î²ÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÎµÎ¯ÏÏÎµ ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·.
-+
-+  2. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  3. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï ÏÏÏÏÎ®Ï Î³ÏÎ±ÎŒÎŒÎ®Ï (ÎÎÎ€Î ÏÎ·Îœ ÏÏÏÏÎ· . ).
-+
-+  4. Î Î±ÏÎ®ÏÏÎµ   d$   Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+
-+---> Somebody typed the end of this line twice. end of this line twice.
-+
-+  5. Î Î·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 2.3 Î³Î¹Î± ÎœÎ± ÎºÎ±ÏÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ¹ ÏÏ
-ÎŒÎ²Î±Î¯ÎœÎµÎ¹.
-+
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 2.3: Î ÎÎ¡Î ÎÎÎ€ÎÎÎ©Î ÎÎÎ ÎÎÎ€ÎÎÎÎÎÎÎÎ©Î
-+
-+
-+Î ÎŒÎ¿ÏÏÎ® ÏÎ·Ï ÎµÎœÏÎ¿Î»Î®Ï ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®Ï  d  ÎµÎ¯ÎœÎ±Î¹ ÏÏ ÎµÎŸÎ®Ï:
-+
-+	 [Î±ÏÎ¹ÎžÎŒÏÏ]   d   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿	Î	d   [Î±ÏÎ¹ÎžÎŒÏÏ]   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿
-+  ÎÏÎ¿Ï
-:
-+    Î±ÏÎ¹ÎžÎŒÏÏ - ÏÏÏÎµÏ ÏÎ¿ÏÎ­Ï ÎžÎ± ÎµÎºÏÎµÎ»ÎµÏÏÎµÎ¯ Î· ÎµÎœÏÎ¿Î»Î® (ÏÏÎ¿Î±Î¹ÏÎµÏÎ¹ÎºÏ, ÎµÎŸ' Î¿ÏÎ¹ÏÎŒÎ¿Ï=1).
-+    d - Î· ÎµÎœÏÎ¿Î»Î® ÏÎ·Ï ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®Ï.
-+    Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿ - ÏÎ¬ÎœÏ ÏÎµ ÏÎ¹ ÎžÎ± Î»ÎµÎ¹ÏÎ¿Ï
-ÏÎ³Î®ÏÎµÎ¹ Î· ÎµÎœÏÎ¿Î»Î® (ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î»Î¯ÏÏÎ±).
-+
-+  ÎÎ¯Î± ÎŒÎ¹ÎºÏÎ® Î»Î¯ÏÏÎ± Î±ÏÏ Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ±:
-+    w - Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î»Î­ÎŸÎ·Ï, ÏÎµÏÎ¹Î»Î±ÎŒÎ²Î¬ÎœÎ¿ÎœÏÎ±Ï ÏÎ¿ ÎŽÎ¹Î¬ÏÏÎ·ÎŒÎ±.
-+    e - Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î»Î­ÎŸÎ·Ï, Î§Î©Î¡ÎÎ£ ÏÎ¿ ÎŽÎ¹Î¬ÏÏÎ·ÎŒÎ±.
-+    $ - Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+
-+Î£ÎÎÎÎÎ©Î£Î:  ÎÎ¹Î± ÏÎ¿Ï
-Ï ÏÏÏÎ¿Ï
-Ï ÏÎ·Ï ÏÎµÏÎ¹ÏÎ­ÏÎµÎ¹Î±Ï, ÏÎ±ÏÏÎœÏÎ±Ï Î±ÏÎ»ÏÏ ÏÎ¿ Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÏÎ¿
-+	   ÎµÎ¯ÏÏÎµ ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÏÏÎ¯Ï ÎºÎ¬ÏÎ¿Î¹Î± ÎµÎœÏÎ¿Î»Î® ÎžÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ®ÏÎµÏÎµ
-+	   ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÏÏ ÎºÎ±ÎžÎ¿ÏÎ¯Î¶ÎµÏÎ±Î¹ ÏÏÎ·Îœ Î»Î¯ÏÏÎ± Î±ÎœÏÎ¹ÎºÎµÎ¹ÎŒÎ­ÎœÏÎœ.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+	       ÎÎ¬ÎžÎ·ÎŒÎ± 2.4: ÎÎÎ ÎÎÎÎÎ¡ÎÎ£Î Î£Î€ÎÎ 'ÎÎÎ€ÎÎÎ-ÎÎÎ€ÎÎÎÎÎÎÎÎ'
-+
-+	   ** Î Î»Î·ÎºÏÏÎ¿Î»Î¿Î³Î®ÏÏÎµ  dd  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ»Î· ÏÎ· Î³ÏÎ±ÎŒÎŒÎ®. **
-+
-+  ÎÎŸÎ±Î¹ÏÎ¯Î±Ï ÏÎ·Ï ÏÏ
-ÏÎœÏÏÎ·ÏÎ±Ï ÏÎ·Ï ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®Ï Î¿Î»ÏÎºÎ»Î·ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï, Î¿Î¹ ÏÏÎµÎŽÎ¹Î±ÏÏÎ­Ï
-+  ÏÎ¿Ï
- Vim Î±ÏÎ¿ÏÎ¬ÏÎ¹ÏÎ±Îœ ÏÏÎ¹ ÎžÎ± Î®ÏÎ±Îœ ÎµÏ
-ÎºÎ¿Î»ÏÏÎµÏÎ¿ ÎœÎ± Î³ÏÎ¬ÏÎµÏÎµ Î±ÏÎ»ÏÏ ÎŽÏÎ¿ d ÏÏÎ·
-+  ÏÎµÎ¹ÏÎ¬ Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ· ÎŽÎµÏÏÎµÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·Ï ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÏÎ¬ÏÎ·Ï.
-+  2. ÎÏÎ¬ÏÏÎµ  dd  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+  3. Î€ÏÏÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ·Îœ ÏÎ­ÏÎ±ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+  4. ÎÏÎ¬ÏÏÎµ  2dd  (ÎžÏ
-ÎŒÎ·ÎžÎµÎ¯ÏÎµ  Î±ÏÎ¹ÎžÎŒÏÏ-ÎµÎœÏÎ¿Î»Î®-Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿) Î³Î¹Î± ÎœÎ±
-+     ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÎŽÏÎ¿ Î³ÏÎ±ÎŒÎŒÎ­Ï.
-+
-+      1)  Roses are red,
-+      2)  Mud is fun,
-+      3)  Violets are blue,
-+      4)  I have a car,
-+      5)  Clocks tell time,
-+      6)  Sugar is sweet
-+      7)  And so are you.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 ÎÎ¬ÎžÎ·ÎŒÎ± 2.5: Î ÎÎÎ€ÎÎÎ ÎÎÎÎÎ¡ÎÎ£ÎÎ£
-+
-+	    ** Î Î±ÏÎ®ÏÏÎµ  u  Î³Î¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÎ¹Ï ÏÎµÎ»ÎµÏ
-ÏÎ±Î¯ÎµÏ ÎµÎœÏÎ¿Î»Î­Ï,
-+	       U Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î¿ÏÎžÏÏÎµÏÎµ ÏÎ»Î· ÏÎ· Î³ÏÎ±ÎŒÎŒÎ®. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ ---> ÎºÎ±Î¹
-+     ÏÎ¿ÏÎ¿ÎžÎµÏÎ®ÏÏÎµ ÏÎ¿Îœ ÏÎ¬ÎœÏ ÏÏÎ¿ ÏÏÏÏÎ¿ Î»Î¬ÎžÎ¿Ï.
-+  2. Î Î±ÏÎ®ÏÏÎµ  x  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ¿Îœ ÏÏÏÏÎ¿ Î±ÎœÎµÏÎ¹ÎžÏÎŒÎ·ÏÎ¿ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±.
-+  3. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ  u  Î³Î¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÎ·Îœ ÏÎµÎ»ÎµÏ
-ÏÎ±Î¯Î± ÎµÎºÏÎµÎ»ÎµÏÎŒÎ­ÎœÎ· ÎµÎœÏÎ¿Î»Î®.
-+  4. ÎÏ
-ÏÎ® ÏÎ· ÏÎ¿ÏÎ¬ ÎŽÎ¹Î¿ÏÎžÏÏÏÎµ ÏÎ»Î± ÏÎ± Î»Î¬ÎžÎ· ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® x.
-+  5. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ Î­ÎœÎ± ÎºÎµÏÎ±Î»Î±Î¯Î¿  U  Î³Î¹Î± ÎœÎ± ÎµÏÎ¹ÏÏÏÎ­ÏÎµÏÎµ ÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÏÎ·Îœ Î±ÏÏÎ¹ÎºÎ®
-+     ÏÎ·Ï ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ·.
-+  6. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ  u  ÎŒÎµÏÎ¹ÎºÎ­Ï ÏÎ¿ÏÎ­Ï Î³Î¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÎ·Îœ  U  ÎºÎ±Î¹
-+     ÏÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎµÏ ÎµÎœÏÎ¿Î»Î­Ï.
-+  7. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ CTRL-R (ÎºÏÎ±ÏÏÎœÏÎ±Ï ÏÎ±ÏÎ·ÎŒÎ­ÎœÎ¿ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ CTRL ÎºÎ±ÎžÏÏ ÏÎ±ÏÎ¬ÏÎµ ÏÎ¿ R)
-+     ÎŒÎµÏÎ¹ÎºÎ­Ï ÏÎ¿ÏÎ­Ï Î³Î¹Î± ÎœÎ± ÎµÏÎ±ÎœÎ±ÏÎ­ÏÎµÏÎµ ÏÎ¹Ï ÎµÎœÏÎ¿Î»Î­Ï (Î±ÎœÎ±Î¯ÏÎµÏÎ· ÏÏÎœ Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎœ).
-+
-+---> Fiix the errors oon thhis line and reeplace them witth undo.
-+
-+  8. ÎÏ
-ÏÎ­Ï ÎµÎ¯ÎœÎ±Î¹ ÏÎ¿Î»Ï ÏÏÎ®ÏÎ¹ÎŒÎµÏ ÎµÎœÏÎ¿Î»Î­Ï.  Î€ÏÏÎ± ÏÎ·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ·Îœ
-+     Î ÎµÏÎ¯Î»Î·ÏÎ· ÏÎ¿Ï
- ÎÎ±ÎžÎ®ÎŒÎ±ÏÎ¿Ï 2.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 2 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1. ÎÎ¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï Î»Î­ÎŸÎ·Ï Î³ÏÎ¬ÏÏÎµ:      dw
-+
-+  2. ÎÎ¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï Î³ÏÎ±ÎŒÎŒÎ®Ï Î³ÏÎ¬ÏÏÎµ:    d$
-+
-+  3. ÎÎ¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ Î¿Î»ÏÎºÎ»Î·ÏÎ· ÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î³ÏÎ¬ÏÏÎµ:    dd
-+
-+  4. Î ÎŒÎ¿ÏÏÎ® Î³Î¹Î± ÎŒÎ¯Î± ÎµÎœÏÎ¿Î»Î® ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎµÎ¯ÎœÎ±Î¹:
-+
-+      [Î±ÏÎ¹ÎžÎŒÏÏ]   ÎµÎœÏÎ¿Î»Î®   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿    Î    ÎµÎœÏÎ¿Î»Î®   [Î±ÏÎ¹ÎžÎŒÏÏ]   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿
-+     ÏÏÎ¿Ï
-:
-+       Î±ÏÎ¹ÎžÎŒÏÏ - ÏÏÏÎµÏ ÏÎ¿ÏÎ­Ï ÎœÎ± ÎµÏÎ±ÎœÎ±Î»Î·ÏÎžÎµÎ¯ Î· ÎµÎœÏÎ¿Î»Î®
-+       ÎµÎœÏÎ¿Î»Î® - ÏÎ¹ ÎœÎ± Î³Î¯ÎœÎµÎ¹, ÏÏÏÏ Î·  d  Î³Î¹Î± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®
-+       Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿ - ÏÎ¬ÎœÏ ÏÎµ ÏÎ¹ ÎœÎ± ÎµÎœÎµÏÎ³Î®ÏÎµÎ¹ Î· ÎµÎœÏÎ¿Î»Î®, ÏÏÏÏ  w  (Î»Î­ÎŸÎ·),
-+		     $ (ÏÎ­Î»Î¿Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï), ÎºÏÎ».
-+
-+  5. ÎÎ¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÏÎ¿Î·Î³Î¿ÏÎŒÎµÎœÎµÏ ÎµÎœÎ­ÏÎ³ÎµÎ¹ÎµÏ, ÏÎ±ÏÎ®ÏÏÎµ:        u   (ÏÎµÎ¶Ï u)
-+     ÎÎ¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÎ»ÎµÏ ÏÎ¹Ï Î±Î»Î»Î±Î³Î­Ï ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®, ÏÎ±ÏÎ®ÏÏÎµ:  U  (ÎºÎµÏÎ±Î»Î±Î¯Î¿ U)
-+     ÎÎ¹Î± ÎœÎ± Î±ÎœÎ±Î¹ÏÎ­ÏÎµÏÎµ ÏÎ¹Ï Î±ÎœÎ±Î¹ÏÎ­ÏÎµÎ¹Ï, ÏÎ±ÏÎ®ÏÏÎµ:               CTRL-R
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			ÎÎ¬ÎžÎ·ÎŒÎ± 3.1: Î ÎÎÎ€ÎÎÎ Î€ÎÎ ÎÎÎÎ€ÎÎ£ÎÎ£
-+
-+
-+  ** Î Î±ÏÎ®ÏÏÎµ  p  Î³Î¹Î± ÎœÎ± ÏÎ¿ÏÎ¿ÎžÎµÏÎ®ÏÎµÏÎµ ÏÎ·Îœ ÏÎµÎ»ÎµÏ
-ÏÎ±Î¯Î± ÎŽÎ¹Î±Î³ÏÎ±ÏÎ® ÎŒÎµÏÎ¬ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±.  **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·Ï ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î¿ÎŒÎ¬ÎŽÎ±Ï.
-+
-+  2. Î Î±ÏÎ®ÏÏÎµ  dd  Î³Î¹Î± ÎœÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ ÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÎºÎ±Î¹ ÎœÎ± ÏÎ·Îœ Î±ÏÎ¿ÎžÎ·ÎºÎµÏÏÎµÏÎµ ÏÎµ
-+     ÏÏÎ¿ÏÏÏÎ¹ÎœÎ® ÎŒÎœÎ®ÎŒÎ· ÏÎ¿Ï
- Vim.
-+
-+  3. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î ÎÎÎ© Î±ÏÏ ÎµÎºÎµÎ¯ ÏÎ¿Ï
- ÎžÎ± ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÎ¬ÎµÎ¹
-+     Î· ÎŽÎ¹Î±Î³ÏÎ±ÎŒÎŒÎ­ÎœÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+  4. ÎÏÎ¿ ÎµÎ¯ÏÏÎµ ÏÎµ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·, ÏÎ±ÏÎ®ÏÏÎµ  p  Î³Î¹Î± ÎœÎ± Î²Î¬Î»ÎµÏÎµ ÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+  5. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 2 Î­ÏÏ 4 Î³Î¹Î± ÎœÎ± Î²Î¬Î»ÎµÏÎµ ÏÎ»ÎµÏ ÏÎ¹Ï Î³ÏÎ±ÎŒÎŒÎ­Ï ÏÏÎ·
-+     ÏÏÏÏÎ® ÏÎµÎ¹ÏÎ¬.
-+
-+     d) Can you learn too?
-+     b) Violets are blue,
-+     c) Intelligence is learned,
-+     a) Roses are red,
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		      ÎÎ¬ÎžÎ·ÎŒÎ± 3.2: Î ÎÎÎ€ÎÎÎ ÎÎÎ€ÎÎÎÎ€ÎÎ£Î€ÎÎ£ÎÎ£
-+
-+
-+    ** Î Î±ÏÎ®ÏÏÎµ  r  ÎºÎ±Î¹ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ Î±Ï
-ÏÏÎœ ÏÎ¿Ï
- ÎµÎ¯ÎœÎ±Î¹
-+       ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± Î­ÏÏÎ¹ ÏÏÏÎµ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÎ¬ÎœÏ ÏÏÎ¿ ÏÏÏÏÎ¿ Î»Î¬ÎžÎ¿Ï.
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ  r  ÎºÎ±Î¹ ÎŒÎµÏÎ¬ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± Î¿ Î¿ÏÎ¿Î¯Î¿Ï ÎŽÎ¹Î¿ÏÎžÏÎœÎµÎ¹ ÏÎ¿ Î»Î¬ÎžÎ¿Ï.
-+
-+  4. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 2 ÎºÎ±Î¹ 3 ÎŒÎ­ÏÏÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÏÏÏÎ® Î· ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+--->  Whan this lime was tuoed in, someone presswd some wrojg keys!
-+--->  When this line was typed in, someone pressed some wrong keys!
-+
-+  5. Î€ÏÏÎ± ÏÎ·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 3.2.
-+
-+Î£ÎÎÎÎÎ©Î£Î: ÎÎ± ÎžÏ
-ÎŒÎ¬ÏÏÎµ ÏÏÎ¹ ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŒÎ±ÎžÎ±Î¯ÎœÎµÏÎµ ÎŒÎµ ÏÎ· ÏÏÎ®ÏÎ·, ÎºÎ±Î¹ ÏÏÎ¹ ÎŒÎµ
-+	  ÏÎ·Îœ Î±ÏÎ¿ÎŒÎœÎ·ÎŒÏÎœÎµÏ
-ÏÎ·.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  ÎÎ¬ÎžÎ·ÎŒÎ± 3.3: Î ÎÎÎ€ÎÎÎ ÎÎÎÎÎÎÎ£
-+
-+	   ** ÎÎ¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÏÎŒÎ®ÎŒÎ± Î® ÏÎ»Î· ÏÎ· Î»Î­ÎŸÎ·, ÏÎ±ÏÎ®ÏÏÎµ  cw  . **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. Î€Î¿ÏÎ¿ÎžÎµÏÎ®ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÎ¬ÎœÏ ÏÏÎ¿ u ÏÎ·Ï Î»Î­ÎŸÎ·Ï lubw.
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ  cw  ÎºÎ±Î¹ ÏÎ· ÏÏÏÏÎ® Î»Î­ÎŸÎ· (ÏÏÎ·Îœ ÏÎµÏÎ¯ÏÏÏÏÎ· Î±Ï
-ÏÎ®, Î³ÏÎ¬ÏÏÎµ  'ine'.)
-+
-+  4. Î Î±ÏÎ®ÏÏÎµ <ESC> ÎºÎ±Î¹ ÏÎ·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ¿ ÎµÏÏÎŒÎµÎœÎ¿ Î»Î¬ÎžÎ¿Ï (ÏÏÎ¿Îœ ÏÏÏÏÎ¿
-+     ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÏÏÎ¿Ï Î±Î»Î»Î±Î³Î®).
-+
-+  5. ÎÏÎ±ÎœÎ±Î»Î¬Î²ÎµÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 3 ÎºÎ±Î¹ 4 ÎŒÎ­ÏÏÎ¹Ï ÏÏÎ¿Ï
- Î· ÏÏÏÏÎ· ÏÏÏÏÎ±ÏÎ· ÎœÎ± ÎµÎ¯ÎœÎ±Î¹
-+     Î¯ÎŽÎ¹Î± ÎŒÎµ ÏÎ· ÎŽÎµÏÏÎµÏÎ·.
-+
-+---> This lubw has a few wptfd that mrrf changing usf the change command.
-+---> This line has a few words that need changing using the change command.
-+
-+Î Î±ÏÎ±ÏÎ·ÏÎµÎ¯ÏÏÎµ ÏÏÎ¹ Î·  cw  ÏÏÎ¹ ÎŒÏÎœÎ¿ Î±ÎœÏÎ¹ÎºÎ±ÎžÎ¹ÏÏÎ¬ÎµÎ¹ ÏÎ· Î»Î­ÎŸÎ·, Î±Î»Î»Î¬ ÏÎ±Ï ÎµÎ¹ÏÎ¬Î³ÎµÎ¹
-+ÎµÏÎ¯ÏÎ·Ï ÏÎµ ÏÎ±ÏÎµÎŒÎ²Î¿Î»Î®.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		     ÎÎ¬ÎžÎ·ÎŒÎ± 3.4: Î ÎÎ¡ÎÎ£Î£ÎÎ€ÎÎ¡ÎÎ£ ÎÎÎÎÎÎÎ£ ÎÎ c
-+
-+
-+  ** Î ÎµÎœÏÎ¿Î»Î® Î±Î»Î»Î±Î³Î®Ï ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎ±Î¹ ÎŒÎµ ÏÎ± Î¯ÎŽÎ¹Î± Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ± ÏÎ·Ï ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®Ï. **
-+
-+
-+  1. Î ÎµÎœÏÎ¿Î»Î® Î±Î»Î»Î±Î³Î®Ï ÎŽÎ¿Ï
-Î»ÎµÏÎµÎ¹ ÎŒÎµ ÏÎ¿Îœ Î¯ÎŽÎ¹Î¿ ÏÏÏÏÎ¿ ÏÏÏÏ Î· ÎŽÎ¹Î±Î³ÏÎ±ÏÎ®. Î ÎŒÎ¿ÏÏÎ® ÎµÎ¯ÎœÎ±Î¹:
-+
-+       [Î±ÏÎ¹ÎžÎŒÏÏ]   c   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿     Î     c   [Î±ÏÎ¹ÎžÎŒÏÏ]   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿
-+
-+  2. Î€Î± Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÎ¬Î»Î¹ ÏÎ± Î¯ÎŽÎ¹Î±, ÏÏÏÏ w (Î»Î­ÎŸÎ·), $ (ÏÎ­Î»Î¿Ï Î³ÏÎ±ÎŒÎŒÎ®Ï), ÎºÏÎ».
-+
-+  3. ÎÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  4. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÏÏÏÏÎ¿ Î»Î¬ÎžÎ¿Ï.
-+
-+  5. ÎÏÎ¬ÏÏÎµ  c$  Î³Î¹Î± ÎœÎ± ÎºÎ¬ÎœÎµÏÎµ ÏÎ¿ Ï
-ÏÏÎ»Î¿Î¹ÏÎ¿ ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï Î¯ÎŽÎ¹Î¿ ÎŒÎµ ÏÎ· ÎŽÎµÏÏÎµÏÎ·
-+     ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ <ESC>.
-+
-+---> The end of this line needs some help to make it like the second.
-+---> The end of this line needs to be corrected using the  c$  command.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 3 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1. ÎÎ¹Î± ÎœÎ± ÏÎ¿ÏÎ¿ÎžÎµÏÎ®ÏÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÎ¿Ï
- ÎŒÏÎ»Î¹Ï Î­ÏÎµÎ¹ ÎŽÎ¹Î±Î³ÏÎ±ÏÎµÎ¯, ÏÎ±ÏÎ®ÏÏÎµ  p .
-+     ÎÏ
-ÏÏ ÏÎ¿ÏÎ¿ÎžÎµÏÎµÎ¯ ÏÎ¿ ÎŽÎ¹Î±Î³ÏÎ±ÎŒÎŒÎ­ÎœÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÎÎÎ€Î ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± (Î±Îœ ÎŽÎ¹Î±Î³ÏÎ¬ÏÏÎ·ÎºÎµ
-+     Î³ÏÎ±ÎŒÎŒÎ® ÎžÎ± ÏÎ¬ÎµÎ¹ ÎŒÎµÏÎ¬ ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±.
-+
-+  2. ÎÎ¹Î± ÎœÎ± Î±ÎœÏÎ¹ÎºÎ±ÏÎ±ÏÏÎ®ÏÎµÏÎµ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±, ÏÎ±ÏÎ®ÏÏÎµ  r
-+     ÎºÎ±Î¹ ÎŒÎµÏÎ¬ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÏÎ¿Ï
- ÎžÎ± Î±ÎœÏÎ¹ÎºÎ±ÏÎ±ÏÏÎ®ÏÎµÎ¹ ÏÎ¿Îœ Î±ÏÏÎ¹ÎºÏ.
-+
-+  3. Î ÎµÎœÏÎ¿Î»Î® Î±Î»Î»Î±Î³Î®Ï ÏÎ±Ï ÎµÏÎ¹ÏÏÎ­ÏÎµÎ¹ ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÏÎ¿ ÎºÎ±ÎžÎ¿ÏÎ¹ÏÎŒÎ­ÎœÎ¿ Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿
-+     Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ¿Ï
- Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿. Î .Ï. Î³ÏÎ¬ÏÏÎµ  cw  Î³Î¹Î± ÎœÎ±
-+     Î±Î»Î»Î¬ÎŸÎµÏÎµ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î»Î­ÎŸÎ·Ï, c$ Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ
-+     ÎŒÎ­ÏÏÎ¹ ÏÎ¿ ÏÎ­Î»Î¿Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+
-+  4. Î ÎŒÎ¿ÏÏÎ® Î³Î¹Î± ÏÎ·Îœ Î±Î»Î»Î±Î³Î® ÎµÎ¯ÎœÎ±Î¹:
-+
-+	 [Î±ÏÎ¹ÎžÎŒÏÏ]   c   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿     Î     c   [Î±ÏÎ¹ÎžÎŒÏÏ]   Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿
-+
-+Î€ÏÏÎ± ÏÏ
-ÎœÎµÏÎ¯ÏÏÎµ ÎŒÎµ ÏÎ¿ ÎµÏÏÎŒÎµÎœÎ¿ ÎŒÎ¬ÎžÎ·ÎŒÎ±.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		     ÎÎ¬ÎžÎ·ÎŒÎ± 4.1: ÎÎÎ£Î ÎÎÎ ÎÎÎ€ÎÎ£Î€ÎÎ£Î ÎÎ¡Î§ÎÎÎÎ¥
-+
-+
-+ ** Î Î±ÏÎ®ÏÏÎµ CTRL-g Î³Î¹Î± ÎœÎ± ÎµÎŒÏÎ±ÎœÎ¹ÏÏÎµÎ¯ Î· ÎžÎ­ÏÎ· ÏÎ±Ï ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎºÎ±Î¹ Î· ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ® ÏÎ¿Ï
-.
-+    Î Î±ÏÎ®ÏÏÎµ SHIFT-G Î³Î¹Î± ÎœÎ± ÏÎ¬ÏÎµ ÏÎµ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿. **
-+
-+  Î£Î·ÎŒÎµÎ¯ÏÏÎ·: ÎÎ¹Î±Î²Î¬ÏÏÎµ Î¿Î»ÏÎºÎ»Î·ÏÎ¿ ÏÎ¿ ÎŒÎ¬ÎžÎ·ÎŒÎ± ÏÏÎ¹Îœ ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ ÎºÎ¬ÏÎ¿Î¹Î¿ Î±ÏÏ ÏÎ± Î²Î®ÎŒÎ±ÏÎ±!!
-+
-+  1. ÎÏÎ±ÏÎ®ÏÏÎµ ÏÎ±ÏÎ·ÎŒÎ­ÎœÎ¿ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ Ctrl ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ  g . ÎÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ·Ï
-+     ÎžÎ± ÎµÎŒÏÎ±ÎœÎ¹ÏÏÎµÎ¯ ÏÏÎ¿ ÎºÎ¬ÏÏ ÎŒÎ­ÏÎ¿Ï ÏÎ·Ï ÏÎµÎ»Î¯ÎŽÎ±Ï ÎŒÎµ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
- ÎºÎ±Î¹ ÏÎ·
-+     Î³ÏÎ±ÎŒÎŒÎ® ÏÎ¿Ï
- ÎµÎ¯ÏÏÎµ. ÎÏ
-ÎŒÎ·ÎžÎµÎ¯ÏÎµ ÏÎ¿Îœ Î±ÏÎ¹ÎžÎŒÏ Î³ÏÎ±ÎŒÎŒÎ®Ï Î³Î¹Î± ÏÎ¿ ÎÎ®ÎŒÎ± 3.
-+
-+  2. Î Î±ÏÎ®ÏÏÎµ shift-G Î³Î¹Î± ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
-.
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ ÏÎ¿Îœ Î±ÏÎ¹ÎžÎŒÏ ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï ÏÎ¿Ï
- Î®ÏÎ±ÏÏÎ±Îœ ÎºÎ±Î¹ ÎŒÎµÏÎ¬ shift-G. ÎÏ
-ÏÏ ÎžÎ±
-+     ÏÎ±Ï ÎµÏÎ¹ÏÏÏÎ­ÏÎµÎ¹ ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ¿Ï
- Î®ÏÎ±ÏÏÎ±Îœ ÏÏÎ¹Îœ ÏÎ±ÏÎ®ÏÎµÏÎµ Î³Î¹Î± ÏÏÏÏÎ· ÏÎ¿ÏÎ¬ Ctrl-g.
-+     (ÎÏÎ±Îœ ÏÎ»Î·ÎºÏÏÎ¿Î»Î¿Î³ÎµÎ¯ÏÎµ ÏÎ¿Ï
-Ï Î±ÏÎ¹ÎžÎŒÎ¿ÏÏ, ÎÎÎ ÎžÎ± ÎµÎŒÏÎ±ÎœÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÏÎ·Îœ Î¿ÎžÏÎœÎ·).
-+
-+  4. ÎÎœ ÎœÎ¿Î¹ÏÎžÎµÏÎµ ÏÎ¯Î³Î¿Ï
-ÏÎ¿Ï Î³Î¹Î± Î±Ï
-ÏÏ, ÎµÎºÏÎµÎ»Î­ÏÏÎµ ÏÎ± Î²Î®ÎŒÎ±ÏÎ± 1 Î­ÏÏ 3.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			ÎÎ¬ÎžÎ·ÎŒÎ± 4.2: Î ÎÎÎ€ÎÎÎ ÎÎÎÎÎÎ€ÎÎ£ÎÎ£
-+
-+
-+	  ** Î Î±ÏÎ®ÏÏÎµ   /   Î±ÎºÎ¿Î»Î¿Ï
-ÎžÎ¿ÏÎŒÎµÎœÎ¿ Î±ÏÏ ÏÎ· ÏÏÎ¬ÏÎ· ÏÎ¿Ï
- ÏÎ¬ÏÎœÎµÏÎµ. **
-+
-+  1. Î£Îµ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ±ÏÎ®ÏÏÎµ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±  / . Î Î±ÏÎ±ÏÎ·ÏÎ®ÏÏÎµ ÏÏÎ¹ Î±Ï
-ÏÏÏ ÎºÎ±Î¹
-+     Î¿ ÎŽÏÎ¿ÎŒÎ­Î±Ï ÎµÎŒÏÎ±ÎœÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÏÎ¿ ÎºÎ¬ÏÏ ÎŒÎ­ÏÎ¿Ï ÏÎ·Ï Î¿ÎžÏÎœÎ·Ï ÏÏÏÏ ÎŒÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î®  : .
-+
-+  2. Î€ÏÏÎ± Î³ÏÎ¬ÏÏÎµ 'errroor' <ENTER>. ÎÏ
-ÏÎ® ÎµÎ¯ÎœÎ±Î¹ Î· Î»Î­ÎŸÎ· ÏÎ¿Ï
- ÎžÎ­Î»ÎµÏÎµ ÎœÎ± ÏÎ¬ÎŸÎµÏÎµ.
-+
-+  3. ÎÎ¹Î± ÎœÎ± ÏÎ¬ÎŸÎµÏÎµ ÎŸÎ±ÎœÎ¬ Î³Î¹Î± ÏÎ·Îœ Î¯ÎŽÎ¹Î± ÏÏÎ¬ÏÎ·, ÏÎ±ÏÎ®ÏÏÎµ Î±ÏÎ»ÏÏ  n .
-+     ÎÎ¹Î± ÎœÎ± ÏÎ¬ÎŸÎµÏÎµ ÏÎ·Îœ Î¯ÎŽÎ¹Î± ÏÏÎ¬ÏÎ· ÏÏÎ·Îœ Î±ÎœÏÎ¯ÎžÎµÏÎ· ÎºÎ±ÏÎµÏÎžÏ
-ÎœÏÎ·, ÏÎ±ÏÎ®ÏÏÎµ  Shift-N .
-+
-+  4. ÎÎœ ÎžÎ­Î»ÎµÏÎµ ÎœÎ± ÏÎ¬ÎŸÎµÏÎµ Î³Î¹Î± ÎŒÎ¯Î± ÏÏÎ¬ÏÎ· ÏÏÎ¿Ï ÏÎ± ÏÎ¯ÏÏ, ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÏÎµ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î®  ?  Î±ÎœÏÎ¯ ÏÎ·Ï  / .
-+
-+---> ÎÏÎ±Îœ Î· Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ· ÏÏÎ¬ÏÎµÎ¹ ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
- ÎžÎ± ÏÏ
-ÎœÎµÏÎ¯ÏÎµÎ¹ Î±ÏÏ ÏÎ·Îœ Î±ÏÏÎ®.
-+
-+  "errroor" is not the way to spell error;  errroor is an error.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 4.3: ÎÎ¥Î¡ÎÎ£Î Î€ÎÎÎ¡ÎÎÎ£Î€Î©Î Î ÎÎ¡ÎÎÎÎÎ£ÎÎ©Î
-+
-+
-+	  ** Î Î±ÏÎ®ÏÏÎµ   %   Î³Î¹Î± ÎœÎ± Î²ÏÎµÎ¯ÏÎµ ÏÎ·Îœ Î±ÎœÏÎ¯ÏÏÎ¿Î¹ÏÎ· ), ], Î® } . **
-+
-+  1. Î€Î¿ÏÎ¿ÎžÎµÏÎ®ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÎµ ÎºÎ¬ÏÎ¿Î¹Î± (, [, Î® { ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ®
-+     ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±  % .
-+
-+  3. Î ÎŽÏÎ¿ÎŒÎ­Î±Ï ÎžÎ± ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎ¯ÎœÎ±Î¹ ÏÏÎ·Îœ Î±ÎœÏÎ¯ÏÏÎ¿Î¹ÏÎ· ÏÎ±ÏÎ­ÎœÎžÎµÏÎ· Î® Î±Î³ÎºÏÎ»Î·.
-+
-+  4. Î Î±ÏÎ®ÏÏÎµ  %  Î³Î¹Î± ÎœÎ± ÎŒÎµÏÎ±ÎºÎ¹ÎœÎ®ÏÎµÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÎ¯ÏÏ ÏÏÎ·Îœ ÏÏÏÏÎ· Î±Î³ÎºÏÎ»Î·
-+    (ÏÎ¿Ï
- Î¶ÎµÏ
-Î³Î±ÏÎ¹Î¿Ï).
-+
-+---> This ( is a test line with ('s, ['s ] and {'s } in it. ))
-+
-+Î£ÎÎÎÎÎ©Î£Î: ÎÏ
-ÏÏ ÎµÎ¯ÎœÎ±Î¹ ÏÎ¿Î»Ï ÏÏÎ®ÏÎ¹ÎŒÎ¿ ÏÏÎ·Îœ Î±ÏÎ¿ÏÏÎ±Î»ÎŒÎ¬ÏÏÏÎ· ÎµÎœÏÏ ÏÏÎ¿Î³ÏÎ¬ÎŒÎŒÎ±ÏÎ¿Ï
-+	  ÎŒÎµ ÎŒÎ· ÏÎ±Î¹ÏÎ¹Î±ÏÏÎ­Ï ÏÎ±ÏÎµÎœÎžÎ­ÏÎµÎ¹Ï!
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		    ÎÎ¬ÎžÎ·ÎŒÎ± 4.4: ÎÎÎÎ£ Î€Î¡ÎÎ ÎÎ£ ÎÎÎ ÎÎÎÎÎÎ ÎÎÎÎ©Î
-+
-+
-+       ** ÎÏÎ¬ÏÏÎµ  :s/old/new/g  Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÏÎ¿ 'new' ÎŒÎµ ÏÎ¿ 'old'. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. ÎÏÎ¬ÏÏÎµ  :s/thee/the <ENTER> . Î£Î·ÎŒÎµÎ¹ÏÏÏÎµ ÏÏÎ¹ Î±Ï
-ÏÎ® Î· ÎµÎœÏÎ¿Î»Î® Î±Î»Î»Î¬Î¶ÎµÎ¹ ÎŒÏÎœÎ¿
-+     ÏÎ·Îœ ÏÏÏÏÎ· ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ· ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+  3. Î€ÏÏÎ± Î³ÏÎ¬ÏÏÎµ   :s/thee/the/g    ÎµÎœÎœÎ¿ÏÎœÏÎ±Ï Î³ÎµÎœÎ¹ÎºÎ® Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÏÎ·
-+     Î³ÏÎ±ÎŒÎŒÎ®. ÎÏ
-ÏÏ Î±Î»Î»Î¬Î¶ÎµÎ¹ ÏÎ»ÎµÏ ÏÎ¹Ï ÎµÎŒÏÎ±ÎœÎ¯ÏÎµÎ¹Ï ÎµÏÎ¯ ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+
-+---> thee best time to see thee flowers is in thee spring.
-+
-+  4. ÎÎ¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÎºÎ¬ÎžÎµ ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ· ÎŒÎ¯Î±Ï ÏÏ
-ÎŒÎ²Î¿Î»Î¿ÏÎµÎ¹ÏÎ¬Ï ÎŒÎµÏÎ±ÎŸÏ ÎŽÏÎ¿ Î³ÏÎ±ÎŒÎŒÏÎœ,
-+     Î³ÏÎ¬ÏÏÎµ   :#,#s/old/new/g   ÏÏÎ¿Ï
- #,# Î¿Î¹ Î±ÏÎ¹ÎžÎŒÎ¿Î¯ ÏÏÎœ ÎŽÏÎ¿ Î³ÏÎ±ÎŒÎŒÏÎœ.
-+     ÎÏÎ¬ÏÏÎµ   :%s/old/new/g     Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÎºÎ¬ÎžÎµ ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ· ÏÎµ ÏÎ»Î¿ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿.
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 4 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1. Î€Î¿  Ctrl-g  ÎµÎŒÏÎ±ÎœÎ¯Î¶ÎµÎ¹ ÏÎ· ÎžÎ­ÏÎ· ÏÎ±Ï ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎºÎ±Î¹ ÏÎ·Îœ ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ® ÏÎ¿Ï
-.
-+     Î€Î¿  Shift-G  ÏÎ·Î³Î±Î¯ÎœÎµÎ¹ ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
-. ÎÎœÎ±Ï Î±ÏÎ¹ÎžÎŒÏÏ Î³ÏÎ±ÎŒÎŒÎ®Ï
-+     Î±ÎºÎ¿Î»Î¿Ï
-ÎžÎ¿ÏÎŒÎµÎœÎ¿Ï Î±ÏÏ  Shift-G  ÏÎ·Î³Î±Î¯ÎœÎµÎ¹ ÏÎµ ÎµÎºÎµÎ¯ÎœÎ· ÏÎ· Î³ÏÎ±ÎŒÎŒÎ®.
-+
-+  2. ÎÏÎ¬ÏÎ¿ÎœÏÎ±Ï  /  Î±ÎºÎ¿Î»Î¿Ï
-ÎžÎ¿ÏÎŒÎµÎœÎ¿ Î±ÏÏ ÎŒÎ¯Î± ÏÏÎ¬ÏÎ· ÏÎ¬ÏÎœÎµÎ¹ ÏÏÎ¿Ï ÏÎ± ÎÎ Î¡ÎÎ£Î€Î Î³Î¹Î±
-+     ÏÎ· ÏÏÎ¬ÏÎ·. ÎÏÎ¬ÏÎ¿ÎœÏÎ±Ï  ?  Î±ÎºÎ¿Î»Î¿Ï
-ÎžÎ¿ÏÎŒÎµÎœÎ¿ Î±ÏÏ ÎŒÎ¯Î± ÏÏÎ¬ÏÎ· ÏÎ¬ÏÎœÎµÎ¹ ÏÏÎ¿Ï ÏÎ± Î ÎÎ£Î©
-+     Î³Î¹Î± ÏÎ· ÏÏÎ¬ÏÎ·. ÎÎµÏÎ¬ Î±ÏÏ ÎŒÎ¯Î± Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ· ÏÎ±ÏÎ®ÏÏÎµ  n  Î³Î¹Î± ÎœÎ± Î²ÏÎµÎ¯ÏÎµ ÏÎ·Îœ
-+     ÎµÏÏÎŒÎµÎœÎ· ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ· ÏÏÎ¿Ï ÏÎ·Îœ Î¯ÎŽÎ¹Î± ÎºÎ±ÏÎµÏÎžÏ
-ÎœÏÎ· Î®  Shift-N  Î³Î¹Î± ÎœÎ± ÏÎ¬ÎŸÎµÏÎµ
-+     ÏÏÎ¿Ï ÏÎ·Îœ Î±ÎœÏÎ¯ÎžÎµÏÎ· ÎºÎ±ÏÎµÏÎžÏ
-ÎœÏÎ·.
-+
-+  3. Î Î±ÏÏÎœÏÎ±Ï  %  ÏÏÎ¿ Î¿ ÎŽÏÎ¿ÎŒÎ­Î±Ï ÎµÎ¯ÎœÎ±Î¹ ÏÎ¬ÎœÏ ÏÎµ ÎŒÎ¯Î± (,),[,],{, Î® }  ÎµÎœÏÎ¿ÏÎ¯Î¶ÎµÎ¹
-+     ÏÎ¿ Î±ÎœÏÎ¯ÏÏÎ¿Î¹ÏÎ¿ ÏÎ±Î¯ÏÎ¹ ÏÎ¿Ï
- Î¶ÎµÏ
-Î³Î±ÏÎ¹Î¿Ï.
-+
-+  4. ÎÎ¹Î± Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎŒÎµ new ÏÎ¿Ï
- ÏÏÏÏÎ¿Ï
- old ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î³ÏÎ¬ÏÏÎµ  :s/old/new
-+     ÎÎ¹Î± Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎŒÎµ new ÏÎ»ÏÎœ ÏÏÎœ 'old' ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î³ÏÎ¬ÏÏÎµ  :s/old/new/g
-+     ÎÎ¹Î± Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÏÎ¬ÏÎµÏÎœ ÎŒÎµÏÎ±ÎŸÏ ÎŽÏÎ¿ # Î³ÏÎ±ÎŒÎŒÏÎœ Î³ÏÎ¬ÏÏÎµ      :#,#s/old/new/g
-+     ÎÎ¹Î± Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÏÎ»ÏÎœ ÏÏÎœ ÎµÎŒÏÎ±ÎœÎ¯ÏÎµÏÎœ ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î³ÏÎ¬ÏÏÎµ    :%s/old/new/g
-+     ÎÎ¹Î± ÎµÏÏÏÎ·ÏÎ· ÎµÏÎ¹Î²ÎµÎ²Î±Î¯ÏÏÎ·Ï ÎºÎ¬ÎžÎµ ÏÎ¿ÏÎ¬ ÏÏÎ¿ÏÎžÎ­ÏÏÎµ Î­ÎœÎ± 'c'       "%s/old/new/gc
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  ÎÎ¬ÎžÎ·ÎŒÎ± 5.1: Î Î©Î£ ÎÎÎ€ÎÎÎ© ÎÎÎ ÎÎÎ©Î€ÎÎ¡ÎÎÎ ÎÎÎ€ÎÎÎ
-+
-+
-+** ÎÏÎ¬ÏÏÎµ  :!  Î±ÎºÎ¿Î»Î¿Ï
-ÎžÎ¿ÏÎŒÎµÎœÎ¿ Î±ÏÏ ÎŒÎ¯Î± ÎµÎŸÏÏÎµÏÎ¹ÎºÎ® ÎµÎœÏÎ¿Î»Î® Î³Î¹Î± ÎœÎ± ÏÎ·Îœ ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ. **
-+
-+  1. Î Î±ÏÎ®ÏÏÎµ ÏÎ·Îœ Î¿Î¹ÎºÎµÎ¯Î± ÎµÎœÏÎ¿Î»Î®  :  Î³Î¹Î± ÎœÎ± ÎžÎ­ÏÎµÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÎºÎ¬ÏÏ ÎŒÎ­ÏÎ¿Ï
-+     ÏÎ·Ï Î¿ÎžÏÎœÎ·Ï. ÎÏ
-ÏÏ ÏÎ±Ï ÎµÏÎ¹ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎŽÏÏÎµÏÎµ ÎŒÎ¯Î± ÎµÎœÏÎ¿Î»Î®.
-+
-+  2. Î€ÏÏÎ± ÏÎ±ÏÎ®ÏÏÎµ  ÏÎ¿  !  (ÎžÎ±Ï
-ÎŒÎ±ÏÏÎ¹ÎºÏ). ÎÏ
-ÏÏ ÏÎ±Ï ÎµÏÎ¹ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ
-+     Î¿ÏÎ¿Î¹Î±ÎŽÎ®ÏÎ¿ÏÎµ ÎµÎŸÏÏÎµÏÎ¹ÎºÎ® ÎµÎœÏÎ¿Î»Î® ÏÎ¿Ï
- ÏÎ»Î¿Î¹Î¿Ï.
-+
-+  3. Î£Î±Îœ ÏÎ±ÏÎ¬ÎŽÎµÎ¹Î³ÎŒÎ± Î³ÏÎ¬ÏÏÎµ  ls  ÎŒÎµÏÎ¬ Î±ÏÏ ÏÎ¿ ! ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ <ENTER>. ÎÏ
-ÏÏ ÎžÎ±
-+     ÏÎ±Ï ÎµÎŒÏÎ±ÎœÎ¯ÏÎµÎ¹ ÎŒÎ¯Î± Î»Î¯ÏÏÎ± ÏÎ¿Ï
- ÎºÎ±ÏÎ±Î»ÏÎ³Î¿Ï
- ÏÎ±Ï, Î±ÎºÏÎ¹Î²ÏÏ ÏÎ±Îœ ÎœÎ± Î®ÏÎ±ÏÏÎ±Îœ ÏÏÎ·Îœ
-+     ÏÏÎ¿ÏÏÎ¿ÏÎ® ÏÎ¿Ï
- ÏÎ»Î¿Î¹Î¿Ï. Î ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÏÎµ  :!dir  Î±Îœ ÏÎ¿ ls ÎŽÎµÎœ ÎŽÎ¿Ï
-Î»ÎµÏÎµÎ¹.
-+
-+---> Î£Î·ÎŒÎµÎ¯ÏÏÎ·: ÎÎ¯ÎœÎ±Î¹ ÎŽÏ
-ÎœÎ±ÏÏÎœ ÎœÎ± ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ Î¿ÏÎ¿Î¹Î±ÎŽÎ®ÏÎ¿ÏÎµ ÎµÎŸÏÏÎµÏÎ¹ÎºÎ® ÎµÎœÏÎ¿Î»Î®
-+     ÎŒÎµ Î±Ï
-ÏÏÎœ ÏÎ¿Îœ ÏÏÏÏÎ¿.
-+
-+---> Î£Î·ÎŒÎµÎ¯ÏÏÎ·: ÎÎ»ÎµÏ Î¿Î¹ ÎµÎœÏÎ¿Î»Î­Ï  :  ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÎµÏÎŒÎ±ÏÎ¯Î¶Î¿ÎœÏÎ±Î¹ ÏÎ±ÏÏÎœÏÎ±Ï ÏÎ¿ <ENTER>.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		 ÎÎ¬ÎžÎ·ÎŒÎ± 5.2: Î ÎÎ¡ÎÎ£Î£ÎÎ€ÎÎ¡Î Î ÎÎ¡Î ÎÎÎÎ¡ÎÎŠÎÎ£ ÎÎ¡Î§ÎÎÎ©Î
-+
-+
-+   ** ÎÎ¹Î± ÎœÎ± ÏÏÏÎµÏÎµ ÏÎ¹Ï Î±Î»Î»Î¬Î³ÎµÏ ÏÎ¿Ï
- ÎºÎ¬ÎœÎ±ÏÎµ ÏÏÎ¿ Î±ÏÏÎµÎ¯Î¿, Î³ÏÎ¬ÏÏÎµ  :w ÎÎ¡Î§ÎÎÎ.  **
-+
-+  1. ÎÏÎ¬ÏÏÎµ  :!dir  Î®  :!ls  Î³Î¹Î± ÎœÎ± ÏÎ¬ÏÎµÏÎµ ÎŒÎ¯Î± Î»Î¯ÏÏÎ± ÏÎ¿Ï
- ÎºÎ±ÏÎ±Î»ÏÎ³Î¿Ï
- ÏÎ±Ï.
-+     ÎÎŽÎ· ÎŸÎ­ÏÎµÏÎµ ÏÏÎ¹ ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÎ±ÏÎ®ÏÎµÏÎµ <ENTER> ÎŒÎµÏÎ¬ Î±ÏÏ Î±Ï
-ÏÏ.
-+
-+  2. ÎÎ¹Î±Î»Î­ÎŸÏÎµ Î­ÎœÎ± ÏÎœÎ¿ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
- ÏÎ¿Ï
- ÎŽÎµÎœ Ï
-ÏÎ¬ÏÏÎµÎ¹ Î±ÎºÏÎŒÎ±, ÏÏÏÏ ÏÎ¿ TEST.
-+
-+  3. Î€ÏÏÎ± Î³ÏÎ¬ÏÏÎµ:  :w TEST  (ÏÏÎ¿Ï
- TEST ÎµÎ¯ÎœÎ±Î¹ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
- ÏÎ¿Ï
- ÎŽÎ¹Î±Î»Î­ÎŸÎ±ÏÎµ).
-+
-+  4. ÎÏ
-ÏÏ ÏÏÎ¶ÎµÎ¹ ÏÎ»Î¿ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ (vim Tutor) ÎŒÎµ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± TEST. ÎÎ¹Î± ÎœÎ± ÏÎ¿
-+     ÎµÏÎ±Î»Î·ÎžÎµÏÏÎµÏÎµ, Î³ÏÎ¬ÏÏÎµ ÎŸÎ±ÎœÎ¬  :!dir Î³Î¹Î± ÎœÎ± ÎŽÎµÎ¯ÏÎµ ÏÎ¿Îœ ÎºÎ±ÏÎ¬Î»Î¿Î³Ï ÏÎ±Ï.
-+
-+---> Î£Î·ÎŒÎµÎ¹ÏÏÏÎµ ÏÏÎ¹ Î±Îœ Î²Î³Î±Î¯ÎœÎ±ÏÎµ Î±ÏÏ ÏÎ¿Îœ Vim ÎºÎ±Î¹ ÎŒÏÎ±Î¯ÎœÎ±ÏÎµ ÎŸÎ±ÎœÎ¬ ÎŒÎµ ÏÎ¿ ÏÎœÎ¿ÎŒÎ±
-+     Î±ÏÏÎµÎ¯Î¿Ï
- TEST, ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎžÎ± Î®ÏÎ±Îœ Î±ÎºÏÎ¹Î²Î­Ï Î±ÎœÏÎ¯Î³ÏÎ±ÏÎ¿ ÏÎ¿Ï
- tutor ÏÏÎ±Îœ ÏÎ¿ ÏÏÏÎ±ÏÎµ.
-+
-+  5. Î€ÏÏÎ± ÎŽÎ¹Î±Î³ÏÎ¬ÏÏÎµ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î³ÏÎ¬ÏÎ¿ÎœÏÎ±Ï (MS-DOS):      :!del TEST
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		     ÎÎ¬ÎžÎ·ÎŒÎ± 5.3: ÎÎ ÎÎÎÎÎ€ÎÎÎ ÎÎÎ€ÎÎÎ ÎÎÎÎ¡ÎÎŠÎÎ£
-+
-+
-+	  ** ÎÎ¹Î± ÎœÎ± ÏÏÏÎµÏÎµ ÏÎŒÎ®ÎŒÎ± ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
-, Î³ÏÎ¬ÏÏÎµ  :#,# w ÎÎ¡Î§ÎÎÎ **
-+
-+  1. ÎÎ»Î»Î· ÎŒÎ¹Î± ÏÎ¿ÏÎ¬, Î³ÏÎ¬ÏÏÎµ  :!dir  Î®  :!ls  Î³Î¹Î± ÎœÎ± ÏÎ¬ÏÎµÏÎµ ÎŒÎ¯Î± Î»Î¯ÏÏÎ± Î±ÏÏ ÏÎ¿Îœ
-+     ÎºÎ±ÏÎ¬Î»Î¿Î³Ï ÏÎ±Ï ÎºÎ±Î¹ ÎŽÎ¹Î±Î»Î­ÎŸÏÎµ Î­ÎœÎ± ÎºÎ±ÏÎ¬Î»Î»Î·Î»Î¿ ÏÎœÎ¿ÎŒÎ± Î±ÏÏÎµÎ¯Î¿Ï
- ÏÏÏÏ ÏÎ¿ TEST.
-+
-+  2. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÏÎ¬ÎœÏ ÎŒÎ­ÏÎ¿Ï Î±Ï
-ÏÎ®Ï ÏÎ·Ï ÏÎµÎ»Î¯ÎŽÎ±Ï ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ
-+     Ctrl-g  Î³Î¹Î± ÎœÎ± Î²ÏÎµÎ¯ÏÎµ ÏÎ¿Îœ Î±ÏÎ¹ÎžÎŒÏ Î±Ï
-ÏÎ®Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+     ÎÎ ÎÎ¥ÎÎÎ£Î€Î ÎÎ¥Î€ÎÎ Î€ÎÎ ÎÎ¡ÎÎÎÎ!
-+
-+  3. Î€ÏÏÎ± ÏÎ·Î³Î±Î¯ÎœÎµÏÎµ ÏÏÎ¿ ÎºÎ¬ÏÏ ÎŒÎ­ÏÎ¿Ï ÏÎ·Ï ÏÎµÎ»Î¯ÎŽÎ±Ï ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ  Ctrl-g  ÎŸÎ±ÎœÎ¬.
-+     ÎÎ ÎÎ¥ÎÎÎ£Î€Î ÎÎÎ ÎÎ¥Î€ÎÎ Î€ÎÎ ÎÎ¡ÎÎÎÎ!
-+
-+  4. ÎÎ¹Î± ÎœÎ± ÏÏÏÎµÏÎµ ÎÎÎÎ Î­ÎœÎ± ÏÎŒÎ®ÎŒÎ± ÏÎµ Î±ÏÏÎµÎ¯Î¿, Î³ÏÎ¬ÏÏÎµ   :#,# w TEST
-+     ÏÏÎ¿Ï
- #,# Î¿Î¹ ÎŽÏÎ¿ Î±ÏÎ¹ÎžÎŒÎ¿Î¯ ÏÎ¿Ï
- Î±ÏÎ¿ÎŒÎœÎ·ÎŒÎ¿ÎœÎµÏÏÎ±ÏÎµ (ÏÎ¬ÎœÏ,ÎºÎ¬ÏÏ) ÎºÎ±Î¹ TEST ÏÎ¿
-+     ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
- ÏÎ±Ï.
-+
-+  5. ÎÎ±ÎœÎ¬, ÎŽÎµÎ¯ÏÎµ ÏÏÎ¹ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎµÎ¯ÎœÎ±Î¹ ÎµÎºÎµÎ¯ ÎŒÎµ ÏÎ·Îœ  :!dir Î±Î»Î»Î¬ ÎÎÎ ÏÎ¿ ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÏÎµ.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  ÎÎ¬ÎžÎ·ÎŒÎ± 5.4: ÎÎÎÎÎ€Î©ÎÎ€ÎÎ£ ÎÎÎ ÎÎÎ©ÎÎÎÎ€ÎÎ£ ÎÎ¡Î§ÎÎÎ
-+
-+
-+     ** ÎÎ¹Î± ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ± ÏÎµÏÎ¹ÎµÏÏÎŒÎµÎœÎ± ÎµÎœÏÏ Î±ÏÏÎµÎ¯Î¿Ï
-, Î³ÏÎ¬ÏÏÎµ   :r ÎÎ¡Î§ÎÎÎ **
-+
-+  1. ÎÏÎ¬ÏÏÎµ  :!dir  Î³Î¹Î± ÎœÎ± Î²ÎµÎ²Î±Î¹ÏÎžÎµÎ¯ÏÎµ ÏÏÎ¹ ÏÎ¿ TEST Ï
-ÏÎ¬ÏÏÎµÎ¹ Î±ÏÏ ÏÏÎ¹Îœ.
-+
-+  2. Î€Î¿ÏÎ¿ÎžÎµÏÎ®ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÏÎ¬ÎœÏ ÎŒÎ­ÏÎ¿Ï ÏÎ·Ï ÏÎµÎ»Î¯ÎŽÎ±Ï.
-+
-+Î£ÎÎÎÎÎ©Î£Î:  ÎÏÏÏÎ¿Ï
- ÎµÎºÏÎµÎ»Î­ÏÎµÏÎµ ÏÎ¿ ÎÎ®ÎŒÎ± 3 ÎžÎ± ÎŽÎµÎ¯ÏÎµ ÏÎ¿ ÎÎ¬ÎžÎ·ÎŒÎ± 5.3.
-+	   ÎÎµÏÎ¬ ÎºÎ¹ÎœÎ·ÎžÎµÎ¯ÏÎµ ÎÎÎ€Î© ÎŸÎ±ÎœÎ¬ ÏÏÎ¿Ï ÏÎ¿ ÎŒÎ¬ÎžÎ·ÎŒÎ± Î±Ï
-ÏÏ.
-+
-+  3. Î€ÏÏÎ± Î±ÎœÎ±ÎºÏÎ®ÏÏÎµ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÏÎ±Ï TEST ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î®  :r TEST
-+     ÏÏÎ¿Ï
- TEST ÎµÎ¯ÎœÎ±Î¹ ÏÎ¿ ÏÎœÎ¿ÎŒÎ± ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
-.
-+
-+Î£ÎÎÎÎÎ©Î£Î:  Î€Î¿ Î±ÏÏÎµÎ¯Î¿ ÏÎ¿Ï
- Î±ÎœÎ±ÎºÏÎ¬ÏÎµ ÏÎ¿ÏÎ¿ÎžÎµÏÎµÎ¯ÏÎ±Î¹ ÎŸÎµÎºÎ¹ÎœÏÎœÏÎ±Ï ÎµÎºÎµÎ¯ ÏÎ¿Ï
- Î²ÏÎ¯ÏÎºÎµÏÎ±Î¹
-+	   Î¿ ÎŽÏÎ¿ÎŒÎ­Î±Ï.
-+
-+  4. ÎÎ¹Î± ÎœÎ± ÎµÏÎ±Î»Î·ÎžÎµÏÏÎµÏÎµ ÏÏÎ¹ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ Î±ÎœÎ±ÎºÏÎ®ÎžÎ·ÎºÎµ, ÏÎ¯ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎºÎ±Î¹
-+     ÏÎ±ÏÎ±ÏÎ·ÏÎ®ÏÏÎµ ÏÏÎ¹ Ï
-ÏÎ¬ÏÏÎ¿Ï
-Îœ ÏÏÏÎ± ÎŽÏÎ¿ Î±ÎœÏÎ¯Î³ÏÎ±ÏÎ± ÏÎ¿Ï
- ÎÎ±ÎžÎ®ÎŒÎ±ÏÎ¿Ï 5.3, ÏÎ¿
-+     Î±ÏÏÎ¹ÎºÏ ÎºÎ±Î¹ Î· Î­ÎºÎŽÎ¿ÏÎ· ÏÎ¿Ï
- Î±ÏÏÎµÎ¯Î¿Ï
-.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 5 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1.  :!ÎµÎœÏÎ¿Î»Î®  ÎµÎºÏÎµÎ»ÎµÎ¯ ÎŒÎ¯Î± ÎµÎŸÏÏÎµÏÎ¹ÎºÎ® ÎµÎœÏÎ¿Î»Î®.
-+
-+      ÎÎµÏÎ¹ÎºÎ¬ ÏÏÎ®ÏÎ¹ÎŒÎ± ÏÎ±ÏÎ±ÎŽÎµÎ¯Î³ÎŒÎ±ÏÎ± ÎµÎ¯ÎœÎ±Î¹ (MS-DOS):
-+      :!dir            - ÎµÎŒÏÎ¬ÎœÎ¹ÏÎ· Î»Î¯ÏÏÎ±Ï ÎµÎœÏÏ ÎºÎ±ÏÎ±Î»ÏÎ³Î¿Ï
-.
-+      :!del ÎÎ¡Î§ÎÎÎ     - ÎŽÎ¹Î±Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿ ÎÎ¡Î§ÎÎÎ.
-+
-+  2.  :w ÎÎ¡Î§ÎÎÎ   Î³ÏÎ¬ÏÎµÎ¹ ÏÎ¿ ÏÏÎ­ÏÏÎœ Î±ÏÏÎµÎ¯Î¿ ÏÎ¿Ï
- Vim ÏÏÎ¿ ÎŽÎ¯ÏÎºÎ¿ ÎŒÎµ ÏÎœÎ¿ÎŒÎ± ÎÎ¡Î§ÎÎÎ.
-+
-+  3.  :#,#w ÎÎ¡Î§ÎÎÎ   ÏÏÎ¶ÎµÎ¹ ÏÎ¹Ï Î³ÏÎ±ÎŒÎŒÎ­Ï Î±ÏÏ # ÎŒÎ­ÏÏÎ¹ # ÏÏÎ¿ ÎÎ¡Î§ÎÎÎ.
-+
-+  4.  :r ÎÎ¡Î§ÎÎÎ  Î±ÎœÎ±ÎºÏÎµÎ¯ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎŽÎ¯ÏÎºÎ¿Ï
- ÎÎ¡Î§ÎÎÎ ÎºÎ±Î¹ ÏÎ¿ ÏÎ±ÏÎµÎŒÎ²Î¬Î»Î»ÎµÎ¹ ÎŒÎ­ÏÎ±
-+      ÏÏÎ¿ ÏÏÎ­ÏÎ¿Îœ Î±ÏÏÎµÎ¯Î¿ ÎŒÎµÏÎ¬ Î±ÏÏ ÏÎ· ÎžÎ­ÏÎ· ÏÎ¿Ï
- ÎŽÏÎ¿ÎŒÎ­Î±.
-+
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			ÎÎ¬ÎžÎ·ÎŒÎ± 6.1: Î ÎÎÎ€ÎÎÎ ÎÎÎÎÎÎÎÎ€ÎÎ£
-+
-+
-+      ** Î Î±ÏÎ®ÏÏÎµ  o  Î³Î¹Î± ÎœÎ± Î±ÎœÎ¿Î¯ÎŸÎµÏÎµ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎºÎ±Î¹ ÎœÎ±
-+	 Î²ÏÎµÎžÎµÎ¯ÏÎµ ÏÎµ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
-. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. Î Î±ÏÎ®ÏÏÎµ  o (ÏÎµÎ¶Ï) Î³Î¹Î± ÎœÎ± Î±ÎœÎ¿Î¯ÎŸÎµÏÎµ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÎÎÎ€Î© Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎºÎ±Î¹ ÎœÎ±
-+     Î²ÏÎµÎžÎµÎ¯ÏÎµ ÏÎµ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
-.
-+
-+  3. Î€ÏÏÎ± Î±ÎœÏÎ¹Î³ÏÎ¬ÏÏÎµ ÏÎ· ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ ---> Î³ÏÎ±ÎŒÎŒÎ®  ÎºÎ±Î¹ ÏÎ±ÏÎ®ÏÏÎµ <ESC> Î³Î¹Î± ÎœÎ±
-+     Î²Î³ÎµÎ¯ÏÎµ Î±ÏÏ ÏÎ·Îœ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
-.
-+
-+---> After typing  o  the cursor is placed on the open line in Insert mode.
-+
-+  4. ÎÎ¹Î± ÎœÎ± Î±ÎœÎ¿Î¯ÎŸÎµÏÎµ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® Î ÎÎÎ© Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±, ÏÎ±ÏÎ®ÏÏÎµ Î±ÏÎ»Î¬ Î­ÎœÎ± ÎºÎµÏÎ±Î»Î±Î¯Î¿
-+     O, Î±ÎœÏÎ¯ Î³Î¹Î± Î­ÎœÎ± ÏÎµÎ¶Ï  o.  ÎÎ¿ÎºÎ¹ÎŒÎ¬ÏÏÎµ ÏÎ¿ ÏÏÎ·Îœ ÏÎ±ÏÎ±ÎºÎ¬ÏÏ Î³ÏÎ±ÎŒÎŒÎ®.
-+ÎÎœÎ¿Î¯Î³ÎµÏÎµ Î³ÏÎ±ÎŒÎŒÎ® ÏÎ¬ÎœÏ Î±ÏÏ Î±Ï
-ÏÎ®Îœ ÏÎ±ÏÏÎœÏÎ±Ï Shift-O ÏÏÎ¿ Î¿ ÎŽÏÎ¿ÎŒÎ­Î±Ï ÎµÎ¯ÎœÎ±Î¹ ÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 ÎÎ¬ÎžÎ·ÎŒÎ± 6.2: Î ÎÎÎ€ÎÎÎ Î Î¡ÎÎ£ÎÎÎÎÎ£
-+
-+	  ** Î Î±ÏÎ®ÏÏÎµ   a   Î³Î¹Î± ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÎÎÎ€Î ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï ÏÏÏÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï ÏÎ±ÏÎ±ÎºÎ¬ÏÏ
-+     ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ ---> ÏÎ±ÏÏÎœÏÎ±Ï  $  ÏÏÎ·Îœ ÎÎ±ÎœÎ¿ÎœÎ¹ÎºÎ® ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ·.
-+
-+  2. Î Î±ÏÎ®ÏÏÎµ Î­ÎœÎ±  a  (ÏÎµÎ¶Ï) Î³Î¹Î± ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÎÎÎ€Î Î±ÏÏ ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±
-+     ÏÎ¿Ï
- ÎµÎ¯ÎœÎ±Î¹ ÎºÎ¬ÏÏ Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î±.  (Î€Î¿ ÎºÎµÏÎ±Î»Î±Î¯Î¿  A  ÏÏÎ¿ÏÎžÎ­ÏÎµÎ¹ ÏÏÎ¿ ÏÎ­Î»Î¿Ï
-+     ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï).
-+
-+Î£Î·ÎŒÎµÎ¯ÏÏÎ·: ÎÏ
-ÏÏ Î±ÏÎ¿ÏÎµÏÎ³ÎµÎ¹ ÏÎ¿ ÏÎ¬ÏÎ·ÎŒÎ± ÏÎ¿Ï
-  i , ÏÎ¿Îœ ÏÎµÎ»ÎµÏ
-ÏÎ±Î¯Î¿ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ±, ÏÎ¿
-+	  ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÎ·Ï ÎµÎ¹ÏÎ±Î³ÏÎ³Î®Ï, <ESC>, ÎŽÏÎ¿ÎŒÎ­Î±-ÎŽÎµÎŸÎ¹Î¬, ÎºÎ±Î¹ ÏÎ­Î»Î¿Ï, x, ÎŒÏÎœÎ¿ ÎºÎ±Î¹
-+	  ÎŒÏÎœÎ¿ Î³Î¹Î± ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÏÏÎ¿ ÏÎ­Î»Î¿Ï ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï!
-+
-+  3. Î£Ï
-ÎŒÏÎ»Î·ÏÏÏÏÎµ ÏÏÏÎ± ÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®. Î£Î·ÎŒÎµÎ¹ÏÏÏÎµ ÎµÏÎ¯ÏÎ·Ï ÏÏÎ¹ Î· ÏÏÎ¿ÏÎžÎ®ÎºÎ· ÎµÎ¯ÎœÎ±Î¹
-+     Î±ÎºÏÎ¹Î²ÏÏ Î¯ÎŽÎ¹Î± ÏÏÎ·Îœ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
- ÎŒÎµ ÏÎ·Îœ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎ¹ÏÎ±Î³ÏÎ³Î®Ï, ÎµÎºÏÏÏ
-+     Î±ÏÏ ÏÎ· ÎžÎ­ÏÎ· ÏÎ¿Ï
- ÎµÎ¹ÏÎ¬Î³ÎµÏÎ±Î¹ ÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿.
-+
-+---> This line will allow you to practice
-+---> This line will allow you to practice appending text to the end of a line.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   ÎÎ¬ÎžÎ·ÎŒÎ± 6.3: ÎÎÎÎ ÎÎÎÎÎ£Î Î€ÎÎ£ ÎÎÎ€ÎÎÎÎ€ÎÎ£Î€ÎÎ£ÎÎ£
-+
-+
-+ ** Î Î±ÏÎ®ÏÏÎµ ÎºÎµÏÎ±Î»Î±Î¯Î¿  R  Î³Î¹Î± ÎœÎ± Î±Î»Î»Î¬ÎŸÎµÏÎµ ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ¿Ï
-Ï Î±ÏÏ Î­ÎœÎ±Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎµÏ. **
-+
-+  1. ÎÎµÏÎ±ÎºÎ¹ÎœÎµÎ¯ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ±ÏÎ±ÎºÎ¬ÏÏ ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ --->.
-+
-+  2. Î€Î¿ÏÎ¿ÎžÎµÏÎ®ÏÏÎµ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ Î±ÏÏÎ® ÏÎ·Ï ÏÏÏÏÎ·Ï Î»Î­ÎŸÎ·Ï ÏÎ¿Ï
- ÎµÎ¯ÎœÎ±Î¹ ÎŽÎ¹Î±ÏÎ¿ÏÎµÏÎ¹ÎºÎ®
-+     Î±ÏÏ ÏÎ· ÎŽÎµÏÏÎµÏÎ· Î³ÏÎ±ÎŒÎŒÎ® ÏÎ·ÎŒÎµÎ¹ÏÎŒÎ­ÎœÎ· ÎŒÎµ ---> (Î· Î»Î­ÎŸÎ· 'last').
-+
-+  3. Î Î±ÏÎ®ÏÏÎµ ÏÏÏÎ±  R   ÎºÎ±Î¹ Î±Î»Î»Î¬ÎŸÏÎµ ÏÎ¿ Ï
-ÏÏÎ»Î¿Î¹ÏÎ¿ ÏÎ¿Ï
- ÎºÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
- ÏÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ®
-+     Î³ÏÎ¬ÏÎ¿ÎœÏÎ±Ï ÏÎ¬ÎœÏ Î±ÏÏ ÏÎ¿ ÏÎ±Î»Î¹Ï ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÏÏÎµ ÎœÎ± ÎºÎ¬ÎœÎµÏÎµ ÏÎ·Îœ ÏÏÏÏÎ· Î³ÏÎ±ÎŒÎŒÎ® Î¯ÎŽÎ¹Î±
-+     ÎŒÎµ ÏÎ· ÎŽÎµÏÏÎµÏÎ·.
-+
-+---> To make the first line the same as the last on this page use the keys.
-+---> To make the first line the same as the second, type R and the new text.
-+
-+  4. Î£Î·ÎŒÎµÎ¹ÏÏÏÎµ ÏÏÎ¹ ÏÏÎ±Îœ ÏÎ±ÏÎ¬ÏÎµ <ESC> Î³Î¹Î± ÎœÎ± Î²Î³ÎµÎ¯ÏÎµ, ÏÎ±ÏÎ±ÎŒÎ­ÎœÎµÎ¹ Î¿ÏÎ¿Î¹Î¿ÎŽÎ®ÏÎ¿ÏÎµ
-+     Î±ÎœÎ±Î»Î»Î¿Î¯ÏÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  ÎÎ¬ÎžÎ·ÎŒÎ± 6.4: Î¡Î¥ÎÎÎÎ£Î ÎÎ ÎÎÎÎÎÎ£
-+
-+
-+   ** Î¡Ï
-ÎžÎŒÎ¯ÏÏÎµ ÎŒÎ¯Î± ÎµÏÎ¹Î»Î¿Î³Î® Î­ÏÏÎ¹ ÏÏÏÎµ Î· Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ· Î® Î· Î±ÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎœÎ± Î±Î³ÎœÎ¿ÎµÎ¯
-+      ÏÎ· ÎŽÎ¹Î±ÏÎ¿ÏÎ¬ ÏÎµÎ¶ÏÎœ-ÎºÎµÏÎ±Î»Î±Î¯ÏÎœ **
-+
-+  1. ÎšÎ¬ÎŸÏÎµ Î³Î¹Î± 'ignore' ÎµÎ¹ÏÎ¬Î³Î¿ÎœÏÎ±Ï:
-+     /ignore
-+     Î£Ï
-ÎœÎµÏÎ¯ÏÏÎµ Î±ÏÎºÎµÏÎ­Ï ÏÎ¿ÏÎ­Ï ÏÎ±ÏÏÎœÏÎ±Ï ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ n.
-+
-+  2. ÎÎ­ÏÏÎµ ÏÎ·Îœ ÎµÏÎ¹Î»Î¿Î³Î® 'ic' (Ignore case) Î³ÏÎ¬ÏÎ¿ÎœÏÎ±Ï:
-+     :set ic
-+
-+  3. ÎšÎ¬ÎŸÏÎµ ÏÏÏÎ± ÎŸÎ±ÎœÎ¬ Î³Î¹Î± 'ignore' ÏÎ±ÏÏÎœÏÎ±Ï: n
-+     Î£Ï
-ÎœÎµÏÎ¯ÏÏÎµ ÏÎ·Îœ Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ· ÎŒÎµÏÎ¹ÎºÎ­Ï Î±ÎºÏÎŒÎ± ÏÎ¿ÏÎ­Ï ÏÎ±ÏÏÎœÏÎ±Ï ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ n
-+
-+  4. ÎÎ­ÏÏÎµ ÏÎ¹Ï ÎµÏÎ¹Î»Î¿Î³Î­Ï 'hlsearch' ÎºÎ±Î¹ 'incsearch':
-+     :set hls is
-+
-+  5. ÎÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÏÏÎ± ÎŸÎ±ÎœÎ¬ ÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® Î±ÎœÎ±Î¶Î®ÏÎ·ÏÎ·Ï, ÎºÎ±Î¹ ÎŽÎµÎ¯ÏÎµ ÏÎ¹ ÏÏ
-ÎŒÎ²Î±Î¯ÎœÎµÎ¹
-+     /ignore
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			       ÎÎÎÎÎÎ 6 Î ÎÎ¡ÎÎÎÎšÎ
-+
-+
-+  1. Î Î±ÏÏÎœÏÎ±Ï  o  Î±ÎœÎ¿Î¯Î³ÎµÎ¹ ÎŒÎ¯Î± Î³ÏÎ±ÎŒÎŒÎ® ÎÎÎ€Î© Î±ÏÏ ÏÎ¿Îœ ÎŽÏÎ¿ÎŒÎ­Î± ÎºÎ±Î¹ ÏÎ¿ÏÎ¿ÎžÎµÏÎµÎ¯ ÏÎ¿Îœ
-+     ÎŽÏÎ¿ÎŒÎ­Î± ÏÏÎ·Îœ Î±ÎœÎ¿Î¹ÏÏÎ® Î³ÏÎ±ÎŒÎŒÎ® ÏÎµ ÎÎ±ÏÎ¬ÏÏÎ±ÏÎ· ÎÎµÎ¹ÎŒÎ­ÎœÎ¿Ï
-.
-+
-+  2. Î Î±ÏÎ®ÏÏÎµ  a  Î³Î¹Î± ÎœÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÎÎÎ€Î ÏÎ¿Îœ ÏÎ±ÏÎ±ÎºÏÎ®ÏÎ± ÏÏÎ¿Îœ Î¿ÏÎ¿Î¯Î¿ ÎµÎ¯ÎœÎ±Î¹
-+     Î¿ ÎŽÏÎ¿ÎŒÎ­Î±Ï. Î Î±ÏÏÎœÏÎ±Ï ÎºÎµÏÎ±Î»Î±Î¯Î¿  A  Î±Ï
-ÏÏÎŒÎ±ÏÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÎ¹ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÏÎ¿ ÏÎ­Î»Î¿Ï
-+     ÏÎ·Ï Î³ÏÎ±ÎŒÎŒÎ®Ï.
-+
-+  3. Î Î±ÏÏÎœÏÎ±Ï ÎºÎµÏÎ±Î»Î±Î¯Î¿  R  ÎµÎ¹ÏÎ­ÏÏÎµÏÎ±Î¹ ÏÏÎ·Îœ ÎÎ±ÏÎ¬ÏÏÎ±Î· ÎÎœÏÎ¹ÎºÎ±ÏÎ¬ÏÏÎ±ÏÎ·Ï ÎŒÎ­ÏÏÎ¹ ÎœÎ±
-+     ÏÎ±ÏÎ·ÎžÎµÎ¯ ÏÎ¿ <ESC> ÎºÎ±Î¹ ÎœÎ± ÎµÎŸÎ­Î»ÎžÎµÎ¹.
-+
-+  4. ÎÏÎ¬ÏÎ¿ÎœÏÎ±Ï ":set xxx" ÏÏ
-ÎžÎŒÎ¯Î¶ÎµÎ¹ ÏÎ·Îœ ÎµÏÎ¹Î»Î¿Î³Î® "xxx".
-+
-+
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		       ÎÎÎÎÎÎ 7: ON-LINE ÎÎÎ€ÎÎÎÎ£ ÎÎÎÎÎÎÎÎ£
-+
-+
-+		** Î§ÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÏÎµ ÏÎ¿ on-line ÏÏÏÏÎ·ÎŒÎ± Î²Î¿Î®ÎžÎµÎ¹Î±Ï **
-+
-+  Î Vim Î­ÏÎµÎ¹ Î­ÎœÎ± ÏÎµÏÎ¹ÎµÎºÏÎ¹ÎºÏ on-line ÏÏÏÏÎ·ÎŒÎ± Î²Î¿Î®ÎžÎµÎ¹Î±Ï. ÎÎ¹Î± ÎœÎ± ÎŸÎµÎºÎ¹ÎœÎ®ÏÎµÎ¹,
-+  ÎŽÎ¿ÎºÎ¹ÎŒÎ¬ÏÏÎµ ÎºÎ¬ÏÎ¿Î¹Î¿ Î±ÏÏ ÏÎ± ÏÏÎ¯Î±:
-+	- ÏÎ±ÏÎ®ÏÏÎµ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ <HELP> (Î±Îœ Î­ÏÎµÏÎµ ÎºÎ¬ÏÎ¿Î¹Î¿)
-+	- ÏÎ±ÏÎ®ÏÏÎµ ÏÎ¿ ÏÎ»Î®ÎºÏÏÎ¿ <F1> (Î±Îœ Î­ÏÎµÏÎµ ÎºÎ¬ÏÎ¿Î¹Î¿)
-+	- Î³ÏÎ¬ÏÏÎµ   :help <ENTER>
-+
-+  ÎÏÎ¬ÏÏÎµ  :q <ENTER>   Î³Î¹Î± ÎœÎ± ÎºÎ»ÎµÎ¯ÏÎµÏÎµ ÏÎ¿ ÏÎ±ÏÎ¬ÎžÏ
-ÏÎ¿ ÏÎ·Ï Î²Î¿Î®ÎžÎµÎ¹Î±Ï.
-+
-+  ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± Î²ÏÎµÎ¯ÏÎµ Î²Î¿Î®ÎžÎµÎ¹Î± ÏÎ¬ÎœÏ ÏÎµ ÎºÎ¬ÎžÎµ Î±ÎœÏÎ¹ÎºÎµÎ¯ÎŒÎµÎœÎ¿, ÎŽÎ¯ÎœÎ¿ÎœÏÎ±Ï ÎŒÎ¯Î± ÏÎ±ÏÎ¬ÎŒÎµÏÏÎ¿
-+  ÏÏÎ·Îœ ÎµÎœÏÎ¿Î»Î® ":help".  ÎÎ¿ÎºÎ¹ÎŒÎ¬ÏÏÎµ Î±Ï
-ÏÎ¬ (ÎŒÎ·Îœ ÎŸÎµÏÎœÎ¬ÏÎµ ÎœÎ± ÏÎ±ÏÎ¬ÏÎµ <ENTER>):
-+
-+	:help w
-+	:help c_<T
-+	:help insert-index
-+	:help user-manual
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  ÎÎÎÎÎÎ 8: ÎÎÎÎÎÎ¥Î¡ÎÎÎ£Î€Î ÎÎÎ SCRIPT ÎÎÎÎÎÎÎ£ÎÎ£
-+
-+		   ** ÎÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î®ÏÏÎµ ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ ÏÎ¿Ï
- Vim **
-+
-+  Î Vim Î­ÏÎµÎ¹ ÏÎ¿Î»Î»Î¬ ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ± ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ Î±Ï' Ï,ÏÎ¹ Î¿ Vi, Î±Î»Î»Î¬ ÏÎ±
-+  ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ± ÎµÎ¯ÎœÎ±Î¹ Î±ÏÏÎ¹ÎºÎ¬ Î±ÏÎµÎœÎµÏÎ³Î¿ÏÎ¿Î¹Î·ÎŒÎ­ÎœÎ±. ÎÎ¹Î± ÎœÎ± Î±ÏÏÎ¯ÏÎµÏÎµ ÎœÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÎµÎ¯ÏÎµ
-+  ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ± ÏÎ±ÏÎ±ÎºÏÎ·ÏÎ¹ÏÏÎ¹ÎºÎ¬ ÏÏÎ­ÏÎµÎ¹ ÎœÎ± ÏÏÎ¹Î¬ÎŸÎµÏÎµ Î­ÎœÎ± Î±ÏÏÎµÎ¯Î¿ "vimrc".
-+
-+  1. ÎÏÏÎ¯ÏÏÎµ ÎŽÎ¹Î¿ÏÎžÏÎœÎ¿ÎœÏÎ±Ï ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ "vimrc", Î±Ï
-ÏÏ ÎµÎŸÎ±ÏÏÎ¬ÏÎ±Î¹ Î±ÏÏ ÏÎ¿ ÏÏÏÏÎ·ÎŒÎ¬ ÏÎ±Ï:
-+	:edit ~/.vimrc               Î³Î¹Î± Unix
-+	:edit $VIM/_vimrc            Î³Î¹Î± MS-Windows
-+
-+  2. Î€ÏÏÎ± ÎµÎ¹ÏÎ¬Î³ÎµÏÎµ ÏÎ¿ ÎºÎµÎ¯ÎŒÎµÎœÎ¿ ÏÎ±ÏÎ±ÎŽÎµÎ¯Î³ÎŒÎ±ÏÎ¿Ï Î³Î¹Î± Î±ÏÏÎµÎ¯Î¿ "vimrc":
-+	:read $VIMRUNTIME/vimrc_example.vim
-+
-+  3. ÎÏÎ¬ÏÏÎµ ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ ÎŒÎµ ÏÎ·Îœ:
-+	:write
-+
-+  Î€Î·Îœ ÎµÏÏÎŒÎµÎœÎ· ÏÎ¿ÏÎ¬ ÏÎ¿Ï
- ÎžÎ± ÎŸÎµÎºÎ¹ÎœÎ®ÏÎµÏÎµ ÏÎ¿Îœ Vim ÎžÎ± ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÎµÎ¹ ÏÏÏÎ¹ÏÎŒÏ
-+  ÏÏÎœÏÎ±ÎŸÎ·Ï.  ÎÏÎ¿ÏÎµÎ¯ÏÎµ ÎœÎ± ÏÏÎ¿ÏÎžÎ­ÏÎµÏÎµ ÏÎ»ÎµÏ ÏÎ¹Ï ÏÏÎ¿ÏÎ¹ÎŒÏÎŒÎµÎœÎµÏ ÎµÏÎ¹Î»Î¿Î³Î­Ï Ï' Î±Ï
-ÏÏ
-+  ÏÎ¿ Î±ÏÏÎµÎ¯Î¿ "vimrc".
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+
-+  ÎÎŽÏ Î¿Î»Î¿ÎºÎ»Î·ÏÏÎœÎµÏÎ±Î¹ ÏÎ¿ Vim Tutor. Î£ÎºÎ¿ÏÏÏ ÏÎ¿Ï
- Î®ÏÎ±Îœ ÎœÎ± ÎŽÏÏÎµÎ¹ ÎŒÎ¯Î± ÏÏÎœÏÎ¿ÎŒÎ·
-+  ÏÎµÏÎ¯Î»Î·ÏÎ· ÏÎ¿Ï
- ÏÏ
-ÎœÏÎ¬ÎºÏÎ· Vim, ÏÎ¿Ï
-Î»Î¬ÏÎ¹ÏÏÎ¿Îœ ÏÏÏÎ· ÏÏÏÎµ ÎœÎ± ÏÎ±Ï ÎµÏÎ¹ÏÏÎ­ÏÎµÎ¹ ÎœÎ±
-+  ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹Î®ÏÎµÏÎµ ÏÎ¿Îœ ÏÏ
-ÎœÏÎ¬ÎºÏÎ· Î±ÏÎºÎµÏÎ¬ ÎµÏÎºÎ¿Î»Î±. ÎÏÎ­ÏÎµÎ¹ ÏÎ¿Î»Ï Î±ÏÏ ÎŒÎ¯Î±
-+  Î¿Î»Î¿ÎºÎ»Î·ÏÏÎŒÎ­ÎœÎ· ÏÎ±ÏÎ¿Ï
-ÏÎ¯Î±ÏÎ· ÎºÎ±ÎžÏÏ Î¿ Vim Î­ÏÎµÎ¹ ÏÎ¬ÏÎ± ÏÎ¿Î»Î»Î­Ï ÎµÎœÏÎ¿Î»Î­Ï. ÎÎ¹Î±Î²Î¬ÏÏÎµ
-+  ÎºÎ±ÏÏÏÎ¹Îœ ÏÎ¿ ÎµÎ³ÏÎµÎ¹ÏÎ¯ÎŽÎ¹Î¿ ÏÏÎ®ÏÎ·Ï:
-+	":help user-manual".
-+
-+  ÎÎ¹Î± ÏÎµÏÎ±Î¹ÏÎ­ÏÏ ÎŽÎ¹Î¬Î²Î±ÏÎŒÎ± ÎºÎ±Î¹ ÎŒÎµÎ»Î­ÏÎ·, ÏÏ
-ÏÏÎ®ÎœÎµÏÎ±Î¹ Î±Ï
-ÏÏ ÏÎ¿ Î²Î¹Î²Î»Î¯Î¿:
-+	Vim - Vi Improved - by Steve Oualline
-+	Publisher: New Riders
-+	Î€Î¿ ÏÏÏÏÎ¿ Î²Î¹Î²Î»Î¯Î¿ ÏÎ»Î®ÏÏÏ Î±ÏÎ¹ÎµÏÏÎŒÎ­ÎœÎ¿ ÏÏÎ¿Îœ Vim.
-+	ÎÎŽÎ¹Î±Î¯ÏÎµÏÎ± ÏÏÎ®ÏÎ¹ÎŒÎ¿ Î³Î¹Î± Î±ÏÏÎ¬ÏÎ¹Î¿Ï
-Ï.
-+	Î¥ÏÎ¬ÏÏÎ¿Ï
-Îœ ÏÎ¿Î»Î»Î¬ ÏÎ±ÏÎ±ÎŽÎµÎ¯Î³ÎŒÎ±ÏÎ± ÎºÎ±Î¹ ÎµÎ¹ÎºÏÎœÎµÏ.
-+	ÎÎµÎ¯ÏÎµ ÏÎ·Îœ http://iccf-holland.org/click5.html
-+
-+  ÎÏ
-ÏÏ ÏÎ¿ Î²Î¹Î²Î»Î¯Î¿ ÎµÎ¯ÎœÎ±Î¹ ÏÎ±Î»Î¹ÏÏÎµÏÎ¿ ÎºÎ±Î¹ ÏÎµÏÎ¹ÏÏÏÏÎµÏÎ¿ Î³Î¹Î± ÏÎ¿Îœ Vi ÏÎ±ÏÎ¬ Î³Î¹Î± ÏÎ¿Îœ Vim,
-+  Î±Î»Î»Î¬ ÎµÏÎ¯ÏÎ·Ï ÏÏ
-ÎœÎ¹ÏÏÏÎŒÎµÎœÎ¿:
-+	Learning the Vi Editor - by Linda Lamb
-+	Publisher: O'Reilly & Associates Inc.
-+	ÎÎ¯ÎœÎ±Î¹ Î­ÎœÎ± ÎºÎ±Î»Ï Î²Î¹Î²Î»Î¯Î¿ Î³Î¹Î± ÎœÎ± ÎŒÎ¬ÎžÎµÏÎµ ÏÏÎµÎŽÏÎœ ÏÎ± ÏÎ¬ÎœÏÎ± ÏÎ¿Ï
- ÎžÎ­Î»ÎµÏÎµ
-+	ÎœÎ± ÎºÎ¬ÎœÎµÏÎµ ÎŒÎµ ÏÎ¿Îœ Vi.
-+	Î Î­ÎºÏÎ· Î­ÎºÎŽÎ¿ÏÎ· ÏÎµÏÎ¹Î­ÏÎµÎ¹ Î±ÎºÏÎŒÎ± ÏÎ»Î·ÏÎ¿ÏÎ¿ÏÎ¯ÎµÏ Î³Î¹Î± ÏÎ¿Îœ Vim.
-+
-+  ÎÏ
-ÏÎ® Î· ÏÎµÏÎ¹Î®Î³Î·ÏÎ· Î³ÏÎ¬ÏÏÎ·ÎºÎµ Î±ÏÏ ÏÎ¿Ï
-Ï Michael C. Pierce ÎºÎ±Î¹ Robert K. Ware,
-+  Colorado School of Mines ÏÏÎ·ÏÎ¹ÎŒÎ¿ÏÎ¿Î¹ÏÎœÏÎ±Ï Î¹ÎŽÎ­ÎµÏ Î±ÏÏ ÏÎ¿Îœ Charles Smith,
-+  Colorado State University.  E-mail: bware@mines.colorado.edu.
-+
-+  Î ÏÎ¿ÏÎ±ÏÎŒÎ¿Î³Î® Î³Î¹Î± ÏÎ¿Îœ Vim Î±ÏÏ ÏÎ¿Îœ Bram Moolenaar.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-diff -Naur vim70.orig/runtime/tutor/tutor.ru.utf-8 vim70/runtime/tutor/tutor.ru.utf-8
---- vim70.orig/runtime/tutor/tutor.ru.utf-8	1969-12-31 16:00:00.000000000 -0800
-+++ vim70/runtime/tutor/tutor.ru.utf-8	2007-02-15 21:22:25.000000000 -0800
-@@ -0,0 +1,834 @@
-+===============================================================================
-+=    Ð ÐŸ Ð± Ñ ÐŸ   Ð¿ ÐŸ Ð¶ Ð° Ð» ÐŸ Ð² Ð° Ñ Ñ   Ð²   Ñ Ñ Ðµ Ð± Ðœ Ðž Ðº   VIM  -  ÐÐµÑÑÐžÑ 1.5 =
-+===============================================================================
-+     Vim --- ÑÑÐŸ ÐŸÑÐµÐœÑ ÐŒÐŸÑÐœÑÐ¹ ÑÐµÐŽÐ°ÐºÑÐŸÑ, ÐžÐŒÐµÑÑÐžÐ¹ ÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐŸ ÐºÐŸÐŒÐ°ÐœÐŽ, ÑÐ»ÐžÑÐºÐŸÐŒ
-+     ÐŒÐœÐŸÐ³ÐŸ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐžÑ
- Ð²ÑÐµ ÐŒÐŸÐ¶ÐœÐŸ Ð±ÑÐ»ÐŸ ÐŸÐ¿ÐžÑÐ°ÑÑ Ð² ÑÐ°ÐºÐŸÐŒ ÑÑÐµÐ±ÐœÐžÐºÐµ, ÐºÐ°Ðº
-+     ÑÑÐŸÑ. Ð­ÑÐŸÑ ÑÑÐµÐ±ÐœÐžÐº Ð¿ÑÐžÐ·Ð²Ð°Ðœ ÐŸÐ±ÑÑÑÐœÐžÑÑ ÐŽÐŸÑÑÐ°ÑÐŸÑÐœÐŸÐµ ÑÐžÑÐ»ÐŸ ÐºÐŸÐŒÐ°ÐœÐŽ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,
-+     ÑÑÐŸÐ±Ñ ÐÑ ÐŒÐŸÐ³Ð»Ðž Ñ Ð»ÐµÐ³ÐºÐŸÑÑÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ Vim Ð² ÐºÐ°ÑÐµÑÑÐ²Ðµ ÑÐµÐŽÐ°ÐºÑÐŸÑÐ° ÐŸÐ±ÑÐµÐ³ÐŸ
-+     ÐœÐ°Ð·ÐœÐ°ÑÐµÐœÐžÑ.
-+
-+     ÐÐ°ÐŒ Ð¿ÐŸÑÑÐµÐ±ÑÐµÑÑÑ Ð¿ÑÐžÐ±Ð»ÐžÐ·ÐžÑÐµÐ»ÑÐœÐŸ 25-30 ÐŒÐžÐœÑÑ ÐœÐ° ÐŸÑÐ²ÐŸÐµÐœÐžÐµ ÐŽÐ°ÐœÐœÐŸÐ³ÐŸ ÑÑÐµÐ±ÐœÐžÐºÐ° Ð²
-+     Ð·Ð°Ð²ÐžÑÐžÐŒÐŸÑÑÐž ÐŸÑ ÑÐŸÐ³ÐŸ, ÑÐºÐŸÐ»ÑÐºÐŸ Ð²ÑÐµÐŒÐµÐœÐž ÐÑ Ð¿ÐŸÑÑÐ°ÑÐžÑÐµ ÐœÐ° ÑÐºÑÐ¿ÐµÑÐžÐŒÐµÐœÑÑ.
-+
-+     ÐÐŸÐŒÐ°ÐœÐŽÑ Ð² ÑÑÐŸÐºÐ°Ñ
- Ð±ÑÐŽÑÑ ÐŒÐŸÐŽÐžÑÐžÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÐºÑÑ. Ð¡ÐŸÐ·ÐŽÐ°Ð¹ÑÐµ ÐºÐŸÐ¿ÐžÑ ÑÑÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°,
-+     ÑÑÐŸÐ±Ñ Ð¿ÐŸÐ¿ÑÐ°ÐºÑÐžÐºÐŸÐ²Ð°ÑÑÑÑ ÐœÐ° ÐœÐµÐ¹ (ÐµÑÐ»Ðž ÐÑ Ð·Ð°Ð¿ÑÑÑÐžÐ»Ðž "vimtutor", ÑÐŸ ÑÑÐŸ ÑÐ¶Ðµ
-+     ÐºÐŸÐ¿ÐžÑ).
-+
-+     ÐÐ°Ð¶ÐœÐŸ Ð¿ÐŸÐŒÐœÐžÑÑ, ÑÑÐŸ ÑÑÐŸÑ ÑÑÐµÐ±ÐœÐžÐº Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœ ÐŽÐ»Ñ ÐŸÐ±ÑÑÐµÐœÐžÑ Ð² Ð¿ÑÐŸÑÐµÑÑÐµ
-+     ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ. Ð­ÑÐŸ ÐŸÐ·ÐœÐ°ÑÐ°ÐµÑ, ÑÑÐŸ ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,
-+     ÑÑÐŸÐ±Ñ ÐºÐ°Ðº ÑÐ»ÐµÐŽÑÐµÑ ÐžÑ
- ÐžÐ·ÑÑÐžÑÑ. ÐÑÐ»Ðž ÐÑ Ð¿ÑÐŸÑÑÐŸ Ð¿ÑÐŸÑÐžÑÐ°ÐµÑÐµ ÑÐµÐºÑÑ, ÑÐŸ
-+     Ð·Ð°Ð±ÑÐŽÐµÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ!
-+
-+     Ð¢ÐµÐ¿ÐµÑÑ ÑÐ±ÐµÐŽÐžÑÐµÑÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ ÐºÐ»Ð°Ð²ÐžÑÐ° CapsLock ÐœÐµ Ð²ÐºÐ»ÑÑÐµÐœÐ° Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ
-+     ÐºÐ»Ð°Ð²ÐžÑÑ   j   ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·, ÑÐ°Ðº, ÑÑÐŸÐ±Ñ Ð£ÑÐŸÐº 1.1 Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ Ð¿ÐŸÐŒÐµÑÑÐžÐ»ÑÑ ÐœÐ°
-+     ÑÐºÑÐ°ÐœÐµ.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			Ð£ÑÐŸÐº 1.1:  ÐÐÐ ÐÐÐÐ©ÐÐÐÐ ÐÐ£Ð Ð¡ÐÐ Ð
-+
-+** ÐÐ»Ñ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÐžÑ ÐºÑÑÑÐŸÑÐ° ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÐž h,j,k,l ÑÐ°Ðº, ÐºÐ°Ðº Ð¿ÐŸÐºÐ°Ð·Ð°ÐœÐŸ ÐœÐžÐ¶Ðµ. **
-+	     ^
-+	     k		Ð¡ÐŸÐ²ÐµÑÑ:	ÐÐ»Ð°Ð²ÐžÑÐ° h ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ ÑÐ»ÐµÐ²Ð° Ðž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑ Ð²Ð»ÐµÐ²ÐŸ.
-+       < h	 l >		ÐÐ»Ð°Ð²ÐžÑÐ° l ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ ÑÐ¿ÑÐ°Ð²Ð° Ðž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑ Ð²Ð¿ÑÐ°Ð²ÐŸ.
-+	     j			ÐÐ»Ð°Ð²ÐžÑÐ° j Ð¿ÐŸÑ
-ÐŸÐ¶Ð° ÐœÐ° ÑÑÑÐµÐ»ÐºÑ `Ð²ÐœÐžÐ·'.
-+	     v
-+  1. ÐÐŸÐŽÐ²ÐžÐ³Ð°Ð¹ÑÐµ ÐºÑÑÑÐŸÑ Ð¿ÐŸ ÑÐºÑÐ°ÐœÑ, Ð¿ÐŸÐºÐ° ÐœÐµ Ð¿ÐŸÑÑÐ²ÑÑÐ²ÑÐµÑÐµ ÑÐµÐ±Ñ ÑÐ²ÐµÑÐµÐœÐœÐŸ.
-+
-+  2. ÐÐ°ÐŽÐ°Ð²ÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ `Ð²ÐœÐžÐ·' (j) Ð¿ÐŸÐºÐ° ÐŸÐœÐ° ÐœÐµ ÐœÐ°ÑÐœÐµÑ Ð¿ÐŸÐ²ÑÐŸÑÑÑÑÑÑ.
-+---> Ð¢ÐµÐ¿ÐµÑÑ ÐÑ Ð·ÐœÐ°ÐµÑÐµ, ÐºÐ°Ðº Ð¿ÐµÑÐµÐ¹ÑÐž Ðº ÑÐ»ÐµÐŽÑÑÑÐµÐŒÑ ÑÑÐŸÐºÑ.
-+
-+  3. ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÑ `Ð²ÐœÐžÐ·' Ð¿ÐµÑÐµÐ¹ÐŽÐžÑÐµ Ðº Ð£ÑÐŸÐºÑ 1.2.
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÑÐ»Ðž Ð²Ñ Ð¿ÐŸÐºÐ° ÐœÐµ ÑÐ²ÐµÑÐµÐœÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ ÐœÐ°Ð±ÐžÑÐ°ÐµÑÐµ, ÐœÐ°Ð¶ÐŒÐžÑÐµ <ESC> ÐŽÐ»Ñ
-+	   Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐ° Ð² ÐŸÐ±ÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ (Normal mode). ÐÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ Ð¿ÐµÑÐµÐœÐ°Ð±ÐµÑÐžÑÐµ
-+	   ÑÑÐµÐ±ÑÐµÐŒÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÐ±ÑÑÐœÑÐµ ÐºÐ»Ð°Ð²ÐžÑÐž ÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐºÑÑÑÐŸÑÐŸÐŒ (ÑÑÑÐµÐ»ÐºÐž) ÑÐ°ÐºÐ¶Ðµ ÐŽÐŸÐ»Ð¶ÐœÑ
-+	   ÑÐ°Ð±ÐŸÑÐ°ÑÑ. ÐÐŽÐœÐ°ÐºÐŸ, ÐºÐ»Ð°Ð²ÐžÑÐž hjkl Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÑ ÐÐ°ÐŒ Ð¿ÐµÑÐµÐŒÐµÑÐ°ÑÑÑÑ
-+	   Ð·ÐœÐ°ÑÐžÑÐµÐ»ÑÐœÐŸ Ð±ÑÑÑÑÐµÐµ, ÐºÐ°Ðº ÑÐŸÐ»ÑÐºÐŸ ÐÑ ÐœÐ°ÑÑÐžÑÐµÑÑ ÐžÐŒÐž Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑÑÑ.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  Ð£ÑÐŸÐº 1.2: ÐÐÐÐ£Ð¡Ð Ð ÐÐÐÐÐ ÐšÐÐÐÐ Ð ÐÐÐÐ¢Ð« Ð¡ VIM
-+
-+!! ÐÐÐÐÐÐÐÐ! ÐÑÐµÐ¶ÐŽÐµ, ÑÐµÐŒ Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ Ð»ÑÐ±ÐŸÐ¹ ÐžÐ· ÐŸÐ¿ÐžÑÐ°ÐœÐœÑÑ
- ÐœÐžÐ¶Ðµ ÑÐ°Ð³ÐŸÐ², Ð¿ÑÐŸÑÑÐžÑÐµ
-+			       ÑÑÐŸÐº ÑÐµÐ»ÐžÐºÐŸÐŒ !!
-+
-+  1. ÐÐ°Ð¶ÐŒÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ <ESC> (ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐŽÐŸÑÑÐŸÐ²ÐµÑÐžÑÑÑÑ, ÑÑÐŸ ÐÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ
-+     ÑÐµÐ¶ÐžÐŒÐµ (Normal mode)).
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ:			:q! <ENTER>.
-+
-+---> Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÐÐ°ÐŒ Ð²ÑÐ¹ÑÐž ÐžÐ· ÑÐµÐŽÐ°ÐºÑÐŸÑÐ° ÐÐÐ Ð¡ÐÐ¥Ð ÐÐÐÐÐÐ¯ Ð»ÑÐ±ÑÑ
- ÑÐŽÐµÐ»Ð°ÐœÐœÑÑ
-
-+     ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹. ÐÑÐ»Ðž ÐÑ Ñ
-ÐŸÑÐžÑÐµ ÑÐŸÑ
-ÑÐ°ÐœÐžÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ðž Ð²ÑÐ¹ÑÐž:
-+				:wq  <ENTER>
-+
-+  3. ÐÐŸÐ³ÐŽÐ° ÐÑ ÑÐ²ÐžÐŽÐžÑÐµ Ð¿ÑÐžÐ³Ð»Ð°ÑÐµÐœÐžÐµ ÐºÐŸÐŒÐ°ÐœÐŽÐœÐŸÐ¹ ÐŸÐ±ÐŸÐ»ÐŸÑÐºÐž, ÐœÐ°Ð±ÐµÑÐžÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ,
-+     ÐºÐŸÑÐŸÑÐ°Ñ Ð¿ÑÐžÐ²ÐµÐ»Ð° ÐÐ°Ñ Ð² ÑÑÐŸÑ ÑÑÐµÐ±ÐœÐžÐº. Ð­ÑÐŸ ÐŒÐŸÐ¶ÐµÑ Ð±ÑÑÑ
-+				vimtutor ru <ENTER>
-+     ÐÐ±ÑÑÐœÐŸ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ:	vim tutor.ru <ENTER>
-+
-+---> 'vim' Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð·Ð°Ð¿ÑÑÑÐžÑÑ ÑÐµÐŽÐ°ÐºÑÐŸÑ vim, 'tutor.ru' --- ÑÑÐŸ ÑÐ°Ð¹Ð», ÐºÐŸÑÐŸÑÑÐ¹
-+     ÐÑ Ð±ÑÐŽÐµÑÐµ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÑÑ.
-+
-+  4. ÐÑÐ»Ðž ÐÑ ÑÐ²ÐµÑÐµÐœÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ Ð·Ð°Ð¿ÐŸÐŒÐœÐžÐ»Ðž ÑÑÐž ÑÐ°Ð³Ðž, Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÐµ ÑÐ°Ð³Ðž ÐŸÑ 1 ÐŽÐŸ 3
-+     ÑÑÐŸÐ±Ñ Ð²ÑÐ¹ÑÐž ÑÐœÐŸÐ²Ð° Ð·Ð°Ð¿ÑÑÑÐžÑÑ ÑÐµÐŽÐ°ÐºÑÐŸÑ. ÐÐ°ÑÐµÐŒ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ· Ðº
-+     Ð£ÑÐŸÐºÑ 1.3.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  Ð£ÑÐŸÐº 1.3: Ð ÐÐÐÐÐ¢ÐÐ ÐÐÐÐÐÐ Ð¢ÐÐÐ¡Ð¢Ð - Ð£ÐÐÐÐÐÐÐ
-+
-+
-+** ÐÐ°Ñ
-ÐŸÐŽÑÑÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ ÐœÐ°Ð¶ÐŒÐžÑÐµ x, ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÐžÐŒÐ²ÐŸÐ» Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ðº ÑÑÑÐŸÐºÐµ Ð²ÐœÐžÐ·Ñ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. ÐÐ»Ñ ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐŸÑÐžÐ±ÐŸÐº, Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ, Ð¿ÐŸÐºÐ° ÐŸÐœ ÐœÐµ ÐŸÐºÐ°Ð¶ÐµÑÑÑ ÐœÐ°ÐŽ
-+     ÑÐŽÐ°Ð»ÑÐµÐŒÑÐŒ ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐŒ.
-+
-+  3. ÐÐ°Ð¶ÐŒÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ x ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÑÐµÐ±ÑÐµÐŒÐŸÐ³ÐŸ ÑÐžÐŒÐ²ÐŸÐ»Ð°.
-+
-+  4. ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 2--4 Ð¿ÐŸÐºÐ° ÑÑÑÐŸÐºÐ° ÐœÐµ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐ°.
-+
-+---> ÐÑ ÑÑÑÐŸÐ¿ÐŸÑÐ° ÐºÐŸÐ¿ÑÑÑ Ð¿Ð¿Ð¿ÑÐ»Ñ Ð¿Ð¿ÐŸ Ð¿Ð¿Ð¿ÐŸÐ»Ñ Ð»ÐµÑÑÐžÑÑ.
-+
-+  5. Ð¢ÐµÐ¿ÐµÑÑ, ÐºÐŸÐ³ÐŽÐ° ÑÑÑÐŸÐºÐ° ÐŸÑÐºÐŸÑÑÐµÐºÑÐžÑÐŸÐ²Ð°ÐœÐ°, Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº ÑÑÐŸÐºÑ 1.4.
-+
-+ÐÐÐÐÐ§ÐÐÐÐ: Ð Ñ
-ÐŸÐŽÐµ ÐŸÑÐ²ÐŸÐµÐœÐžÑ ÑÑÐŸÐ³ÐŸ ÑÑÐµÐ±ÐœÐžÐºÐ° ÐœÐµ Ð¿ÑÑÐ°Ð¹ÑÐµÑÑ Ð·Ð°Ð¿ÐŸÐŒÐžÐœÐ°ÑÑ, ÑÑÐžÑÐµ
-+	   Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÑ.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  Ð£ÑÐŸÐº 1.4: Ð ÐÐÐÐÐ¢ÐÐ ÐÐÐÐÐÐ Ð¢ÐÐÐ¡Ð¢Ð - ÐÐ¡Ð¢ÐÐÐÐ
-+
-+
-+ ** ÐÐ°Ñ
-ÐŸÐŽÑÑÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ (Normal mode), ÐœÐ°Ð¶ÐŒÐžÑÐµ i ÐŽÐ»Ñ Ð²ÑÑÐ°Ð²ÐºÐž ÑÐµÐºÑÑÐ°. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ðº Ð¿ÐµÑÐ²ÐŸÐ¹ ÑÑÑÐŸÐºÐµ Ð²ÐœÐžÐ·Ñ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐŽÐµÐ»Ð°ÑÑ Ð¿ÐµÑÐ²ÑÑ ÑÑÑÐŸÐºÑ ÐžÐŽÐµÐœÑÐžÑÐœÐŸÐ¹ Ð²ÑÐŸÑÐŸÐ¹, Ð¿ÐŸÐŒÐµÑÑÐžÑÐµ
-+     ÐºÑÑÑÐŸÑ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ» ÐÐÐ ÐÐ ÐºÐŸÑÐŸÑÑÐŒ ÑÐ»ÐµÐŽÑÐµÑ Ð²ÑÑÐ°Ð²ÐžÑÑ ÑÐµÐºÑÑ.
-+
-+  3. ÐÐ°Ð¶ÐŒÐžÑÐµ i Ðž ÐœÐ°Ð±ÐµÑÐžÑÐµ ÑÑÐµÐ±ÑÐµÐŒÑÐµ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ.
-+
-+  4. ÐÐŸÑÐ»Ðµ ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÑ Ð²ÑÐµÑ
- ÐŸÑÐžÐ±ÐŸÐº ÐœÐ°Ð¶ÐŒÐžÑÐµ <ESC> ÐŽÐ»Ñ Ð²ÐŸÐ·Ð²ÑÐ°ÑÐ° Ð² ÐŸÐ±ÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ.
-+     ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 2--4, Ð¿ÐŸÐºÐ° ÑÑÐ°Ð·Ð° ÐœÐµ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐ° Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ.
-+
-+---> Ð§Ð°ÑÑÑ ÑÐµÐºÑÑÐ° Ð² ÑÑÑÐŸÐºÐµ Ð±ÐµÑÐ»ÐµÐŽÐœÐŸ .
-+---> Ð§Ð°ÑÑÑ ÑÐµÐºÑÑÐ° Ð² ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐµ Ð±ÐµÑÑÐ»ÐµÐŽÐœÐŸ Ð¿ÑÐŸÐ¿Ð°Ð»Ð°.
-+
-+  5. ÐÐŸÐ³ÐŽÐ° ÐŸÑÐ²ÐŸÐžÑÐµ Ð²ÑÑÐ°Ð²ÐºÑ ÑÐµÐºÑÑÐ°, Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ ÐŽÐ°Ð»ÑÑÐµ Ðº Ð ÐµÐ·ÑÐŒÐµ.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 1
-+
-+  1. ÐÑÑÑÐŸÑ Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑÑÑ Ð»ÐžÐ±ÐŸ ÐºÐ»Ð°Ð²ÐžÑÐ°ÐŒÐž ÑÐŸ ÑÑÑÐµÐ»ÐºÐ°ÐŒÐž, Ð»ÐžÐ±ÐŸ ÐºÐ»Ð°Ð²ÐžÑÐ°ÐŒÐž hjkl.
-+	 h (Ð²Ð»ÐµÐ²ÐŸ)	j (Ð²ÐœÐžÐ·)       k (Ð²Ð²ÐµÑÑ
-)	    l (Ð²Ð¿ÑÐ°Ð²ÐŸ)
-+
-+  2. ÐÐ»Ñ Ð·Ð°Ð¿ÑÑÐºÐ° Vim (ÐžÐ· Ð¿ÑÐžÐ³Ð»Ð°ÑÐµÐœÐžÑ % ÐºÐŸÐŒÐ°ÐœÐŽÐœÐŸÐ¹ ÐŸÐ±ÐŸÐ»ÐŸÑÐºÐž) ÐœÐ°Ð±ÐµÑÐžÑÐµ:
-+     vim ÐÐÐ¯_Ð€ÐÐÐÐ <ENTER>
-+
-+  3. ÐÐ»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ ÑÐ°Ð±ÐŸÑÑ Ñ Vim ÐœÐ°Ð±ÐµÑÐžÑÐµ:
-+     <ESC>   :q!	 <ENTER>  ÑÑÐŸÐ±Ñ ÐŸÑÐºÐ°Ð·Ð°ÑÑÑÑ ÐŸÑ ÑÐŸÑ
-ÑÐ°ÐœÐµÐœÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹.
-+     ÐÐ»Ðž ÐœÐ°Ð±ÐµÑÐžÑÐµ:
-+     <ESC>   :wq	 <ENTER>  ÑÑÐŸÐ±Ñ ÑÐŸÑ
-ÑÐ°ÐœÐžÑÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ.
-+
-+  4. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐžÐŒÐ²ÐŸÐ»Ð° Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ: x
-+
-+  5. Ð§ÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ ÑÐµÐºÑÑ Ð¿ÐµÑÐµÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ:
-+	 i     Ð²Ð²ÐŸÐŽÐžÑÐµ ÑÐµÐºÑÑ	<ESC>
-+
-+ÐÐÐÐÐ§ÐÐÐÐ: ÐÐ°Ð¶Ð°ÑÐžÐµ <ESC> Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑ ÐÐ°Ñ Ð² ÐŸÐ±ÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ (Normal mode) Ð»ÐžÐ±ÐŸ
-+	   Ð¿ÑÐµÑÐ²ÐµÑ ÐœÐµÐ¶ÐµÐ»Ð°ÑÐµÐ»ÑÐœÑÑ Ðž ÑÐ°ÑÑÐžÑÐœÐŸ Ð·Ð°Ð²ÐµÑÑÐµÐœÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+
-+Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÐŒ Ðº Ð£ÑÐŸÐºÑ 2.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  Ð£ÑÐŸÐº 2.1: ÐÐÐÐÐÐÐ« Ð£ÐÐÐÐÐÐÐ¯
-+
-+
-+	** ÐÐ°Ð±ÐµÑÐžÑÐµ dw ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÑÐ°ÑÑÐºÐ° ÑÐµÐºÑÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÐ»ÐŸÐ²Ð°. **
-+
-+  1. ÐÐ°Ð¶ÐŒÐžÑÐµ <ESC>, ÑÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÐŸÐ±ÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ.
-+
-+  2. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  3. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð² ÐœÐ°ÑÐ°Ð»ÐŸ ÑÐ»ÐŸÐ²Ð°, ÐºÐŸÑÐŸÑÐŸÐµ ÑÐ»ÐµÐŽÑÐµÑ ÑÐŽÐ°Ð»ÐžÑÑ.
-+
-+  4. ÐÐ°Ð±ÐµÑÐžÑÐµ  dw , ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÑÑÐŸ ÑÐ»ÐŸÐ²ÐŸ.
-+
-+ÐÐÐÐÐ§ÐÐÐÐ: ÐÐŸ Ð²ÑÐµÐŒÑ ÐœÐ°Ð±ÐŸÑÐ° Ð±ÑÐºÐ²Ñ dw Ð¿ÐŸÑÐ²ÑÑÑÑ Ð² Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ¹ ÑÑÑÐŸÐºÐµ ÑÐºÑÐ°ÐœÐ°. ÐÑÐ»Ðž
-+	   ÐÑ ÑÑÐŸ-ÑÐŸ ÐœÐ°Ð±ÐµÑÐµÑÐµ ÐœÐµÐ¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸ, ÐœÐ°Ð¶ÐŒÐžÑÐµ <ESC> Ðž ÐœÐ°ÑÐœÐžÑÐµ ÑÐœÐ°ÑÐ°Ð»Ð°.
-+
-+---> ÐÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ»ÐŸÐ² ÑÐ°ÑÐžÐœÐ°ÐŽ Ð² ÑÑÐŸÐŒ Ð¿ÑÐµÐŽÐ»ÐŸÐ¶ÐµÐœÐžÐž Ð°Ð²ÑÐŸÐºÑÐ°Ðœ ÐžÐ·Ð»ÐžÑÐœÐž.
-+
-+  5. ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 3 Ðž 4, Ð¿ÐŸÐºÐ° ÐœÐµ ÐžÑÐ¿ÑÐ°Ð²ÐžÑÐµ Ð²ÑÐµ ÐŸÑÐžÐ±ÐºÐž Ðž Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº
-+     Ð£ÑÐŸÐºÑ 2.2.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  Ð£ÑÐŸÐº 2.2: ÐÐÐÐÐÐÐÐ¢ÐÐÐ¬ÐÐ«Ð ÐÐÐÐÐÐÐ« Ð£ÐÐÐÐÐÐÐ¯
-+
-+
-+	    ** ÐÐ°Ð±ÐµÑÐžÑÐµ d$ ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐµÐºÑÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÑÑÐŸÐºÐž. **
-+
-+  1. ÐÐ°Ð¶ÐŒÐžÑÐµ <ESC>, ÑÑÐŸÐ±Ñ Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÐŸÐ±ÑÑÐœÑÐ¹ ÑÐµÐ¶ÐžÐŒ.
-+
-+  2. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  3. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ðº ÐºÐŸÐœÑÑ Ð¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ¹ ÑÑÑÐŸÐºÐž (ÐÐÐ¡ÐÐ Ð¿ÐµÑÐ²ÐŸÐ¹ . ).
-+
-+  4. Ð§ÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ ÐŸÑÑÐ°ÑÐŸÐº ÑÑÑÐŸÐºÐž, ÐœÐ°Ð±ÐµÑÐžÑÐµ  d$ .
-+
-+---> ÐÑÐŸ-ÑÐŸ ÐœÐ°Ð±ÑÐ°Ð» ÐŸÐºÐŸÐœÑÐ°ÐœÐžÐµ ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐŽÐ²Ð°Ð¶ÐŽÑ. ÐŸÐºÐŸÐœÑÐ°ÐœÐžÐµ ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐŽÐ²Ð°Ð¶ÐŽÑ.
-+
-+
-+  5.Ð§ÑÐŸÐ±Ñ Ð»ÑÑÑÐµ ÑÐ°Ð·ÐŸÐ±ÑÐ°ÑÑÑÑ Ð² ÑÑÐŸÐŒ, Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº Ð£ÑÐŸÐºÑ 2.3.
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 Ð£ÑÐŸÐº 2.3: ÐÐÐÐÐÐÐ« Ð ÐÐÐªÐÐÐ¢Ð«
-+
-+
-+  Ð€ÐŸÑÐŒÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÑ `ÑÐŽÐ°Ð»ÐµÐœÐžÐµ' d ÑÐ°ÐºÐŸÐ²:
-+
-+	 [ÑÐžÑÐ»ÐŸ]   d	ÐŸÐ±ÑÐµÐºÑ	    ÐÐÐ	     d	 [ÑÐžÑÐ»ÐŸ]   ÐŸÐ±ÑÐµÐºÑ
-+  ÐÐŽÐµÑÑ:
-+    ÑÐžÑÐ»ÐŸ  - ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð· ÐžÑÐ¿ÐŸÐ»ÐœÐžÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ (ÐœÐµÐŸÐ±ÑÐ·Ð°ÑÐµÐ»ÑÐœÐŸ, Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ=1).
-+    d      - ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŽÐ°Ð»ÐµÐœÐžÑ.
-+    ÐŸÐ±ÑÐµÐºÑ - Ñ ÑÐµÐŒ ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÐŽÐŸÐ»Ð¶ÐœÐ° Ð±ÑÑÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐ° (Ð¿ÐµÑÐµÑÐžÑÐ»ÐµÐœÐŸ ÐœÐžÐ¶Ðµ).
-+
-+  ÐÑÐ°ÑÐºÐžÐ¹ ÑÐ¿ÐžÑÐŸÐº ÐŸÐ±ÑÐµÐºÑÐŸÐ²:
-+    w - ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÐ»ÐŸÐ²Ð°, Ð²ÐºÐ»ÑÑÐ°Ñ Ð·Ð°Ð²ÐµÑÑÐ°ÑÑÐžÐ¹ Ð¿ÑÐŸÐ±ÐµÐ».
-+    e - ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÐ»ÐŸÐ²Ð°, ÐÐ Ð²ÐºÐ»ÑÑÐ°Ñ Ð·Ð°Ð²ÐµÑÑÐ°ÑÑÐžÐ¹ Ð¿ÑÐŸÐ±ÐµÐ».
-+    $ - ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÑÑÐŸÐºÐž.
-+    ^ - ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐœÐ°ÑÐ°Ð»Ð° ÑÑÑÐŸÐºÐž.
-+
-+ÐÐÐÐÐ§ÐÐÐÐ: ÐÑÐŸÑÑÐŸÐµ ÐœÐ°Ð¶Ð°ÑÐžÐµ ÐœÐ° ÑÐžÐŒÐ²ÐŸÐ» ÐŸÐ±ÑÐµÐºÑÐ° Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ (Normal mode)
-+	   Ð±ÐµÐ· ÐŽÐŸÐ¿ÐŸÐ»ÐœÐžÑÐµÐ»ÑÐœÑÑ
- ÐºÐŸÐŒÐ°ÐœÐŽ Ð¿ÐµÑÐµÐŽÐ²ÐžÐœÐµÑ ÐºÑÑÑÐŸÑ ÑÐ°Ðº, ÐºÐ°Ðº ÑÐºÐ°Ð·Ð°ÐœÐŸ Ð²
-+	   ÑÐ¿ÐžÑÐºÐµ ÐŸÐ±ÑÐµÐºÑÐŸÐ².
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+	       Ð£ÑÐŸÐº 2.4: ÐÐ¡ÐÐÐ®Ð§ÐÐÐÐ ÐÐ ÐÐ ÐÐÐÐÐ `ÐÐÐÐÐÐÐ-ÐÐÐªÐÐÐ¢'
-+
-+
-+		 ** ÐÐ°Ð±ÐµÑÐžÑÐµ dd ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ Ð²ÑÐµÐ¹ ÑÑÑÐŸÐºÐž. **
-+
-+  ÐÑÐ»ÐµÐŽÑÑÐ²ÐžÐµ ÑÐ°ÑÑÐŸÐ³ÐŸ Ð¿ÑÐžÐŒÐµÐœÐµÐœÐžÑ ÐŸÐ¿ÐµÑÐ°ÑÐžÐž ÑÐŽÐ°Ð»ÐµÐœÐžÑ Ð²ÑÐµÐ¹ ÑÑÑÐŸÐºÐž, ÑÐ°Ð·ÑÐ°Ð±ÐŸÑÑÐžÐºÐž
-+  Vim ÑÐµÑÐžÐ»Ðž, ÑÑÐŸ ÐŽÐ»Ñ ÑÑÐŸÐ³ÐŸ Ð¿ÑÐŸÑÐµ Ð²ÑÐµÐ³ÐŸ Ð¿ÑÐŸÑÑÐŸ ÐœÐ°Ð±ÑÐ°ÑÑ d ÐŽÐ²Ð°Ð¶ÐŽÑ.
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, ÐºÐŸ Ð²ÑÐŸÑÐŸÐ¹ ÑÑÑÐŸÐºÐµ ÑÑÐ°Ð·Ñ.
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ dd ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÑÑÐŸÐºÐž.
-+  3. Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµÑÑ Ðº ÑÐµÑÐ²ÐµÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐµ.
-+  4. ÐÐ°Ð±ÐµÑÐžÑÐµ 2dd (Ð²ÑÐ¿ÐŸÐŒÐœÐžÑÐµ Ð¿ÑÐ°Ð²ÐžÐ»ÐŸ `ÑÐžÑÐ»ÐŸ-ÐºÐŸÐŒÐ°ÐœÐŽÐ°-ÐŸÐ±ÑÐµÐºÑ'), ÑÑÐŸÐ±Ñ ÑÐŽÐ°Ð»ÐžÑÑ
-+     ÐŽÐ²Ðµ ÑÑÑÐŸÐºÐž.
-+
-+      1)  ÐÐµÑÐŸÐŒ Ñ Ñ
-ÐŸÐ¶Ñ ÐœÐ° ÑÑÐ°ÐŽÐžÐŸÐœ,
-+      2)  Ð, ÐºÐ°Ðº Ð²ÐœÐµÐ·Ð°Ð¿ÐœÐŸ ÐºÐŸÐœÑÐžÐ»ÑÑ ÐŽÐžÐ²Ð°Ðœ!
-+      3)  Ð¯ Ð±ÐŸÐ»ÐµÑ Ð·Ð° ``ÐÐµÐœÐžÑ'', ``ÐÐµÐœÐžÑ'' --- ÑÐµÐŒÐ¿ÐžÐŸÐœ!
-+      4)  ÐÐµÑÐ°Ð»ÑÐœÐŸ Ñ Ð³Ð»ÑÐ¶Ñ ÐœÐ° ÐœÐ°ÑÐµ Ð¿ÐŸÐºÐŸÐ»ÐµÐœÐžÐµ!
-+      5)  ÐÐ³ÐŸ Ð³ÑÑÐŽÑÑÐµÐµ ÐžÐ»Ñ Ð¿ÑÑÑÐŸ ÐžÐ»Ñ ÑÐµÐŒÐœÐŸ...
-+      6)  Ð¯ ÑÐžÐ¶Ñ ÐœÐ° ÑÐºÐ°ÐŒÐµÐ¹ÐºÐµ Ð² Ð»ÐŸÐ¶Ðµ `Ð'
-+      7)  Ð ÐžÐ³ÑÐ°Ñ ÐœÐ° Ð±ÐŸÐ»ÑÑÐŸÐ¹ Ð¶ÐµÑÑÑÐœÐŸÐ¹ ÑÑÑÐ±Ðµ.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  Ð£ÑÐŸÐº 2.5: ÐÐÐÐÐÐÐ `ÐÐ¢ÐÐÐ¢'
-+
-+
-+  ** ÐÐ°Ð¶ÐŒÐžÑÐµ u	ÐŽÐ»Ñ ÐŸÑÐŒÐµÐœÑ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ° ÑÐ°Ð±ÐŸÑÑ Ð¿ÑÐµÐŽÑÐŽÑÑÐµÐ¹ ÐºÐŸÐŒÐ°ÐœÐŽÑ, U ÐŽÐ»Ñ ÐŸÑÐŒÐµÐœÑ
-+			ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐžÐ¹ Ð²ÐŸ Ð²ÑÐµÐ¹ ÑÑÑÐŸÐºÐµ. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ ---> Ðž ÑÑÑÐ°ÐœÐŸÐ²ÐžÑÐµ ÐµÐ³ÐŸ ÐœÐ°
-+     Ð¿ÐµÑÐ²ÑÑ ÐŸÑÐžÐ±ÐºÑ.
-+  2. ÐÐ°Ð¶ÐŒÐžÑÐµ x ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ Ð¿ÐµÑÐ²ÐŸÐ³ÐŸ ÐœÐµÐ¿ÑÐ°Ð²ÐžÐ»ÑÐœÐŸÐ³ÐŸ ÑÐžÐŒÐ²ÐŸÐ»Ð°.
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð¶ÐŒÐžÑÐµ u ÐŽÐ»Ñ ÐŸÑÐŒÐµÐœÑ (ÐŸÑÐºÐ°ÑÐ°) Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ¹ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐœÐŸÐ¹ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+  4. ÐÑÐ¿ÑÐ°Ð²ÑÑÐµ Ð²ÑÐµ ÐŸÑÐžÐ±ÐºÐž Ð² ÑÑÑÐŸÐºÐµ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ x .
-+  5. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð¶ÐŒÐžÑÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÑÑ U ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ Ð²ÐµÑÐœÑÑÑ Ð²ÑÑ ÑÑÑÐŸÐºÑ Ð² ÐžÑÑ
-ÐŸÐŽÐœÐŸÐµ
-+     ÑÐŸÑÑÐŸÑÐœÐžÐµ.
-+  6. ÐÐ°Ð¶ÐŒÐžÑÐµ u ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð· ÐŽÐ»Ñ ÐŸÑÐŒÐµÐœÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ U Ðž Ð¿ÑÐµÐŽÑÐŽÑÑÐžÑ
- ÐºÐŸÐŒÐ°ÐœÐŽ.
-+  7. ÐÐ°Ð¶ÐŒÐžÑÐµ ÑÐµÐ¿ÐµÑÑ CTRL-R (ÑÐŽÐµÑÐ¶ÐžÐ²Ð°Ð¹ÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ CTRL ÐœÐ°Ð¶Ð°ÑÐŸÐ¹ Ð² ÐŒÐŸÐŒÐµÐœÑ ÐœÐ°Ð¶Ð°ÑÐžÑ
-+  R)     ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð· ÐŽÐ»Ñ Ð²ÐŸÐ·Ð²ÑÐ°ÑÐ° ÐºÐŸÐŒÐ°ÐœÐŽ (ÐŸÑÐºÐ°Ñ ÐŸÑÐºÐ°ÑÐ°).
-+
-+---> ÐÑÐ¿ÑÑÐ°Ð²ÑÑÐµ ÐŸÐŸÑÐžÐ±ÐºÐž Ð² ÑÑÐŸÐ¹Ð¹ ÑÑÑÐŸÐºÐµ Ðž Ð²ÐµÑÐœÐžÑÑÐµ ÐžÑ
- ÑÑ Ð¿ÐŸÐŒÐŸÑÑÑÑ `ÐŸÑÐºÐ°ÑÐ°'.
-+
-+  8. Ð­ÑÐŸ Ð±ÑÐ»Ðž ÐŸÑÐµÐœÑ Ð¿ÐŸÐ»ÐµÐ·ÐœÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ. ÐÐ°Ð»ÐµÐµ Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº Ð ÐµÐ·ÑÐŒÐµ Ð£ÑÐŸÐºÐ° 2.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 2
-+
-+
-+  1. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐµÐºÑÑÐ° ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÐ»ÐŸÐ²Ð° ÐœÐ°Ð±ÐµÑÐžÑÐµ:    dw
-+
-+  2. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÐµÐºÑÑÐ° ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÑÑÐŸÐºÐž ÐœÐ°Ð±ÐµÑÐžÑÐµ:    d$
-+
-+  3. ÐÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ Ð²ÑÐµÐ¹ ÑÑÑÐŸÐºÐž ÐœÐ°Ð±ÐµÑÐžÑÐµ:    dd
-+
-+  4. Ð€ÐŸÑÐŒÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ ÐžÐŒÐµÐµÑ Ð²ÐžÐŽ:
-+
-+       [ÑÐžÑÐ»ÐŸ]   ÐºÐŸÐŒÐ°ÐœÐŽÐ°   ÐŸÐ±ÑÐµÐºÑ     ÐÐÐ     ÐºÐŸÐŒÐ°ÐœÐŽÐ°	[ÑÐžÑÐ»ÐŸ]   ÐŸÐ±ÑÐµÐºÑ
-+     Ð³ÐŽÐµ:
-+       ÑÐžÑÐ»ÐŸ   - ÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð· Ð¿ÐŸÐ²ÑÐŸÑÐžÑÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ
-+       ÐºÐŸÐŒÐ°ÐœÐŽÐ° - ÑÑÐŸ Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÑ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ d ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ
-+       ÐŸÐ±ÑÐµÐºÑ  - ÐœÐ° ÑÑÐŸ ÐŽÐŸÐ»Ð¶ÐœÐ° Ð²ÐŸÐ·ÐŽÐµÐ¹ÑÑÐ²ÐŸÐ²Ð°ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÐ°, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ w (ÑÐ»ÐŸÐ²ÐŸ),
-+		$ (ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÑÑÐŸÐºÐž), Ðž Ñ.ÐŽ.
-+
-+  5. ÐÐ»Ñ ÐŸÑÐŒÐµÐœÑ (ÐŸÑÐºÐ°ÑÐ°) Ð¿ÑÐµÐŽÑÐµÑÑÐ²ÑÑÑÐžÑ
- ÐŽÐµÐ¹ÑÑÐ²ÐžÐ¹ ÐœÐ°Ð±ÐµÑÐžÑÐµ:  u (ÑÑÑÐŸÑÐœÐ°Ñ u)
-+     ÐÐ»Ñ ÐŸÑÐŒÐµÐœÑ (ÐŸÑÐºÐ°ÑÐ°) Ð²ÑÐµÑ
- ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹ Ð² ÑÑÑÐŸÐºÐµ ÐœÐ°Ð±ÐµÑÐžÑÐµ:  U (Ð¿ÑÐŸÐ¿ÐžÑÐœÐ°Ñ U)
-+     ÐÐ»Ñ ÐŸÑÐŒÐµÐœÑ ÐŸÑÐºÐ°ÑÐ° ÐœÐ°Ð±ÐµÑÐžÑÐµ:  CTRL-R
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  Ð£ÑÐŸÐº 3.1: ÐÐÐÐÐÐÐ ÐÐ¡Ð¢ÐÐÐÐ
-+
-+
-+   ** ÐÐ°Ð±ÐµÑÐžÑÐµ p ÐŽÐ»Ñ Ð²ÑÑÐ°Ð²ÐºÐž Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ³ÐŸ ÑÐŽÐ°Ð»ÐµÐœÐœÐŸÐ³ÐŸ ÑÐµÐºÑÑÐ° Ð¿ÐŸÑÐ»Ðµ ÐºÑÑÑÐŸÑÐ°. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ· Ðº Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ¹ ÑÑÑÐŸÐºÐµ ÐžÐ· ÐœÐ°Ð±ÐŸÑÐ°.
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ dd ÐŽÐ»Ñ ÑÐŽÐ°Ð»ÐµÐœÐžÑ ÑÑÑÐŸÐºÐž Ðž ÐµÐµ ÑÐŸÑ
-ÑÐ°ÐœÐµÐœÐžÑ Ð² Ð±ÑÑÐµÑÐµ Vim'Ð°.
-+
-+  3. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ðº ÑÑÑÐŸÐºÐµ ÐÐÐ ÑÐµÐŒ ÐŒÐµÑÑÐŸÐŒ, ÐºÑÐŽÐ° ÑÐ»ÐµÐŽÑÐµÑ Ð²ÑÑÐ°Ð²ÐžÑÑ
-+     ÑÐŽÐ°Ð»ÐµÐœÐœÑÑ ÑÑÑÐŸÐºÑ.
-+
-+  4. ÐÐ°Ñ
-ÐŸÐŽÑÑÑ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ ÐœÐ°Ð±ÐµÑÐžÑÐµ p ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ ÑÑÑÐŸÐºÐž.
-+
-+  5. ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 2--4, Ð¿ÐŸÐºÐ° ÐœÐµ ÑÐ°ÑÑÑÐ°Ð²ÐžÑÐµ Ð²ÑÐµ ÑÑÑÐŸÐºÐž Ð² ÐœÑÐ¶ÐœÐŸÐŒ Ð¿ÐŸÑÑÐŽÐºÐµ.
-+
-+     Ð³) Ð Ð»ÑÑÑÐµ Ð²ÑÐŽÑÐŒÐ°ÑÑ ÐœÐµ ÐŒÐŸÐ³.
-+     Ð±) ÐÐŸÐ³ÐŽÐ° ÐœÐµ Ð² ÑÑÑÐºÑ Ð·Ð°ÐœÐµÐŒÐŸÐ³,
-+     Ð²) ÐÐœ ÑÐ²Ð°Ð¶Ð°ÑÑ ÑÐµÐ±Ñ Ð·Ð°ÑÑÐ°Ð²ÐžÐ»
-+     Ð°) ÐÐŸÐ¹ ÐŽÑÐŽÑ ÑÐ°ÐŒÑÑ
- ÑÐµÑÑÐœÑÑ
- Ð¿ÑÐ°Ð²ÐžÐ»
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		       Ð£ÑÐŸÐº 3.2: ÐÐÐÐÐÐÐ ÐÐÐÐÐÐ«
-+
-+
-+	  ** ÐÐ°Ð±ÐµÑÐžÑÐµ r Ðž ÑÐžÐŒÐ²ÐŸÐ», Ð·Ð°ÐŒÐµÐœÑÑÑÐžÐ¹ ÑÐžÐŒÐ²ÐŸÐ» Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÐµ ÐºÑÑÑÐŸÑ ÑÐ°Ðº, ÑÑÐŸÐ±Ñ ÐŸÐœ ÐœÐ°Ñ
-ÐŸÐŽÐžÐ»ÑÑ ÐœÐ°ÐŽ Ð¿ÐµÑÐ²ÐŸÐ¹ ÐŸÑÐžÐ±ÐºÐŸÐ¹.
-+
-+  3. ÐÐ°Ð±ÐµÑÐžÑÐµ r	Ðž Ð·Ð°ÑÐµÐŒ ÑÐžÐŒÐ²ÐŸÐ», ÐžÑÐ¿ÑÐ°Ð²Ð»ÑÑÑÐžÐ¹ ÐŸÑÐžÐ±ÐºÑ.
-+
-+  4. ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 2 Ðž 3, Ð¿ÐŸÐºÐ° Ð¿ÐµÑÐ²Ð°Ñ ÑÑÑÐŸÐºÐ° ÐœÐµ Ð±ÑÐŽÐµÑ ÐžÑÐ¿ÑÐ°Ð²Ð»ÐµÐœÐ°.
-+
-+--->  Ð ÐŒÐŸÐŒÐµÐ³Ñ ÐœÐ°Ð±ÑÑÐ° ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐºÐŸÐµ0ÐºÑÐŸ Ñ ÑÑÑÐŽÐŸÐŒ Ð¿ÐŸÐ¿Ð²ÐŽÐ°Ð» Ð¿ÐŸ ÐºÐ»Ð²Ð°ÐžÑÐ°ÐŒ!
-+--->  Ð ÐŒÐŸÐŒÐµÐœÑ ÐœÐ°Ð±ÐŸÑÐ° ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐºÐŸÐµ-ÐºÑÐŸ Ñ ÑÑÑÐŽÐŸÐŒ Ð¿ÐŸÐ¿Ð°ÐŽÐ°Ð» Ð¿ÐŸ ÐºÐ»Ð°Ð²ÐžÑÐ°ÐŒ!
-+
-+  5. Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº Ð£ÑÐŸÐºÑ 3.2.
-+
-+ÐÐÐÐÐ§ÐÐÐÐ: ÐÐŸÐŒÐœÐžÑÐµ, ÑÑÐŸ Ð²Ñ ÐŽÐŸÐ»Ð¶ÐœÑ ÑÑÐžÑÑÑÑ Ð² Ð¿ÑÐŸÑÐµÑÑÐµ ÑÐ°Ð±ÐŸÑÑ, Ð° ÐœÐµ Ð¿ÑÐŸÑÑÐŸ
-+	   Ð·Ð°Ð¿ÐŸÐŒÐžÐœÐ°Ñ.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 Ð£ÑÐŸÐº 3.3: ÐÐÐÐÐÐÐ ÐÐÐÐÐÐÐÐÐ¯
-+
-+
-+		** ÐÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÐ°ÑÑÐž ÑÐ»ÐŸÐ²Ð° ÐœÐ°Ð±ÐµÑÐžÑÐµ cw . **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. Ð Ð°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐžÑÐµ ÐºÑÑÑÐŸÑ ÐœÐ°ÐŽ Ð±ÑÐºÐ²ÐŸÐ¹ `o' Ð² ÑÐ»ÐŸÐ²Ðµ `ÑÐŸÐ»Ð°'.
-+
-+  3. ÐÐ°Ð±ÐµÑÐžÑÐµ cw Ðž ÐžÑÐ¿ÑÐ°Ð²ÑÑÐµ ÑÐ»ÐŸÐ²ÐŸ (Ð² ÐŽÐ°ÐœÐœÐŸÐŒ ÑÐ»ÑÑÐ°Ðµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ `Ð»ÐŸÐ²'.)
-+
-+  4. ÐÐ°Ð¶ÐŒÐžÑÐµ <ESC> Ðž Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐžÑÐµ Ðº ÑÐ»ÐµÐŽÑÑÑÐµÐ¹ ÐŸÑÐžÐ±ÐºÐµ (Ðº Ð¿ÐµÑÐ²ÐŸÐŒÑ ÑÐžÐŒÐ²ÐŸÐ»Ñ, ÐºÐŸÑÐŸÑÑÐ¹
-+     ÐœÐ°ÐŽÐŸ ÐžÐ·ÐŒÐµÐœÐžÑÑ.)
-+
-+  5. ÐÐŸÐ²ÑÐŸÑÐžÑÐµ ÑÐ°Ð³Ðž 3--4 Ð¿ÐŸÐºÐ° Ð¿ÐµÑÐ²ÐŸÐµ Ð¿ÑÐµÐŽÐ»ÐŸÐ¶ÐµÐœÐžÐµ ÐœÐµ ÑÑÐ°ÐœÐµÑ ÐžÐŽÐµÐœÑÐžÑÐœÑÐŒ Ð²ÑÐŸÑÐŸÐŒÑ.
-+
-+---> ÐÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐŸÐ»Ð° Ð² ÑÑÐ³Ñ ÑÑÑÐŸÐºÐµ ÑÐ¿Ð³ÑÑÐ±Ñ ÑÐµÐŽÐ°Ð»Ð·ÐºÑÑÐžÐµÑÐ²Ñ
-.
-+---> ÐÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ»ÐŸÐ² Ð² ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐµ ÑÑÐµÐ±ÑÑÑ ÑÐµÐŽÐ°ÐºÑÐžÑÐŸÐ²Ð°ÐœÐžÑ.
-+
-+ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ, ÑÑÐŸ cw ÐœÐµ ÑÐŸÐ»ÑÐºÐŸ Ð·Ð°ÐŒÐµÐœÑÐµÑ ÑÐ»ÐŸÐ²ÐŸ, ÐœÐŸ Ðž Ð¿ÐµÑÐµÐ²ÐŸÐŽÐžÑ Ð²Ð°Ñ Ð² ÑÐµÐ¶ÐžÐŒ
-+Ð²ÑÑÐ°Ð²ÐºÐž.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		  Ð£ÑÐŸÐº 3.4: ÐÐ ÐÐÐÐÐÐÐÐ ÐÐÐÐÐÐ¯Ð¢Ð¬ Ð¡ ÐÐÐÐÐÐÐÐ c
-+
-+
-+** ÐÐŸÐŒÐ°ÐœÐŽÐ° Ð·Ð°ÐŒÐµÐœÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÑÑÑ Ñ ÑÐµÐŒÐž Ð¶Ðµ ÐŸÐ±ÑÐµÐºÑÐ°ÐŒÐž, ÑÑÐŸ Ðž ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŽÐ°Ð»ÐµÐœÐžÑ. **
-+
-+  1. ÐÐŸÐŒÐ°ÐœÐŽÐ° ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð¿ÑÐžÐŒÐµÐœÑÐµÑÑÑ ÑÐ°ÐºÐžÐŒ Ð¶Ðµ ÐŸÐ±ÑÐ°Ð·ÐŸÐŒ, ÐºÐ°Ðº Ðž ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŽÐ°Ð»ÐµÐœÐžÑ.
-+     ÐÐµ ÑÐŸÑÐŒÐ°Ñ ÑÐ°ÐºÐŸÐ²:
-+
-+       [ÑÐžÑÐ»ÐŸ]   c   ÐŸÐ±ÑÐµÐºÑ	   ÐÐÐ	    c	[ÑÐžÑÐ»ÐŸ]   ÐŸÐ±ÑÐµÐºÑ
-+
-+  2. ÐÐ±ÑÐµÐºÑÑ ÑÐ°ÐºÐ¶Ðµ ÑÐŸÐ²Ð¿Ð°ÐŽÐ°ÑÑ: w (ÑÐ»ÐŸÐ²ÐŸ), $ (ÐºÐŸÐœÐµÑ ÑÑÑÐŸÐºÐž) Ðž Ñ.Ð¿.
-+
-+  3. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  4. ÐÐµÑÐµÐ¹ÐŽÐžÑÐµ Ðº Ð¿ÐµÑÐ²ÐŸÐ¹ ÐŸÑÐžÐ±ÐºÐµ.
-+
-+  5. ÐÐ°Ð±ÐµÑÐžÑÐµ c$ Ðž ÐŸÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ Ð¿ÐµÑÐ²ÑÑ ÑÑÑÐŸÐºÑ ÑÐ°Ðº, ÑÑÐŸÐ±Ñ ÐŸÐœÐ° ÑÐŸÐ²Ð¿Ð°ÐŽÐ°Ð»Ð° ÑÐŸ
-+     Ð²ÑÐŸÑÐŸÐ¹, Ð¿ÐŸÑÐ»Ðµ ÑÐµÐ³ÐŸ ÐœÐ°Ð¶ÐŒÐžÑÐµ <ESC>.
-+
-+---> ÐÐŸÐœÐµÑ ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐœÑÐ¶ÐŽÐ°ÐµÑÑÑ Ð² Ð¿ÐŸÐŒÐŸÑÐž, ÑÑÐŸÐ±Ñ ÑÑÐ°ÑÑ Ð¿ÐŸÑ
-ÐŸÐ¶ÐžÐŒ ÐœÐ° Ð²ÑÐŸÑÐŸÐ¹.
-+---> ÐÐŸÐœÐµÑ ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž ÐœÑÐ¶ÐŽÐ°ÐµÑÑÑ Ð² Ð¿ÐŸÐŒÐŸÑÐž ÐºÐŸÐŒÐ°ÐœÐŽÑ c$ .
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 3
-+
-+
-+  1. ÐÐ»Ñ Ð²ÑÑÐ°Ð²ÐºÐž ÑÐµÐºÑÑÐ°, ÐºÐŸÑÐŸÑÑÐ¹ ÑÐŸÐ»ÑÐºÐŸ ÑÑÐŸ Ð±ÑÐ» ÑÐŽÐ°Ð»ÐµÐœ, ÐœÐ°Ð±ÐµÑÐžÑÐµ p . Ð­ÑÐ°
-+     ÐºÐŸÐŒÐ°ÐœÐŽÐ° Ð²ÑÑÐ°Ð²ÐžÑ ÑÐŽÐ°Ð»ÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ ÐÐÐ¡ÐÐ ÐºÑÑÑÐŸÑÐ° (ÐµÑÐ»Ðž Ð±ÑÐ»Ð° ÑÐŽÐ°Ð»ÐµÐœÐ° ÑÑÑÐŸÐºÐ°,
-+     ÑÐŸ ÐŸÐœÐ° Ð±ÑÐŽÐµÑ Ð¿ÐŸÐŒÐµÑÐµÐœÐ° Ð² ÑÑÑÐŸÐºÐµ Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ).
-+
-+  2. ÐÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ ÑÐžÐŒÐ²ÐŸÐ»Ð° Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ ÐœÐ°Ð±ÐµÑÐžÑÐµ r Ðž Ð·Ð°ÑÐµÐŒ Ð·Ð°ÐŒÐµÐœÑÑÑÐžÐ¹ ÑÐžÐŒÐ²ÐŸÐ».
-+
-+  3. ÐÐŸÐŒÐ°ÐœÐŽÐ° ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐÐ°ÐŒ ÐžÐ·ÐŒÐµÐœÐžÑÑ ÑÐºÐ°Ð·Ð°ÐœÐœÑÐ¹ ÐŸÐ±ÑÐµÐºÑ ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ
-+     ÐºÐŸÐœÑÐ° ÑÑÐŸÐ³ÐŸ ÐŸÐ±ÑÐµÐºÑÐ°. ÐÐ°Ð¿ÑÐžÐŒÐµÑ, ÐœÐ°Ð±ÐµÑÐžÑÐµ cw ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ ÐŸÑ ÐºÑÑÑÐŸÑÐ° ÐŽÐŸ
-+     ÐºÐŸÐœÑÐ° ÑÐ»ÐŸÐ²Ð°, c$ ÐŽÐ»Ñ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÐŽÐŸ ÐºÐŸÐœÑÐ° ÑÑÑÐŸÐºÐž.
-+
-+  4. Ð€ÐŸÑÐŒÐ°Ñ ÐºÐŸÐŒÐ°ÐœÐŽÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÑ ÑÐ°ÐºÐŸÐ²:
-+
-+	 [ÑÐžÑÐ»ÐŸ]   c	ÐŸÐ±ÑÐµÐºÑ	      ÐÐÐ	c   [ÑÐžÑÐ»ÐŸ]   ÐŸÐ±ÑÐµÐºÑ
-+
-+Ð¢ÐµÐ¿ÐµÑÑ ÐŸÑÐ¿ÑÐ°Ð²Ð»ÑÐ¹ÑÐµÑÑ Ðº ÑÐ»ÐµÐŽÑÑÑÐµÐŒÑ ÑÑÐŸÐºÑ.
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+	      Ð£ÑÐŸÐº 4.1: ÐÐÐ€ÐÐ ÐÐÐŠÐÐ¯ Ð Ð€ÐÐÐÐ Ð Ð ÐÐ¡ÐÐÐÐÐÐÐÐÐ Ð ÐÐÐ
-+
-+
-+ ** ÐÐ°Ð±ÐµÑÐžÑÐµ CTRL-g ÑÑÐŸÐ±Ñ ÑÐ²ÐžÐŽÐµÑÑ ÐÐ°ÑÐµ ÐŒÐµÑÑÐŸÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ Ð² ÑÐ°Ð¹Ð»Ðµ Ðž ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ
-+				    ÐŸ ÐœÐµÐŒ.
-+	ÐÐ°Ð±ÐµÑÐžÑÐµ SHIFT-G ÐŽÐ»Ñ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÐžÑ Ðº Ð·Ð°ÐŽÐ°ÐœÐœÐŸÐ¹ ÑÑÑÐŸÐºÐµ Ð² ÑÐ°Ð¹Ð»Ðµ. **
-+
-+  ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÑÐŸÑÐžÑÐ°Ð¹ÑÐµ Ð²ÐµÑÑ ÑÑÐŸÐº Ð¿ÑÐµÐ¶ÐŽÐµ ÑÐµÐŒ Ð²ÑÐ¿ÐŸÐ»ÐœÑÑÑ Ð»ÑÐ±ÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ!!
-+
-+  1. Ð£ÐŽÐµÑÐ¶ÐžÐ²Ð°Ñ ÐºÐ»Ð°Ð²ÐžÑÑ Ctrl ÐœÐ°Ð¶ÐŒÐžÑÐµ g . ÐÐœÐžÐ·Ñ ÑÐºÑÐ°ÐœÐ° Ð¿ÐŸÑÐ²ÐžÑÑÑ ÑÑÑÐŸÐºÐ° ÑÑÐ°ÑÑÑÐ° Ñ
-+     ÐžÐŒÐµÐœÐµÐŒ ÑÐ°Ð¹Ð»Ð° Ðž ÐœÐŸÐŒÐµÑÐŸÐŒ ÑÑÑÐŸÐºÐž, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ ÐÑ ÐœÐ°Ñ
-ÐŸÐŽÐžÑÐµÑÑ. ÐÐ°Ð¿ÐŸÐŒÐœÐžÑÐµ ÐœÐŸÐŒÐµÑ
-+     ÑÑÑÐŸÐºÐž, ÐŸÐœ Ð¿ÐŸÑÑÐµÐ±ÑÐµÑÑÑ ÐœÐ° ÐšÐ°Ð³Ðµ 3.
-+
-+  2. ÐÐ°Ð¶ÐŒÐžÑÐµ shift-G ÐŽÐ»Ñ Ð¿ÐµÑÐµÐŒÐµÑÐµÐœÐžÑ Ðº ÐºÐŸÐœÑÑ ÑÐ°Ð¹Ð»Ð°.
-+
-+  3. ÐÐ°Ð±ÐµÑÐžÑÐµ ÐœÐŸÐŒÐµÑ ÑÑÑÐŸÐºÐž, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ Ð²Ñ ÐœÐ°Ñ
-ÐŸÐŽÐžÐ»ÐžÑÑ Ðž Ð·Ð°ÑÐµÐŒ shift-G. Ð­ÑÐŸ
-+     Ð²ÐµÑÐœÐµÑ ÐÐ°Ñ Ðº ÑÑÑÐŸÐºÐµ, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ ÐÑ Ð±ÑÐ»Ðž, ÐºÐŸÐ³ÐŽÐ° Ð² Ð¿ÐµÑÐ²ÑÐ¹ ÑÐ°Ð· ÐœÐ°Ð¶Ð°Ð»Ðž Ctrl-g.
-+     (ÐÐŸÐ³ÐŽÐ° ÐÑ Ð±ÑÐŽÐµÑÐµ ÐœÐ°Ð±ÐžÑÐ°ÑÑ ÑÐžÑÑÑ, ÐŸÐœÐž ÐÐ ÐŸÑÐŸÐ±ÑÐ°Ð·ÑÑÑÑ ÐœÐ° ÑÐºÑÐ°ÐœÐµ.)
-+
-+  4. ÐÑÐ»Ðž ÐÑ Ð·Ð°Ð¿ÐŸÐŒÐœÐžÐ»Ðž Ð²ÑÐµ Ð²ÑÑÐµÑÐºÐ°Ð·Ð°ÐœÐœÐŸÐµ, Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÐµ ÑÐ°Ð³Ðž 1--3.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			   Ð£ÑÐŸÐº 4.2: ÐÐÐÐÐÐÐ ÐÐÐÐ¡ÐÐ
-+
-+	      ** ÐÐ°Ð±ÐµÑÐžÑÐµ  /  Ðž Ð·Ð°ÑÐµÐŒ Ð²Ð²ÐµÐŽÐžÑÐµ ÐžÑÐºÐŸÐŒÑÑ ÑÑÐ°Ð·Ñ. **
-+
-+  1. Ð ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ (Normal mode) ÐœÐ°Ð±ÐµÑÐžÑÐµ ÑÐžÐŒÐ²ÐŸÐ»  / . ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ,
-+     ÑÑÐŸ ÐŸÐœ Ð²ÐŒÐµÑÑÐµ Ñ ÐºÑÑÑÐŸÑÐŸÐŒ Ð¿ÐŸÑÐ²ÐžÑÑÑ Ð²ÐœÐžÐ·Ñ ÑÐºÑÐ°ÐœÐ°, ÐºÐ°Ðº ÑÑÐŸ Ð¿ÑÐŸÐžÑÑ
-ÐŸÐŽÐžÑ Ñ
-+     ÐºÐŸÐŒÐ°ÐœÐŽÐŸÐ¹ :	.
-+
-+  2. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ 'ÐŸÑÑÑÐžÐ±ÐºÐ°' <ENTER>. Ð­ÑÐŸ ÑÐŸ ÑÐ»ÐŸÐ²ÐŸ, ÐºÐŸÑÐŸÑÐŸÐµ ÐÑ Ð±ÑÐŽÐµÑÐµ
-+     ÐžÑÐºÐ°ÑÑ.
-+
-+  3. ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ Ð¿ÐŸÐ²ÑÐŸÑÐžÑÑ Ð¿ÐŸÐžÑÐº, Ð¿ÑÐŸÑÑÐŸ ÐœÐ°Ð¶ÐŒÐžÑÐµ n .
-+     ÐÐ»Ñ Ð¿ÐŸÐžÑÐºÐ° ÑÑÐŸÐ¹ ÑÑÐ°Ð·Ñ Ð² ÐŸÐ±ÑÐ°ÑÐœÐŸÐŒ ÐœÐ°Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž, ÐœÐ°Ð¶ÐŒÐžÑÐµ Shift-N .
-+
-+  4. ÐÑÐ»Ðž ÐÑ Ð¶ÐµÐ»Ð°ÐµÑÐµ ÑÑÐ°Ð·Ñ ÐžÑÐºÐ°ÑÑ Ð² ÐŸÐ±ÑÐ°ÑÐœÐŸÐŒ ÐœÐ°Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ
-+     ÐºÐŸÐŒÐ°ÐœÐŽÑ ? Ð²ÐŒÐµÑÑÐŸ / .
-+
-+---> ÐÐŸÐ³ÐŽÐ° ÐÑ Ð¿ÑÐž Ð¿ÐŸÐžÑÐºÐµ ÐŽÐŸÑÑÐžÐ³ÐœÐµÑÐµ ÐºÐŸÐœÑÐ° ÑÐ°Ð¹Ð»Ð°, Ð¿ÐŸÐžÑÐº Ð±ÑÐŽÐµÑ Ð¿ÑÐŸÐŽÐŸÐ»Ð¶ÐµÐœ Ñ
-+     ÐœÐ°ÑÐ°Ð»Ð°.
-+
-+  "ÐŸÑÑÑÐžÐ±ÐºÐ°" ÑÑÐŸ ÐœÐµ ÑÐ¿ÐŸÑÐŸÐ± Ð¿ÑÐŸÐžÐ·ÐœÐµÑÐµÐœÐžÑ ÑÐ»ÐŸÐ²Ð° `ÐŸÑÐžÐ±ÐºÐ°';  ÐŸÑÑÑÐžÐ±ÐºÐ° ÑÑÐŸ ÐŸÑÐžÐ±ÐºÐ°.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			Ð£ÑÐŸÐº 4.3: ÐÐÐÐ¡Ð ÐÐÐ ÐÐ«Ð¥ Ð¡ÐÐÐÐÐ
-+
-+
-+		** ÐÐ°Ð±ÐµÑÐžÑÐµ % ÐŽÐ»Ñ Ð¿ÐŸÐžÑÐºÐ° Ð¿Ð°ÑÐœÑÑ
- ),] ÐžÐ»Ðž } . **
-+
-+  1. ÐÐŸÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ ÐœÐ°ÐŽ Ð»ÑÐ±ÐŸÐ¹ ÐžÐ· (, [ ÐžÐ»Ðž { Ð² ÑÑÑÐŸÐºÐµ Ð²ÐœÐžÐ·Ñ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ ÑÐžÐŒÐ²ÐŸÐ» % .
-+
-+  3. ÐÑÑÑÐŸÑ ÐŽÐŸÐ»Ð¶ÐµÐœ Ð¿ÐµÑÐµÑÐºÐŸÑÐžÑÑ ÐœÐ° Ð¿Ð°ÑÐœÑÑ ÑÐºÐŸÐ±ÐºÑ.
-+
-+  4. ÐÐ°Ð±ÐµÑÐžÑÐµ % ÐŽÐ»Ñ Ð²ÐŸÐ·Ð²ÑÐ°ÑÐ° ÐºÑÑÑÐŸÑÐ° ÐœÐ°Ð·Ð°ÐŽ Ðº Ð¿ÐµÑÐ²ÐŸÐ¹ ÑÐºÐŸÐ±ÐºÐµ.
-+
-+---> Ð­ÑÐŸ ( ÑÑÑÐŸÐºÐ°, ÑÐŸÐŽÐµÑÐ¶Ð°ÑÐ°Ñ ÑÐ°ÐºÐžÐµ (, ÑÐ°ÐºÐžÐµ [ ] Ðž ÑÐ°ÐºÐžÐµ { } ÑÐºÐŸÐ±ÐºÐž. ))
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: Ð­ÑÐŸ ÐŸÑÐµÐœÑ ÑÐŽÐŸÐ±ÐœÐŸ Ð¿ÑÐž ÐŸÑÐ»Ð°ÐŽÐºÐµ Ð¿ÑÐŸÐ³ÑÐ°ÐŒÐŒ Ñ Ð¿ÑÐŸÐ¿ÑÑÐµÐœÐœÑÐŒÐž ÑÐºÐŸÐ±ÐºÐ°ÐŒÐž!
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		      Ð£ÑÐŸÐº 4.4: Ð¡ÐÐÐ¡ÐÐ ÐÐ¡ÐÐ ÐÐÐÐÐÐÐ¯ ÐÐšÐÐÐÐ
-+
-+
-+	 ** ÐÐ°Ð±ÐµÑÐžÑÐµ :s/Ð±ÑÐ»ÐŸ/ÑÑÐ°Ð»ÐŸ/g ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ 'Ð±ÑÐ»ÐŸ' ÐœÐ° 'ÑÑÐ°Ð»ÐŸ'. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ :s/ÑÐ²ÐŸÐŽÑ/ÑÐ²ÐŸÐ¶Ñ <ENTER> . ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ ÐœÐ° ÑÐŸ, ÑÑÐŸ ÑÑÐ° ÐºÐŸÐŒÐ°ÐœÐŽÐ°
-+     Ð·Ð°ÐŒÐµÐœÐžÑ ÑÐŸÐ»ÑÐºÐŸ Ð¿ÐµÑÐ²ÐŸÐµ ÐœÐ°Ð¹ÐŽÐµÐœÐœÐŸÐµ Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÐµ Ð² ÑÑÑÐŸÐºÐµ.
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ :s/ÑÐ²ÐŸÐŽÑ/ÑÐ²ÐŸÐ¶Ñ/g , ÐŸÐ·ÐœÐ°ÑÐ°ÑÑÐµÐµ Ð¿ÐŸÐŽÑÑÐ°ÐœÐŸÐ²ÐºÑ Ð³Ð»ÐŸÐ±Ð°Ð»ÑÐœÐŸ Ð²ÐŸ
-+     Ð²ÑÐµÐ¹ ÑÑÑÐŸÐºÐµ. Ð­ÑÐŸ Ð·Ð°ÐŒÐµÐœÐžÑ Ð²ÑÐµ ÐœÐ°Ð¹ÐŽÐµÐœÐœÑÐµ Ð² ÑÑÑÐŸÐºÐµ Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÑ.
-+
-+---> Ð¯ ÑÐ²ÐŸÐŽÑ Ðº ÐŸÑÐ²ÐµÑÐ¶ÐµÐœÐœÑÐŒ ÑÐµÐ»ÐµÐœÑÑÐŒ, Ñ ÑÐ²ÐŸÐŽÑ ÑÐºÐ²ÐŸÐ·Ñ Ð²ÐµÐºÐŸÐ²ÐµÑÐœÑÐ¹ ÑÑÐŸÐœ, Ñ ÑÐ²ÐŸÐŽÑ Ðº
-+     Ð·Ð°Ð±ÑÑÑÐŒ Ð¿ÐŸÐºÐŸÐ»ÐµÐœÑÑÐŒ.
-+
-+  4. ÐÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ Ð²ÑÐµÑ
- Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÐ¹ Ð¿ÐŸÑÐ»ÐµÐŽÐŸÐ²Ð°ÑÐµÐ»ÑÐœÐŸÑÑÐž ÑÐžÐŒÐ²ÐŸÐ»ÐŸÐ² ÐŒÐµÐ¶ÐŽÑ ÐŽÐ²ÑÐŒÑ
-+     ÑÑÑÐŸÐºÐ°ÐŒÐž,
-+     ÐœÐ°Ð±ÐµÑÐžÑÐµ :#,#s/Ð±ÑÐ»ÐŸ/ÑÑÐ°Ð»ÐŸ/g  Ð³ÐŽÐµ #,# --- ÐœÐŸÐŒÐµÑÐ° ÑÑÐžÑ
- ÑÑÑÐŸÐº.
-+     ÐÐ°Ð±ÐµÑÐžÑÐµ :%s/Ð±ÑÐ»ÐŸ/ÑÑÐ°Ð»ÐŸ/g    ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ Ð²ÑÐµÑ
- Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÐ¹ Ð²ÐŸ Ð²ÑÐµÐŒ ÑÐ°Ð¹Ð»Ðµ.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 4
-+  1. Ctrl-g Ð¿ÐŸÐºÐ°Ð·ÑÐ²Ð°ÐµÑ Ð²Ð°ÑÐµ Ð¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ Ð² ÑÐ°Ð¹Ð»Ðµ Ðž ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ ÐœÐµÐŒ.
-+     Shift-G Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑ ÐÐ°Ñ Ð² ÐºÐŸÐœÐµÑ ÑÐ°Ð¹Ð»Ð°. ÐÐŸÐŒÐµÑ, Ð·Ð° ÐºÐŸÑÐŸÑÑÐŒ ÑÐ»ÐµÐŽÑÐµÑ Shift-G
-+     Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÐµÑÐµÐ¹ÑÐž Ðº ÑÑÑÐŸÐºÐµ Ñ ÑÑÐžÐŒ ÐœÐŸÐŒÐµÑÐŸÐŒ.
-+
-+  2. ÐÐ°Ð¶Ð°ÑÐžÐµ / Ðž Ð·Ð°ÑÐµÐŒ Ð²Ð²ÐŸÐŽ ÑÑÑÐŸÐºÐž Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐµÑÑÐž Ð¿ÐŸÐžÑÐº ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž
-+     ÐÐÐÐ ÐÐ Ð¿ÐŸ ÑÐµÐºÑÑÑ.
-+     ÐÐ°Ð¶Ð°ÑÐžÐµ ? Ðž Ð·Ð°ÑÐµÐŒ Ð²Ð²ÐŸÐŽ ÑÑÑÐŸÐºÐž Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ Ð¿ÑÐŸÐžÐ·Ð²ÐµÑÑÐž Ð¿ÐŸÐžÑÐº ÑÑÐŸÐ¹ ÑÑÑÐŸÐºÐž
-+     ÐÐÐÐÐ Ð¿ÐŸ ÑÐµÐºÑÑÑ.
-+     ÐÐŸÑÐ»Ðµ Ð¿ÐŸÐžÑÐºÐ° ÐœÐ°Ð±ÐµÑÐžÑÐµ n ÐŽÐ»Ñ Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐ° Ðº ÑÐ»ÐµÐŽÑÑÑÐµÐŒÑ Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÑ ÐžÑÐºÐŸÐŒÐŸÐ¹
-+     ÑÑÑÐŸÐºÐž Ð² ÑÐŸÐŒ Ð¶Ðµ ÐœÐ°Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž ÐžÐ»Ðž Shift-N ÐŽÐ»Ñ Ð¿ÐµÑÐµÑ
-ÐŸÐŽÐ° Ð² Ð¿ÑÐŸÑÐžÐ²ÐŸÐ¿ÐŸÐ»ÐŸÐ¶ÐœÐŸÐŒ
-+     ÐœÐ°Ð¿ÑÐ°Ð²Ð»ÐµÐœÐžÐž.
-+
-+  3. ÐÐ°Ð¶Ð°ÑÐžÐµ % , ÐºÐŸÐ³ÐŽÐ° ÐºÑÑÑÐŸÑ ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ ÐœÐ° (,),[,],{, ÐžÐ»Ðž } Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐœÐ°Ð¹ÑÐž
-+     Ð¿Ð°ÑÐœÑÑ ÑÐºÐŸÐ±ÐºÑ.
-+
-+  4. ÐÐ»Ñ Ð¿ÐŸÐŽÑÑÐ°ÐœÐŸÐ²ÐºÐž `ÑÑÐ°Ð»ÐŸ' Ð²ÐŒÐµÑÑÐŸ Ð¿ÐµÑÐ²ÐŸÐ³ÐŸ `Ð±ÑÐ»ÐŸ' Ð² ÑÑÑÐŸÐºÐµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ
-+     :s/old/new
-+     ÐÐ»Ñ Ð¿ÐŸÐŽÑÑÐ°ÐœÐŸÐ²ÐºÐž `ÑÑÐ°Ð»ÐŸ' Ð²ÐŒÐµÑÑÐŸ Ð²ÑÐµÑ
- `Ð±ÑÐ»ÐŸ' Ð² ÑÑÑÐŸÐºÐµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ
-+     :s/old/new/g
-+     ÐÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ Ð² ÐžÐœÑÐµÑÐ²Ð°Ð»Ðµ ÐŒÐµÐ¶ÐŽÑ ÐŽÐ²ÑÐŒÑ ÑÑÑÐŸÐºÐ°ÐŒÐž, ÐœÐ°Ð±ÐµÑÐžÑÐµ
-+     :#,#s/old/new/g
-+     ÐÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ Ð²ÑÐµÑ
- Ð²Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÐ¹ `Ð±ÑÐ»ÐŸ' ÐœÐ° `ÑÑÐ°Ð»ÐŸ' Ð² ÑÐ°Ð¹Ð»Ðµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ
-+     :%s/old/new/g
-+     Ð§ÑÐŸÐ±Ñ ÑÐµÐŽÐ°ÐºÑÐŸÑ ÐºÐ°Ð¶ÐŽÑÐ¹ ÑÐ°Ð· Ð·Ð°Ð¿ÑÐ°ÑÐžÐ²Ð°Ð» Ð¿ÐŸÐŽÑÐ²ÐµÑÐ¶ÐŽÐµÐœÐžÐµ, ÐŽÐŸÐ±Ð°Ð²ÑÑÐµ 'c'
-+     :%s/old/new/gc
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		   Ð£ÑÐŸÐº 5.1: ÐÐÐ ÐÐ«ÐÐÐÐÐÐ¢Ð¬ ÐÐÐÐšÐÐ®Ð® ÐÐÐÐÐÐÐ£
-+
-+
-+    ** ÐÐ°Ð±ÐµÑÐžÑÐµ :! Ðž Ð·Ð°ÑÐµÐŒ Ð²ÐœÐµÑÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ, ÐºÐŸÑÐŸÑÑÑ ÑÐ»ÐµÐŽÑÐµÑ Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÑ. **
-+
-+  1. ÐÐ°Ð±ÐµÑÐžÑÐµ ÑÐ¶Ðµ Ð·ÐœÐ°ÐºÐŸÐŒÑÑ ÐÐ°ÐŒ ÐºÐŸÐŒÐ°ÐœÐŽÑ : ÐŽÐ»Ñ ÑÑÑÐ°ÐœÐŸÐ²ÐºÐž ÐºÑÑÑÐŸÑÐ° Ð² ÐºÐŸÐŒÐ°ÐœÐŽÐœÑÑ
-+     ÑÑÑÐŸÐºÑ ÑÐµÐŽÐ°ÐºÑÐŸÑÐ°. Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÐÐ°ÐŒ Ð²Ð²ÐµÑÑÐž ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+
-+  2. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ ÑÐžÐŒÐ²ÐŸÐ» ! (Ð²ÐŸÑÐºÐ»ÐžÑÐ°ÑÐµÐ»ÑÐœÑÐ¹ Ð·ÐœÐ°Ðº). Ð¢ÐµÐ¿ÐµÑÑ ÐŒÐŸÐ¶ÐœÐŸ ÐžÑÐ¿ÐŸÐ»ÐœÐžÑÑ
-+     Ð²ÐœÐµÑÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÐœÑÑ ÐŸÐ±ÐŸÐ»ÐŸÑÐºÑ.
-+
-+  3. ÐÐ»Ñ Ð¿ÑÐžÐŒÐµÑÐ° ÐœÐ°Ð±ÐµÑÐžÑÐµ ls Ð¿ÐŸÑÐ»Ðµ ! Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ <ENTER>. Ð­ÑÐ° ÐºÐŸÐŒÐ°ÐœÐŽÐ° Ð²ÑÐ²ÐµÐŽÐµÑ
-+     ÑÐ¿ÐžÑÐŸÐº ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÑÐµÐºÑÑÐµÐŒ ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ðµ, ÑÐŸÑÐœÐŸ ÑÐ°ÐºÐ¶Ðµ, ÐºÐ°Ðº ÐµÑÐ»Ðž Ð±Ñ ÐÑ Ð²Ð²ÐµÐ»Ðž ÑÑÑ
-+     ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð² Ð¿ÑÐžÐ³Ð»Ð°ÑÐµÐœÐžÐž ÐŸÐ±ÐŸÐ»ÐŸÑÐºÐž. ÐÐ»Ðž Ð¿ÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ :!dir , ÐµÑÐ»Ðž Ð¿ÑÐµÐŽÑÐŽÑÑÐ°Ñ
-+     ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÐœÐµ ÑÑÐ°Ð±ÐŸÑÐ°Ð»Ð°.
-+
-+---> ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: Ð¢Ð°ÐºÐžÐŒ ÑÐ¿ÐŸÑÐŸÐ±ÐŸÐŒ ÐŒÐŸÐ¶ÐœÐŸ Ð²ÑÐ¿ÐŸÐ»ÐœÐžÑÑ Ð»ÑÐ±ÑÑ Ð²ÐœÐµÑÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+
-+---> ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ, ÐœÐ°ÑÐžÐœÐ°ÑÑÐžÐµÑÑ Ñ : , ÐŽÐŸÐ»Ð¶ÐœÑ Ð·Ð°Ð²ÐµÑÑÐ°ÑÑÑÑ ÐœÐ°Ð¶Ð°ÑÐžÐµÐŒ
-+     <ENTER>.
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 Ð£ÑÐŸÐº 5.2: ÐÐÐ ÐÐÐÐÐ¡ÐÐ¢Ð¬ Ð€ÐÐÐ
-+
-+
-+** ÐÐ»Ñ ÑÐŸÑ
-ÑÐ°ÐœÐµÐœÐžÑ ÐžÐ·ÐŒÐµÐœÐµÐœÐžÐ¹, Ð¿ÑÐŸÐžÐ·Ð²ÐµÐŽÐµÐœÐœÑÑ
- Ð² ÑÐ°Ð¹Ð»Ðµ, ÐœÐ°Ð±ÐµÑÐžÑÐµ :w ÐÐÐ¯_Ð€ÐÐÐÐ. **
-+
-+  1. ÐÐ°Ð±ÐµÑÐžÑÐµ :!dir ÐžÐ»Ðž :!ls ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÑÐ¿ÐžÑÐºÐ° ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÑÐµÐºÑÑÐµÐŒ ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ðµ.
-+     ÐÐ°Ðº ÐÐ°ÐŒ ÑÐ¶Ðµ ÐžÐ·Ð²ÐµÑÑÐœÐŸ, ÐÑ ÐŽÐŸÐ»Ð¶ÐœÑ ÐœÐ°Ð¶Ð°ÑÑ <ENTER> Ð¿ÐŸÑÐ»Ðµ Ð²Ð²ÐŸÐŽÐ° ÑÑÐžÑ
- ÐºÐŸÐŒÐ°ÐœÐŽ.
-+
-+  2. ÐÑÐžÐŽÑÐŒÐ°Ð¹ÑÐµ ÐœÐ°Ð·Ð²Ð°ÐœÐžÐµ ÐŽÐ»Ñ ÑÐ°Ð¹Ð»Ð°, ÐºÐŸÑÐŸÑÐŸÐµ ÐµÑÐµ ÐœÐµ ÑÑÑÐµÑÑÐ²ÑÐµÑ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ TEST.
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ :w TEST (Ð³ÐŽÐµ TEST --- ÑÑÐŸ ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°, Ð¿ÑÐžÐŽÑÐŒÐ°ÐœÐœÐŸÐµ ÐÐ°ÐŒÐž.)
-+
-+  4. Ð­ÑÐ° ÐºÐŸÐŒÐ°ÐœÐŽÐ° ÑÐŸÑ
-ÑÐ°ÐœÐžÑ Ð²ÐµÑÑ ÑÐ°Ð¹Ð» (Ð£ÑÐµÐ±ÐœÐžÐº Ð¿ÐŸ Vim) Ð¿ÐŸÐŽ ÐžÐŒÐµÐœÐµÐŒ TEST. Ð§ÑÐŸÐ±Ñ
-+     ÑÐŽÐŸÑÑÐŸÐ²ÐµÑÐžÑÑÑÑ Ð² ÑÑÐŸÐŒ, ÑÐœÐŸÐ²Ð° ÐœÐ°Ð±ÐµÑÐžÑÐµ :!dir Ðž Ð¿ÑÐŸÑÐŒÐŸÑÑÐžÑÐµ ÐºÐ°ÑÐ°Ð»ÐŸÐ³.
-+
-+---> ÐÐ°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ ÐµÑÐ»Ðž ÐÑ Ð²ÑÐ¹ÐŽÐµÑÐµ ÐžÐ· Vim Ðž Ð·Ð°ÑÐµÐŒ Ð·Ð°Ð¿ÑÑÑÐžÑÐµ ÐµÐ³ÐŸ ÑÐœÐŸÐ²Ð° Ñ
-+     ÑÐ°Ð¹Ð»ÐŸÐŒ TEST, ÑÑÐŸÑ ÑÐ°Ð¹Ð» Ð±ÑÐŽÐµÑ ÑÐŸÑÐœÐŸÐ¹ ÐºÐŸÐ¿ÐžÐµÐ¹ ÑÑÐµÐ±ÐœÐžÐºÐ° Ð² ÑÐŸÑ ÐŒÐŸÐŒÐµÐœÑ, ÐºÐŸÐ³ÐŽÐ°
-+     ÐÑ ÐµÐ³ÐŸ ÑÐŸÑ
-ÑÐ°ÐœÐžÐ»Ðž.
-+
-+  5. Ð¢ÐµÐ¿ÐµÑÑ ÑÐŽÐ°Ð»ÐžÑÐµ ÑÑÐŸÑ ÑÐ°Ð¹Ð», ÐœÐ°Ð±ÑÐ°Ð² :!del TEST
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		       Ð£ÑÐŸÐº 5.3: ÐÐ«ÐÐÐ ÐÐ§ÐÐÐ Ð¡ÐÐ¥Ð ÐÐÐÐÐÐ
-+
-+
-+	 ** ÐÐ»Ñ ÑÐŸÑ
-ÑÐ°ÐœÐµÐœÐžÑ ÑÐ°ÑÑÐž ÑÐ°Ð¹Ð»Ð°, ÐœÐ°Ð±ÐµÑÐžÑÐµ :#,# w ÐÐÐ¯_Ð€ÐÐÐÐ **
-+
-+  1. ÐÑÐµ ÑÐ°Ð· ÐœÐ°Ð±ÐµÑÐžÑÐµ :!dir ÐžÐ»Ðž :!ls ÐŽÐ»Ñ Ð¿ÐŸÐ»ÑÑÐµÐœÐžÑ ÑÐ¿ÐžÑÐºÐ° ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÑÐµÐºÑÑÐµÐŒ
-+     ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ðµ Ðž Ð²ÑÐ±ÐµÑÐžÑÐµ Ð¿ÐŸÐŽÑ
-ÐŸÐŽÑÑÐµÐµ ÐžÐŒÑ, ÐœÐ°Ð¿ÑÐžÐŒÐµÑ TEST.
-+
-+  2. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ðº ÐœÐ°ÑÐ°Ð»Ñ ÑÑÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÑ Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ Ctrl-g ÐŽÐ»Ñ ÐœÐ°Ñ
-ÐŸÐ¶ÐŽÐµÐœÐžÑ
-+     ÐœÐŸÐŒÐµÑÐ° ÑÑÑÐŸÐºÐžto. ÐÐÐÐÐÐÐÐ¢Ð Ð­Ð¢ÐÐ¢ ÐÐÐÐÐ !
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÑÑÐ°ÐœÐžÑÑ Ðž Ð²ÐœÐŸÐ²Ñ ÐœÐ°Ð±ÐµÑÐžÑÐµ Ctrl-g. ÐÐÐÐÐÐÐÐ¢Ð
-+     Ð Ð­Ð¢ÐÐ¢ ÐÐÐÐÐ  Ð¢ÐÐÐ!
-+
-+  4. ÐÐ»Ñ ÑÐŸÑ
-ÑÐ°ÐœÐµÐœÐžÑ Ð¢ÐÐÐ¬ÐÐ Ð§ÐÐ¡Ð¢Ð ÑÐ°Ð¹Ð»Ð° ÐœÐ°Ð±ÐµÑÐžÑÐµ :#,# w TEST , Ð³ÐŽÐµ #,# --- ÑÑÐŸ
-+     ÐœÐŸÐŒÐµÑÐ°, ÐºÐŸÑÐŸÑÑÐµ ÐÑ Ð·Ð°Ð¿ÐŸÐŒÐœÐžÐ»Ðž (ÐœÐ°ÑÐ°Ð»ÐŸ, ÐºÐŸÐœÐµÑ), Ð° TEST --- ÐžÐŒÑ Ð²Ð°ÑÐµÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°.
-+
-+  5. ÐÐ°Ðº Ðž Ð¿ÑÐµÐ¶ÐŽÐµ, ÑÐ±ÐµÐŽÐžÑÐµÑÑ Ð² ÐœÐ°Ð»ÐžÑÐžÐž ÑÑÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð° ÐºÐŸÐŒÐ°ÐœÐŽÐŸÐ¹ :!dir , ÐœÐŸ ÐÐ
-+     Ð£ÐÐÐÐ¯ÐÐ¢Ð ÐµÐ³ÐŸ.
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		    Ð£ÑÐŸÐº 5.4: Ð§Ð¢ÐÐÐÐ Ð ÐÐÐªÐÐÐÐÐÐÐÐ Ð€ÐÐÐÐÐ
-+
-+	  ** ÐÐ»Ñ Ð²ÑÑÐ°Ð²ÐºÐž ÑÐŸÐŽÐµÑÐ¶ÐžÐŒÐŸÐ³ÐŸ ÑÐ°Ð¹Ð»Ð°, ÐœÐ°Ð±ÐµÑÐžÑÐµ  :r FILENAME **
-+
-+  1. ÐÐ°Ð±ÐµÑÐžÑÐµ :!dir ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐ±ÐµÐŽÐžÑÑÑÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ ÑÐ°Ð¹Ð» TEST Ð²ÑÐµ ÐµÑÐµ
-+     ÑÑÑÐµÑÑÐ²ÑÐµÑ.
-+
-+  2. Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÑÐµ ÐºÑÑÑÐŸÑ Ð² Ð²ÐµÑÑ
-ÐœÐµÐ¹ ÑÐ°ÑÑÐž ÑÑÐŸÐ¹ ÑÑÑÐ°ÐœÐžÑÑ.
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÐŸÑÐ»Ðµ Ð²ÑÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÑÐ°Ð³Ð° 3 ÐÑ ÑÐ²ÐžÐŽÐžÑÐµ Ð£ÑÐŸÐº 5.3.	ÐÐŸÑÐ»Ðµ ÑÑÐŸÐ³ÐŸ
-+	   Ð¿ÐµÑÐµÐŒÐµÑÐ°Ð¹ÑÐµÑÑ ÐÐÐÐ, ÑÐœÐŸÐ²Ð° Ðº ÑÑÐŸÐŒÑ ÑÑÐŸÐºÑ.
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÑÐŸÑÐžÑÐ°Ð¹ÑÐµ ÐÐ°Ñ ÑÐ°Ð¹Ð» TEST, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ :r TEST , Ð³ÐŽÐµ
-+     TEST --- ÑÑÐŸ ÐžÐŒÑ ÑÐ°Ð¹Ð»Ð°.
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: ÐÑÐŸÑÐžÑÐ°ÐœÐœÑÐ¹ ÐÐ°ÐŒÐž ÑÐ°Ð¹Ð» Ð±ÑÐŽÐµÑ Ð²ÑÑÐ°Ð²Ð»ÐµÐœ Ð² ÑÐŸÐŒ ÐŒÐµÑÑÐµ, Ð³ÐŽÐµ ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ
-+	   ÐºÑÑÑÐŸÑ.
-+
-+  4. Ð§ÑÐŸÐ±Ñ ÑÐ±ÐµÐŽÐžÑÑÑÑ Ð² ÑÐŸÐŒ, ÑÑÐŸ ÑÐ°Ð¹Ð» Ð¿ÑÐŸÑÐžÑÐ°Ðœ, Ð¿ÐµÑÐµÐŒÐµÑÑÐžÑÐµÑÑ ÐœÐµÐŒÐœÐŸÐ³ÐŸ ÐœÐ°Ð·Ð°ÐŽ Ð¿ÐŸ
-+     ÑÐµÐºÑÑÑ Ðž [A[BÐ·Ð°ÐŒÐµÑÑÑÐµ, ÑÑÐŸ ÑÐµÐ¿ÐµÑÑ ÑÑÑÐµÑÑÐ²ÑÑÑ ÐŽÐ²Ðµ ÐºÐŸÐ¿ÐžÐž Ð£ÑÐŸÐºÐ° 5.3, ÐžÑÑ
-ÐŸÐŽÐœÐ°Ñ
-+     Ðž Ð¿ÐŸÐ»ÑÑÐµÐœÐœÐ°Ñ ÐžÐ· ÑÐ°Ð¹Ð»Ð°.
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 5
-+
-+
-+  1.  :!ÐºÐŸÐŒÐ°ÐœÐŽÐ°  ÐžÑÐ¿ÐŸÐ»ÐœÑÐµÑ Ð²ÐœÐµÑÐœÑÑ ÐºÐŸÐŒÐ°ÐœÐŽÑ.
-+
-+      ÐÐµÐºÐŸÑÐŸÑÑÐµ Ð¿ÐŸÐ»ÐµÐ·ÐœÑÐµ Ð¿ÑÐžÐŒÐµÑÑ:
-+	  :!dir --- Ð²ÑÐ²ÐŸÐŽÐžÑ ÑÐ¿ÐžÑÐŸÐº ÑÐ°Ð¹Ð»ÐŸÐ² Ð² ÐºÐ°ÑÐ°Ð»ÐŸÐ³Ðµ.
-+	  :!del FILENAME --- ÑÐŽÐ°Ð»ÑÐµÑ ÑÐ°Ð¹Ð» FILENAME.
-+
-+  2.  :w FILENAME Ð·Ð°Ð¿ÐžÑÑÐ²Ð°ÐµÑ ÑÐµÐºÑÑÐžÐ¹ ÑÐµÐŽÐ°ÐºÑÐžÑÑÐµÐŒÑÐ¹ ÑÐ°Ð¹Ð» ÐœÐ° ÐŽÐžÑÐº
-+      Ð¿ÐŸÐŽ ÐžÐŒÐµÐœÐµÐŒ FILENAME.
-+
-+  3.  :#,#w FILENAME ÑÐŸÑ
-ÑÐ°ÐœÑÐµÑ ÑÑÑÐŸÐºÐž ÐŸÑ # ÐŽÐŸ # Ð² ÑÐ°Ð¹Ð» FILENAME.
-+
-+  4.  :r FILENAME ÑÑÐžÑÑÐ²Ð°ÐµÑ Ñ ÐŽÐžÑÐºÐ° ÑÐ°Ð¹Ð» FILENAME Ðž Ð¿ÐŸÐŒÐµÑÐ°ÐµÑ ÐµÐ³ÐŸ Ð² ÑÐµÐºÑÑÐžÐ¹
-+      ÑÐ°Ð¹Ð» ÑÐ»ÐµÐŽÐŸÐŒ Ð·Ð° Ð¿ÐŸÐ·ÐžÑÐžÐµÐ¹ ÐºÑÑÑÐŸÑÐ°.
-+
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			  Ð£ÑÐŸÐº 6.1: ÐÐÐÐÐÐÐ Ð¡ÐÐÐÐÐÐÐ¯
-+
-+
-+ ** ÐÐ°Ð±ÐµÑÐžÑÐµ o ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ Ð¿ÑÑÑÑÑ ÑÑÑÐŸÐºÑ Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ Ðž Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÐµÐ¶ÐžÐŒ
-+			   Ð²ÑÑÐ°Ð²ÐºÐž (Insert mode) **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ o (Ð² ÐœÐžÐ¶ÐœÐµÐŒ ÑÐµÐ³ÐžÑÑÑÐµ) ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐŸÐ·ÐŽÐ°ÑÑ Ð¿ÑÑÑÑÑ ÑÑÑÐŸÐºÑ
-+     ÐÐÐÐ ÐºÑÑÑÐŸÑÐ° Ðž Ð¿ÐµÑÐµÐ¹ÑÐž Ð² ÑÐµÐ¶ÐžÐŒ Ð²ÑÑÐ°Ð²ÐºÐž (Insert mode).
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÑÐºÐŸÐ¿ÐžÑÑÐ¹ÑÐµ Ð¿ÐŸÐŒÐµÑÐµÐœÐœÑÑ ---> ÑÑÑÐŸÐºÑ Ðž ÐœÐ°Ð¶ÐŒÐžÑÐµ <ESC> ÐŽÐ»Ñ Ð²ÑÑ
-ÐŸÐŽÐ° ÐžÐ·
-+     ÑÐµÐ¶ÐžÐŒÐ° Ð²ÑÑÐ°Ð²ÐºÐž.
-+
-+---> ÐÐŸÑÐ»Ðµ ÐœÐ°Ð¶Ð°ÑÐžÑ o ÐºÑÑÑÐŸÑ Ð¿ÐµÑÐµÐ¹ÐŽÐµÑ ÐœÐ° ÐœÐŸÐ²ÑÑ Ð¿ÑÑÑÑÑ ÑÑÑÐŸÐºÑ Ð² ÑÐµÐ¶ÐžÐŒÐµ Ð²ÑÑÐ°Ð²ÐºÐž.
-+
-+  4. ÐÐ»Ñ ÑÐŸÐ·ÐŽÐ°ÐœÐžÑ ÑÑÑÐŸÐºÐž ÐÐ«ÐšÐ ÐºÑÑÑÐŸÑÐ°, Ð¿ÑÐŸÑÑÐŸ ÐœÐ°Ð±ÐµÑÐžÑÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÑÑ O, Ð²ÐŒÐµÑÑÐŸ
-+     ÑÑÑÐŸÑÐœÐŸÐ¹ o. ÐÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ Ð¿ÑÐŸÐŽÐµÐ»Ð°ÑÑ ÑÑÐŸ Ñ ÐœÐžÐ¶ÐµÑÐ»ÐµÐŽÑÑÑÐµÐ¹ ÑÑÑÐŸÐºÐŸÐ¹.
-+Ð¡ÐŸÐ·ÐŽÐ°Ð¹ÑÐµ ÐœÐŸÐ²ÑÑ ÑÑÑÐŸÐºÑ ÐœÐ°ÐŽ ÑÑÐŸÐ¹, ÐœÐ°Ð¶Ð°Ð² Shift-O, Ð¿ÐŸÐŒÐµÑÑÐžÐ² ÐºÑÑÑÐŸÑ ÐœÐ° ÑÑÑ ÑÑÑÐŸÐºÑ.
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			 Ð£ÑÐŸÐº 6.2: ÐÐÐÐÐÐÐ ÐÐÐÐÐÐÐÐÐÐ¯
-+
-+	    ** ÐÐ°Ð±ÐµÑÐžÑÐµ a , ÑÑÐŸÐ±Ñ Ð²ÑÑÐ°Ð²ÐžÑÑ ÑÐµÐºÑÑ ÐÐÐ¡ÐÐ ÐºÑÑÑÐŸÑÐ°. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ð² ÐºÐŸÐœÐµÑ Ð¿ÐµÑÐ²ÐŸÐ¹ ÑÑÑÐŸÐºÐž, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ ---> ,
-+     ÐœÐ°Ð±ÑÐ°Ð² $ Ð² ÐŸÐ±ÑÑÐœÐŸÐŒ ÑÐµÐ¶ÐžÐŒÐµ (Normal mode).
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ a (Ð² ÐœÐžÐ¶ÐœÐµÐŒ ÑÐµÐ³ÐžÑÑÑÐµ) ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÑÐµÐºÑÑÐ° ÐÐÐ¡ÐÐ ÑÐžÐŒÐ²ÐŸÐ»Ð°,
-+     ÐœÐ°Ñ
-ÐŸÐŽÑÑÐµÐ³ÐŸÑÑ Ð¿ÐŸÐŽ ÐºÑÑÑÐŸÑÐŸÐŒ. (ÐÐ°Ð³Ð»Ð°Ð²ÐœÐ°Ñ A Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ Ð² ÐºÐŸÐœÐµÑ
-+     ÑÑÑÐŸÐºÐž.)
-+
-+ÐÐ°ÐŒÐµÑÐ°ÐœÐžÐµ: Ð­ÑÐŸ Ð¿ÐŸÐ·Ð²ÐŸÐ»ÑÐµÑ ÐžÐ·Ð±ÐµÐ¶Ð°ÑÑ ÐœÐ°Ð¶Ð°ÑÐžÑ i , Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ³ÐŸ ÑÐžÐŒÐ²ÐŸÐ»Ð°, ÑÐµÐºÑÑÐ° ÐŽÐ»Ñ
-+	   Ð²ÑÑÐ°Ð²ÐºÐž, <ESC>, ÐºÑÑÑÐŸÑ-Ð²Ð¿ÑÐ°Ð²ÐŸ, Ðž, ÐœÐ°ÐºÐŸÐœÐµÑ, x , Ð¿ÑÐŸÑÑÐŸ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ,
-+	   ÑÑÐŸÐ±Ñ ÐŽÐŸÐ±Ð°Ð²ÐžÑÑ ÑÐµÑÑ Ð² ÐºÐŸÐœÐµÑ ÑÑÑÐŸÐºÐž!
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ Ð·Ð°Ð²ÐµÑÑÐžÑÐµ Ð¿ÐµÑÐ²ÑÑ ÑÑÑÐŸÐºÑ. ÐÐ°ÐŒÐµÑÑÑÐµ ÑÐ°ÐºÐ¶Ðµ, ÑÑÐŸ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐµ ÑÑÐŸ Ð²
-+     ÑÐŸÑÐœÐŸÑÑÐž ÑÐŸ Ð¶Ðµ ÑÐ°ÐŒÐŸÐµ, ÑÑÐŸ Ðž ÑÐµÐ¶ÐžÐŒ Ð²ÑÑÐ°Ð²ÐºÐž, Ð·Ð° ÐžÑÐºÐ»ÑÑÐµÐœÐžÐµÐŒ Ð¿ÐŸÐ·ÐžÑÐžÐž, Ð²
-+     ÐºÐŸÑÐŸÑÑÑ Ð±ÑÐŽÐµÑ Ð²ÑÑÐ°Ð²Ð»ÐµÐœ ÑÐµÐºÑÑ.
-+
-+---> Ð­ÑÐ° ÑÑÑÐŸÑÐºÐ° Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÐÐ°ÐŒ Ð¿ÐŸÐ¿ÑÐ°ÐºÑÐžÐºÐŸÐ²Ð°ÑÑÑÑ
-+---> Ð­ÑÐ° ÑÑÑÐŸÑÐºÐ° Ð¿ÐŸÐ·Ð²ÐŸÐ»ÐžÑ ÐÐ°ÐŒ Ð¿ÐŸÐ¿ÑÐ°ÐºÑÐžÐºÐŸÐ²Ð°ÑÑÑÑ Ð² ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÐž ÑÐµÐºÑÑÐ° Ð² ÐºÐŸÐœÐµÑ
-+     ÑÑÑÐŸÐºÐž.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		       Ð£ÑÐŸÐº 6.3: ÐÐ©Ð ÐÐÐÐ Ð¡ÐÐÐ¡ÐÐ ÐÐÐÐÐÐ«
-+
-+
-+       ** ÐÐ°Ð±ÐµÑÐžÑÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÑÑ R ÐŽÐ»Ñ Ð·Ð°ÐŒÐµÐœÑ Ð±ÐŸÐ»ÐµÐµ, ÑÐµÐŒ ÐŸÐŽÐœÐŸÐ³ÐŸ ÑÐžÐŒÐ²ÐŸÐ»Ð°. **
-+
-+  1. ÐÐµÑÐµÐŒÐµÑÑÐžÑÐµ ÐºÑÑÑÐŸÑ Ð²ÐœÐžÐ·, Ðº ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ --->.
-+
-+  2. Ð Ð°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐžÑÐµ ÐºÑÑÑÐŸÑ Ð² ÐœÐ°ÑÐ°Ð»Ðµ Ð¿ÐµÑÐ²ÐŸÐ³ÐŸ ÑÐ»ÐŸÐ²Ð°, ÐŸÑÐ»ÐžÑÐ°ÑÑÐµÐ³ÐŸÑÑ ÐŸÑ
-+     ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐµÐ³ÐŸ Ð² ÑÐ»ÐµÐŽÑÑÑÐµÐ¹ ÑÑÑÐŸÐºÐµ, Ð¿ÐŸÐŒÐµÑÐµÐœÐœÐŸÐ¹ ---> (ÑÐ»ÐŸÐ²ÐŸ 'Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ¹').
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÐœÐ°Ð±ÐµÑÐžÑÐµ R Ðž Ð·Ð°ÐŒÐµÐœÐžÑÐµ ÐŸÑÑÐ°ÑÐŸÐº ÑÐµÐºÑÑÐ° Ð² Ð¿ÐµÑÐ²ÐŸÐ¹ ÑÑÑÐŸÐºÐµ, ÐœÐ°Ð±ÑÐ°Ð²
-+     Ð¿ÐŸÐ²ÐµÑÑ
- ÑÑÐ°ÑÐŸÐ³ÐŸ ÑÐµÐºÑÑÐ° ÑÐ°Ðº, ÑÑÐŸÐ±Ñ ÐŸÐ±Ðµ ÑÑÑÐŸÐºÐž ÑÑÐ°Ð»Ðž ÐŸÐŽÐžÐœÐ°ÐºÐŸÐ²ÑÐŒÐž.
-+
-+---> ÐÐµÑÐ²ÑÑ ÑÑÑÐŸÐºÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÑÐ°Ð²ÐœÑÑÑ Ñ Ð¿ÐŸÑÐ»ÐµÐŽÐœÐµÐ¹, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ ÐºÐ»Ð°Ð²ÐžÑÐž.
-+---> ÐÐµÑÐ²ÑÑ ÑÑÑÐŸÐºÑ ÐŒÐŸÐ¶ÐœÐŸ ÑÑÐ°Ð²ÐœÑÑÑ Ñ Ð²ÑÐŸÑÐŸÐ¹, ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÑ R Ðž ÐœÐ°Ð±ÑÐ°Ð² ÐœÐŸÐ²ÑÐ¹ ÑÐµÐºÑÑ.
-+
-+  4. ÐÐ±ÑÐ°ÑÐžÑÐµ Ð²ÐœÐžÐŒÐ°ÐœÐžÐµ, ÑÑÐŸ Ð¿ÑÐž ÐœÐ°Ð¶Ð°ÑÐžÐž <ESC> ÐŽÐ»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ, Ð»ÑÐ±ÐŸÐ¹
-+     ÐœÐµ ÐžÐ·ÐŒÐµÐœÐµÐœÐœÑÐ¹ ÑÐµÐºÑÑ ÑÐŸÑ
-ÑÐ°ÐœÐžÑÑÑ.
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+			Ð£ÑÐŸÐº 6.4: Ð£Ð¡Ð¢ÐÐÐÐÐÐ ÐÐÐ ÐÐÐÐ¢Ð ÐÐ
-+
-+
-+** Ð£ÑÑÐ°ÐœÐŸÐ²ÐžÐŒ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ ÑÐ°Ðº, ÑÑÐŸÐ±Ñ ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÐ³ÐžÑÑÑ Ð¿ÑÐž Ð¿ÐŸÐžÑÐºÐµ ÐžÐ»Ðž Ð·Ð°ÐŒÐµÐœÐµ **
-+
-+
-+  1. ÐÐŸÐžÑÐžÑÐµ ÑÐ»ÐŸÐ²ÐŸ 'ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ', ÐœÐ°Ð±ÑÐ°Ð²:
-+     /ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ
-+     ÐÐŸÐ²ÑÐŸÑÐžÑÐµ Ð¿ÐŸÐžÑÐº ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·, ÐœÐ°Ð¶ÐžÐŒÐ°Ñ ÐºÐ»Ð°Ð²ÐžÑÑ n
-+
-+  2. ÐÐºÐ»ÑÑÐžÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ 'ic' (ÐÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ ÑÐµÐ³ÐžÑÑÑ), ÐœÐ°Ð±ÑÐ°Ð²:
-+     :set ic
-+
-+  3. Ð¢ÐµÐ¿ÐµÑÑ ÑÐœÐŸÐ²Ð° ÑÐŽÐµÐ»Ð°Ð¹ÑÐµ Ð¿ÐŸÐžÑÐº ÑÐ»ÐŸÐ²Ð° 'ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ', ÐœÐ°Ð¶Ð°Ð²: n
-+     ÐÐŸÐ²ÑÐŸÑÐžÑÐµ Ð¿ÐŸÐžÑÐº ÐœÐµÑÐºÐŸÐ»ÑÐºÐŸ ÑÐ°Ð·, ÐœÐ°Ð¶ÐžÐŒÐ°Ñ ÐºÐ»Ð°Ð²ÐžÑÑ n
-+
-+  4. ÐÐºÐ»ÑÑÐžÑÐµ Ð¿Ð°ÑÐ°ÐŒÐµÑÑÑ 'hlsearch' Ðž 'incsearch':
-+     :set hls is
-+
-+  5. Ð¢ÐµÐ¿ÐµÑÑ ÐŸÐ¿ÑÑÑ Ð²Ð²ÐµÐŽÐžÑÐµ ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð¿ÐŸÐžÑÐºÐ° Ðž Ð¿ÐŸÑÐŒÐŸÑÑÐžÑÐµ, ÑÑÐŸ Ð¿ÐŸÐ»ÑÑÐžÑÑÑ:
-+     /ÐžÐ³ÐœÐŸÑÐžÑÐŸÐ²Ð°ÑÑ
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+				Ð ÐÐÐ®ÐÐ Ð£Ð ÐÐÐ 6
-+
-+
-+  1. ÐÐ°Ð¶Ð°ÑÐžÐµ o ÑÐŸÐ·ÐŽÐ°ÐµÑ ÑÑÑÐŸÐºÑ ÐÐÐÐ ÐºÑÑÑÐŸÑÐ° Ðž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑ ÐºÑÑÑÐŸÑ Ð² ÐœÐµÐµ Ð² ÑÐµÐ¶ÐžÐŒÐµ
-+     Ð²ÑÑÐ°Ð²ÐºÐž.
-+     ÐÐ°Ð¶Ð°ÑÐžÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ O ÑÐŸÐ·ÐŽÐ°ÐµÑ ÑÑÑÐŸÐºÑ ÐÐ«ÐšÐ ÑÑÑÐŸÐºÐž, Ð² ÐºÐŸÑÐŸÑÐŸÐ¹ ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ
-+     ÐºÑÑÑÐŸÑ.
-+
-+  2. ÐÐ°Ð±ÐµÑÐžÑÐµ a ÐŽÐ»Ñ Ð²ÑÑÐ°Ð²ÐºÐž ÑÐµÐºÑÑÐ° ÐÐÐ¡ÐÐ ÑÐžÐŒÐ²ÐŸÐ»Ð°, ÐœÐ° ÐºÐŸÑÐŸÑÐŸÐŒ ÐœÐ°Ñ
-ÐŸÐŽÐžÑÑÑ ÐºÑÑÑÐŸÑ.
-+     ÐÐ°Ð¶Ð°ÑÐžÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ A Ð°Ð²ÑÐŸÐŒÐ°ÑÐžÑÐµÑÐºÐž Ð¿ÐµÑÐµÐŒÐµÑÐ°ÐµÑ ÐÐ°Ñ ÐŽÐ»Ñ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÐžÑ ÑÐµÐºÑÑÐ°
-+     Ð² ÐºÐŸÐœÐµÑ ÑÑÑÐŸÐºÐž.
-+
-+  3. ÐÐ°Ð¶Ð°ÑÐžÐµ Ð·Ð°Ð³Ð»Ð°Ð²ÐœÐŸÐ¹ R Ð¿ÐµÑÐµÐ²ÐŸÐŽÐžÑ ÐÐ°Ñ Ð² ÑÐµÐ¶ÐžÐŒ Ð·Ð°ÐŒÐµÐœÑ ÐŽÐŸ ÑÐµÑ
- Ð¿ÐŸÑ, Ð¿ÐŸÐºÐ° ÐœÐµ
-+     Ð±ÑÐŽÐµÑ ÐœÐ°Ð¶Ð°ÑÐ° ÐºÐ»Ð°Ð²ÐžÑÐ° <ESC> ÐŽÐ»Ñ Ð·Ð°Ð²ÐµÑÑÐµÐœÐžÑ.
-+
-+  4. ÐÐ°Ð±ÑÐ°Ð² ":set xxx" Ð²Ñ ÑÐŒÐŸÐ¶ÐµÑÐµ Ð²ÐºÐ»ÑÑÐžÑÑ Ð¿Ð°ÑÐ°ÐŒÐµÑÑ "xxx"
-+
-+
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		 Ð£ÑÐŸÐº 7: ÐÐÐÐÐÐÐ« ÐÐÐÐ£Ð§ÐÐÐÐ¯ ÐÐ¡Ð¢Ð ÐÐÐÐÐÐ Ð¡ÐÐ ÐÐÐÐ
-+
-+	       ** ÐÑÐ¿ÐŸÐ»ÑÐ·ÑÐ¹ÑÐµ Ð²ÑÑÑÐŸÐµÐœÐœÑÑ ÑÐ¿ÑÐ°Ð²ÐŸÑÐœÑÑ ÑÐžÑÑÐµÐŒÑ **
-+
-+  Vim ÐŸÐ±Ð»Ð°ÐŽÐ°ÐµÑ ÐŒÐŸÑÐœÐŸÐ¹ Ð²ÑÑÑÐŸÐµÐœÐœÐŸÐ¹ ÑÐ¿ÑÐ°Ð²ÐŸÑÐœÐŸÐ¹ ÑÐžÑÑÐµÐŒÐŸÐ¹. ÐÐ»Ñ ÐœÐ°ÑÐ°Ð»Ð° Ð¿ÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ
-+  ÐŸÐŽÐžÐœ ÐžÐ· ÑÑÐµÑ
- Ð²Ð°ÑÐžÐ°ÐœÑÐŸÐ²:
-+	- ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ <HELP> (ÐµÑÐ»Ðž ÑÐ°ÐºÐŸÐ²Ð°Ñ ÐžÐŒÐµÐµÑÑÑ ÐœÐ° ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ)
-+	- ÐœÐ°Ð¶ÐŒÐžÑÐµ ÐºÐ»Ð°Ð²ÐžÑÑ <F1> (ÐµÑÐ»Ðž ÑÐ°ÐºÐŸÐ²Ð°Ñ ÐžÐŒÐµÐµÑÑÑ ÐœÐ° ÐºÐ»Ð°Ð²ÐžÐ°ÑÑÑÐµ)
-+	- ÐœÐ°Ð±ÐµÑÐžÑÐµ   :help <ENTER>
-+
-+  ÐÐ°Ð±ÐµÑÐžÑÐµ   :q <ENTER>   ÑÑÐŸÐ±Ñ Ð·Ð°ÐºÑÑÑÑ ÐŸÐºÐœÐŸ ÑÐ¿ÑÐ°Ð²ÐºÐž.
-+
-+  ÐÑ ÐŒÐŸÐ¶ÐµÑÐµ ÐœÐ°Ð¹ÑÐž ÑÐ¿ÑÐ°Ð²ÐºÑ ÐŽÐ»Ñ Ð»ÑÐ±ÐŸÐ³ÐŸ Ð¿ÐŸÐœÑÑÐžÑ ÐžÐ»Ðž ÐºÐŸÐŒÐ°ÐœÐŽÑ, Ð¿ÑÐŸÑÑÐŸ Ð·Ð°ÐŽÐ°Ð²
-+  ÑÐŸÐŸÑÐ²ÐµÑÑÑÐ²ÑÑÑÐžÐ¹ Ð°ÑÐ³ÑÐŒÐµÐœÑ ÐºÐŸÐŒÐ°ÐœÐŽÐµ ":help". ÐÐŸÐ¿ÑÐŸÐ±ÑÐ¹ÑÐµ ÑÐ»ÐµÐŽÑÑÑÐµÐµ (ÐœÐµ Ð·Ð°Ð±ÑÐŽÑÑÐµ
-+  ÐœÐ°Ð¶Ð°ÑÑ <ENTER>):
-+
-+  :help w
-+  :help c_<T
-+  :help insert-index
-+
-+
-+
-+
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+		     Ð£ÑÐŸÐº 8: Ð¡ÐÐÐÐÐÐÐ Ð¡Ð¢ÐÐ Ð¢ÐÐÐÐÐ Ð¡ÐÐ ÐÐÐ¢Ð
-+
-+			** ÐÐºÐ»ÑÑÐžÐŒ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž Vim **
-+
-+  Vim ÐžÐŒÐµÐµÑ ÐœÐ°ÐŒÐœÐŸÐ³ÐŸ Ð±ÐŸÐ»ÑÑÐµ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐµÐ¹, ÑÐµÐŒ Vi, ÐŸÐŽÐœÐ°ÐºÐŸ Ð±ÐŸÐ»ÑÑÐžÐœÑÑÐ²Ð°ÐŸ ÐžÐ· ÐœÐžÑ
-
-+  Ð²ÑÐºÐ»ÑÑÐµÐœÑ Ð¿ÐŸ ÑÐŒÐŸÐ»ÑÐ°ÐœÐžÑ. ÐÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐœÐ°ÑÐ°ÑÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐœÐŸÐ²ÑÐµ
-+  Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑÐž ÐÐ°ÐŒ ÑÐ»ÐµÐŽÑÐµÑ ÑÐŸÐ·ÐŽÐ°ÑÑ ÑÐ°Ð¹Ð» "vimrc".
-+
-+  1. ÐÑÑÐµÐŽÐ°ÐºÑÐžÑÑÐ¹ÑÐµ ÑÐ°Ð¹Ð» "vimrc", ÐµÐ³ÐŸ ÑÐ°ÑÐ¿ÐŸÐ»ÐŸÐ¶ÐµÐœÐžÐµ Ð·Ð°Ð²ÐžÑÐžÑ ÐŸÑ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÑÐµÐŒÐŸÐ¹
-+     ÑÐžÑÑÐµÐŒÑ:
-+
-+       :edit ~/.vimrc			ÐŽÐ»Ñ Unix
-+       :edit $VIM/_vimrc		ÐŽÐ»Ñ MS-Windows
-+
-+  2. Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÑÐŸÑÐžÑÐ°Ð¹ÑÐµ Ð¿ÑÐžÐŒÐµÑ ÑÐ°Ð¹Ð»Ð° "vimrc":
-+
-+       :read $VIMRUNTIME/vimrc_example.vim
-+
-+  3. ÐÐ°Ð¿ÐžÑÐžÑÐµ ÑÐ°Ð¹Ð»:
-+
-+       :write
-+
-+  Ð¢ÐµÐ¿ÐµÑÑ Ð¿ÑÐž ÑÐ»ÐµÐŽÑÑÑÐµÐŒ Ð·Ð°Ð¿ÑÑÐºÐµ Vim Ð±ÑÐŽÐµÑ Ð²ÐºÐ»ÑÑÐµÐœÐ° Ð¿ÐŸÐŽÑÐ²ÐµÑÐºÐ° ÑÐžÐœÑÐ°ÐºÑÐžÑÐ°. ÐÑÐµ
-+  ÐœÐ°ÑÑÑÐŸÐ¹ÐºÐž, Ð¿ÑÐµÐŽÐ¿ÐŸÑÐžÑÐ°ÐµÐŒÑÐµ ÐÐ°ÐŒÐž, ÐŒÐŸÐ³ÑÑ Ð±ÑÑÑ ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ Ð² ÑÐ°Ð¹Ð» "vimrc".
-+
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+  ÐÐ° ÑÑÐŸÐŒ Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑÑÑ Ð£ÑÐµÐ±ÐœÐžÐº Vim. ÐÐœ Ð±ÑÐ» Ð¿ÑÐµÐŽÐœÐ°Ð·ÐœÐ°ÑÐµÐœ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÐŽÐ°ÑÑ
-+  ÐŸÐ±ÑÐµÐµ Ð¿ÑÐµÐŽÑÑÐ°Ð²Ð»ÐµÐœÐžÐµ ÐŸ ÑÐµÐŽÐ°ÐºÑÐŸÑÐµ Vim, ÐŽÐŸÑÑÐ°ÑÐŸÑÐœÐŸÐµ ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ Ñ Ð»ÐµÐ³ÐºÐŸÑÑÑÑ
-+  ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÑ ÐµÐ³ÐŸ. Ð£ÑÐµÐ±ÐœÐžÐº ÐŽÐ°Ð»ÐµÐº ÐŸÑ Ð¿ÐŸÐ»ÐœÐŸÑÑ, Ð¿ÐŸÑÐºÐŸÐ»ÑÐºÑ Vim ÐžÐŒÐµÐµÑ ÐŸÑÐµÐœÑ ÐŒÐœÐŸÐ³ÐŸ
-+  ÐºÐŸÐŒÐ°ÐœÐŽ. ÐÑÐŸÑÐžÑÐ°Ð¹ÑÐµ ÑÐµÐ¿ÐµÑÑ ÑÑÐºÐŸÐ²ÐŸÐŽÑÑÐ²ÐŸ Ð¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÑÐµÐ»Ñ: ":help user-manual".
-+
-+  ÐÐ»Ñ ÐŽÐ°Ð»ÑÐœÐµÐ¹ÑÐµÐ³ÐŸ ÑÑÐµÐœÐžÑ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ ÐºÐœÐžÐ³Ð°:
-+	Vim - Vi Improved - ÐÐ²ÑÐŸÑ: Steve Oualline
-+	ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ: New Riders
-+  Ð­ÑÐ° ÐºÐœÐžÐ³Ð° Ð¿ÐŸÐ»ÐœÐŸÑÑÑÑ Ð¿ÐŸÑÐ²ÑÑÐµÐœÐ° Vim. ÐÑÐŸÐ±ÐµÐœÐœÐŸ Ð¿ÐŸÐ»ÐµÐ·ÐœÐ° ÐœÐŸÐ²ÐžÑÐºÐ°ÐŒ. Ð¡ÐŸÐŽÐµÑÐ¶ÐžÑ
-+  ÐŒÐœÐŸÐ¶ÐµÑÑÐ²ÐŸ Ð¿ÑÐžÐŒÐµÑÐŸÐ² Ðž ÐžÐ»Ð»ÑÑÑÑÐ°ÑÐžÐ¹.
-+  ÐÐ·Ð³Ð»ÑÐœÐžÑÐµ ÐœÐ° See http://iccf-holland.org/click5.html
-+
-+  Ð¡Ð»ÐµÐŽÑÑÑÐ°Ñ ÐºÐœÐžÐ³Ð° Ð±ÐŸÐ»ÐµÐµ Ð¿ÐŸÑÑÐµÐœÐœÐŸÐ³ÐŸ Ð²ÐŸÐ·ÑÐ°ÑÑÐ° Ðž Ð¿ÐŸÑÐ²ÑÑÐµÐœÐ° Ð±ÐŸÐ»ÑÑÐµ Vi, ÑÐµÐŒ Vim,
-+  ÐŸÐŽÐœÐ°ÐºÐŸ ÑÐ°ÐºÐ¶Ðµ ÑÐµÐºÐŸÐŒÐµÐœÐŽÑÐµÑÑÑ:
-+	Learning the Vi Editor - ÐÐ²ÑÐŸÑ: Linda Lamb
-+	ÐÐ·ÐŽÐ°ÑÐµÐ»Ñ: O'Reilly & Associates Inc.
-+  Ð­ÑÐŸ Ñ
-ÐŸÑÐŸÑÐ°Ñ ÐºÐœÐžÐ³Ð° ÐŽÐ»Ñ ÑÐŸÐ³ÐŸ, ÑÑÐŸÐ±Ñ ÑÐ·ÐœÐ°ÑÑ Ð²ÑÐµ, ÑÑÐŸ ÑÐŸÐ»ÑÐºÐŸ ÐŒÐŸÐ¶ÐœÐŸ Ð¿ÑÐŸÐŽÐµÐ»ÑÐ²Ð°ÑÑ Ñ
-+  Vi. ÐšÐµÑÑÐŸÐµ ÐžÐ·ÐŽÐ°ÐœÐžÐµ ÑÐ°ÐºÐ¶Ðµ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐžÐœÑÐŸÑÐŒÐ°ÑÐžÑ ÐŸ Vim.
-+
-+  Ð­ÑÐŸÑ ÑÑÐµÐ±ÐœÐžÐº Ð±ÑÐ» ÐœÐ°Ð¿ÐžÑÐ°Ðœ Michael C. Pierce Ðž Robert K. Ware, Colorado School
-+  of Mines Ñ ÐžÑÐ¿ÐŸÐ»ÑÐ·ÐŸÐ²Ð°ÐœÐžÐµÐŒ ÐžÐŽÐµÐ¹, Ð¿ÑÐµÐŽÐ»ÐŸÐ¶ÐµÐœÐœÑÑ
- Charles Smith, Colorado State
-+  University. E-mail: bware@mines.colorado.edu.
-+
-+  ÐÐŸÑÐ°Ð±ÐŸÑÐ°ÐœÐŸ ÐŽÐ»Ñ Vim Bram Moolenaar.
-+
-+  ÐÐµÑÐµÐ²ÐŸÐŽ: ÐÐœÐŽÑÐµÐ¹ ÐÐžÑÐµÐ»ÐµÐ² <a_kissel@eudoramail.com>, 2002.
-+  Translator: Andrey Kiselev <a_kissel@eudoramail.com>, 2002.
-+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-diff -Naur vim70.orig/runtime/tutor/tutor.vim vim70/runtime/tutor/tutor.vim
---- vim70.orig/runtime/tutor/tutor.vim	2006-03-18 12:20:36.000000000 -0800
-+++ vim70/runtime/tutor/tutor.vim	2007-02-15 21:22:25.000000000 -0800
-@@ -1,6 +1,6 @@
- " Vim tutor support file
- " Author: Eduardo F. Amatria <eferna1@platea.pntic.mec.es>
--" Last Change:	2006 Mar 18
-+" Last Change:	2006 Sep 09
- 
- " This small source file is used for detecting if a translation of the
- " tutor file exist, i.e., a tutor.xx file, where xx is the language.
-@@ -93,9 +93,16 @@
-   endif
- endif
- 
--" The Greek tutor is available in two encodings, guess which one to use
--if s:ext =~? '\.gr' && &enc =~ 737
--  let s:ext = ".gr.cp737"
-+" The Greek tutor is available in three encodings, guess what to use.
-+" We used ".gr" (Greece) instead of ".el" (Greek); accept both.
-+if s:ext =~? '\.gr\|\.el'
-+  if &enc == "iso-8859-7"
-+    let s:ext = ".gr"
-+  elseif &enc == "utf-8"
-+    let s:ext = ".gr.utf-8"
-+  elseif &enc =~ 737
-+    let s:ext = ".gr.cp737"
-+  endif
- endif
- 
- " The Slovak tutor is available in two encodings, guess which one to use
-@@ -103,11 +110,15 @@
-   let s:ext = ".sk.cp1250"
- endif
- 
--" The Russian tutor is available in two encodings, guess which one to use.
--" This segment is from the above lines and modified by
--" Alexey I. Froloff <raorn@altlinux.org> for Russian vim tutorial
--if s:ext =~? '\.ru' && &enc =~ 1251
--  let s:ext = ".ru.cp1251"
-+" The Russian tutor is available in three encodings, guess which one to use.
-+if s:ext =~? '\.ru'
-+  if &enc == 'utf-8'
-+    let s:ext = '.ru.utf-8'
-+  elseif &enc =~ '1251'
-+    let s:ext = '.ru.cp1251'
-+  elseif &enc =~ 'koi8'
-+    let s:ext = '.ru'
-+  endif
- endif
- 
- " Somehow ".ge" (Germany) is sometimes used for ".de" (Deutsch).
-diff -Naur vim70.orig/src/Makefile vim70/src/Makefile
---- vim70.orig/src/Makefile	2006-05-07 06:25:27.000000000 -0700
-+++ vim70/src/Makefile	2007-02-15 21:22:25.000000000 -0800
-@@ -2177,6 +2177,7 @@
- 	cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* .
- 	if test -d $(RSRC_DIR); then \
- 		cd $(SHADOWDIR); \
-+		ln -s ../infplist.xml .; \
- 		ln -s ../$(RSRC_DIR) ../os_mac.rsr.hqx ../dehqx.py .; \
- 	fi
- 	mkdir $(SHADOWDIR)/testdir
-@@ -2260,7 +2261,7 @@
- auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
- 	CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
- 
--QUOTESED = sed -e 's/"/\\"/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
-+QUOTESED = sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$$/";/'
- auto/pathdef.c: Makefile auto/config.mk
- 	-@echo creating $@
- 	-@echo '/* pathdef.c */' > $@
-diff -Naur vim70.orig/src/auto/configure vim70/src/auto/configure
---- vim70.orig/src/auto/configure	2006-05-04 03:46:19.000000000 -0700
-+++ vim70/src/auto/configure	2007-02-15 21:22:26.000000000 -0800
-@@ -4014,7 +4014,7 @@
-       LDFLAGS=$ldflags_save
-       if test $perl_ok = yes; then
- 	if test "X$perlcppflags" != "X"; then
--	  PERL_CFLAGS="$perlcppflags"
-+	  	  PERL_CFLAGS=`echo "$perlcppflags" | sed 's/-pipe //'`
- 	fi
- 	if test "X$perlldflags" != "X"; then
- 	  LDFLAGS="$perlldflags $LDFLAGS"
-@@ -4256,7 +4256,7 @@
- echo $ECHO_N "checking if -pthread should be used... $ECHO_C" >&6
- 	threadsafe_flag=
- 	thread_lib=
--	if test "x$MACOSX" != "xyes"; then
-+	        if test "`(uname) 2>/dev/null`" != Darwin; then
- 	  test "$GCC" = yes && threadsafe_flag="-pthread"
- 	  if test "`(uname) 2>/dev/null`" = FreeBSD; then
- 	    threadsafe_flag="-D_THREAD_SAFE"
-@@ -11555,8 +11555,8 @@
- else
-   echo "$as_me:$LINENO: result: empty: automatic terminal library selection" >&5
- echo "${ECHO_T}empty: automatic terminal library selection" >&6
--            case "`uname -s 2>/dev/null`" in
--	OSF1)	tlibs="ncurses curses termlib termcap";;
-+              case "`uname -s 2>/dev/null`" in
-+	OSF1|SCO_SV)	tlibs="ncurses curses termlib termcap";;
- 	*)	tlibs="ncurses termlib termcap curses";;
-   esac
-   for libname in $tlibs; do
-@@ -15302,7 +15302,7 @@
- 	&& test "x$GUITYPE" != "xCARBONGUI"; then
-   echo "$as_me:$LINENO: checking whether we need -framework Carbon" >&5
- echo $ECHO_N "checking whether we need -framework Carbon... $ECHO_C" >&6
--    if test "x$enable_multibyte" = "xyes" || test "x$features" == "xbig" \
-+    if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
- 	|| test "x$features" = "xhuge"; then
-     LIBS="$LIBS -framework Carbon"
-     echo "$as_me:$LINENO: result: yes" >&5
-diff -Naur vim70.orig/src/buffer.c vim70/src/buffer.c
---- vim70.orig/src/buffer.c	2006-04-26 14:37:23.000000000 -0700
-+++ vim70/src/buffer.c	2007-02-15 21:22:26.000000000 -0800
-@@ -434,12 +434,8 @@
-     if (usingNetbeans)
- 	netbeans_file_closed(buf);
- #endif
--#ifdef FEAT_AUTOCHDIR
--    /* Change directories when the acd option is set on. */
--    if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	shorten_fnames(TRUE);
--#endif
-+    /* Change directories when the 'acd' option is set. */
-+    DO_AUTOCHDIR
- 
-     /*
-      * Remove the buffer from the list.
-@@ -1212,11 +1208,11 @@
-     {
- # ifdef FEAT_WINDOWS
- 	/* jump to first window containing buf if one exists ("useopen") */
--	if (vim_strchr(p_swb, 'o') && buf_jump_open_win(buf))
-+	if (vim_strchr(p_swb, 'o') != NULL && buf_jump_open_win(buf))
- 	    return OK;
- 	/* jump to first window in any tab page containing buf if one exists
- 	 * ("usetab") */
--	if (vim_strchr(p_swb, 'a') && buf_jump_open_tab(buf))
-+	if (vim_strchr(p_swb, 'a') != NULL && buf_jump_open_tab(buf))
- 	    return OK;
- 	if (win_split(0, 0) == FAIL)
- # endif
-@@ -1390,7 +1386,8 @@
-     }
-     else
-     {
--	need_fileinfo = TRUE;		/* display file info after redraw */
-+	if (!msg_silent)
-+	    need_fileinfo = TRUE;	/* display file info after redraw */
- 	(void)buf_check_timestamp(curbuf, FALSE); /* check if file changed */
- #ifdef FEAT_AUTOCMD
- 	curwin->w_topline = 1;
-@@ -1422,12 +1419,8 @@
- 	netbeans_file_activated(curbuf);
- #endif
- 
--#ifdef FEAT_AUTOCHDIR
--    /* Change directories when the acd option is set on. */
--    if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	shorten_fnames(TRUE);
--#endif
-+    /* Change directories when the 'acd' option is set. */
-+    DO_AUTOCHDIR
- 
- #ifdef FEAT_KEYMAP
-     if (curbuf->b_kmap_state & KEYMAP_INIT)
-@@ -1436,6 +1429,18 @@
-     redraw_later(NOT_VALID);
- }
- 
-+#if defined(FEAT_AUTOCHDIR) || defined(PROTO)
-+/*
-+ * Change to the directory of the current buffer.
-+ */
-+    void
-+do_autochdir()
-+{
-+    if (curbuf->b_ffname != NULL && vim_chdirfile(curbuf->b_ffname) == OK)
-+	shorten_fnames(TRUE);
-+}
-+#endif
-+
- /*
-  * functions for dealing with the buffer list
-  */
-@@ -1837,13 +1842,13 @@
-     if (options & GETF_SWITCH)
-     {
- 	/* use existing open window for buffer if wanted */
--	if (vim_strchr(p_swb, 'o'))     /* useopen */
-+	if (vim_strchr(p_swb, 'o') != NULL)	/* useopen */
- 	    wp = buf_jump_open_win(buf);
- 	/* use existing open window in any tab page for buffer if wanted */
--	if (vim_strchr(p_swb, 'a'))     /* usetab */
-+	if (vim_strchr(p_swb, 'a') != NULL)	/* usetab */
- 	    wp = buf_jump_open_tab(buf);
- 	/* split window if wanted ("split") */
--	if (wp == NULL && vim_strchr(p_swb, 't') && !bufempty())
-+	if (wp == NULL && vim_strchr(p_swb, 'l') != NULL && !bufempty())
- 	{
- 	    if (win_split(0, 0) == FAIL)
- 		return FAIL;
-@@ -3324,7 +3329,7 @@
-     {
- 	usefmt = eval_to_string_safe(fmt + 2, NULL, use_sandbox);
- 	if (usefmt == NULL)
--	    usefmt = (char_u *)"";
-+	    usefmt = fmt;
-     }
- #endif
- 
-@@ -4215,7 +4220,7 @@
- 
-     /* Use the name from the associated buffer if it exists. */
-     bp = buflist_findnr(aep->ae_fnum);
--    if (bp == NULL)
-+    if (bp == NULL || bp->b_fname == NULL)
- 	return aep->ae_fname;
-     return bp->b_fname;
- }
-@@ -5420,11 +5425,7 @@
-     buf_T	*newbuf;
-     int		differ = TRUE;
-     linenr_T	lnum;
--#ifdef FEAT_AUTOCMD
-     aco_save_T	aco;
--#else
--    buf_T	*old_curbuf = curbuf;
--#endif
-     exarg_T	ea;
- 
-     /* Allocate a buffer without putting it in the buffer list. */
-@@ -5439,13 +5440,8 @@
- 	return TRUE;
-     }
- 
--#ifdef FEAT_AUTOCMD
-     /* set curwin/curbuf to buf and save a few things */
-     aucmd_prepbuf(&aco, newbuf);
--#else
--    curbuf = newbuf;
--    curwin->w_buffer = newbuf;
--#endif
- 
-     if (ml_open(curbuf) == OK
- 	    && readfile(buf->b_ffname, buf->b_fname,
-@@ -5466,13 +5462,8 @@
-     }
-     vim_free(ea.cmd);
- 
--#ifdef FEAT_AUTOCMD
-     /* restore curwin/curbuf and a few other things */
-     aucmd_restbuf(&aco);
--#else
--    curbuf = old_curbuf;
--    curwin->w_buffer = old_curbuf;
--#endif
- 
-     if (curbuf != newbuf)	/* safety check */
- 	wipe_buffer(newbuf, FALSE);
-diff -Naur vim70.orig/src/configure vim70/src/configure
---- vim70.orig/src/configure	2006-05-07 07:17:49.000000000 -0700
-+++ vim70/src/configure	2007-02-15 21:22:24.000000000 -0800
-@@ -2,5 +2,9 @@
- # run the automatically generated configure script
- CONFIG_STATUS=auto/config.status \
- 	auto/configure "$@" --srcdir="${srcdir:-.}" --cache-file=auto/config.cache
-+result=$?
-+
- # Stupid autoconf 2.5x causes this file to be left behind.
- if test -f configure.lineno; then rm -f configure.lineno; fi
-+
-+exit $result
-diff -Naur vim70.orig/src/configure.in vim70/src/configure.in
---- vim70.orig/src/configure.in	2006-05-04 03:46:11.000000000 -0700
-+++ vim70/src/configure.in	2007-02-15 21:22:26.000000000 -0800
-@@ -508,7 +508,8 @@
-       LDFLAGS=$ldflags_save
-       if test $perl_ok = yes; then
- 	if test "X$perlcppflags" != "X"; then
--	  PERL_CFLAGS="$perlcppflags"
-+	  dnl remove -pipe, it confuses cproto
-+	  PERL_CFLAGS=`echo "$perlcppflags" | sed 's/-pipe //'`
- 	fi
- 	if test "X$perlldflags" != "X"; then
- 	  LDFLAGS="$perlldflags $LDFLAGS"
-@@ -680,7 +681,8 @@
- 	AC_MSG_CHECKING([if -pthread should be used])
- 	threadsafe_flag=
- 	thread_lib=
--	if test "x$MACOSX" != "xyes"; then
-+	dnl if test "x$MACOSX" != "xyes"; then
-+        if test "`(uname) 2>/dev/null`" != Darwin; then
- 	  test "$GCC" = yes && threadsafe_flag="-pthread"
- 	  if test "`(uname) 2>/dev/null`" = FreeBSD; then
- 	    threadsafe_flag="-D_THREAD_SAFE"
-@@ -2150,8 +2152,9 @@
-   dnl  Newer versions of ncurses are preferred over anything.
-   dnl  Older versions of ncurses have bugs, get a new one!
-   dnl  Digital Unix (OSF1) should use curses (Ronald Schild).
-+  dnl  On SCO Openserver should prefer termlib (Roger Cornelius).
-   case "`uname -s 2>/dev/null`" in
--	OSF1)	tlibs="ncurses curses termlib termcap";;
-+	OSF1|SCO_SV)	tlibs="ncurses curses termlib termcap";;
- 	*)	tlibs="ncurses termlib termcap curses";;
-   esac
-   for libname in $tlibs; do
-@@ -2835,7 +2838,7 @@
- 	&& test "x$GUITYPE" != "xCARBONGUI"; then
-   AC_MSG_CHECKING(whether we need -framework Carbon)
-   dnl check for MACOSX without Carbon GUI, but with FEAT_MBYTE
--  if test "x$enable_multibyte" = "xyes" || test "x$features" == "xbig" \
-+  if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
- 	|| test "x$features" = "xhuge"; then
-     LIBS="$LIBS -framework Carbon"
-     AC_MSG_RESULT(yes)
-diff -Naur vim70.orig/src/edit.c vim70/src/edit.c
---- vim70.orig/src/edit.c	2006-05-07 04:48:51.000000000 -0700
-+++ vim70/src/edit.c	2007-02-15 21:22:27.000000000 -0800
-@@ -129,7 +129,7 @@
- 
- static void ins_ctrl_x __ARGS((void));
- static int  has_compl_option __ARGS((int dict_opt));
--static int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int dup));
-+static int ins_compl_add __ARGS((char_u *str, int len, int icase, char_u *fname, char_u **cptext, int cdir, int flags, int adup));
- static int  ins_compl_equal __ARGS((compl_T *match, char_u *str, int len));
- static void ins_compl_longest_match __ARGS((compl_T *match));
- static void ins_compl_add_matches __ARGS((int num_matches, char_u **matches, int icase));
-@@ -707,6 +707,11 @@
- 	lastc = c;			/* remember previous char for CTRL-D */
- 	c = safe_vgetc();
- 
-+#ifdef FEAT_AUTOCMD
-+	/* Don't want K_CURSORHOLD for the second key, e.g., after CTRL-V. */
-+	did_cursorhold = TRUE;
-+#endif
-+
- #ifdef FEAT_RIGHTLEFT
- 	if (p_hkmap && KeyTyped)
- 	    c = hkmap(c);		/* Hebrew mode mapping */
-@@ -719,9 +724,14 @@
- #ifdef FEAT_INS_EXPAND
- 	/*
- 	 * Special handling of keys while the popup menu is visible or wanted
--	 * and the cursor is still in the completed word.
-+	 * and the cursor is still in the completed word.  Only when there is
-+	 * a match, skip this when no matches were found.
- 	 */
--	if (compl_started && pum_wanted() && curwin->w_cursor.col >= compl_col)
-+	if (compl_started
-+		&& pum_wanted()
-+		&& curwin->w_cursor.col >= compl_col
-+		&& (compl_shown_match == NULL
-+		    || compl_shown_match != compl_shown_match->cp_next))
- 	{
- 	    /* BS: Delete one character from "compl_leader". */
- 	    if ((c == K_BS || c == Ctrl_H)
-@@ -751,7 +761,7 @@
- 		    continue;
- 		}
- 
--		/* Pressing CTRL-Y selects the current match.  Shen
-+		/* Pressing CTRL-Y selects the current match.  When
- 		 * compl_enter_selects is set the Enter key does the same. */
- 		if (c == Ctrl_Y || (compl_enter_selects
- 				   && (c == CAR || c == K_KENTER || c == NL)))
-@@ -877,6 +887,7 @@
- 		/* Close the cmdline window. */
- 		cmdwin_result = K_IGNORE;
- 		got_int = FALSE; /* don't stop executing autocommands et al. */
-+		nomove = TRUE;
- 		goto doESCkey;
- 	    }
- #endif
-@@ -912,6 +923,7 @@
- 		if (cmdchar != 'r' && cmdchar != 'v')
- 		    apply_autocmds(EVENT_INSERTLEAVE, NULL, NULL,
- 							       FALSE, curbuf);
-+		did_cursorhold = FALSE;
- #endif
- 		return (c == Ctrl_O);
- 	    }
-@@ -1383,6 +1395,12 @@
- 	    break;
- 	}   /* end of switch (c) */
- 
-+#ifdef FEAT_AUTOCMD
-+	/* If typed something may trigger CursorHoldI again. */
-+	if (c != K_CURSORHOLD)
-+	    did_cursorhold = FALSE;
-+#endif
-+
- 	/* If the cursor was moved we didn't just insert a space */
- 	if (arrow_used)
- 	    inserted_space = FALSE;
-@@ -2112,7 +2130,7 @@
-  * maybe because alloc() returns NULL, then FAIL is returned.
-  */
-     static int
--ins_compl_add(str, len, icase, fname, cptext, cdir, flags, dup)
-+ins_compl_add(str, len, icase, fname, cptext, cdir, flags, adup)
-     char_u	*str;
-     int		len;
-     int		icase;
-@@ -2120,7 +2138,7 @@
-     char_u	**cptext;   /* extra text for popup menu or NULL */
-     int		cdir;
-     int		flags;
--    int		dup;	    /* accept duplicate match */
-+    int		adup;	    /* accept duplicate match */
- {
-     compl_T	*match;
-     int		dir = (cdir == 0 ? compl_direction : cdir);
-@@ -2134,13 +2152,13 @@
-     /*
-      * If the same match is already present, don't add it.
-      */
--    if (compl_first_match != NULL && !dup)
-+    if (compl_first_match != NULL && !adup)
-     {
- 	match = compl_first_match;
- 	do
- 	{
- 	    if (    !(match->cp_flags & ORIGINAL_TEXT)
--		    && ins_compl_equal(match, str, len)
-+		    && STRNCMP(match->cp_str, str, len) == 0
- 		    && match->cp_str[len] == NUL)
- 		return NOTDONE;
- 	    match = match->cp_next;
-@@ -2399,7 +2417,7 @@
-     /* compl_pattern doesn't need to be set */
-     compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
-     if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
--			-1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
-+			-1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
- 	return;
- 
-     /* Handle like dictionary completion. */
-@@ -2409,6 +2427,7 @@
-     compl_matches = ins_compl_make_cyclic();
-     compl_started = TRUE;
-     compl_used_match = TRUE;
-+    compl_cont_status = 0;
- 
-     compl_curr_match = compl_first_match;
-     ins_complete(Ctrl_N);
-@@ -2753,6 +2772,7 @@
- 	}
- 	else
- # endif
-+	    if (count > 0)	/* avoid warning for using "files" uninit */
- 	{
- 	    ins_compl_files(count, files, thesaurus, flags,
- 							&regmatch, buf, &dir);
-@@ -2813,7 +2833,7 @@
- 			ptr = find_word_end(ptr);
- 		    add_r = ins_compl_add_infercase(regmatch->startp[0],
- 					  (int)(ptr - regmatch->startp[0]),
--						     FALSE, files[i], *dir, 0);
-+						     p_ic, files[i], *dir, 0);
- 		    if (thesaurus)
- 		    {
- 			char_u *wstart;
-@@ -2849,7 +2869,7 @@
- 				ptr = find_word_end(ptr);
- 			    add_r = ins_compl_add_infercase(wstart,
- 				    (int)(ptr - wstart),
--				    FALSE, files[i], *dir, 0);
-+				    p_ic, files[i], *dir, 0);
- 			}
- 		    }
- 		    if (add_r == OK)
-@@ -3015,9 +3035,6 @@
-     if ((int)(p - line) - (int)compl_col <= 0)
- 	return K_BS;
- 
--    /* For redo we need to repeat this backspace. */
--    AppendCharToRedobuff(K_BS);
--
-     /* Deleted more than what was used to find matches or didn't finish
-      * finding all matches: need to look for matches all over again. */
-     if (curwin->w_cursor.col <= compl_col + compl_length
-@@ -3046,7 +3063,6 @@
-     ins_compl_delete();
-     ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
-     compl_used_match = FALSE;
--    compl_enter_selects = FALSE;
- 
-     if (compl_started)
- 	ins_compl_set_original_text(compl_leader);
-@@ -3076,6 +3092,7 @@
- 	compl_restarting = FALSE;
-     }
- 
-+#if 0   /* disabled, made CTRL-L, BS and typing char jump to original text. */
-     if (!compl_used_match)
-     {
- 	/* Go to the original text, since none of the matches is inserted. */
-@@ -3087,9 +3104,15 @@
- 	compl_curr_match = compl_shown_match;
- 	compl_shows_dir = compl_direction;
-     }
-+#endif
-+    compl_enter_selects = !compl_used_match;
- 
-     /* Show the popup menu with a different set of matches. */
-     ins_compl_show_pum();
-+
-+    /* Don't let Enter select the original text when there is no popup menu. */
-+    if (compl_match_array == NULL)
-+	compl_enter_selects = FALSE;
- }
- 
- /*
-@@ -3115,10 +3138,6 @@
- #endif
- 	ins_char(c);
- 
--    /* For redo we need to count this character so that the number of
--     * backspaces is correct. */
--    AppendCharToRedobuff(c);
--
-     /* If we didn't complete finding matches we must search again. */
-     if (compl_was_interrupted)
- 	ins_compl_restart();
-@@ -3175,10 +3194,33 @@
-     char_u	*p;
-     int		len = curwin->w_cursor.col - compl_col;
-     int		c;
-+    compl_T	*cp;
- 
-     p = compl_shown_match->cp_str;
-     if ((int)STRLEN(p) <= len)   /* the match is too short */
--	return;
-+    {
-+	/* When still at the original match use the first entry that matches
-+	 * the leader. */
-+	if (compl_shown_match->cp_flags & ORIGINAL_TEXT)
-+	{
-+	    p = NULL;
-+	    for (cp = compl_shown_match->cp_next; cp != NULL
-+				 && cp != compl_first_match; cp = cp->cp_next)
-+	    {
-+		if (compl_leader == NULL
-+			|| ins_compl_equal(cp, compl_leader,
-+						   (int)STRLEN(compl_leader)))
-+		{
-+		    p = cp->cp_str;
-+		    break;
-+		}
-+	    }
-+	    if (p == NULL || (int)STRLEN(p) <= len)
-+		return;
-+	}
-+	else
-+	    return;
-+    }
-     p += len;
- #ifdef FEAT_MBYTE
-     c = mb_ptr2char(p);
-@@ -3198,7 +3240,6 @@
-     int	    c;
- {
-     char_u	*ptr;
--    int		temp;
-     int		want_cindent;
-     int		retval = FALSE;
- 
-@@ -3354,6 +3395,7 @@
- 	    if (compl_curr_match != NULL || compl_leader != NULL || c == Ctrl_E)
- 	    {
- 		char_u	*p;
-+		int	temp = 0;
- 
- 		/*
- 		 * If any of the original typed text has been changed, eg when
-@@ -3369,16 +3411,21 @@
- 		    ptr = compl_leader;
- 		else
- 		    ptr = compl_orig_text;
--		p = compl_orig_text;
--		for (temp = 0; p[temp] != NUL && p[temp] == ptr[temp]; ++temp)
--		    ;
-+		if (compl_orig_text != NULL)
-+		{
-+		    p = compl_orig_text;
-+		    for (temp = 0; p[temp] != NUL && p[temp] == ptr[temp];
-+								       ++temp)
-+			;
- #ifdef FEAT_MBYTE
--		if (temp > 0)
--		    temp -= (*mb_head_off)(compl_orig_text, p + temp);
-+		    if (temp > 0)
-+			temp -= (*mb_head_off)(compl_orig_text, p + temp);
- #endif
--		for (p += temp; *p != NUL; mb_ptr_adv(p))
--		    AppendCharToRedobuff(K_BS);
--		AppendToRedobuffLit(ptr + temp, -1);
-+		    for (p += temp; *p != NUL; mb_ptr_adv(p))
-+			AppendCharToRedobuff(K_BS);
-+		}
-+		if (ptr != NULL)
-+		    AppendToRedobuffLit(ptr + temp, -1);
- 	    }
- 
- #ifdef FEAT_CINDENT
-@@ -3578,7 +3625,7 @@
- {
-     char_u	*word;
-     int		icase = FALSE;
--    int		dup = FALSE;
-+    int		adup = FALSE;
-     char_u	*(cptext[CPT_COUNT]);
- 
-     if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
-@@ -3595,7 +3642,7 @@
- 	if (get_dict_string(tv->vval.v_dict, (char_u *)"icase", FALSE) != NULL)
- 	    icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
- 	if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
--	    dup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
-+	    adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
-     }
-     else
-     {
-@@ -3604,7 +3651,7 @@
-     }
-     if (word == NULL || *word == NUL)
- 	return FAIL;
--    return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, dup);
-+    return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
- }
- #endif
- 
-@@ -3796,7 +3843,7 @@
- 		    TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
- 		    TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
- 	    {
--		ins_compl_add_matches(num_matches, matches, FALSE);
-+		ins_compl_add_matches(num_matches, matches, p_ic);
- 	    }
- 	    p_ic = save_p_ic;
- 	    break;
-@@ -3837,7 +3884,7 @@
- 	    num_matches = expand_spelling(first_match_pos.lnum,
- 				 first_match_pos.col, compl_pattern, &matches);
- 	    if (num_matches > 0)
--		ins_compl_add_matches(num_matches, matches, FALSE);
-+		ins_compl_add_matches(num_matches, matches, p_ic);
- #endif
- 	    break;
- 
-@@ -3862,6 +3909,8 @@
- 	    {
- 		int	flags = 0;
- 
-+		++msg_silent;  /* Don't want messages for wrapscan. */
-+
- 		/* ctrl_x_mode == CTRL_X_WHOLE_LINE || word-wise search that
- 		 * has added a word that was at the beginning of the line */
- 		if (	ctrl_x_mode == CTRL_X_WHOLE_LINE
-@@ -3873,6 +3922,7 @@
- 							      compl_direction,
- 				 compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
- 							RE_LAST, (linenr_T)0);
-+		--msg_silent;
- 		if (!compl_started)
- 		{
- 		    /* set "compl_started" even on fail */
-@@ -3971,7 +4021,7 @@
- 			    continue;
- 		    }
- 		}
--		if (ins_compl_add_infercase(ptr, len, FALSE,
-+		if (ins_compl_add_infercase(ptr, len, p_ic,
- 				 ins_buf == curbuf ? NULL : ins_buf->b_sfname,
- 					   0, flags) != NOTDONE)
- 		{
-@@ -3996,7 +4046,7 @@
- 	    if (got_int)
- 		break;
- 	    /* Fill the popup menu as soon as possible. */
--	    if (pum_wanted() && type != -1)
-+	    if (type != -1)
- 		ins_compl_check_keys(0);
- 
- 	    if ((ctrl_x_mode != 0 && ctrl_x_mode != CTRL_X_WHOLE_LINE)
-@@ -4100,6 +4150,21 @@
- 		&& compl_shown_match->cp_next != NULL
- 		&& compl_shown_match->cp_next != compl_first_match)
- 	    compl_shown_match = compl_shown_match->cp_next;
-+
-+	/* If we didn't find it searching forward, and compl_shows_dir is
-+	 * backward, find the last match. */
-+	if (compl_shows_dir == BACKWARD
-+		&& !ins_compl_equal(compl_shown_match,
-+				      compl_leader, (int)STRLEN(compl_leader))
-+		&& (compl_shown_match->cp_next == NULL
-+		    || compl_shown_match->cp_next == compl_first_match))
-+	{
-+	    while (!ins_compl_equal(compl_shown_match,
-+				      compl_leader, (int)STRLEN(compl_leader))
-+		    && compl_shown_match->cp_prev != NULL
-+		    && compl_shown_match->cp_prev != compl_first_match)
-+		compl_shown_match = compl_shown_match->cp_prev;
-+	}
-     }
- 
-     if (allow_get_expansion && insert_match
-@@ -4124,8 +4189,6 @@
-     {
- 	if (compl_shows_dir == FORWARD && compl_shown_match->cp_next != NULL)
- 	{
--	    if (compl_pending != 0)
--		--compl_pending;
- 	    compl_shown_match = compl_shown_match->cp_next;
- 	    found_end = (compl_first_match != NULL
- 			   && (compl_shown_match->cp_next == compl_first_match
-@@ -4134,14 +4197,24 @@
- 	else if (compl_shows_dir == BACKWARD
- 					&& compl_shown_match->cp_prev != NULL)
- 	{
--	    if (compl_pending != 0)
--		++compl_pending;
- 	    found_end = (compl_shown_match == compl_first_match);
- 	    compl_shown_match = compl_shown_match->cp_prev;
- 	    found_end |= (compl_shown_match == compl_first_match);
- 	}
- 	else
- 	{
-+	    if (!allow_get_expansion)
-+	    {
-+		if (advance)
-+		{
-+		    if (compl_shows_dir == BACKWARD)
-+			compl_pending -= todo + 1;
-+		    else
-+			compl_pending += todo + 1;
-+		}
-+		return -1;
-+	    }
-+
- 	    if (advance)
- 	    {
- 		if (compl_shows_dir == BACKWARD)
-@@ -4149,14 +4222,27 @@
- 		else
- 		    ++compl_pending;
- 	    }
--	    if (!allow_get_expansion)
--		return -1;
- 
- 	    /* Find matches. */
- 	    num_matches = ins_compl_get_exp(&compl_startpos);
--	    if (compl_pending != 0 && compl_direction == compl_shows_dir
-+
-+	    /* handle any pending completions */
-+	    while (compl_pending != 0 && compl_direction == compl_shows_dir
- 								   && advance)
--		compl_shown_match = compl_curr_match;
-+	    {
-+		if (compl_pending > 0 && compl_shown_match->cp_next != NULL)
-+		{
-+		    compl_shown_match = compl_shown_match->cp_next;
-+		    --compl_pending;
-+		}
-+		if (compl_pending < 0 && compl_shown_match->cp_prev != NULL)
-+		{
-+		    compl_shown_match = compl_shown_match->cp_prev;
-+		    ++compl_pending;
-+		}
-+		else
-+		    break;
-+	    }
- 	    found_end = FALSE;
- 	}
- 	if ((compl_shown_match->cp_flags & ORIGINAL_TEXT) == 0
-@@ -4265,9 +4351,9 @@
- 	return;
-     count = 0;
- 
--    ++no_mapping;
-+    /* Check for a typed key.  Do use mappings, otherwise vim_is_ctrl_x_key()
-+     * can't do its work correctly. */
-     c = vpeekc_any();
--    --no_mapping;
-     if (c != NUL)
-     {
- 	if (vim_is_ctrl_x_key(c) && c != Ctrl_X && c != Ctrl_R)
-@@ -4277,12 +4363,27 @@
- 	    (void)ins_compl_next(FALSE, ins_compl_key2count(c),
- 						    c != K_UP && c != K_DOWN);
- 	}
--	else if (c != Ctrl_R)
--	    compl_interrupted = TRUE;
-+	else
-+	{
-+	    /* Need to get the character to have KeyTyped set.  We'll put it
-+	     * back with vungetc() below. */
-+	    c = safe_vgetc();
-+
-+	    /* Don't interrupt completion when the character wasn't typed,
-+	     * e.g., when doing @q to replay keys. */
-+	    if (c != Ctrl_R && KeyTyped)
-+		compl_interrupted = TRUE;
-+
-+	    vungetc(c);
-+	}
-     }
-     if (compl_pending != 0 && !got_int)
--	(void)ins_compl_next(FALSE, compl_pending > 0
--				      ? compl_pending : -compl_pending, TRUE);
-+    {
-+	int todo = compl_pending > 0 ? compl_pending : -compl_pending;
-+
-+	compl_pending = 0;
-+	(void)ins_compl_next(FALSE, todo, TRUE);
-+    }
- }
- 
- /*
-@@ -4611,10 +4712,12 @@
- 				     (int)STRLEN(compl_pattern), curs_col);
- 	    if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL
- 		    || compl_xp.xp_context == EXPAND_NOTHING)
--		return FAIL;
--	    startcol = (int)(compl_xp.xp_pattern - compl_pattern);
--	    compl_col = startcol;
--	    compl_length = curs_col - startcol;
-+		/* No completion possible, use an empty pattern to get a
-+		 * "pattern not found" message. */
-+		compl_col = curs_col;
-+	    else
-+		compl_col = (int)(compl_xp.xp_pattern - compl_pattern);
-+	    compl_length = curs_col - compl_col;
- 	}
- 	else if (ctrl_x_mode == CTRL_X_FUNCTION || ctrl_x_mode == CTRL_X_OMNI)
- 	{
-@@ -4668,11 +4771,17 @@
- 	    else
- 		compl_col = spell_word_start(startcol);
- 	    if (compl_col >= (colnr_T)startcol)
--		return FAIL;
--	    spell_expand_check_cap(compl_col);
-+	    {
-+		compl_length = 0;
-+		compl_col = curs_col;
-+	    }
-+	    else
-+	    {
-+		spell_expand_check_cap(compl_col);
-+		compl_length = (int)curs_col - compl_col;
-+	    }
- 	    /* Need to obtain "line" again, it may have become invalid. */
- 	    line = ml_get(curwin->w_cursor.lnum);
--	    compl_length = (int)curs_col - compl_col;
- 	    compl_pattern = vim_strnsave(line + compl_col, compl_length);
- 	    if (compl_pattern == NULL)
- #endif
-@@ -4720,7 +4829,7 @@
- 	vim_free(compl_orig_text);
- 	compl_orig_text = vim_strnsave(line + compl_col, compl_length);
- 	if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
--			-1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
-+			-1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
- 	{
- 	    vim_free(compl_pattern);
- 	    compl_pattern = NULL;
-@@ -4861,16 +4970,18 @@
- 	     * just a safety check. */
- 	    if (compl_curr_match->cp_number != -1)
- 	    {
--		/* Space for 10 text chars. + 2x10-digit no.s */
--		static char_u match_ref[31];
-+		/* Space for 10 text chars. + 2x10-digit no.s = 31.
-+		 * Translations may need more than twice that. */
-+		static char_u match_ref[81];
- 
- 		if (compl_matches > 0)
--		    sprintf((char *)IObuff, _("match %d of %d"),
-+		    vim_snprintf((char *)match_ref, sizeof(match_ref),
-+				_("match %d of %d"),
- 				compl_curr_match->cp_number, compl_matches);
- 		else
--		    sprintf((char *)IObuff, _("match %d"),
--						 compl_curr_match->cp_number);
--		vim_strncpy(match_ref, IObuff, 30);
-+		    vim_snprintf((char *)match_ref, sizeof(match_ref),
-+				_("match %d"),
-+				compl_curr_match->cp_number);
- 		edit_submode_extra = match_ref;
- 		edit_submode_highl = HLF_R;
- 		if (dollar_vcol)
-@@ -5227,8 +5338,16 @@
- 	/* Format with 'formatexpr' when it's set.  Use internal formatting
- 	 * when 'formatexpr' isn't set or it returns non-zero. */
- #if defined(FEAT_EVAL)
--	if (*curbuf->b_p_fex == NUL
--			     || fex_format(curwin->w_cursor.lnum, 1L, c) != 0)
-+	int do_internal = TRUE;
-+
-+	if (*curbuf->b_p_fex != NUL)
-+	{
-+	    do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0);
-+	    /* It may be required to save for undo again, e.g. when setline()
-+	     * was called. */
-+	    ins_need_undo = TRUE;
-+	}
-+	if (do_internal)
- #endif
- 	    internal_format(textwidth, second_indent, flags, c == NUL);
-     }
-@@ -8508,7 +8627,12 @@
-     tpos = curwin->w_cursor;
-     if (oneleft() == OK)
-     {
--	start_arrow(&tpos);
-+#if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
-+	/* Only call start_arrow() when not busy with preediting, it will
-+	 * break undo.  K_LEFT is inserted in im_correct_cursor(). */
-+	if (!im_is_preediting())
-+#endif
-+	    start_arrow(&tpos);
- #ifdef FEAT_RIGHTLEFT
- 	/* If exit reversed string, position is fixed */
- 	if (revins_scol != -1 && (int)curwin->w_cursor.col >= revins_scol)
-@@ -8700,7 +8824,11 @@
-     if (mod_mask & MOD_MASK_CTRL)
-     {
- 	/* <C-PageUp>: tab page back */
--	goto_tabpage(-1);
-+	if (first_tabpage->tp_next != NULL)
-+	{
-+	    start_arrow(&curwin->w_cursor);
-+	    goto_tabpage(-1);
-+	}
- 	return;
-     }
- #endif
-@@ -8759,7 +8887,11 @@
-     if (mod_mask & MOD_MASK_CTRL)
-     {
- 	/* <C-PageDown>: tab page forward */
--	goto_tabpage(0);
-+	if (first_tabpage->tp_next != NULL)
-+	{
-+	    start_arrow(&curwin->w_cursor);
-+	    goto_tabpage(0);
-+	}
- 	return;
-     }
- #endif
-@@ -9074,6 +9206,10 @@
- #ifdef FEAT_CINDENT
-     can_cindent = TRUE;
- #endif
-+#ifdef FEAT_FOLDING
-+    /* When inserting a line the cursor line must never be in a closed fold. */
-+    foldOpenCursor();
-+#endif
- 
-     return (!i);
- }
-diff -Naur vim70.orig/src/eval.c vim70/src/eval.c
---- vim70.orig/src/eval.c	2006-05-05 10:15:26.000000000 -0700
-+++ vim70/src/eval.c	2007-02-15 21:22:27.000000000 -0800
-@@ -166,7 +166,6 @@
-     int		uf_tm_count;	/* nr of calls */
-     proftime_T	uf_tm_total;	/* time spend in function + children */
-     proftime_T	uf_tm_self;	/* time spend in function itself */
--    proftime_T	uf_tm_start;	/* time at function call */
-     proftime_T	uf_tm_children;	/* time spent in children this call */
-     /* profiling the function per line */
-     int		*uf_tml_count;	/* nr of times line was executed */
-@@ -191,8 +190,6 @@
- #define FC_RANGE    2		/* function accepts range */
- #define FC_DICT	    4		/* Dict function, uses "self" */
- 
--#define DEL_REFCOUNT	999999	/* list/dict is being deleted */
--
- /*
-  * All user-defined functions are found in this hashtable.
-  */
-@@ -345,6 +342,9 @@
-     {VV_NAME("swapchoice",	 VAR_STRING), 0},
-     {VV_NAME("swapcommand",	 VAR_STRING), VV_RO},
-     {VV_NAME("char",		 VAR_STRING), VV_RO},
-+    {VV_NAME("mouse_win",	 VAR_NUMBER), 0},
-+    {VV_NAME("mouse_lnum",	 VAR_NUMBER), 0},
-+    {VV_NAME("mouse_col",	 VAR_NUMBER), 0},
- };
- 
- /* shorthand */
-@@ -435,7 +435,7 @@
- static void set_ref_in_list __ARGS((list_T *l, int copyID));
- static void set_ref_in_item __ARGS((typval_T *tv, int copyID));
- static void dict_unref __ARGS((dict_T *d));
--static void dict_free __ARGS((dict_T *d));
-+static void dict_free __ARGS((dict_T *d, int recurse));
- static dictitem_T *dictitem_alloc __ARGS((char_u *key));
- static dictitem_T *dictitem_copy __ARGS((dictitem_T *org));
- static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item));
-@@ -454,7 +454,7 @@
- static char_u *deref_func_name __ARGS((char_u *name, int *lenp));
- static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
- static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict));
--static void emsg_funcname __ARGS((char *msg, char_u *name));
-+static void emsg_funcname __ARGS((char *ermsg, char_u *name));
- 
- static void f_add __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_append __ARGS((typval_T *argvars, typval_T *rettv));
-@@ -622,6 +622,7 @@
- static void f_setreg __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_settabwinvar __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_setwinvar __ARGS((typval_T *argvars, typval_T *rettv));
-+static void f_shellescape __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_simplify __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_sort __ARGS((typval_T *argvars, typval_T *rettv));
- static void f_soundfold __ARGS((typval_T *argvars, typval_T *rettv));
-@@ -701,6 +702,7 @@
- static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_u *string));
- static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
- static int var_check_ro __ARGS((int flags, char_u *name));
-+static int var_check_fixed __ARGS((int flags, char_u *name));
- static int tv_check_lock __ARGS((int lock, char_u *name));
- static void copy_tv __ARGS((typval_T *from, typval_T *to));
- static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
-@@ -896,6 +898,7 @@
- }
- 
- static lval_T	*redir_lval = NULL;
-+static garray_T redir_ga;	/* only valid when redir_lval is not NULL */
- static char_u	*redir_endp = NULL;
- static char_u	*redir_varname = NULL;
- 
-@@ -930,6 +933,9 @@
- 	return FAIL;
-     }
- 
-+    /* The output is stored in growarray "redir_ga" until redirection ends. */
-+    ga_init2(&redir_ga, (int)sizeof(char), 500);
-+
-     /* Parse the variable name (can be a dict or list entry). */
-     redir_endp = get_lval(redir_varname, NULL, redir_lval, FALSE, FALSE, FALSE,
- 							     FNE_CHECK_START);
-@@ -972,42 +978,36 @@
- }
- 
- /*
-- * Append "value[len]" to the variable set by var_redir_start().
-+ * Append "value[value_len]" to the variable set by var_redir_start().
-+ * The actual appending is postponed until redirection ends, because the value
-+ * appended may in fact be the string we write to, changing it may cause freed
-+ * memory to be used:
-+ *   :redir => foo
-+ *   :let foo
-+ *   :redir END
-  */
-     void
--var_redir_str(value, len)
-+var_redir_str(value, value_len)
-     char_u	*value;
--    int		len;
-+    int		value_len;
- {
--    char_u	*val;
--    typval_T	tv;
--    int		save_emsg;
--    int		err;
-+    size_t	len;
- 
-     if (redir_lval == NULL)
- 	return;
- 
--    if (len == -1)
--	/* Append the entire string */
--	val = vim_strsave(value);
-+    if (value_len == -1)
-+	len = STRLEN(value);	/* Append the entire string */
-     else
--	/* Append only the specified number of characters */
--	val = vim_strnsave(value, len);
--    if (val == NULL)
--	return;
-+	len = value_len;	/* Append only "value_len" characters */
- 
--    tv.v_type = VAR_STRING;
--    tv.vval.v_string = val;
--
--    save_emsg = did_emsg;
--    did_emsg = FALSE;
--    set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
--    err = did_emsg;
--    did_emsg |= save_emsg;
--    if (err)
-+    if (ga_grow(&redir_ga, (int)len) == OK)
-+    {
-+	mch_memmove((char *)redir_ga.ga_data + redir_ga.ga_len, value, len);
-+	redir_ga.ga_len += len;
-+    }
-+    else
- 	var_redir_stop();
--
--    vim_free(tv.vval.v_string);
- }
- 
- /*
-@@ -1016,8 +1016,19 @@
-     void
- var_redir_stop()
- {
-+    typval_T	tv;
-+
-     if (redir_lval != NULL)
-     {
-+	/* Append the trailing NUL. */
-+	ga_append(&redir_ga, NUL);
-+
-+	/* Assign the text to the variable. */
-+	tv.v_type = VAR_STRING;
-+	tv.vval.v_string = redir_ga.ga_data;
-+	set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)".");
-+	vim_free(tv.vval.v_string);
-+
- 	clear_lval(redir_lval);
- 	vim_free(redir_lval);
- 	redir_lval = NULL;
-@@ -2260,7 +2271,7 @@
- 	    EMSG(_(e_letunexp));
- 	else
- 	{
--	    char_u	*tofree = NULL;
-+	    char_u	*ptofree = NULL;
- 	    char_u	*s;
- 
- 	    p = get_tv_string_chk(tv);
-@@ -2269,7 +2280,7 @@
- 		s = get_reg_contents(*arg == '@' ? '"' : *arg, TRUE, TRUE);
- 		if (s != NULL)
- 		{
--		    p = tofree = concat_str(s, p);
-+		    p = ptofree = concat_str(s, p);
- 		    vim_free(s);
- 		}
- 	    }
-@@ -2278,7 +2289,7 @@
- 		write_reg_contents(*arg == '@' ? '"' : *arg, p, -1, FALSE);
- 		arg_end = arg + 1;
- 	    }
--	    vim_free(tofree);
-+	    vim_free(ptofree);
- 	}
-     }
- 
-@@ -3125,7 +3136,12 @@
-     funcdict_T	fudi;
- 
-     tofree = trans_function_name(&arg, eap->skip, TFN_INT, &fudi);
--    vim_free(fudi.fd_newkey);
-+    if (fudi.fd_newkey != NULL)
-+    {
-+	/* Still need to give an error message for missing key. */
-+	EMSG2(_(e_dictkey), fudi.fd_newkey);
-+	vim_free(fudi.fd_newkey);
-+    }
-     if (tofree == NULL)
- 	return;
- 
-@@ -3177,9 +3193,18 @@
- 	    failed = TRUE;
- 	    break;
- 	}
-+
-+	/* Handle a function returning a Funcref, Dictionary or List. */
-+	if (handle_subscript(&arg, &rettv, !eap->skip, TRUE) == FAIL)
-+	{
-+	    failed = TRUE;
-+	    break;
-+	}
-+
- 	clear_tv(&rettv);
- 	if (doesrange || eap->skip)
- 	    break;
-+
- 	/* Stop when immediately aborting on error, or when an interrupt
- 	 * occurred or an exception was thrown but not caught.
- 	 * get_func_tv() returned OK, so that the check for trailing
-@@ -3364,6 +3389,8 @@
- 	hi = hash_find(ht, varname);
- 	if (!HASHITEM_EMPTY(hi))
- 	{
-+	    if (var_check_fixed(HI2DI(hi)->di_flags, name))
-+		return FAIL;
- 	    if (var_check_ro(HI2DI(hi)->di_flags, name))
- 		return FAIL;
- 	    delete_var(ht, hi);
-@@ -4895,7 +4922,7 @@
- 		    {
- 			if (list_append_tv(l, &item->li_tv) == FAIL)
- 			{
--			    list_free(l);
-+			    list_free(l, TRUE);
- 			    return FAIL;
- 			}
- 			item = item->li_next;
-@@ -5295,7 +5322,7 @@
- 	EMSG2(_("E697: Missing end of List ']': %s"), *arg);
- failret:
- 	if (evaluate)
--	    list_free(l);
-+	    list_free(l, TRUE);
- 	return FAIL;
-     }
- 
-@@ -5359,8 +5386,8 @@
- list_unref(l)
-     list_T *l;
- {
--    if (l != NULL && l->lv_refcount != DEL_REFCOUNT && --l->lv_refcount <= 0)
--	list_free(l);
-+    if (l != NULL && --l->lv_refcount <= 0)
-+	list_free(l, TRUE);
- }
- 
- /*
-@@ -5368,14 +5395,12 @@
-  * Ignores the reference count.
-  */
-     void
--list_free(l)
--    list_T *l;
-+list_free(l, recurse)
-+    list_T  *l;
-+    int	    recurse;	/* Free Lists and Dictionaries recursively. */
- {
-     listitem_T *item;
- 
--    /* Avoid that recursive reference to the list frees us again. */
--    l->lv_refcount = DEL_REFCOUNT;
--
-     /* Remove the list from the list of lists for garbage collection. */
-     if (l->lv_used_prev == NULL)
- 	first_list = l->lv_used_next;
-@@ -5388,7 +5413,10 @@
-     {
- 	/* Remove the item before deleting it. */
- 	l->lv_first = item->li_next;
--	listitem_free(item);
-+	if (recurse || (item->li_tv.v_type != VAR_LIST
-+					   && item->li_tv.v_type != VAR_DICT))
-+	    clear_tv(&item->li_tv);
-+	vim_free(item);
-     }
-     vim_free(l);
- }
-@@ -5448,6 +5476,8 @@
- {
-     listitem_T	*item1, *item2;
- 
-+    if (l1 == l2)
-+	return TRUE;
-     if (list_len(l1) != list_len(l2))
- 	return FALSE;
- 
-@@ -5484,6 +5514,8 @@
-     dictitem_T	*item2;
-     int		todo;
- 
-+    if (d1 == d2)
-+	return TRUE;
-     if (dict_len(d1) != dict_len(d2))
- 	return FALSE;
- 
-@@ -5516,19 +5548,29 @@
- {
-     char_u	buf1[NUMBUFLEN], buf2[NUMBUFLEN];
-     char_u	*s1, *s2;
-+    static int  recursive = 0;	    /* cach recursive loops */
-+    int		r;
- 
-     if (tv1->v_type != tv2->v_type)
- 	return FALSE;
-+    /* Catch lists and dicts that have an endless loop by limiting
-+     * recursiveness to 1000.  We guess they are equal then. */
-+    if (recursive >= 1000)
-+	return TRUE;
- 
-     switch (tv1->v_type)
-     {
- 	case VAR_LIST:
--	    /* recursive! */
--	    return list_equal(tv1->vval.v_list, tv2->vval.v_list, ic);
-+	    ++recursive;
-+	    r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic);
-+	    --recursive;
-+	    return r;
- 
- 	case VAR_DICT:
--	    /* recursive! */
--	    return dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic);
-+	    ++recursive;
-+	    r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic);
-+	    --recursive;
-+	    return r;
- 
- 	case VAR_FUNC:
- 	    return (tv1->vval.v_string != NULL
-@@ -6059,6 +6101,10 @@
-     tabpage_T	*tp;
- #endif
- 
-+    /* Only do this once. */
-+    want_garbage_collect = FALSE;
-+    may_garbage_collect = FALSE;
-+
-     /*
-      * 1. Go through all accessible variables and mark all lists and dicts
-      *    with copyID.
-@@ -6097,7 +6143,10 @@
-     for (dd = first_dict; dd != NULL; )
- 	if (dd->dv_copyID != copyID)
- 	{
--	    dict_free(dd);
-+	    /* Free the Dictionary and ordinary items it contains, but don't
-+	     * recurse into Lists and Dictionaries, they will be in the list
-+	     * of dicts or list of lists. */
-+	    dict_free(dd, FALSE);
- 	    did_free = TRUE;
- 
- 	    /* restart, next dict may also have been freed */
-@@ -6114,7 +6163,10 @@
-     for (ll = first_list; ll != NULL; )
- 	if (ll->lv_copyID != copyID && ll->lv_watch == NULL)
- 	{
--	    list_free(ll);
-+	    /* Free the List and ordinary items it contains, but don't recurse
-+	     * into Lists and Dictionaries, they will be in the list of dicts
-+	     * or list of lists. */
-+	    list_free(ll, FALSE);
- 	    did_free = TRUE;
- 
- 	    /* restart, next list may also have been freed */
-@@ -6207,11 +6259,12 @@
-     d = (dict_T *)alloc(sizeof(dict_T));
-     if (d != NULL)
-     {
--	/* Add the list to the hashtable for garbage collection. */
-+	/* Add the list to the list of dicts for garbage collection. */
- 	if (first_dict != NULL)
- 	    first_dict->dv_used_prev = d;
- 	d->dv_used_next = first_dict;
- 	d->dv_used_prev = NULL;
-+	first_dict = d;
- 
- 	hash_init(&d->dv_hashtab);
- 	d->dv_lock = 0;
-@@ -6229,8 +6282,8 @@
- dict_unref(d)
-     dict_T *d;
- {
--    if (d != NULL && d->dv_refcount != DEL_REFCOUNT && --d->dv_refcount <= 0)
--	dict_free(d);
-+    if (d != NULL && --d->dv_refcount <= 0)
-+	dict_free(d, TRUE);
- }
- 
- /*
-@@ -6238,16 +6291,14 @@
-  * Ignores the reference count.
-  */
-     static void
--dict_free(d)
--    dict_T *d;
-+dict_free(d, recurse)
-+    dict_T  *d;
-+    int	    recurse;	/* Free Lists and Dictionaries recursively. */
- {
-     int		todo;
-     hashitem_T	*hi;
-     dictitem_T	*di;
- 
--    /* Avoid that recursive reference to the dict frees us again. */
--    d->dv_refcount = DEL_REFCOUNT;
--
-     /* Remove the dict from the list of dicts for garbage collection. */
-     if (d->dv_used_prev == NULL)
- 	first_dict = d->dv_used_next;
-@@ -6267,7 +6318,10 @@
- 	     * something recursive causing trouble. */
- 	    di = HI2DI(hi);
- 	    hash_remove(&d->dv_hashtab, hi);
--	    dictitem_free(di);
-+	    if (recurse || (di->di_tv.v_type != VAR_LIST
-+					     && di->di_tv.v_type != VAR_DICT))
-+		clear_tv(&di->di_tv);
-+	    vim_free(di);
- 	    --todo;
- 	}
-     }
-@@ -6718,7 +6772,7 @@
- 	EMSG2(_("E723: Missing end of Dictionary '}': %s"), *arg);
- failret:
- 	if (evaluate)
--	    dict_free(d);
-+	    dict_free(d, TRUE);
- 	return FAIL;
-     }
- 
-@@ -7139,6 +7193,7 @@
-     {"setreg",		2, 3, f_setreg},
-     {"settabwinvar",	4, 4, f_settabwinvar},
-     {"setwinvar",	3, 3, f_setwinvar},
-+    {"shellescape",	1, 1, f_shellescape},
-     {"simplify",	1, 1, f_simplify},
-     {"sort",		1, 2, f_sort},
-     {"soundfold",	1, 1, f_soundfold},
-@@ -7595,8 +7650,8 @@
-  * Give an error message with a function name.  Handle <SNR> things.
-  */
-     static void
--emsg_funcname(msg, name)
--    char	*msg;
-+emsg_funcname(ermsg, name)
-+    char	*ermsg;
-     char_u	*name;
- {
-     char_u	*p;
-@@ -7605,7 +7660,7 @@
- 	p = concat_str((char_u *)"<SNR>", name + 3);
-     else
- 	p = name;
--    EMSG2(_(msg), p);
-+    EMSG2(_(ermsg), p);
-     if (p != name)
- 	vim_free(p);
- }
-@@ -8252,6 +8307,12 @@
- 	EMSG(_("E785: complete() can only be used in Insert mode"));
- 	return;
-     }
-+
-+    /* Check for undo allowed here, because if something was already inserted
-+     * the line was already saved for undo and this check isn't done. */
-+    if (!undo_allowed())
-+	return;
-+
-     if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL)
-     {
- 	EMSG(_(e_invarg));
-@@ -9173,25 +9234,25 @@
-     typval_T	save_key;
-     int		rem;
-     int		todo;
--    char_u	*msg = map ? (char_u *)"map()" : (char_u *)"filter()";
-+    char_u	*ermsg = map ? (char_u *)"map()" : (char_u *)"filter()";
-     int		save_did_emsg;
- 
-     rettv->vval.v_number = 0;
-     if (argvars[0].v_type == VAR_LIST)
-     {
- 	if ((l = argvars[0].vval.v_list) == NULL
--		|| (map && tv_check_lock(l->lv_lock, msg)))
-+		|| (map && tv_check_lock(l->lv_lock, ermsg)))
- 	    return;
-     }
-     else if (argvars[0].v_type == VAR_DICT)
-     {
- 	if ((d = argvars[0].vval.v_dict) == NULL
--		|| (map && tv_check_lock(d->dv_lock, msg)))
-+		|| (map && tv_check_lock(d->dv_lock, ermsg)))
- 	    return;
-     }
-     else
-     {
--	EMSG2(_(e_listdictarg), msg);
-+	EMSG2(_(e_listdictarg), ermsg);
- 	return;
-     }
- 
-@@ -9223,7 +9284,7 @@
- 		{
- 		    --todo;
- 		    di = HI2DI(hi);
--		    if (tv_check_lock(di->di_tv.v_lock, msg))
-+		    if (tv_check_lock(di->di_tv.v_lock, ermsg))
- 			break;
- 		    vimvars[VV_KEY].vv_str = vim_strsave(di->di_key);
- 		    if (filter_map_one(&di->di_tv, expr, map, &rem) == FAIL
-@@ -9242,7 +9303,7 @@
- 	{
- 	    for (li = l->lv_first; li != NULL; li = nli)
- 	    {
--		if (tv_check_lock(li->li_tv.v_lock, msg))
-+		if (tv_check_lock(li->li_tv.v_lock, ermsg))
- 		    break;
- 		nli = li->li_next;
- 		if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL
-@@ -9598,7 +9659,9 @@
-     typval_T	*argvars;
-     typval_T	*rettv;
- {
--    garbage_collect();
-+    /* This is postponed until we are back at the toplevel, because we may be
-+     * using Lists and Dicts internally.  E.g.: ":echo [garbagecollect()]". */
-+    want_garbage_collect = TRUE;
- }
- 
- /*
-@@ -9792,6 +9855,9 @@
-     varnumber_T		n;
-     int			error = FALSE;
- 
-+    /* Position the cursor.  Needed after a message that ends in a space. */
-+    windgoto(msg_row, msg_col);
-+
-     ++no_mapping;
-     ++allow_keys;
-     if (argvars[0].v_type == VAR_UNKNOWN)
-@@ -9809,6 +9875,10 @@
-     --no_mapping;
-     --allow_keys;
- 
-+    vimvars[VV_MOUSE_WIN].vv_nr = 0;
-+    vimvars[VV_MOUSE_LNUM].vv_nr = 0;
-+    vimvars[VV_MOUSE_COL].vv_nr = 0;
-+
-     rettv->vval.v_number = n;
-     if (IS_SPECIAL(n) || mod_mask != 0)
-     {
-@@ -9837,6 +9907,53 @@
- 	temp[i++] = NUL;
- 	rettv->v_type = VAR_STRING;
- 	rettv->vval.v_string = vim_strsave(temp);
-+
-+#ifdef FEAT_MOUSE
-+	if (n == K_LEFTMOUSE
-+		|| n == K_LEFTMOUSE_NM
-+		|| n == K_LEFTDRAG
-+		|| n == K_LEFTRELEASE
-+		|| n == K_LEFTRELEASE_NM
-+		|| n == K_MIDDLEMOUSE
-+		|| n == K_MIDDLEDRAG
-+		|| n == K_MIDDLERELEASE
-+		|| n == K_RIGHTMOUSE
-+		|| n == K_RIGHTDRAG
-+		|| n == K_RIGHTRELEASE
-+		|| n == K_X1MOUSE
-+		|| n == K_X1DRAG
-+		|| n == K_X1RELEASE
-+		|| n == K_X2MOUSE
-+		|| n == K_X2DRAG
-+		|| n == K_X2RELEASE
-+		|| n == K_MOUSEDOWN
-+		|| n == K_MOUSEUP)
-+	{
-+	    int		row = mouse_row;
-+	    int		col = mouse_col;
-+	    win_T	*win;
-+	    linenr_T	lnum;
-+# ifdef FEAT_WINDOWS
-+	    win_T	*wp;
-+# endif
-+	    int		n = 1;
-+
-+	    if (row >= 0 && col >= 0)
-+	    {
-+		/* Find the window at the mouse coordinates and compute the
-+		 * text position. */
-+		win = mouse_find_win(&row, &col);
-+		(void)mouse_comp_pos(win, &row, &col, &lnum);
-+# ifdef FEAT_WINDOWS
-+		for (wp = firstwin; wp != win; wp = wp->w_next)
-+		    ++n;
-+# endif
-+		vimvars[VV_MOUSE_WIN].vv_nr = n;
-+		vimvars[VV_MOUSE_LNUM].vv_nr = lnum;
-+		vimvars[VV_MOUSE_COL].vv_nr = col + 1;
-+	    }
-+	}
-+#endif
-     }
- }
- 
-@@ -10412,20 +10529,14 @@
- 
-     if (win != NULL && varname != NULL)
-     {
--	if (*varname == '&')	/* window-local-option */
--	{
--	    /* Set curwin to be our win, temporarily.  Also set curbuf, so
--	     * that we can get buffer-local options. */
--	    oldcurwin = curwin;
--	    curwin = win;
--	    curbuf = win->w_buffer;
-+	/* Set curwin to be our win, temporarily.  Also set curbuf, so
-+	 * that we can get buffer-local options. */
-+	oldcurwin = curwin;
-+	curwin = win;
-+	curbuf = win->w_buffer;
- 
-+	if (*varname == '&')	/* window-local-option */
- 	    get_option_tv(&varname, rettv, 1);
--
--	    /* restore previous notion of curwin */
--	    curwin = oldcurwin;
--	    curbuf = curwin->w_buffer;
--	}
- 	else
- 	{
- 	    if (*varname == NUL)
-@@ -10438,6 +10549,10 @@
- 	    if (v != NULL)
- 		copy_tv(&v->di_tv, rettv);
- 	}
-+
-+	/* restore previous notion of curwin */
-+	curwin = oldcurwin;
-+	curbuf = curwin->w_buffer;
-     }
- 
-     --emsg_off;
-@@ -11312,14 +11427,19 @@
- 
- static int inputsecret_flag = 0;
- 
-+static void get_user_input __ARGS((typval_T *argvars, typval_T *rettv, int inputdialog));
-+
- /*
-- * "input()" function
-- *     Also handles inputsecret() when inputsecret is set.
-+ * This function is used by f_input() and f_inputdialog() functions. The third
-+ * argument to f_input() specifies the type of completion to use at the
-+ * prompt. The third argument to f_inputdialog() specifies the value to return
-+ * when the user cancels the prompt.
-  */
-     static void
--f_input(argvars, rettv)
-+get_user_input(argvars, rettv, inputdialog)
-     typval_T	*argvars;
-     typval_T	*rettv;
-+    int		inputdialog;
- {
-     char_u	*prompt = get_tv_string_chk(&argvars[0]);
-     char_u	*p = NULL;
-@@ -11369,10 +11489,10 @@
- 	    if (defstr != NULL)
- 		stuffReadbuffSpec(defstr);
- 
--	    if (argvars[2].v_type != VAR_UNKNOWN)
-+	    if (!inputdialog && argvars[2].v_type != VAR_UNKNOWN)
- 	    {
- 		char_u	*xp_name;
--		int		xp_namelen;
-+		int	xp_namelen;
- 		long	argt;
- 
- 		rettv->vval.v_string = NULL;
-@@ -11404,6 +11524,18 @@
- }
- 
- /*
-+ * "input()" function
-+ *     Also handles inputsecret() when inputsecret is set.
-+ */
-+    static void
-+f_input(argvars, rettv)
-+    typval_T	*argvars;
-+    typval_T	*rettv;
-+{
-+    get_user_input(argvars, rettv, FALSE);
-+}
-+
-+/*
-  * "inputdialog()" function
-  */
-     static void
-@@ -11443,7 +11575,7 @@
-     }
-     else
- #endif
--	f_input(argvars, rettv);
-+	get_user_input(argvars, rettv, TRUE);
- }
- 
- /*
-@@ -11471,6 +11603,7 @@
-     }
- 
-     msg_start();
-+    msg_row = Rows - 1;	/* for when 'cmdheight' > 1 */
-     lines_left = Rows;	/* avoid more prompt */
-     msg_scroll = TRUE;
-     msg_clr_eos();
-@@ -13250,7 +13383,7 @@
- 	if (argvars[2].v_type != VAR_UNKNOWN)
- 	    EMSG2(_(e_toomanyarg), "remove()");
- 	else if ((d = argvars[0].vval.v_dict) != NULL
--		&& !tv_check_lock(d->dv_lock, (char_u *)"remove()"))
-+		&& !tv_check_lock(d->dv_lock, (char_u *)"remove() argument"))
- 	{
- 	    key = get_tv_string_chk(&argvars[1]);
- 	    if (key != NULL)
-@@ -13270,7 +13403,7 @@
-     else if (argvars[0].v_type != VAR_LIST)
- 	EMSG2(_(e_listdictarg), "remove()");
-     else if ((l = argvars[0].vval.v_list) != NULL
--	    && !tv_check_lock(l->lv_lock, (char_u *)"remove()"))
-+	    && !tv_check_lock(l->lv_lock, (char_u *)"remove() argument"))
-     {
- 	int	    error = FALSE;
- 
-@@ -14157,11 +14290,7 @@
-     typval_T	*rettv;
- {
-     buf_T	*buf;
--#ifdef FEAT_AUTOCMD
-     aco_save_T	aco;
--#else
--    buf_T	*save_curbuf;
--#endif
-     char_u	*varname, *bufvarname;
-     typval_T	*varp;
-     char_u	nbuf[NUMBUFLEN];
-@@ -14178,12 +14307,7 @@
-     if (buf != NULL && varname != NULL && varp != NULL)
-     {
- 	/* set curbuf to be our buf, temporarily */
--#ifdef FEAT_AUTOCMD
- 	aucmd_prepbuf(&aco, buf);
--#else
--	save_curbuf = curbuf;
--	curbuf = buf;
--#endif
- 
- 	if (*varname == '&')
- 	{
-@@ -14210,11 +14334,7 @@
- 	}
- 
- 	/* reset notion of buffer */
--#ifdef FEAT_AUTOCMD
- 	aucmd_restbuf(&aco);
--#else
--	curbuf = save_curbuf;
--#endif
-     }
- }
- 
-@@ -14582,6 +14702,18 @@
- }
- 
- /*
-+ * "shellescape({string})" function
-+ */
-+    static void
-+f_shellescape(argvars, rettv)
-+    typval_T	*argvars;
-+    typval_T	*rettv;
-+{
-+    rettv->vval.v_string = vim_strsave_shellescape(get_tv_string(&argvars[0]));
-+    rettv->v_type = VAR_STRING;
-+}
-+
-+/*
-  * "simplify()" function
-  */
-     static void
-@@ -15950,6 +16082,10 @@
- 	}
-     }
- 
-+    /* add a terminating NUL */
-+    ga_grow(&ga, 1);
-+    ga_append(&ga, NUL);
-+
-     rettv->vval.v_string = ga.ga_data;
- }
- 
-@@ -16173,7 +16309,7 @@
- 	curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant");
- 	curwin->w_set_curswant = FALSE;
- 
--	curwin->w_topline = get_dict_number(dict, (char_u *)"topline");
-+	set_topline(curwin, get_dict_number(dict, (char_u *)"topline"));
- #ifdef FEAT_DIFF
- 	curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill");
- #endif
-@@ -16218,6 +16354,7 @@
- #ifdef FEAT_VIRTUALEDIT
-     dict_add_nr_str(dict, "coladd", (long)curwin->w_cursor.coladd, NULL);
- #endif
-+    update_curswant();
-     dict_add_nr_str(dict, "curswant", (long)curwin->w_curswant, NULL);
- 
-     dict_add_nr_str(dict, "topline", (long)curwin->w_topline, NULL);
-@@ -16438,9 +16575,12 @@
-     long	i = 0;
-     long	n;
- 
--    /* List must be: [fnum, lnum, col, coladd] */
--    if (arg->v_type != VAR_LIST || l == NULL
--				      || l->lv_len != (fnump == NULL ? 3 : 4))
-+    /* List must be: [fnum, lnum, col, coladd], where "fnum" is only there
-+     * when "fnump" isn't NULL and "coladd" is optional. */
-+    if (arg->v_type != VAR_LIST
-+	    || l == NULL
-+	    || l->lv_len < (fnump == NULL ? 2 : 3)
-+	    || l->lv_len > (fnump == NULL ? 3 : 4))
- 	return FAIL;
- 
-     if (fnump != NULL)
-@@ -16466,8 +16606,9 @@
- #ifdef FEAT_VIRTUALEDIT
-     n = list_find_nr(l, i, NULL);
-     if (n < 0)
--	return FAIL;
--    posp->coladd = n;
-+	posp->coladd = 0;
-+    else
-+	posp->coladd = n;
- #endif
- 
-     return OK;
-@@ -17759,6 +17900,13 @@
-     }
-     else		    /* add a new variable */
-     {
-+	/* Can't add "v:" variable. */
-+	if (ht == &vimvarht)
-+	{
-+	    EMSG2(_(e_illvar), name);
-+	    return;
-+	}
-+
- 	/* Make sure the variable name is valid. */
- 	for (p = varname; *p != NUL; ++p)
- 	    if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
-@@ -17792,7 +17940,7 @@
- }
- 
- /*
-- * Return TRUE if di_flags "flags" indicate read-only variable "name".
-+ * Return TRUE if di_flags "flags" indicates variable "name" is read-only.
-  * Also give an error message.
-  */
-     static int
-@@ -17814,6 +17962,23 @@
- }
- 
- /*
-+ * Return TRUE if di_flags "flags" indicates variable "name" is fixed.
-+ * Also give an error message.
-+ */
-+    static int
-+var_check_fixed(flags, name)
-+    int		flags;
-+    char_u	*name;
-+{
-+    if (flags & DI_FLAGS_FIX)
-+    {
-+	EMSG2(_("E795: Cannot delete variable %s"), name);
-+	return TRUE;
-+    }
-+    return FALSE;
-+}
-+
-+/*
-  * Return TRUE if typeval "tv" is set to be locked (immutable).
-  * Also give an error message, using "name".
-  */
-@@ -18396,12 +18561,14 @@
- 
-     if (!eap->skip)
-     {
--	/* Check the name of the function. */
-+	/* Check the name of the function.  Unless it's a dictionary function
-+	 * (that we are overwriting). */
- 	if (name != NULL)
- 	    arg = name;
- 	else
- 	    arg = fudi.fd_newkey;
--	if (arg != NULL)
-+	if (arg != NULL && (fudi.fd_di == NULL
-+				     || fudi.fd_di->di_tv.v_type != VAR_FUNC))
- 	{
- 	    if (*arg == K_SPECIAL)
- 		j = 3;
-@@ -18786,6 +18953,7 @@
- 		if (dict_add(fudi.fd_dict, fudi.fd_di) == FAIL)
- 		{
- 		    vim_free(fudi.fd_di);
-+		    vim_free(fp);
- 		    goto erret;
- 		}
- 	    }
-@@ -18963,7 +19131,8 @@
-     else if (lead > 0)
-     {
- 	lead = 3;
--	if (eval_fname_sid(lv.ll_exp_name != NULL ? lv.ll_exp_name : *pp))
-+	if ((lv.ll_exp_name != NULL && eval_fname_sid(lv.ll_exp_name))
-+						       || eval_fname_sid(*pp))
- 	{
- 	    /* It's "s:" or "<SID>" */
- 	    if (current_SID <= 0)
-@@ -19618,6 +19787,7 @@
-     char_u	*name;
- #ifdef FEAT_PROFILE
-     proftime_T	wait_start;
-+    proftime_T	call_start;
- #endif
- 
-     /* If depth of calling is getting too high, don't execute the function */
-@@ -19685,6 +19855,7 @@
-     v->di_tv.vval.v_list = &fc.l_varlist;
-     vim_memset(&fc.l_varlist, 0, sizeof(list_T));
-     fc.l_varlist.lv_refcount = 99999;
-+    fc.l_varlist.lv_lock = VAR_FIXED;
- 
-     /*
-      * Set a:firstline to "firstline" and a:lastline to "lastline".
-@@ -19761,7 +19932,7 @@
- 	    if (p_verbose >= 14)
- 	    {
- 		char_u	buf[MSG_BUF_LEN];
--		char_u	numbuf[NUMBUFLEN];
-+		char_u	numbuf2[NUMBUFLEN];
- 		char_u	*tofree;
- 
- 		msg_puts((char_u *)"(");
-@@ -19773,8 +19944,8 @@
- 			msg_outnum((long)argvars[i].vval.v_number);
- 		    else
- 		    {
--			trunc_string(tv2string(&argvars[i], &tofree, numbuf, 0),
--							    buf, MSG_BUF_CLEN);
-+			trunc_string(tv2string(&argvars[i], &tofree,
-+					      numbuf2, 0), buf, MSG_BUF_CLEN);
- 			msg_puts(buf);
- 			vim_free(tofree);
- 		    }
-@@ -19796,7 +19967,7 @@
- 		       || (fc.caller != NULL && &fc.caller->func->uf_profiling))
- 	{
- 	    ++fp->uf_tm_count;
--	    profile_start(&fp->uf_tm_start);
-+	    profile_start(&call_start);
- 	    profile_zero(&fp->uf_tm_children);
- 	}
- 	script_prof_save(&wait_start);
-@@ -19826,14 +19997,14 @@
-     if (do_profiling == PROF_YES && (fp->uf_profiling
- 		    || (fc.caller != NULL && &fc.caller->func->uf_profiling)))
-     {
--	profile_end(&fp->uf_tm_start);
--	profile_sub_wait(&wait_start, &fp->uf_tm_start);
--	profile_add(&fp->uf_tm_total, &fp->uf_tm_start);
--	profile_self(&fp->uf_tm_self, &fp->uf_tm_start, &fp->uf_tm_children);
-+	profile_end(&call_start);
-+	profile_sub_wait(&wait_start, &call_start);
-+	profile_add(&fp->uf_tm_total, &call_start);
-+	profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children);
- 	if (fc.caller != NULL && &fc.caller->func->uf_profiling)
- 	{
--	    profile_add(&fc.caller->func->uf_tm_children, &fp->uf_tm_start);
--	    profile_add(&fc.caller->func->uf_tml_children, &fp->uf_tm_start);
-+	    profile_add(&fc.caller->func->uf_tm_children, &call_start);
-+	    profile_add(&fc.caller->func->uf_tml_children, &call_start);
- 	}
-     }
- #endif
-@@ -19852,13 +20023,13 @@
- 	else
- 	{
- 	    char_u	buf[MSG_BUF_LEN];
--	    char_u	numbuf[NUMBUFLEN];
-+	    char_u	numbuf2[NUMBUFLEN];
- 	    char_u	*tofree;
- 
- 	    /* The value may be very long.  Skip the middle part, so that we
- 	     * have some idea how it starts and ends. smsg() would always
- 	     * truncate it at the end. */
--	    trunc_string(tv2string(fc.rettv, &tofree, numbuf, 0),
-+	    trunc_string(tv2string(fc.rettv, &tofree, numbuf2, 0),
- 							   buf, MSG_BUF_CLEN);
- 	    smsg((char_u *)_("%s returning %s"), sourcing_name, buf);
- 	    vim_free(tofree);
-diff -Naur vim70.orig/src/ex_cmds.c vim70/src/ex_cmds.c
---- vim70.orig/src/ex_cmds.c	2006-04-22 11:56:56.000000000 -0700
-+++ vim70/src/ex_cmds.c	2007-02-15 21:22:27.000000000 -0800
-@@ -95,7 +95,10 @@
- 		_("<%s>%s%s  %d,  Hex %02x,  Octal %03o"),
- 					   transchar(c), buf1, buf2, c, c, c);
- #ifdef FEAT_MBYTE
--	c = cc[ci++];
-+	if (enc_utf8)
-+	    c = cc[ci++];
-+	else
-+	    c = 0;
- #endif
-     }
- 
-@@ -108,7 +111,7 @@
- 	if (len > 0)
- 	    IObuff[len++] = ' ';
- 	IObuff[len++] = '<';
--	if (utf_iscomposing(c)
-+	if (enc_utf8 && utf_iscomposing(c)
- # ifdef USE_GUI
- 		&& !gui.in_use
- # endif
-@@ -120,7 +123,10 @@
- 				    : _("> %d, Hex %08x, Octal %o"), c, c, c);
- 	if (ci == MAX_MCO)
- 	    break;
--	c = cc[ci++];
-+	if (enc_utf8)
-+	    c = cc[ci++];
-+	else
-+	    c = 0;
-     }
- #endif
- 
-@@ -185,6 +191,7 @@
- 	    new_indent = indent;
- 	else
- 	{
-+	    has_tab = FALSE;	/* avoid uninit warnings */
- 	    len = linelen(eap->cmdidx == CMD_right ? &has_tab
- 						   : NULL) - get_indent();
- 
-@@ -1772,10 +1779,9 @@
- 				? (st_old.st_mode & 0020)
- 				: (st_old.st_mode & 0002))))
- 	{
--	    int	tt;
-+	    int	tt = msg_didany;
- 
- 	    /* avoid a wait_return for this message, it's annoying */
--	    tt = msg_didany;
- 	    EMSG2(_("E137: Viminfo file is not writable: %s"), fname);
- 	    msg_didany = tt;
- 	    fclose(fp_in);
-@@ -2458,6 +2464,8 @@
- #ifdef FEAT_AUTOCMD
- 	apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf);
- #endif
-+	/* Change directories when the 'acd' option is set. */
-+	DO_AUTOCHDIR
-     }
-     /* print full file name if :cd used */
-     fileinfo(FALSE, FALSE, eap->forceit);
-@@ -2675,8 +2683,13 @@
- 				 eap, eap->append, eap->forceit, TRUE, FALSE);
- 
- 	/* After ":saveas fname" reset 'readonly'. */
--	if (eap->cmdidx == CMD_saveas && retval == OK)
--	    curbuf->b_p_ro = FALSE;
-+	if (eap->cmdidx == CMD_saveas)
-+	{
-+	    if (retval == OK)
-+		curbuf->b_p_ro = FALSE;
-+	    /* Change directories when the 'acd' option is set. */
-+	    DO_AUTOCHDIR
-+	}
-     }
- 
- theend:
-@@ -3547,11 +3560,9 @@
- 	foldUpdateAll(curwin);
- #endif
- 
--#ifdef FEAT_AUTOCHDIR
--	if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	    shorten_fnames(TRUE);
--#endif
-+	/* Change directories when the 'acd' option is set. */
-+	DO_AUTOCHDIR
-+
- 	/*
- 	 * Careful: open_buffer() and apply_autocmds() may change the current
- 	 * buffer and window.
-@@ -3718,12 +3729,8 @@
-     if (p_im)
- 	need_start_insertmode = TRUE;
- 
--#ifdef FEAT_AUTOCHDIR
--    /* Change directories when the acd option is set on. */
--    if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	shorten_fnames(TRUE);
--#endif
-+    /* Change directories when the 'acd' option is set. */
-+    DO_AUTOCHDIR
- 
- #if defined(FEAT_SUN_WORKSHOP) || defined(FEAT_NETBEANS_INTG)
-     if (gui.in_use && curbuf->b_ffname != NULL)
-@@ -6960,6 +6967,14 @@
-      */
-     set_arglist(eap->arg);
- 
-+    /*
-+     * Expanding wildcards may result in an empty argument list.  E.g. when
-+     * editing "foo.pyc" and ".pyc" is in 'wildignore'.  Assume that we
-+     * already did an error message for this.
-+     */
-+    if (ARGCOUNT == 0)
-+	return;
-+
- # ifdef FEAT_WINDOWS
-     if (cmdmod.tab)
-     {
-diff -Naur vim70.orig/src/ex_cmds.h vim70/src/ex_cmds.h
---- vim70.orig/src/ex_cmds.h	2006-04-07 02:44:46.000000000 -0700
-+++ vim70/src/ex_cmds.h	2007-02-15 21:22:24.000000000 -0800
-@@ -262,7 +262,7 @@
- EX(CMD_comclear,	"comclear",	ex_comclear,
- 			TRLBAR|CMDWIN),
- EX(CMD_compiler,	"compiler",	ex_compiler,
--			BANG|TRLBAR|WORD1),
-+			BANG|TRLBAR|WORD1|CMDWIN),
- EX(CMD_continue,	"continue",	ex_continue,
- 			TRLBAR|SBOXOK|CMDWIN),
- EX(CMD_confirm,		"confirm",	ex_wrongmodifier,
-diff -Naur vim70.orig/src/ex_cmds2.c vim70/src/ex_cmds2.c
---- vim70.orig/src/ex_cmds2.c	2006-04-17 03:19:07.000000000 -0700
-+++ vim70/src/ex_cmds2.c	2007-02-15 21:22:27.000000000 -0800
-@@ -1242,14 +1242,22 @@
-     buf_T	*buf;
-     int		forceit;
- {
-+    int		r;
-+
-     if (!(p_aw || p_awa) || !p_write
- #ifdef FEAT_QUICKFIX
--	/* never autowrite a "nofile" or "nowrite" buffer */
--	|| bt_dontwrite(buf)
-+	    /* never autowrite a "nofile" or "nowrite" buffer */
-+	    || bt_dontwrite(buf)
- #endif
--	|| (!forceit && buf->b_p_ro) || buf->b_ffname == NULL)
-+	    || (!forceit && buf->b_p_ro) || buf->b_ffname == NULL)
- 	return FAIL;
--    return buf_write_all(buf, forceit);
-+    r = buf_write_all(buf, forceit);
-+
-+    /* Writing may succeed but the buffer still changed, e.g., when there is a
-+     * conversion error.  We do want to return FAIL then. */
-+    if (buf_valid(buf) && bufIsChanged(buf))
-+	r = FAIL;
-+    return r;
- }
- 
- /*
-@@ -1472,6 +1480,8 @@
- 	if (buf == NULL)    /* No buffers changed */
- 	    return FALSE;
- 
-+	/* Try auto-writing the buffer.  If this fails but the buffer no
-+	 * longer exists it's not changed, that's OK. */
- 	if (check_changed(buf, p_awa, TRUE, FALSE, TRUE) && buf_valid(buf))
- 	    break;	    /* didn't save - still changes */
-     }
-@@ -2811,6 +2821,17 @@
-     }
- 
- #ifdef FEAT_AUTOCMD
-+    /* Apply SourceCmd autocommands, they should get the file and source it. */
-+    if (has_autocmd(EVENT_SOURCECMD, fname_exp, NULL)
-+	    && apply_autocmds(EVENT_SOURCECMD, fname_exp, fname_exp,
-+							       FALSE, curbuf))
-+# ifdef FEAT_EVAL
-+	return aborting() ? FAIL : OK;
-+# else
-+	return OK;
-+# endif
-+
-+    /* Apply SourcePre autocommands, they may get the file. */
-     apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
- #endif
- 
-@@ -3648,13 +3669,13 @@
-  * Return FALSE when not sourcing a file.
-  */
-     int
--source_finished(getline, cookie)
--    char_u	*(*getline) __ARGS((int, void *, int));
-+source_finished(fgetline, cookie)
-+    char_u	*(*fgetline) __ARGS((int, void *, int));
-     void	*cookie;
- {
--    return (getline_equal(getline, cookie, getsourceline)
-+    return (getline_equal(fgetline, cookie, getsourceline)
- 	    && ((struct source_cookie *)getline_cookie(
--						 getline, cookie))->finished);
-+						fgetline, cookie))->finished);
- }
- #endif
- 
-diff -Naur vim70.orig/src/ex_docmd.c vim70/src/ex_docmd.c
---- vim70.orig/src/ex_docmd.c	2006-05-05 09:33:19.000000000 -0700
-+++ vim70/src/ex_docmd.c	2007-02-15 21:22:27.000000000 -0800
-@@ -58,9 +58,9 @@
- #endif
- 
- #ifdef FEAT_EVAL
--static char_u	*do_one_cmd __ARGS((char_u **, int, struct condstack *, char_u *(*getline)(int, void *, int), void *cookie));
-+static char_u	*do_one_cmd __ARGS((char_u **, int, struct condstack *, char_u *(*fgetline)(int, void *, int), void *cookie));
- #else
--static char_u	*do_one_cmd __ARGS((char_u **, int, char_u *(*getline)(int, void *, int), void *cookie));
-+static char_u	*do_one_cmd __ARGS((char_u **, int, char_u *(*fgetline)(int, void *, int), void *cookie));
- static int	if_level = 0;		/* depth in :if */
- #endif
- static char_u	*find_command __ARGS((exarg_T *eap, int *full));
-@@ -831,10 +831,13 @@
- 
-     /*
-      * If requested, store and reset the global values controlling the
--     * exception handling (used when debugging).
-+     * exception handling (used when debugging).  Otherwise clear it to avoid
-+     * a bogus compiler warning when the optimizer uses inline functions...
-      */
--    else if (flags & DOCMD_EXCRESET)
-+    if (flags & DOCMD_EXCRESET)
- 	save_dbg_stuff(&debug_saved);
-+    else
-+	memset(&debug_saved, 0, 1);
- 
-     initial_trylevel = trylevel;
- 
-@@ -1574,24 +1577,24 @@
- #endif
- 
- /*
-- * If "getline" is get_loop_line(), return TRUE if the getline it uses equals
-- * "func".  * Otherwise return TRUE when "getline" equals "func".
-+ * If "fgetline" is get_loop_line(), return TRUE if the getline it uses equals
-+ * "func".  * Otherwise return TRUE when "fgetline" equals "func".
-  */
- /*ARGSUSED*/
-     int
--getline_equal(getline, cookie, func)
--    char_u	*(*getline) __ARGS((int, void *, int));
--    void	*cookie;		/* argument for getline() */
-+getline_equal(fgetline, cookie, func)
-+    char_u	*(*fgetline) __ARGS((int, void *, int));
-+    void	*cookie;		/* argument for fgetline() */
-     char_u	*(*func) __ARGS((int, void *, int));
- {
- #ifdef FEAT_EVAL
-     char_u		*(*gp) __ARGS((int, void *, int));
-     struct loop_cookie *cp;
- 
--    /* When "getline" is "get_loop_line()" use the "cookie" to find the
-+    /* When "fgetline" is "get_loop_line()" use the "cookie" to find the
-      * function that's orignally used to obtain the lines.  This may be nested
-      * several levels. */
--    gp = getline;
-+    gp = fgetline;
-     cp = (struct loop_cookie *)cookie;
-     while (gp == get_loop_line)
-     {
-@@ -1600,29 +1603,29 @@
-     }
-     return gp == func;
- #else
--    return getline == func;
-+    return fgetline == func;
- #endif
- }
- 
- #if defined(FEAT_EVAL) || defined(FEAT_MBYTE) || defined(PROTO)
- /*
-- * If "getline" is get_loop_line(), return the cookie used by the original
-+ * If "fgetline" is get_loop_line(), return the cookie used by the original
-  * getline function.  Otherwise return "cookie".
-  */
- /*ARGSUSED*/
-     void *
--getline_cookie(getline, cookie)
--    char_u	*(*getline) __ARGS((int, void *, int));
--    void	*cookie;		/* argument for getline() */
-+getline_cookie(fgetline, cookie)
-+    char_u	*(*fgetline) __ARGS((int, void *, int));
-+    void	*cookie;		/* argument for fgetline() */
- {
- # ifdef FEAT_EVAL
-     char_u		*(*gp) __ARGS((int, void *, int));
-     struct loop_cookie *cp;
- 
--    /* When "getline" is "get_loop_line()" use the "cookie" to find the
-+    /* When "fgetline" is "get_loop_line()" use the "cookie" to find the
-      * cookie that's orignally used to obtain the lines.  This may be nested
-      * several levels. */
--    gp = getline;
-+    gp = fgetline;
-     cp = (struct loop_cookie *)cookie;
-     while (gp == get_loop_line)
-     {
-@@ -1648,7 +1651,7 @@
-  * 5. parse arguments
-  * 6. switch on command name
-  *
-- * Note: "getline" can be NULL.
-+ * Note: "fgetline" can be NULL.
-  *
-  * This function may be called recursively!
-  */
-@@ -1663,14 +1666,14 @@
- #ifdef FEAT_EVAL
- 			    cstack,
- #endif
--				    getline, cookie)
-+				    fgetline, cookie)
-     char_u		**cmdlinep;
-     int			sourcing;
- #ifdef FEAT_EVAL
-     struct condstack	*cstack;
- #endif
--    char_u		*(*getline) __ARGS((int, void *, int));
--    void		*cookie;		/* argument for getline() */
-+    char_u		*(*fgetline) __ARGS((int, void *, int));
-+    void		*cookie;		/* argument for fgetline() */
- {
-     char_u		*p;
-     linenr_T		lnum;
-@@ -1698,7 +1701,7 @@
-     if (quitmore
- #ifdef FEAT_EVAL
- 	    /* avoid that a function call in 'statusline' does this */
--	    && !getline_equal(getline, cookie, get_func_line)
-+	    && !getline_equal(fgetline, cookie, get_func_line)
- #endif
- 	    )
- 	--quitmore;
-@@ -1710,6 +1713,10 @@
-     save_cmdmod = cmdmod;
-     vim_memset(&cmdmod, 0, sizeof(cmdmod));
- 
-+    /* "#!anything" is handled like a comment. */
-+    if ((*cmdlinep)[0] == '#' && (*cmdlinep)[1] == '!')
-+	goto doend;
-+
-     /*
-      * Repeat until no more command modifiers are found.
-      */
-@@ -1724,8 +1731,8 @@
- 
- 	/* in ex mode, an empty line works like :+ */
- 	if (*ea.cmd == NUL && exmode_active
--			&& (getline_equal(getline, cookie, getexmodeline)
--			    || getline_equal(getline, cookie, getexline))
-+			&& (getline_equal(fgetline, cookie, getexmodeline)
-+			    || getline_equal(fgetline, cookie, getexline))
- 			&& curwin->w_cursor.lnum < curbuf->b_ml.ml_line_count)
- 	{
- 	    ea.cmd = (char_u *)"+";
-@@ -1914,9 +1921,9 @@
-     /* Count this line for profiling if ea.skip is FALSE. */
-     if (do_profiling == PROF_YES && !ea.skip)
-     {
--	if (getline_equal(getline, cookie, get_func_line))
--	    func_line_exec(getline_cookie(getline, cookie));
--	else if (getline_equal(getline, cookie, getsourceline))
-+	if (getline_equal(fgetline, cookie, get_func_line))
-+	    func_line_exec(getline_cookie(fgetline, cookie));
-+	else if (getline_equal(fgetline, cookie, getsourceline))
- 	    script_line_exec();
-     }
- #endif
-@@ -2585,7 +2592,7 @@
-  * The "ea" structure holds the arguments that can be used.
-  */
-     ea.cmdlinep = cmdlinep;
--    ea.getline = getline;
-+    ea.getline = fgetline;
-     ea.cookie = cookie;
- #ifdef FEAT_EVAL
-     ea.cstack = cstack;
-@@ -2623,9 +2630,9 @@
- 	do_throw(cstack);
-     else if (check_cstack)
-     {
--	if (source_finished(getline, cookie))
-+	if (source_finished(fgetline, cookie))
- 	    do_finish(&ea, TRUE);
--	else if (getline_equal(getline, cookie, get_func_line)
-+	else if (getline_equal(fgetline, cookie, get_func_line)
- 						   && current_func_returned())
- 	    do_return(&ea, TRUE, FALSE, NULL);
-     }
-@@ -6289,7 +6296,6 @@
-     exarg_T	*eap;
- {
-     tabpage_T	*tp;
--    int		h = tabline_height();
- 
- # ifdef FEAT_CMDWIN
-     if (cmdwin_type != 0)
-@@ -6321,9 +6327,6 @@
- 	       )
- 		tabpage_close(eap->forceit);
- 	}
--
--    if (h != tabline_height())
--	shell_new_rows();
- }
- 
- /*
-@@ -6335,7 +6338,6 @@
- {
-     tabpage_T	*tp;
-     int		done;
--    int		h = tabline_height();
- 
- # ifdef FEAT_CMDWIN
-     if (cmdwin_type != 0)
-@@ -6364,9 +6366,6 @@
- 		    break;
- 	    }
- 	}
--
--    if (h != tabline_height())
--	shell_new_rows();
- }
- 
- /*
-@@ -6390,6 +6389,8 @@
- /*
-  * Close tab page "tp", which is not the current tab page.
-  * Note that autocommands may make "tp" invalid.
-+ * Also takes care of the tab pages line disappearing when closing the
-+ * last-but-one tab page.
-  */
-     void
- tabpage_close_other(tp, forceit)
-@@ -6398,6 +6399,7 @@
- {
-     int		done = 0;
-     win_T	*wp;
-+    int		h = tabline_height();
- 
-     /* Limit to 1000 windows, autocommands may add a window while we close
-      * one.  OK, so I'm paranoid... */
-@@ -6411,7 +6413,10 @@
- 	if (!valid_tabpage(tp) || tp->tp_firstwin == wp)
- 	    break;
-     }
-+
-     redraw_tabline = TRUE;
-+    if (h != tabline_height())
-+	shell_new_rows();
- }
- 
- /*
-@@ -8214,8 +8219,9 @@
-     c = *eap->arg;
-     if (c == NUL || (c == '*' && *eap->cmd == '*'))
- 	c = '@';
--    /* put the register in mapbuf */
--    if (do_execreg(c, TRUE, vim_strchr(p_cpo, CPO_EXECBUF) != NULL) == FAIL)
-+    /* Put the register in the typeahead buffer with the "silent" flag. */
-+    if (do_execreg(c, TRUE, vim_strchr(p_cpo, CPO_EXECBUF) != NULL, TRUE)
-+								      == FAIL)
-     {
- 	beep_flush();
-     }
-@@ -8365,6 +8371,7 @@
- 	    if (ASCII_ISALPHA(*arg)
- # ifdef FEAT_CLIPBOARD
- 		    || *arg == '*'
-+		    || *arg == '+'
- # endif
- 		    || *arg == '"')
- 	    {
-@@ -8375,6 +8382,7 @@
- 			 (islower(redir_reg)
- # ifdef FEAT_CLIPBOARD
- 			    || redir_reg == '*'
-+			    || redir_reg == '+'
- # endif
- 			    || redir_reg == '"'))
- 		{
-@@ -8417,6 +8425,15 @@
- 	else
- 	    EMSG2(_(e_invarg2), eap->arg);
-     }
-+
-+    /* Make sure redirection is not off.  Can happen for cmdline completion
-+     * that indirectly invokes a command to catch its output. */
-+    if (redir_fd != NULL
-+#ifdef FEAT_EVAL
-+			  || redir_reg || redir_vname
-+#endif
-+							)
-+	redir_off = FALSE;
- }
- 
- /*
-@@ -9629,7 +9646,8 @@
- #endif
- 
- #ifdef FEAT_SESSION
--static int ses_winsizes __ARGS((FILE *fd, int restore_size));
-+static int ses_winsizes __ARGS((FILE *fd, int restore_size,
-+							win_T *tab_firstwin));
- static int ses_win_rec __ARGS((FILE *fd, frame_T *fr));
- static frame_T *ses_skipframe __ARGS((frame_T *fr));
- static int ses_do_frame __ARGS((frame_T *fr));
-@@ -9655,8 +9673,9 @@
-     win_T	*wp;
-     char_u	*sname;
-     win_T	*edited_win = NULL;
--    tabpage_T	*old_curtab = curtab;
-     int		tabnr;
-+    win_T	*tab_firstwin;
-+    frame_T	*tab_topframe;
- 
-     if (ssop_flags & SSOP_BUFFERS)
- 	only_save_windows = FALSE;		/* Save ALL buffers */
-@@ -9764,14 +9783,33 @@
-     /*
-      * May repeat putting Windows for each tab, when "tabpages" is in
-      * 'sessionoptions'.
-+     * Don't use goto_tabpage(), it may change directory and trigger
-+     * autocommands.
-      */
-+    tab_firstwin = firstwin;	/* first window in tab page "tabnr" */
-+    tab_topframe = topframe;
-     for (tabnr = 1; ; ++tabnr)
-     {
-+	int  need_tabnew = FALSE;
-+
- 	if ((ssop_flags & SSOP_TABPAGES))
- 	{
--	    goto_tabpage(tabnr);
--	    if (tabnr > 1 && put_line(fd, "tabnew") == FAIL)
--		return FAIL;
-+	    tabpage_T *tp = find_tabpage(tabnr);
-+
-+	    if (tp == NULL)
-+		break;		/* done all tab pages */
-+	    if (tp == curtab)
-+	    {
-+		tab_firstwin = firstwin;
-+		tab_topframe = topframe;
-+	    }
-+	    else
-+	    {
-+		tab_firstwin = tp->tp_firstwin;
-+		tab_topframe = tp->tp_topframe;
-+	    }
-+	    if (tabnr > 1)
-+		need_tabnew = TRUE;
- 	}
- 
- 	/*
-@@ -9779,7 +9817,7 @@
- 	 * is aborted we don't end up with a number of useless windows.
- 	 * This may have side effects! (e.g., compressed or network file).
- 	 */
--	for (wp = firstwin; wp != NULL; wp = wp->w_next)
-+	for (wp = tab_firstwin; wp != NULL; wp = wp->w_next)
- 	{
- 	    if (ses_do_win(wp)
- 		    && wp->w_buffer->b_ffname != NULL
-@@ -9789,21 +9827,26 @@
- #endif
- 		    )
- 	    {
--		if (fputs("edit ", fd) < 0
-+		if (fputs(need_tabnew ? "tabedit " : "edit ", fd) < 0
- 			|| ses_fname(fd, wp->w_buffer, &ssop_flags) == FAIL)
- 		    return FAIL;
-+		need_tabnew = FALSE;
- 		if (!wp->w_arg_idx_invalid)
- 		    edited_win = wp;
- 		break;
- 	    }
- 	}
- 
-+	/* If no file got edited create an empty tab page. */
-+	if (need_tabnew && put_line(fd, "tabnew") == FAIL)
-+	    return FAIL;
-+
- 	/*
- 	 * Save current window layout.
- 	 */
- 	if (put_line(fd, "set splitbelow splitright") == FAIL)
- 	    return FAIL;
--	if (ses_win_rec(fd, topframe) == FAIL)
-+	if (ses_win_rec(fd, tab_topframe) == FAIL)
- 	    return FAIL;
- 	if (!p_sb && put_line(fd, "set nosplitbelow") == FAIL)
- 	    return FAIL;
-@@ -9815,7 +9858,7 @@
- 	 * Remember the window number of the current window after restoring.
- 	 */
- 	nr = 0;
--	for (wp = firstwin; wp != NULL; wp = W_NEXT(wp))
-+	for (wp = tab_firstwin; wp != NULL; wp = W_NEXT(wp))
- 	{
- 	    if (ses_do_win(wp))
- 		++nr;
-@@ -9838,13 +9881,13 @@
- 	 */
- 	if (put_line(fd, "set winheight=1 winwidth=1") == FAIL)
- 	    return FAIL;
--	if (nr > 1 && ses_winsizes(fd, restore_size) == FAIL)
-+	if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL)
- 	    return FAIL;
- 
- 	/*
- 	 * Restore the view of the window (options, file, cursor, etc.).
- 	 */
--	for (wp = firstwin; wp != NULL; wp = wp->w_next)
-+	for (wp = tab_firstwin; wp != NULL; wp = wp->w_next)
- 	{
- 	    if (!ses_do_win(wp))
- 		continue;
-@@ -9865,19 +9908,17 @@
- 	 * Restore window sizes again after jumping around in windows, because
- 	 * the current window has a minimum size while others may not.
- 	 */
--	if (nr > 1 && ses_winsizes(fd, restore_size) == FAIL)
-+	if (nr > 1 && ses_winsizes(fd, restore_size, tab_firstwin) == FAIL)
- 	    return FAIL;
- 
- 	/* Don't continue in another tab page when doing only the current one
- 	 * or when at the last tab page. */
--	if (!(ssop_flags & SSOP_TABPAGES) || curtab->tp_next == NULL)
-+	if (!(ssop_flags & SSOP_TABPAGES))
- 	    break;
-     }
- 
-     if (ssop_flags & SSOP_TABPAGES)
-     {
--	if (valid_tabpage(old_curtab))
--	    goto_tabpage_tp(old_curtab);
- 	if (fprintf(fd, "tabnext %d", tabpage_index(curtab)) < 0
- 		|| put_eol(fd) == FAIL)
- 	    return FAIL;
-@@ -9913,16 +9954,17 @@
- }
- 
-     static int
--ses_winsizes(fd, restore_size)
-+ses_winsizes(fd, restore_size, tab_firstwin)
-     FILE	*fd;
-     int		restore_size;
-+    win_T	*tab_firstwin;
- {
-     int		n = 0;
-     win_T	*wp;
- 
-     if (restore_size && (ssop_flags & SSOP_WINSIZE))
-     {
--	for (wp = firstwin; wp != NULL; wp = wp->w_next)
-+	for (wp = tab_firstwin; wp != NULL; wp = wp->w_next)
- 	{
- 	    if (!ses_do_win(wp))
- 		continue;
-diff -Naur vim70.orig/src/ex_eval.c vim70/src/ex_eval.c
---- vim70.orig/src/ex_eval.c	2006-04-22 12:22:27.000000000 -0700
-+++ vim70/src/ex_eval.c	2007-02-15 21:22:26.000000000 -0800
-@@ -340,7 +340,7 @@
- 
-     /* If no exception is to be thrown or the conversion should be done after
-      * returning to a previous invocation of do_one_cmd(), do nothing. */
--    if (*msg_list == NULL)
-+    if (msg_list == NULL || *msg_list == NULL)
- 	return;
- 
-     if (throw_exception(*msg_list, ET_ERROR, cmdname) == FAIL)
-@@ -2026,8 +2026,11 @@
- 
- 	/* If an error was about to be converted to an exception when
- 	 * enter_cleanup() was called, free the message list. */
--	free_msglist(*msg_list);
--	*msg_list = NULL;
-+	if (msg_list != NULL)
-+	{
-+	    free_msglist(*msg_list);
-+	    *msg_list = NULL;
-+	}
-     }
- 
-     /*
-diff -Naur vim70.orig/src/ex_getln.c vim70/src/ex_getln.c
---- vim70.orig/src/ex_getln.c	2006-04-30 08:32:01.000000000 -0700
-+++ vim70/src/ex_getln.c	2007-02-15 21:22:26.000000000 -0800
-@@ -34,7 +34,7 @@
-     int		xp_context;	/* type of expansion */
- # ifdef FEAT_EVAL
-     char_u	*xp_arg;	/* user-defined expansion arg */
--    int		input_fn;	/* Invoked for input() function */
-+    int		input_fn;	/* when TRUE Invoked for input() function */
- # endif
- };
- 
-@@ -86,7 +86,7 @@
- static void	draw_cmdline __ARGS((int start, int len));
- static void	save_cmdline __ARGS((struct cmdline_info *ccp));
- static void	restore_cmdline __ARGS((struct cmdline_info *ccp));
--static int	cmdline_paste __ARGS((int regname, int literally));
-+static int	cmdline_paste __ARGS((int regname, int literally, int remcr));
- #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK)
- static void	redrawcmd_preedit __ARGS((void));
- #endif
-@@ -324,6 +324,9 @@
-      */
-     for (;;)
-     {
-+	redir_off = TRUE;	/* Don't redirect the typed command.
-+				   Repeated, because a ":redir" inside
-+				   completion may switch it on. */
- #ifdef USE_ON_FLY_SCROLL
- 	dont_scroll = FALSE;	/* allow scrolling here */
- #endif
-@@ -1113,7 +1116,7 @@
- #endif
- 		if (c != ESC)	    /* use ESC to cancel inserting register */
- 		{
--		    cmdline_paste(c, i == Ctrl_R);
-+		    cmdline_paste(c, i == Ctrl_R, FALSE);
- 
- #ifdef FEAT_EVAL
- 		    /* When there was a serious error abort getting the
-@@ -1228,16 +1231,16 @@
- 			goto cmdline_not_changed;   /* Ignore mouse */
- # ifdef FEAT_CLIPBOARD
- 		if (clip_star.available)
--		    cmdline_paste('*', TRUE);
-+		    cmdline_paste('*', TRUE, TRUE);
- 		else
- # endif
--		    cmdline_paste(0, TRUE);
-+		    cmdline_paste(0, TRUE, TRUE);
- 		redrawcmd();
- 		goto cmdline_changed;
- 
- # ifdef FEAT_DND
- 	case K_DROP:
--		cmdline_paste('~', TRUE);
-+		cmdline_paste('~', TRUE, FALSE);
- 		redrawcmd();
- 		goto cmdline_changed;
- # endif
-@@ -1387,7 +1390,17 @@
- 		    {
- 			c = gchar_cursor();
- 			if (c != NUL)
-+			{
-+			    if (c == firstc || vim_strchr((char_u *)(
-+					    p_magic ? "\\^$.*[" : "\\^$"), c)
-+								      != NULL)
-+			    {
-+				/* put a backslash before special characters */
-+				stuffcharReadbuff(c);
-+				c = '\\';
-+			    }
- 			    break;
-+			}
- 		    }
- 		    goto cmdline_not_changed;
- 		}
-@@ -1753,6 +1766,11 @@
- 		end_pos = curwin->w_cursor; /* shutup gcc 4 */
- 
- 	    validate_cursor();
-+# ifdef FEAT_WINDOWS
-+	    /* May redraw the status line to show the cursor position. */
-+	    if (p_ru && curwin->w_status_height > 0)
-+		curwin->w_redr_status = TRUE;
-+# endif
- 
- 	    save_cmdline(&save_ccline);
- 	    update_screen(SOME_VALID);
-@@ -2360,7 +2378,7 @@
- {
-     if ((State & CMDLINE)
- 	    && xic != NULL
--	    && im_get_status()
-+	    /* && im_get_status()  doesn't work when using SCIM */
- 	    && !p_imdisable
- 	    && im_is_preediting())
-     {
-@@ -2882,9 +2900,10 @@
-  * return FAIL for failure, OK otherwise
-  */
-     static int
--cmdline_paste(regname, literally)
-+cmdline_paste(regname, literally, remcr)
-     int regname;
-     int literally;	/* Insert text literally instead of "as typed" */
-+    int remcr;		/* remove trailing CR */
- {
-     long		i;
-     char_u		*arg;
-@@ -2960,7 +2979,7 @@
- 	return OK;
-     }
- 
--    return cmdline_paste_reg(regname, literally);
-+    return cmdline_paste_reg(regname, literally, remcr);
- }
- 
- /*
-@@ -4521,7 +4540,9 @@
-     flags |= EW_FILE | EW_EXEC;
- 
-     /* For an absolute name we don't use $PATH. */
--    if ((pat[0] == '.' && (vim_ispathsep(pat[1])
-+    if (mch_isFullName(pat))
-+	path = (char_u *)" ";
-+    else if ((pat[0] == '.' && (vim_ispathsep(pat[1])
- 			    || (pat[1] == '.' && vim_ispathsep(pat[2])))))
- 	path = (char_u *)".";
-     else
-@@ -4534,6 +4555,9 @@
-     ga_init2(&ga, (int)sizeof(char *), 10);
-     for (s = path; *s != NUL; s = e)
-     {
-+	if (*s == ' ')
-+	    ++s;	/* Skip space used for absolute path name. */
-+
- #if defined(MSDOS) || defined(MSWIN) || defined(OS2)
- 	e = vim_strchr(s, ';');
- #else
-@@ -5982,6 +6006,8 @@
-     typestr[0] = cmdwin_type;
-     typestr[1] = NUL;
-     apply_autocmds(EVENT_CMDWINENTER, typestr, typestr, FALSE, curbuf);
-+    if (restart_edit != 0)	/* autocmd with ":startinsert" */
-+	stuffcharReadbuff(K_NOP);
- # endif
- 
-     i = RedrawingDisabled;
-diff -Naur vim70.orig/src/fileio.c vim70/src/fileio.c
---- vim70.orig/src/fileio.c	2006-04-30 08:28:57.000000000 -0700
-+++ vim70/src/fileio.c	2007-02-15 21:22:27.000000000 -0800
-@@ -316,6 +316,9 @@
-      * display the line. */
-     ex_no_reprint = TRUE;
- 
-+    /* don't display the file info for another buffer now */
-+    need_fileinfo = FALSE;
-+
-     /*
-      * For Unix: Use the short file name whenever possible.
-      * Avoids problems with networks and when directory names are changed.
-@@ -6151,8 +6154,8 @@
-     if (retval != FAIL)
-     {
- 	curbuf = frombuf;
--	while (!bufempty())
--	    if (ml_delete(curbuf->b_ml.ml_line_count, FALSE) == FAIL)
-+	for (lnum = curbuf->b_ml.ml_line_count; lnum > 0; --lnum)
-+	    if (ml_delete(lnum, FALSE) == FAIL)
- 	    {
- 		/* Oops!  We could try putting back the saved lines, but that
- 		 * might fail again... */
-@@ -6450,17 +6453,10 @@
-     int		old_ro = buf->b_p_ro;
-     buf_T	*savebuf;
-     int		saved = OK;
--#ifdef FEAT_AUTOCMD
-     aco_save_T	aco;
- 
-     /* set curwin/curbuf for "buf" and save some things */
-     aucmd_prepbuf(&aco, buf);
--#else
--    buf_T	*save_curbuf = curbuf;
--
--    curbuf = buf;
--    curwin->w_buffer = buf;
--#endif
- 
-     /* We only want to read the text from the file, not reset the syntax
-      * highlighting, clear marks, diff status, etc.  Force the fileformat
-@@ -6573,14 +6569,9 @@
- 	    curbuf->b_p_ro |= old_ro;
-     }
- 
--#ifdef FEAT_AUTOCMD
-     /* restore curwin/curbuf and a few other things */
-     aucmd_restbuf(&aco);
-     /* Careful: autocommands may have made "buf" invalid! */
--#else
--    curwin->w_buffer = save_curbuf;
--    curbuf = save_curbuf;
--#endif
- }
- 
- /*ARGSUSED*/
-@@ -6992,6 +6983,7 @@
-     {"FocusLost",	EVENT_FOCUSLOST},
-     {"FuncUndefined",	EVENT_FUNCUNDEFINED},
-     {"GUIEnter",	EVENT_GUIENTER},
-+    {"GUIFailed",	EVENT_GUIFAILED},
-     {"InsertChange",	EVENT_INSERTCHANGE},
-     {"InsertEnter",	EVENT_INSERTENTER},
-     {"InsertLeave",	EVENT_INSERTLEAVE},
-@@ -7003,6 +6995,7 @@
-     {"ShellCmdPost",	EVENT_SHELLCMDPOST},
-     {"ShellFilterPost",	EVENT_SHELLFILTERPOST},
-     {"SourcePre",	EVENT_SOURCEPRE},
-+    {"SourceCmd",	EVENT_SOURCECMD},
-     {"SpellFileMissing",EVENT_SPELLFILEMISSING},
-     {"StdinReadPost",	EVENT_STDINREADPOST},
-     {"StdinReadPre",	EVENT_STDINREADPRE},
-@@ -8088,6 +8081,7 @@
-  * Search a window for the current buffer.  Save the cursor position and
-  * screen offset.
-  * Set "curbuf" and "curwin" to match "buf".
-+ * When FEAT_AUTOCMD is not defined another version is used, see below.
-  */
-     void
- aucmd_prepbuf(aco, buf)
-@@ -8151,6 +8145,7 @@
- /*
-  * Cleanup after executing autocommands for a (hidden) buffer.
-  * Restore the window as it was (if possible).
-+ * When FEAT_AUTOCMD is not defined another version is used, see below.
-  */
-     void
- aucmd_restbuf(aco)
-@@ -8295,7 +8290,11 @@
- {
-     int		state;
- 
--    if (!did_cursorhold && has_cursorhold() && !Recording)
-+    if (!did_cursorhold && has_cursorhold() && !Recording
-+#ifdef FEAT_INS_EXPAND
-+	    && !ins_compl_active()
-+#endif
-+	    )
-     {
- 	state = get_real_state();
- 	if (state == NORMAL_BUSY || (state & INSERT) != 0)
-@@ -9063,8 +9062,38 @@
-     return retval;
- }
- 
-+#else	/* FEAT_AUTOCMD */
-+
-+/*
-+ * Prepare for executing commands for (hidden) buffer "buf".
-+ * This is the non-autocommand version, it simply saves "curbuf" and sets
-+ * "curbuf" and "curwin" to match "buf".
-+ */
-+    void
-+aucmd_prepbuf(aco, buf)
-+    aco_save_T	*aco;		/* structure to save values in */
-+    buf_T	*buf;		/* new curbuf */
-+{
-+    aco->save_buf = buf;
-+    curbuf = buf;
-+    curwin->w_buffer = buf;
-+}
-+
-+/*
-+ * Restore after executing commands for a (hidden) buffer.
-+ * This is the non-autocommand version.
-+ */
-+    void
-+aucmd_restbuf(aco)
-+    aco_save_T	*aco;		/* structure holding saved values */
-+{
-+    curbuf = aco->save_buf;
-+    curwin->w_buffer = curbuf;
-+}
-+
- #endif	/* FEAT_AUTOCMD */
- 
-+
- #if defined(FEAT_AUTOCMD) || defined(FEAT_WILDIGN) || defined(PROTO)
- /*
-  * Try matching a filename with a "pattern" ("prog" is NULL), or use the
-diff -Naur vim70.orig/src/fold.c vim70/src/fold.c
---- vim70.orig/src/fold.c	2006-04-22 12:35:56.000000000 -0700
-+++ vim70/src/fold.c	2007-02-15 21:22:26.000000000 -0800
-@@ -2971,7 +2971,11 @@
-     else
- 	flp->lvl = get_indent_buf(buf, lnum) / buf->b_p_sw;
-     if (flp->lvl > flp->wp->w_p_fdn)
-+    {
- 	flp->lvl = flp->wp->w_p_fdn;
-+	if (flp->lvl < 0)
-+	    flp->lvl = 0;
-+    }
- }
- 
- /* foldlevelDiff() {{{2 */
-diff -Naur vim70.orig/src/getchar.c vim70/src/getchar.c
---- vim70.orig/src/getchar.c	2006-05-03 10:29:21.000000000 -0700
-+++ vim70/src/getchar.c	2007-02-15 21:22:27.000000000 -0800
-@@ -76,7 +76,7 @@
-  */
- static mapblock_T	*first_abbr = NULL; /* first entry in abbrlist */
- 
--static int		KeyNoremap = FALSE; /* remapping disabled */
-+static int		KeyNoremap = 0;	    /* remapping flags */
- 
- /*
-  * variables used by vgetorpeek() and flush_buffers()
-@@ -1035,6 +1035,8 @@
- /*
-  * Put character "c" back into the typeahead buffer.
-  * Can be used for a character obtained by vgetc() that needs to be put back.
-+ * Uses cmd_silent, KeyTyped and KeyNoremap to restore the flags belonging to
-+ * the char.
-  */
-     void
- ins_char_typebuf(c)
-@@ -1061,7 +1063,7 @@
- 	buf[1] = NUL;
- #endif
-     }
--    (void)ins_typebuf(buf, REMAP_YES, 0, !KeyTyped, FALSE);
-+    (void)ins_typebuf(buf, KeyNoremap, 0, !KeyTyped, cmd_silent);
- }
- 
- /*
-@@ -1451,7 +1453,8 @@
- {
-     updatescript(0);
- #ifdef FEAT_EVAL
--    garbage_collect();
-+    if (may_garbage_collect)
-+	garbage_collect();
- #endif
- }
- 
-@@ -1502,6 +1505,13 @@
-     int		i;
- #endif
- 
-+#ifdef FEAT_EVAL
-+    /* Do garbage collection when garbagecollect() was called previously and
-+     * we are now at the toplevel. */
-+    if (may_garbage_collect && want_garbage_collect)
-+	garbage_collect();
-+#endif
-+
-     /*
-      * If a character was put back with vungetc, it was already processed.
-      * Return it directly.
-@@ -1511,13 +1521,13 @@
- 	c = old_char;
- 	old_char = -1;
- 	mod_mask = old_mod_mask;
--	return c;
-     }
--
--    mod_mask = 0x0;
--    last_recorded_len = 0;
--    for (;;)			/* this is done twice if there are modifiers */
-+    else
-     {
-+      mod_mask = 0x0;
-+      last_recorded_len = 0;
-+      for (;;)			/* this is done twice if there are modifiers */
-+      {
- 	if (mod_mask)		/* no mapping after modifier has been read */
- 	{
- 	    ++no_mapping;
-@@ -1695,8 +1705,20 @@
- 	}
- #endif
- 
--	return c;
-+	break;
-+      }
-     }
-+
-+#ifdef FEAT_EVAL
-+    /*
-+     * In the main loop "may_garbage_collect" can be set to do garbage
-+     * collection in the first next vgetc().  It's disabled after that to
-+     * avoid internally used Lists and Dicts to be freed.
-+     */
-+    may_garbage_collect = FALSE;
-+#endif
-+
-+    return c;
- }
- 
- /*
-@@ -1940,10 +1962,13 @@
- 			c = Ctrl_C;
- 		    flush_buffers(TRUE);	/* flush all typeahead */
- 
--		    /* Also record this character, it might be needed to
--		     * get out of Insert mode. */
--		    *typebuf.tb_buf = c;
--		    gotchars(typebuf.tb_buf, 1);
-+		    if (advance)
-+		    {
-+			/* Also record this character, it might be needed to
-+			 * get out of Insert mode. */
-+			*typebuf.tb_buf = c;
-+			gotchars(typebuf.tb_buf, 1);
-+		    }
- 		    cmd_silent = FALSE;
- 
- 		    break;
-@@ -2247,9 +2272,8 @@
- 					gotchars(typebuf.tb_buf
- 							 + typebuf.tb_off, 1);
- 				    }
--				    KeyNoremap = (typebuf.tb_noremap[
--						   typebuf.tb_off]
--						       & (RM_NONE|RM_SCRIPT));
-+				    KeyNoremap = typebuf.tb_noremap[
-+							      typebuf.tb_off];
- 				    del_typebuf(1, 0);
- 				}
- 				break;	    /* got character, break for loop */
-@@ -4173,7 +4197,8 @@
- 
-     if (typebuf.tb_no_abbr_cnt)	/* abbrev. are not recursive */
- 	return FALSE;
--    if (KeyNoremap)		/* no remapping implies no abbreviation */
-+    if ((KeyNoremap & (RM_NONE|RM_SCRIPT)) != 0)
-+	/* no remapping implies no abbreviation */
- 	return FALSE;
- 
-     /*
-diff -Naur vim70.orig/src/globals.h vim70/src/globals.h
---- vim70.orig/src/globals.h	2006-04-30 06:16:23.000000000 -0700
-+++ vim70/src/globals.h	2007-02-15 21:22:27.000000000 -0800
-@@ -166,6 +166,7 @@
- EXTERN int	emsg_off INIT(= 0);	    /* don't display errors for now,
- 					       unless 'debug' is set. */
- EXTERN int	info_message INIT(= FALSE); /* printing informative message */
-+EXTERN int      msg_hist_off INIT(= FALSE); /* don't add messages to history */
- #ifdef FEAT_EVAL
- EXTERN int	emsg_skip INIT(= 0);	    /* don't display errors for
- 					       expression that is skipped */
-@@ -300,9 +301,16 @@
- #endif
- 
- #ifdef FEAT_EVAL
--EXTERN scid_T	current_SID INIT(= 0);	    /* ID of script being sourced or
--					       was sourced to define the
--					       current function. */
-+/* Garbage collection can only take place when we are sure there are no Lists
-+ * or Dictionaries being used internally.  This is flagged with
-+ * "may_garbage_collect" when we are at the toplevel.
-+ * "want_garbage_collect" is set by the garbagecollect() function, which means
-+ * we do garbage collection before waiting for a char at the toplevel. */
-+EXTERN int	may_garbage_collect INIT(= FALSE);
-+EXTERN int	want_garbage_collect INIT(= FALSE);
-+
-+/* ID of script being sourced or was sourced to define the current function. */
-+EXTERN scid_T	current_SID INIT(= 0);
- #endif
- 
- #if defined(FEAT_EVAL) || defined(FEAT_SYN_HL)
-@@ -547,6 +555,10 @@
- EXTERN buf_T	*lastbuf INIT(= NULL);	/* last buffer */
- EXTERN buf_T	*curbuf INIT(= NULL);	/* currently active buffer */
- 
-+/* Flag that is set when switching off 'swapfile'.  It means that all blocks
-+ * are to be loaded into memory.  Shouldn't be global... */
-+EXTERN int	mf_dont_release INIT(= FALSE);	/* don't release blocks */
-+
- /*
-  * List of files being edited (global argument list).  curwin->w_alist points
-  * to this when the window is using the global argument list.
-@@ -1441,7 +1453,7 @@
- EXTERN char_u e_readonly[]	INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
- #ifdef FEAT_EVAL
- EXTERN char_u e_readonlyvar[]	INIT(= N_("E46: Cannot change read-only variable \"%s\""));
--EXTERN char_u e_readonlysbx[]	INIT(= N_("E46: Cannot set variable in the sandbox: \"%s\""));
-+EXTERN char_u e_readonlysbx[]	INIT(= N_("E794: Cannot set variable in the sandbox: \"%s\""));
- #endif
- #ifdef FEAT_QUICKFIX
- EXTERN char_u e_readerrf[]	INIT(= N_("E47: Error while reading errorfile"));
-diff -Naur vim70.orig/src/gui.c vim70/src/gui.c
---- vim70.orig/src/gui.c	2006-05-03 04:00:59.000000000 -0700
-+++ vim70/src/gui.c	2007-02-15 21:22:26.000000000 -0800
-@@ -187,9 +187,10 @@
- #endif
- 
- #ifdef FEAT_AUTOCMD
--    /* If the GUI started successfully, trigger the GUIEnter event */
--    if (gui.in_use)
--	apply_autocmds(EVENT_GUIENTER, NULL, NULL, FALSE, curbuf);
-+    /* If the GUI started successfully, trigger the GUIEnter event, otherwise
-+     * the GUIFailed event. */
-+    apply_autocmds(gui.in_use ? EVENT_GUIENTER : EVENT_GUIFAILED,
-+						   NULL, NULL, FALSE, curbuf);
- #endif
- 
-     --recursive;
-@@ -636,6 +637,7 @@
- 
- #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_MSWIN) \
- 	|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) || defined(PROTO)
-+# define NEED_GUI_UPDATE_SCREEN 1
- /*
-  * Called when the GUI shell is closed by the user.  If there are no changed
-  * files Vim exits, otherwise there will be a dialog to ask the user what to
-@@ -664,8 +666,7 @@
- 
-     exiting = FALSE;
-     cmdmod = save_cmdmod;
--    setcursor();		/* position cursor */
--    out_flush();
-+    gui_update_screen();	/* redraw, window may show changed buffer */
- }
- #endif
- 
-@@ -2872,6 +2873,9 @@
-      */
-     if ((State == NORMAL || State == NORMAL_BUSY || (State & INSERT))
- 	    && Y_2_ROW(y) >= topframe->fr_height
-+# ifdef FEAT_WINDOWS
-+						+ firstwin->w_winrow
-+# endif
- 	    && button != MOUSE_DRAG
- # ifdef FEAT_MOUSESHAPE
- 	    && !drag_status_line
-@@ -3733,6 +3737,12 @@
-     if (dont_scroll || input_available())
- 	return;
- #endif
-+#ifdef FEAT_INS_EXPAND
-+    /* Disallow scrolling the current window when the completion popup menu is
-+     * visible. */
-+    if ((sb->wp == NULL || sb->wp == curwin) && pum_visible())
-+	return;
-+#endif
- 
- #ifdef FEAT_RIGHTLEFT
-     if (sb->wp == NULL && curwin->w_p_rl)
-@@ -4207,6 +4217,12 @@
- 	updateWindow(wp);   /* update window, status line, and cmdline */
-     }
- 
-+#ifdef FEAT_INS_EXPAND
-+    /* May need to redraw the popup menu. */
-+    if (pum_visible())
-+	pum_redraw();
-+#endif
-+
-     return (wp == curwin && !equalpos(curwin->w_cursor, old_cursor));
- }
- 
-@@ -4515,7 +4531,7 @@
-     int		y;
- {
-     win_T	*wp;
--    char_u	st[6];
-+    char_u	st[8];
- 
-     /* Ignore this while still starting up. */
-     if (!gui.in_use || gui.starting)
-@@ -4603,11 +4619,11 @@
-     /* Don't move the mouse when it's left or right of the Vim window */
-     if (x < 0 || x > Columns * gui.char_width)
- 	return;
-+    if (y >= 0
- # ifdef FEAT_WINDOWS
--    if (Y_2_ROW(y) >= tabline_height())
--# else
--    if (y >= 0)
-+	    && Y_2_ROW(y) >= tabline_height()
- # endif
-+       )
- 	wp = xy2win(x, y);
-     if (wp != curwin && wp != NULL)	/* If in other than current window */
-     {
-@@ -4807,6 +4823,7 @@
- #endif
- 
- #if defined(FIND_REPLACE_DIALOG) || defined(FEAT_SUN_WORKSHOP) \
-+	|| defined(NEED_GUI_UPDATE_SCREEN) \
- 	|| defined(PROTO)
- /*
-  * Update the current window and the screen.
-diff -Naur vim70.orig/src/gui_at_fs.c vim70/src/gui_at_fs.c
---- vim70.orig/src/gui_at_fs.c	2005-07-09 04:30:17.000000000 -0700
-+++ vim70/src/gui_at_fs.c	2007-02-15 21:22:24.000000000 -0800
-@@ -1861,27 +1861,27 @@
-     XtPointer	pnew;
- {
-     SFDir	*dir;
--    int		nw;
-+    int		nw = (int)(long)pnew;
- 
-     dir = &(SFdirs[SFdirPtr + (int)(long)n]);
- 
- #ifdef FEAT_GUI_NEXTAW
--    if ((int)(long)pnew < 0)
-+    if (nw < 0)
-     {
--	if ((int)(long)pnew > -SFvScrollHeight)
--	    (int)(long)pnew = -1;
-+	if (nw > -SFvScrollHeight)
-+	    nw = -1;
- 	else
--	    (int)(long)pnew = -SFlistSize;
-+	    nw = -SFlistSize;
-     }
--    else if ((int)(long)pnew > 0)
-+    else if (nw > 0)
-     {
--	if ((int)(long)pnew < SFvScrollHeight)
--	    (int)(long)pnew = 1;
-+	if (nw < SFvScrollHeight)
-+	    nw = 1;
- 	else
--	    (int)(long)pnew = SFlistSize;
-+	    nw = SFlistSize;
-     }
- #endif
--    nw = dir->vOrigin + (int)(long)pnew;
-+    nw += dir->vOrigin;
- 
-     if (nw > dir->nEntries - SFlistSize)
- 	nw = dir->nEntries - SFlistSize;
-@@ -1941,27 +1941,27 @@
-     XtPointer	pnew;
- {
-     SFDir	*dir;
--    int		nw;
-+    int		nw = (int)(long)pnew;
- 
-     dir = &(SFdirs[SFdirPtr + (int)(long)n]);
- 
- #ifdef FEAT_GUI_NEXTAW
--    if ((int)(long)pnew < 0)
-+    if (nw < 0)
-     {
--	if ((int)(long)pnew > -SFhScrollWidth)
--	    (int)(long)pnew = -1;
-+	if (nw > -SFhScrollWidth)
-+	    nw = -1;
- 	else
--	    (int)(long)pnew = -SFcharsPerEntry;
-+	    nw = -SFcharsPerEntry;
-     }
--    else if ((int)(long)pnew > 0)
-+    else if (nw > 0)
-     {
--	if ((int)(long)pnew < SFhScrollWidth)
--	    (int)(long)pnew = 1;
-+	if (nw < SFhScrollWidth)
-+	    nw = 1;
- 	else
--	    (int)(long)pnew = SFcharsPerEntry;
-+	    nw = SFcharsPerEntry;
-     }
- #endif
--    nw = dir->hOrigin + (int)(long)pnew;
-+    nw += dir->hOrigin;
- 
-     if (nw > dir->nChars - SFcharsPerEntry)
- 	nw = dir->nChars - SFcharsPerEntry;
-@@ -2038,26 +2038,26 @@
-     XtPointer	client_data;
-     XtPointer	pnew;
- {
--    int		nw;
-+    int		nw = (int)(long)pnew;
-     float	f;
- 
- #ifdef FEAT_GUI_NEXTAW
--    if ((int)(long)pnew < 0)
-+    if (nw < 0)
-     {
--	if ((int)(long)pnew > -SFpathScrollWidth)
--	    (int)(long)pnew = -1;
-+	if (nw > -SFpathScrollWidth)
-+	    nw = -1;
- 	else
--	    (int)(long)pnew = -3;
-+	    nw = -3;
-     }
--    else if ((int)(long)pnew > 0)
-+    else if (nw > 0)
-     {
--	if ((int)(long)pnew < SFpathScrollWidth)
--	    (int)(long)pnew = 1;
-+	if (nw < SFpathScrollWidth)
-+	    nw = 1;
- 	else
--	    (int)(long)pnew = 3;
-+	    nw = 3;
-     }
- #endif
--    nw = SFdirPtr + (int)(long)pnew;
-+    nw += SFdirPtr;
- 
-     if (nw > SFdirEnd - 3)
- 	nw = SFdirEnd - 3;
-diff -Naur vim70.orig/src/gui_beval.c vim70/src/gui_beval.c
---- vim70.orig/src/gui_beval.c	2006-05-04 12:29:51.000000000 -0700
-+++ vim70/src/gui_beval.c	2007-02-15 21:22:25.000000000 -0800
-@@ -926,7 +926,7 @@
- #  define IS_NONPRINTABLE(c) (((c) < 0x20 && (c) != TAB && (c) != NL) \
- 			      || (c) == DEL)
-     static void
--set_printable_label_text(GtkLabel *label, char_u *msg)
-+set_printable_label_text(GtkLabel *label, char_u *text)
- {
-     char_u	    *convbuf = NULL;
-     char_u	    *buf;
-@@ -940,14 +940,14 @@
-     /* Convert to UTF-8 if it isn't already */
-     if (output_conv.vc_type != CONV_NONE)
-     {
--	convbuf = string_convert(&output_conv, msg, NULL);
-+	convbuf = string_convert(&output_conv, text, NULL);
- 	if (convbuf != NULL)
--	    msg = convbuf;
-+	    text = convbuf;
-     }
- 
-     /* First let's see how much we need to allocate */
-     len = 0;
--    for (p = msg; *p != NUL; p += charlen)
-+    for (p = text; *p != NUL; p += charlen)
-     {
- 	if ((*p & 0x80) == 0)	/* be quick for ASCII */
- 	{
-@@ -992,7 +992,7 @@
- 				     (unsigned long)pixel, &color);
- 
- 	pdest = buf;
--	p = msg;
-+	p = text;
- 	while (*p != NUL)
- 	{
- 	    /* Be quick for ASCII */
-diff -Naur vim70.orig/src/gui_gtk.c vim70/src/gui_gtk.c
---- vim70.orig/src/gui_gtk.c	2006-05-05 04:52:52.000000000 -0700
-+++ vim70/src/gui_gtk.c	2007-02-15 21:22:26.000000000 -0800
-@@ -957,15 +957,15 @@
- get_menu_position(vimmenu_T *menu)
- {
-     vimmenu_T	*node;
--    int		index = 0;
-+    int		idx = 0;
- 
-     for (node = menu->parent->children; node != menu; node = node->next)
-     {
- 	g_return_val_if_fail(node != NULL, -1);
--	++index;
-+	++idx;
-     }
- 
--    return index;
-+    return idx;
- }
- #endif /* FEAT_TOOLBAR && HAVE_GTK2 */
- 
-@@ -1275,18 +1275,13 @@
-     title = CONVERT_TO_UTF8(title);
- # endif
- 
--    /* Concatenate "initdir" and "dflt". */
-+    /* GTK has a bug, it only works with an absolute path. */
-     if (initdir == NULL || *initdir == NUL)
- 	mch_dirname(dirbuf, MAXPATHL);
--    else if (STRLEN(initdir) + 2 < MAXPATHL)
--	STRCPY(dirbuf, initdir);
--    else
-+    else if (vim_FullName(initdir, dirbuf, MAXPATHL - 2, FALSE) == FAIL)
- 	dirbuf[0] = NUL;
-     /* Always need a trailing slash for a directory. */
-     add_pathsep(dirbuf);
--    if (dflt != NULL && *dflt != NUL
--			      && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL)
--	STRCAT(dirbuf, dflt);
- 
-     /* If our pointer is currently hidden, then we should show it. */
-     gui_mch_mousehide(FALSE);
-@@ -1298,8 +1293,8 @@
- 	    GTK_WINDOW(gui.mainwin),
- 	    saving ? GTK_FILE_CHOOSER_ACTION_SAVE
- 					   : GTK_FILE_CHOOSER_ACTION_OPEN,
--	    saving ? GTK_STOCK_SAVE : GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- 	    GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-+	    saving ? GTK_STOCK_SAVE : GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- 	    NULL);
-     gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(fc),
- 						       (const gchar *)dirbuf);
-@@ -1341,6 +1336,11 @@
-     else
- 	gtk_window_set_title(GTK_WINDOW(gui.filedlg), (const gchar *)title);
- 
-+    /* Concatenate "initdir" and "dflt". */
-+    if (dflt != NULL && *dflt != NUL
-+			      && STRLEN(dirbuf) + 2 + STRLEN(dflt) < MAXPATHL)
-+	STRCAT(dirbuf, dflt);
-+
-     gtk_file_selection_set_filename(GTK_FILE_SELECTION(gui.filedlg),
- 						      (const gchar *)dirbuf);
- # ifndef HAVE_GTK2
-@@ -2127,7 +2127,7 @@
-     char    **ync;  /* "yes no cancel" */
-     char    **buttons;
-     int	    n_buttons = 0;
--    int	    index;
-+    int	    idx;
- 
-     button_string = vim_strsave(button_string); /* must be writable */
-     if (button_string == NULL)
-@@ -2161,12 +2161,12 @@
-      * Well, apparently somebody changed his mind: with GTK 2.2.4 it works the
-      * other way around...
-      */
--    for (index = 1; index <= n_buttons; ++index)
-+    for (idx = 1; idx <= n_buttons; ++idx)
-     {
- 	char	*label;
- 	char_u	*label8;
- 
--	label = buttons[index - 1];
-+	label = buttons[idx - 1];
- 	/*
- 	 * Perform some guesswork to find appropriate stock items for the
- 	 * buttons.  We have to compare with a sample of the translated
-@@ -2188,7 +2188,7 @@
- 	    else if (button_equal(label, "Cancel")) label = GTK_STOCK_CANCEL;
- 	}
- 	label8 = CONVERT_TO_UTF8((char_u *)label);
--	gtk_dialog_add_button(dialog, (const gchar *)label8, index);
-+	gtk_dialog_add_button(dialog, (const gchar *)label8, idx);
- 	CONVERT_TO_UTF8_FREE(label8);
-     }
- 
-diff -Naur vim70.orig/src/gui_gtk_x11.c vim70/src/gui_gtk_x11.c
---- vim70.orig/src/gui_gtk_x11.c	2006-05-04 23:58:59.000000000 -0700
-+++ vim70/src/gui_gtk_x11.c	2007-02-15 21:22:25.000000000 -0800
-@@ -3233,12 +3233,12 @@
- on_select_tab(
- 	GtkNotebook	*notebook,
- 	GtkNotebookPage *page,
--	gint		index,
-+	gint		idx,
- 	gpointer	data)
- {
-     if (!ignore_tabline_evt)
-     {
--	if (send_tabline_event(index + 1) && gtk_main_level() > 0)
-+	if (send_tabline_event(idx + 1) && gtk_main_level() > 0)
- 	    gtk_main_quit();
-     }
- }
-@@ -5303,13 +5303,13 @@
- # ifdef HAVE_GTK2
-     if (font != NOFONT)
-     {
--	char	*name = pango_font_description_to_string(font);
-+	char	*pangoname = pango_font_description_to_string(font);
- 
--	if (name != NULL)
-+	if (pangoname != NULL)
- 	{
--	    char_u	*s = vim_strsave((char_u *)name);
-+	    char_u	*s = vim_strsave((char_u *)pangoname);
- 
--	    g_free(name);
-+	    g_free(pangoname);
- 	    return s;
- 	}
-     }
-@@ -6241,24 +6241,20 @@
- {
-     GdkGCValues values;
-     GdkGC *invert_gc;
--    GdkColor foreground;
--    GdkColor background;
- 
-     if (gui.drawarea->window == NULL)
- 	return;
- 
--    foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
--    background.pixel = gui.norm_pixel ^ gui.back_pixel;
--
--    values.foreground = foreground;
--    values.background = background;
-+    values.foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
-+    values.background.pixel = gui.norm_pixel ^ gui.back_pixel;
-     values.function = GDK_XOR;
-     invert_gc = gdk_gc_new_with_values(gui.drawarea->window,
- 				       &values,
- 				       GDK_GC_FOREGROUND |
- 				       GDK_GC_BACKGROUND |
- 				       GDK_GC_FUNCTION);
--    gdk_gc_set_exposures(invert_gc, gui.visibility != GDK_VISIBILITY_UNOBSCURED);
-+    gdk_gc_set_exposures(invert_gc, gui.visibility !=
-+						   GDK_VISIBILITY_UNOBSCURED);
-     gdk_draw_rectangle(gui.drawarea->window, invert_gc,
- 		       TRUE,
- 		       FILL_X(c), FILL_Y(r),
-diff -Naur vim70.orig/src/gui_xmebw.c vim70/src/gui_xmebw.c
---- vim70.orig/src/gui_xmebw.c	2006-04-30 08:32:32.000000000 -0700
-+++ vim70/src/gui_xmebw.c	2007-02-15 21:22:26.000000000 -0800
-@@ -47,13 +47,13 @@
- #include "gui_xmebwp.h"
- 
- /* Provide some missing wrappers, which are missed from the LessTif
-- * implementation.
-+ * implementation.  Also missing in Motif 1.2 and earlier.
-  *
-  * We neither use XmeGetPixmapData or _XmGetPixmapData, since with LessTif the
-  * pixmap will not appear in it's caches properly. We cache the interresting
-  * values in XmEnhancedButtonPart instead ourself.
-  */
--#ifdef LESSTIF_VERSION
-+#if defined(LESSTIF_VERSION) || (XmVersion <= 1002)
- # ifndef Lab_IsMenupane
- #  define Lab_IsMenupane(w) (Lab_MenuType(w) == (int)XmMENU_POPUP || \
- 		    Lab_MenuType(w) == (int)XmMENU_PULLDOWN)
-@@ -138,6 +138,19 @@
-     }
- };
- 
-+/* This is needed to work around a bug in Lesstif 2, leaving the extension
-+ * NULL somehow results in getting it set to an invalid pointer. */
-+XmPrimitiveClassExtRec xmEnhancedButtonPrimClassExtRec =
-+{
-+    /* next_extension      */ NULL,
-+    /* record_type         */ NULLQUARK,
-+    /* version             */ XmPrimitiveClassExtVersion,
-+    /* record_size         */ sizeof(XmPrimitiveClassExtRec),
-+    /* widget_baseline     */ XmInheritBaselineProc,
-+    /* widget_display_rect */ XmInheritDisplayRectProc,
-+    /* widget_margins      */ NULL
-+};
-+
- XmEnhancedButtonClassRec xmEnhancedButtonClassRec =
- {
-     {
-@@ -184,7 +197,7 @@
- 	/* arm and activate	 */ XmInheritArmAndActivate,
- 	/* synthetic resources	 */ NULL,
- 	/* number of syn res	 */ 0,
--	/* extension		 */ NULL,
-+	/* extension		 */ (XtPointer)&xmEnhancedButtonPrimClassExtRec,
-     },
- 
-     /* label_class fields */
-@@ -480,7 +493,7 @@
- 	    || (eb->core.height <= 2 * eb->primitive.highlight_thickness))
- 	return;
- 
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-     {
- 	XmDisplay	dpy;
- 
-@@ -641,7 +654,7 @@
-     GC		tmp_gc = NULL;
-     Boolean	replaceGC = False;
-     Boolean	deadjusted = False;
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-     XmDisplay	dpy = (XmDisplay)XmGetXmDisplay(XtDisplay(eb));
-     Boolean	etched_in = dpy->display.enable_etched_in_menu;
- #else
-@@ -726,7 +739,7 @@
- 	if ((((ShellWidget) XtParent(XtParent(eb)))->shell.popped_up)
- 		&& _XmGetInDragMode((Widget) eb))
- 	{
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
- 	    XmDisplay dpy = (XmDisplay) XmGetXmDisplay(XtDisplay(wid));
- 	    Boolean etched_in = dpy->display.enable_etched_in_menu;
- #else
-@@ -810,7 +823,7 @@
- 
-     if (Lab_IsMenupane(eb))
-     {
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
- 	XmDisplay dpy = (XmDisplay) XmGetXmDisplay(XtDisplay(wid));
- 	Boolean etched_in = dpy->display.enable_etched_in_menu;
- #else
-@@ -1150,7 +1163,7 @@
- Redisplay(Widget w, XEvent *event, Region region)
- {
-     XmEnhancedButtonWidget  eb = (XmEnhancedButtonWidget) w;
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-     XmDisplay		    dpy;
-     XtEnum		    default_button_emphasis;
- #endif
-@@ -1162,7 +1175,7 @@
-     if (!XtIsRealized((Widget)eb))
- 	return;
- 
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
-     dpy = (XmDisplay)XmGetXmDisplay(XtDisplay(eb));
-     default_button_emphasis = dpy->display.default_button_emphasis;
- #endif
-@@ -1241,7 +1254,7 @@
-     {
- 	int adjust = 0;
- 
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
- 	/*
- 	 *  NOTE: PushButton has two types of shadows: primitive-shadow and
- 	 *  default-button-shadow.  If pushbutton is in a menu only primitive
-@@ -1289,7 +1302,7 @@
- 			  adjust, adjust, rectwidth, rectheight, borderwidth);
- 	    }
- 
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
- 	    switch (default_button_emphasis)
- 	    {
- 		case XmINTERNAL_HIGHLIGHT:
-@@ -1365,7 +1378,7 @@
- 		    default_button_shadow_thickness =
- 			       eb->pushbutton.default_button_shadow_thickness;
- 
--#ifndef LESSTIF_VERSION
-+#if !defined(LESSTIF_VERSION) && (XmVersion > 1002)
- 		/*
- 		 * Compute location of bounding box to contain the
- 		 * defaultButtonShadow.
-diff -Naur vim70.orig/src/hardcopy.c vim70/src/hardcopy.c
---- vim70.orig/src/hardcopy.c	2006-05-04 03:09:58.000000000 -0700
-+++ vim70/src/hardcopy.c	2007-02-15 21:22:25.000000000 -0800
-@@ -1794,29 +1794,27 @@
-     static int
- prt_resfile_next_line()
- {
--    int     index;
-+    int     idx;
- 
-     /* Move to start of next line and then find end of line */
--    index = prt_resfile.line_end + 1;
--    while (index < prt_resfile.len)
-+    idx = prt_resfile.line_end + 1;
-+    while (idx < prt_resfile.len)
-     {
--	if (prt_resfile.buffer[index] != PSLF && prt_resfile.buffer[index]
--									!= PSCR)
-+	if (prt_resfile.buffer[idx] != PSLF && prt_resfile.buffer[idx] != PSCR)
- 	    break;
--	index++;
-+	idx++;
-     }
--    prt_resfile.line_start = index;
-+    prt_resfile.line_start = idx;
- 
--    while (index < prt_resfile.len)
-+    while (idx < prt_resfile.len)
-     {
--	if (prt_resfile.buffer[index] == PSLF || prt_resfile.buffer[index]
--									== PSCR)
-+	if (prt_resfile.buffer[idx] == PSLF || prt_resfile.buffer[idx] == PSCR)
- 	    break;
--	index++;
-+	idx++;
-     }
--    prt_resfile.line_end = index;
-+    prt_resfile.line_end = idx;
- 
--    return (index < prt_resfile.len);
-+    return (idx < prt_resfile.len);
- }
- 
-     static int
-@@ -1837,14 +1835,14 @@
- prt_resfile_skip_nonws(offset)
-     int     offset;
- {
--    int     index;
-+    int     idx;
- 
--    index = prt_resfile.line_start + offset;
--    while (index < prt_resfile.line_end)
-+    idx = prt_resfile.line_start + offset;
-+    while (idx < prt_resfile.line_end)
-     {
--	if (isspace(prt_resfile.buffer[index]))
--	    return index - prt_resfile.line_start;
--	index++;
-+	if (isspace(prt_resfile.buffer[idx]))
-+	    return idx - prt_resfile.line_start;
-+	idx++;
-     }
-     return -1;
- }
-@@ -1853,14 +1851,14 @@
- prt_resfile_skip_ws(offset)
-     int     offset;
- {
--    int     index;
-+    int     idx;
- 
--    index = prt_resfile.line_start + offset;
--    while (index < prt_resfile.line_end)
-+    idx = prt_resfile.line_start + offset;
-+    while (idx < prt_resfile.line_end)
-     {
--	if (!isspace(prt_resfile.buffer[index]))
--	    return index - prt_resfile.line_start;
--	index++;
-+	if (!isspace(prt_resfile.buffer[idx]))
-+	    return idx - prt_resfile.line_start;
-+	idx++;
-     }
-     return -1;
- }
-@@ -2478,7 +2476,7 @@
-     char_u	*p_encoding;
-     struct prt_ps_encoding_S *p_mbenc;
-     struct prt_ps_encoding_S *p_mbenc_first;
--    struct prt_ps_charset_S  *p_mbchar;
-+    struct prt_ps_charset_S  *p_mbchar = NULL;
- #endif
- 
- #if 0
-@@ -2516,7 +2514,6 @@
-     if (!(props & ENC_8BIT) && ((*p_pmcs != NUL) || !(props & ENC_UNICODE)))
-     {
- 	p_mbenc_first = NULL;
--	p_mbchar = NULL;
- 	for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++)
- 	    if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap],
- 								    &p_mbenc))
-diff -Naur vim70.orig/src/if_cscope.c vim70/src/if_cscope.c
---- vim70.orig/src/if_cscope.c	2006-04-18 01:54:15.000000000 -0700
-+++ vim70/src/if_cscope.c	2007-02-15 21:22:27.000000000 -0800
-@@ -627,10 +627,11 @@
- 	 * If the database is out of date, or there's some other problem,
- 	 * cscope will output error messages before the number-of-lines output.
- 	 * Display/discard any output that doesn't match what we want.
-+	 * Accept "\S*cscope: X lines", also matches "mlcscope".
- 	 */
- 	if ((stok = strtok(buf, (const char *)" ")) == NULL)
- 	    continue;
--	if (strcmp((const char *)stok, "cscope:"))
-+	if (strstr((const char *)stok, "cscope:") == NULL)
- 	    continue;
- 
- 	if ((stok = strtok(NULL, (const char *)" ")) == NULL)
-@@ -989,8 +990,7 @@
- {
-     int i;
-     char *cmd;
--    char **matches, **contexts;
--    int nummatches[CSCOPE_MAX_CONNECTIONS], totmatches, matched;
-+    int nummatches[CSCOPE_MAX_CONNECTIONS], totmatches;
- #ifdef FEAT_QUICKFIX
-     char cmdletter;
-     char *qfpos;
-@@ -1009,7 +1009,7 @@
-     totmatches = 0;
-     for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
-     {
--	if (csinfo[i].fname == NULL)
-+	if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL)
- 	    continue;
- 
- 	/* send cmd to cscope */
-@@ -1101,38 +1101,44 @@
-     if (qfpos != NULL && *qfpos != '0' && totmatches > 0)
-     {
- 	/* fill error list */
--	FILE *f;
--	char_u *tmp = vim_tempname('c');
-+	FILE	    *f;
-+	char_u	    *tmp = vim_tempname('c');
- 	qf_info_T   *qi = NULL;
- 	win_T	    *wp = NULL;
- 
- 	f = mch_fopen((char *)tmp, "w");
--	cs_file_results(f, nummatches);
--	fclose(f);
--	if (use_ll)	    /* Use location list */
--	    wp = curwin;
--	/* '-' starts a new error list */
--	if (qf_init(wp, tmp, (char_u *)"%f%*\\t%l%*\\t%m", *qfpos == '-') > 0)
-+	if (f == NULL)
-+	    EMSG2(_(e_notopen), tmp);
-+	else
- 	{
--# ifdef FEAT_WINDOWS
--	    if (postponed_split != 0)
-+	    cs_file_results(f, nummatches);
-+	    fclose(f);
-+	    if (use_ll)	    /* Use location list */
-+		wp = curwin;
-+	    /* '-' starts a new error list */
-+	    if (qf_init(wp, tmp, (char_u *)"%f%*\\t%l%*\\t%m",
-+							   *qfpos == '-') > 0)
- 	    {
--		win_split(postponed_split > 0 ? postponed_split : 0,
-+# ifdef FEAT_WINDOWS
-+		if (postponed_split != 0)
-+		{
-+		    win_split(postponed_split > 0 ? postponed_split : 0,
- 						       postponed_split_flags);
- #  ifdef FEAT_SCROLLBIND
--		curwin->w_p_scb = FALSE;
-+		    curwin->w_p_scb = FALSE;
- #  endif
--		postponed_split = 0;
--	    }
-+		    postponed_split = 0;
-+		}
- # endif
--	    if (use_ll)
--		/*
--		 * In the location list window, use the displayed location
--		 * list. Otherwise, use the location list for the window.
--		 */
--		qi = (bt_quickfix(wp->w_buffer) && wp->w_llist_ref != NULL) ?
--				    wp->w_llist_ref : wp->w_llist;
--	    qf_jump(qi, 0, 0, forceit);
-+		if (use_ll)
-+		    /*
-+		     * In the location list window, use the displayed location
-+		     * list. Otherwise, use the location list for the window.
-+		     */
-+		    qi = (bt_quickfix(wp->w_buffer) && wp->w_llist_ref != NULL)
-+			?  wp->w_llist_ref : wp->w_llist;
-+		qf_jump(qi, 0, 0, forceit);
-+	    }
- 	}
- 	mch_remove(tmp);
- 	vim_free(tmp);
-@@ -1141,6 +1147,9 @@
-     else
- #endif /* FEAT_QUICKFIX */
-     {
-+	char **matches = NULL, **contexts = NULL;
-+	int matched = 0;
-+
- 	/* read output */
- 	cs_fill_results((char *)pat, totmatches, nummatches, &matches,
- 							 &contexts, &matched);
-@@ -1721,7 +1730,7 @@
- 	       continue;
- 
- 	   context = (char *)alloc((unsigned)strlen(cntx)+5);
--	   if (context==NULL)
-+	   if (context == NULL)
- 	       continue;
- 
- 	   if (strcmp(cntx, "<global>")==0)
-@@ -1729,7 +1738,7 @@
- 	   else
- 	       sprintf(context, "<<%s>>", cntx);
- 
--	   if (search==NULL)
-+	   if (search == NULL)
- 	       fprintf(f, "%s\t%s\t%s\n", fullname, slno, context);
- 	   else
- 	       fprintf(f, "%s\t%s\t%s %s\n", fullname, slno, context, search);
-diff -Naur vim70.orig/src/if_perl.xs vim70/src/if_perl.xs
---- vim70.orig/src/if_perl.xs	2006-03-06 10:57:16.000000000 -0800
-+++ vim70/src/if_perl.xs	2007-02-15 21:22:24.000000000 -0800
-@@ -155,8 +155,8 @@
- static int (*perl_run)(PerlInterpreter*);
- static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**);
- static void* (*Perl_get_context)(void);
--static void (*Perl_croak)(pTHX_ const char*, ...) __attribute__((noreturn));
--static void (*Perl_croak_nocontext)(const char*, ...) __attribute__((noreturn));
-+static void (*Perl_croak)(pTHX_ const char*, ...);
-+static void (*Perl_croak_nocontext)(const char*, ...);
- static I32 (*Perl_dowantarray)(pTHX);
- static void (*Perl_free_tmps)(pTHX);
- static HV* (*Perl_gv_stashpv)(pTHX_ const char*, I32);
-@@ -1056,7 +1056,6 @@
-     int i;
-     long lnum;
-     char *line;
--    buf_T *savebuf;
-     PPCODE:
-     if (buf_valid(vimbuf))
-     {
-@@ -1069,14 +1068,20 @@
- 	    line = SvPV(ST(i),PL_na);
- 	    if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL)
- 	    {
--		savebuf = curbuf;
--		curbuf = vimbuf;
-+		aco_save_T	aco;
-+
-+		/* set curwin/curbuf for "vimbuf" and save some things */
-+		aucmd_prepbuf(&aco, vimbuf);
-+
- 		if (u_savesub(lnum) == OK)
- 		{
- 		    ml_replace(lnum, (char_u *)line, TRUE);
- 		    changed_bytes(lnum, 0);
- 		}
--		curbuf = savebuf;
-+
-+		/* restore curwin/curbuf and a few other things */
-+		aucmd_restbuf(&aco);
-+		/* Careful: autocommands may have made "vimbuf" invalid! */
- 	    }
- 	}
-     }
-@@ -1087,7 +1092,6 @@
- 
-     PREINIT:
-     long i, lnum = 0, count = 0;
--    buf_T *savebuf;
-     PPCODE:
-     if (buf_valid(vimbuf))
-     {
-@@ -1114,16 +1118,23 @@
- 	    {
- 		if (lnum > 0 && lnum <= vimbuf->b_ml.ml_line_count)
- 		{
--		    savebuf = curbuf;
--		    curbuf = vimbuf;
-+		    aco_save_T	aco;
-+
-+		    /* set curwin/curbuf for "vimbuf" and save some things */
-+		    aucmd_prepbuf(&aco, vimbuf);
-+
- 		    if (u_savedel(lnum, 1) == OK)
- 		    {
- 			ml_delete(lnum, 0);
- 			deleted_lines_mark(lnum, 1L);
--			if (savebuf == curbuf)
-+			if (aco.save_buf == curbuf)
- 			    check_cursor();
- 		    }
--		    curbuf = savebuf;
-+
-+		    /* restore curwin/curbuf and a few other things */
-+		    aucmd_restbuf(&aco);
-+		    /* Careful: autocommands may have made "vimbuf" invalid! */
-+
- 		    update_curbuf(VALID);
- 		}
- 	    }
-@@ -1138,7 +1149,6 @@
-     int		i;
-     long	lnum;
-     char	*line;
--    buf_T	*savebuf;
-     PPCODE:
-     if (buf_valid(vimbuf))
-     {
-@@ -1151,14 +1161,21 @@
- 	    line = SvPV(ST(i),PL_na);
- 	    if (lnum >= 0 && lnum <= vimbuf->b_ml.ml_line_count && line != NULL)
- 	    {
--		savebuf = curbuf;
--		curbuf = vimbuf;
-+		aco_save_T	aco;
-+
-+		/* set curwin/curbuf for "vimbuf" and save some things */
-+		aucmd_prepbuf(&aco, vimbuf);
-+
- 		if (u_inssub(lnum + 1) == OK)
- 		{
- 		    ml_append(lnum, (char_u *)line, (colnr_T)0, FALSE);
- 		    appended_lines_mark(lnum, 1L);
- 		}
--		curbuf = savebuf;
-+
-+		/* restore curwin/curbuf and a few other things */
-+		aucmd_restbuf(&aco);
-+		/* Careful: autocommands may have made "vimbuf" invalid! */
-+
- 		update_curbuf(VALID);
- 	    }
- 	}
-diff -Naur vim70.orig/src/if_python.c vim70/src/if_python.c
---- vim70.orig/src/if_python.c	2006-04-30 08:31:36.000000000 -0700
-+++ vim70/src/if_python.c	2007-02-15 21:22:25.000000000 -0800
-@@ -1463,7 +1463,7 @@
-     if (this->buf && this->buf != INVALID_BUFFER_VALUE)
- 	this->buf->b_python_ref = NULL;
- 
--    PyMem_DEL(self);
-+    Py_DECREF(self);
- }
- 
-     static PyObject *
-@@ -1674,7 +1674,7 @@
-     bufr = (BufferObject *)BufferNew(buf);
-     if (bufr == NULL)
-     {
--	PyMem_DEL(self);
-+	Py_DECREF(self);
- 	return NULL;
-     }
-     Py_INCREF(bufr);
-@@ -1690,7 +1690,7 @@
- RangeDestructor(PyObject *self)
- {
-     Py_DECREF(((RangeObject *)(self))->buf);
--    PyMem_DEL(self);
-+    Py_DECREF(self);
- }
- 
-     static PyObject *
-@@ -1944,7 +1944,7 @@
-     if (this->win && this->win != INVALID_WINDOW_VALUE)
- 	this->win->w_python_ref = NULL;
- 
--    PyMem_DEL(self);
-+    Py_DECREF(self);
- }
- 
-     static int
-diff -Naur vim70.orig/src/if_ruby.c vim70/src/if_ruby.c
---- vim70.orig/src/if_ruby.c	2006-04-30 08:37:52.000000000 -0700
-+++ vim70/src/if_ruby.c	2007-02-15 21:22:24.000000000 -0800
-@@ -643,11 +643,14 @@
- 
- static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str)
- {
--    buf_T *savebuf = curbuf;
--    char *line = STR2CSTR(str);
-+    char	*line = STR2CSTR(str);
-+    aco_save_T	aco;
-+
-+    if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL)
-+    {
-+	/* set curwin/curbuf for "buf" and save some things */
-+	aucmd_prepbuf(&aco, buf);
- 
--    if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) {
--	curbuf = buf;
- 	if (u_savesub(n) == OK) {
- 	    ml_replace(n, (char_u *)line, TRUE);
- 	    changed();
-@@ -655,10 +658,15 @@
- 	    syn_changed(n); /* recompute syntax hl. for this line */
- #endif
- 	}
--	curbuf = savebuf;
-+
-+	/* restore curwin/curbuf and a few other things */
-+	aucmd_restbuf(&aco);
-+	/* Careful: autocommands may have made "buf" invalid! */
-+
- 	update_curbuf(NOT_VALID);
-     }
--    else {
-+    else
-+    {
- 	rb_raise(rb_eIndexError, "index %d out of buffer", n);
- 	return Qnil; /* For stop warning */
-     }
-@@ -676,12 +684,15 @@
- 
- static VALUE buffer_delete(VALUE self, VALUE num)
- {
--    buf_T *buf = get_buf(self);
--    buf_T *savebuf = curbuf;
--    long n = NUM2LONG(num);
-+    buf_T	*buf = get_buf(self);
-+    long	n = NUM2LONG(num);
-+    aco_save_T	aco;
-+
-+    if (n > 0 && n <= buf->b_ml.ml_line_count)
-+    {
-+	/* set curwin/curbuf for "buf" and save some things */
-+	aucmd_prepbuf(&aco, buf);
- 
--    if (n > 0 && n <= buf->b_ml.ml_line_count) {
--	curbuf = buf;
- 	if (u_savedel(n, 1) == OK) {
- 	    ml_delete(n, 0);
- 
-@@ -691,10 +702,15 @@
- 
- 	    changed();
- 	}
--	curbuf = savebuf;
-+
-+	/* restore curwin/curbuf and a few other things */
-+	aucmd_restbuf(&aco);
-+	/* Careful: autocommands may have made "buf" invalid! */
-+
- 	update_curbuf(NOT_VALID);
-     }
--    else {
-+    else
-+    {
- 	rb_raise(rb_eIndexError, "index %d out of buffer", n);
-     }
-     return Qnil;
-@@ -702,13 +718,16 @@
- 
- static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
- {
--    buf_T *buf = get_buf(self);
--    buf_T *savebuf = curbuf;
--    char *line = STR2CSTR(str);
--    long n = NUM2LONG(num);
-+    buf_T	*buf = get_buf(self);
-+    char	*line = STR2CSTR(str);
-+    long	n = NUM2LONG(num);
-+    aco_save_T	aco;
-+
-+    if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL)
-+    {
-+	/* set curwin/curbuf for "buf" and save some things */
-+	aucmd_prepbuf(&aco, buf);
- 
--    if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL) {
--	curbuf = buf;
- 	if (u_inssub(n + 1) == OK) {
- 	    ml_append(n, (char_u *) line, (colnr_T) 0, FALSE);
- 
-@@ -718,7 +737,11 @@
- 
- 	    changed();
- 	}
--	curbuf = savebuf;
-+
-+	/* restore curwin/curbuf and a few other things */
-+	aucmd_restbuf(&aco);
-+	/* Careful: autocommands may have made "buf" invalid! */
-+
- 	update_curbuf(NOT_VALID);
-     }
-     else {
-diff -Naur vim70.orig/src/macros.h vim70/src/macros.h
---- vim70.orig/src/macros.h	2006-03-01 04:01:10.000000000 -0800
-+++ vim70/src/macros.h	2007-02-15 21:22:25.000000000 -0800
-@@ -276,3 +276,9 @@
- # define MB_CHARLEN(p)		STRLEN(p)
- # define PTR2CHAR(p)		((int)*(p))
- #endif
-+
-+#ifdef FEAT_AUTOCHDIR
-+# define DO_AUTOCHDIR if (p_acd) do_autochdir();
-+#else
-+# define DO_AUTOCHDIR
-+#endif
-diff -Naur vim70.orig/src/main.c vim70/src/main.c
---- vim70.orig/src/main.c	2006-05-03 10:36:44.000000000 -0700
-+++ vim70/src/main.c	2007-02-15 21:22:26.000000000 -0800
-@@ -564,7 +564,11 @@
-      */
-     if (p_lpl)
-     {
-+# ifdef VMS	/* Somehow VMS doesn't handle the "**". */
-+	source_runtime((char_u *)"plugin/*.vim", TRUE);
-+# else
- 	source_runtime((char_u *)"plugin/**/*.vim", TRUE);
-+# endif
- 	TIME_MSG("loading plugins");
-     }
- #endif
-@@ -1126,6 +1130,16 @@
- 	 */
- 	update_curswant();
- 
-+#ifdef FEAT_EVAL
-+	/*
-+	 * May perform garbage collection when waiting for a character, but
-+	 * only at the very toplevel.  Otherwise we may be using a List or
-+	 * Dict internally somewhere.
-+	 * "may_garbage_collect" is reset in vgetc() which is invoked through
-+	 * do_exmode() and normal_cmd().
-+	 */
-+	may_garbage_collect = (!cmdwin && !noexmode);
-+#endif
- 	/*
- 	 * If we're invoked as ex, do a round of ex commands.
- 	 * Otherwise, get and execute a normal mode command.
-@@ -2281,7 +2295,7 @@
-     mparm_T	*parmp;
- {
- #ifdef FEAT_WINDOWS
--    int		rewind;
-+    int		dorewind;
-     int		done = 0;
- 
-     /*
-@@ -2338,10 +2352,10 @@
- 	++autocmd_no_leave;
- #endif
- #ifdef FEAT_WINDOWS
--	rewind = TRUE;
-+	dorewind = TRUE;
- 	while (done++ < 1000)
- 	{
--	    if (rewind)
-+	    if (dorewind)
- 	    {
- 		if (parmp->window_layout == WIN_TABS)
- 		    goto_tabpage(1);
-@@ -2360,7 +2374,7 @@
- 		    break;
- 		curwin = curwin->w_next;
- 	    }
--	    rewind = FALSE;
-+	    dorewind = FALSE;
- #endif
- 	    curbuf = curwin->w_buffer;
- 	    if (curbuf->b_ml.ml_mfp == NULL)
-@@ -2378,10 +2392,26 @@
- 		(void)open_buffer(FALSE, NULL); /* create memfile, read file */
- 
- #if defined(HAS_SWAP_EXISTS_ACTION)
--		check_swap_exists_action();
-+		if (swap_exists_action == SEA_QUIT)
-+		{
-+		    if (got_int || only_one_window())
-+		    {
-+			/* abort selected or quit and only one window */
-+			did_emsg = FALSE;   /* avoid hit-enter prompt */
-+			getout(1);
-+		    }
-+		    /* We can't close the window, it would disturb what
-+		     * happens next.  Clear the file name and set the arg
-+		     * index to -1 to delete it later. */
-+		    setfname(curbuf, NULL, NULL, FALSE);
-+		    curwin->w_arg_idx = -1;
-+		    swap_exists_action = SEA_NONE;
-+		}
-+		else
-+		    handle_swap_exists(NULL);
- #endif
- #ifdef FEAT_AUTOCMD
--		rewind = TRUE;		/* start again */
-+		dorewind = TRUE;		/* start again */
- #endif
- 	    }
- #ifdef FEAT_WINDOWS
-@@ -2418,6 +2448,8 @@
- {
-     int		arg_idx;		/* index in argument list */
-     int		i;
-+    int		advance = TRUE;
-+    buf_T	*old_curbuf;
- 
- # ifdef FEAT_AUTOCMD
-     /*
-@@ -2426,31 +2458,65 @@
-     ++autocmd_no_enter;
-     ++autocmd_no_leave;
- # endif
-+
-+    /* When w_arg_idx is -1 remove the window (see create_windows()). */
-+    if (curwin->w_arg_idx == -1)
-+    {
-+	win_close(curwin, TRUE);
-+	advance = FALSE;
-+    }
-+
-     arg_idx = 1;
-     for (i = 1; i < parmp->window_count; ++i)
-     {
--	if (parmp->window_layout == WIN_TABS)
-+	/* When w_arg_idx is -1 remove the window (see create_windows()). */
-+	if (curwin->w_arg_idx == -1)
- 	{
--	    if (curtab->tp_next == NULL)	/* just checking */
--		break;
--	    goto_tabpage(0);
-+	    ++arg_idx;
-+	    win_close(curwin, TRUE);
-+	    advance = FALSE;
-+	    continue;
- 	}
--	else
-+
-+	if (advance)
- 	{
--	    if (curwin->w_next == NULL)		/* just checking */
--		break;
--	    win_enter(curwin->w_next, FALSE);
-+	    if (parmp->window_layout == WIN_TABS)
-+	    {
-+		if (curtab->tp_next == NULL)	/* just checking */
-+		    break;
-+		goto_tabpage(0);
-+	    }
-+	    else
-+	    {
-+		if (curwin->w_next == NULL)	/* just checking */
-+		    break;
-+		win_enter(curwin->w_next, FALSE);
-+	    }
- 	}
-+	advance = TRUE;
- 
- 	/* Only open the file if there is no file in this window yet (that can
--	 * happen when .vimrc contains ":sall") */
-+	 * happen when .vimrc contains ":sall"). */
- 	if (curbuf == firstwin->w_buffer || curbuf->b_ffname == NULL)
- 	{
- 	    curwin->w_arg_idx = arg_idx;
--	    /* edit file from arg list, if there is one */
-+	    /* Edit file from arg list, if there is one.  When "Quit" selected
-+	     * at the ATTENTION prompt close the window. */
-+	    old_curbuf = curbuf;
- 	    (void)do_ecmd(0, arg_idx < GARGCOUNT
- 			  ? alist_name(&GARGLIST[arg_idx]) : NULL,
- 			  NULL, NULL, ECMD_LASTL, ECMD_HIDE);
-+	    if (curbuf == old_curbuf)
-+	    {
-+		if (got_int || only_one_window())
-+		{
-+		    /* abort selected or quit and only one window */
-+		    did_emsg = FALSE;   /* avoid hit-enter prompt */
-+		    getout(1);
-+		}
-+		win_close(curwin, TRUE);
-+		advance = FALSE;
-+	    }
- 	    if (arg_idx == GARGCOUNT - 1)
- 		arg_had_last = TRUE;
- 	    ++arg_idx;
-@@ -3208,10 +3274,15 @@
-      * Register for remote command execution with :serversend and --remote
-      * unless there was a -X or a --servername '' on the command line.
-      * Only register nongui-vim's with an explicit --servername argument.
-+     * When running as root --servername is also required.
-      */
-     if (X_DISPLAY != NULL && parmp->servername != NULL && (
- #  ifdef FEAT_GUI
--		gui.in_use ||
-+		(gui.in_use
-+#   ifdef UNIX
-+		 && getuid() != 0
-+#   endif
-+		) ||
- #  endif
- 		parmp->serverName_arg != NULL))
-     {
-diff -Naur vim70.orig/src/mbyte.c vim70/src/mbyte.c
---- vim70.orig/src/mbyte.c	2006-04-30 04:51:01.000000000 -0700
-+++ vim70/src/mbyte.c	2007-02-15 21:22:27.000000000 -0800
-@@ -311,7 +311,11 @@
- 
- #define IDX_MACROMAN	57
-     {"macroman",	ENC_8BIT + ENC_MACROMAN, 0},	/* Mac OS */
--#define IDX_COUNT	58
-+#define IDX_DECMCS	58
-+    {"dec-mcs",		ENC_8BIT,		0},	/* DEC MCS */
-+#define IDX_HPROMAN8	59
-+    {"hp-roman8",	ENC_8BIT,		0},	/* HP Roman8 */
-+#define IDX_COUNT	60
- };
- 
- /*
-@@ -359,6 +363,8 @@
-     {"932",		IDX_CP932},
-     {"949",		IDX_CP949},
-     {"936",		IDX_CP936},
-+    {"gbk",		IDX_CP936},
-+    {"gb18030",		IDX_CP936},	/* only 99% the same */
-     {"950",		IDX_CP950},
-     {"eucjp",		IDX_EUC_JP},
-     {"unix-jis",	IDX_EUC_JP},
-@@ -386,6 +392,7 @@
-     {"950",		IDX_BIG5},
- #endif
-     {"mac",		IDX_MACROMAN},
-+    {"mac-roman",	IDX_MACROMAN},
-     {NULL,		0}
- };
- 
-@@ -2287,8 +2294,14 @@
- 	    }
- 	    /* Check directly first, it's faster. */
- 	    for (j = 0; j < l; ++j)
-+	    {
- 		if (s1[i + j] != s2[i + j])
- 		    break;
-+		if (s1[i + j] == 0)
-+		    /* Both stings have the same bytes but are incomplete or
-+		     * have illegal bytes, accept them as equal. */
-+		    l = j;
-+	    }
- 	    if (j < l)
- 	    {
- 		/* If one of the two characters is incomplete return -1. */
-@@ -3507,6 +3520,11 @@
- 	add_to_input_buf(delkey, (int)sizeof(delkey));
- }
- 
-+/*
-+ * Move the cursor left by "num_move_back" characters.
-+ * Note that ins_left() checks im_is_preediting() to avoid breaking undo for
-+ * these K_LEFT keys.
-+ */
-     static void
- im_correct_cursor(int num_move_back)
- {
-@@ -3734,8 +3752,7 @@
-     }
-     else if (cursor_index == 0 && preedit_string[0] == '\0')
-     {
--	if (preedit_start_col == MAXCOL)
--	    xim_has_preediting = FALSE;
-+	xim_has_preediting = FALSE;
- 
- 	/* If at the start position (after typing backspace)
- 	 * preedit_start_col must be reset. */
-@@ -3850,13 +3867,13 @@
- 
-     if (preedit_string != NULL && attr_list != NULL)
-     {
--	int index;
-+	int idx;
- 
- 	/* Get the byte index as used by PangoAttrIterator */
--	for (index = 0; col > 0 && preedit_string[index] != '\0'; --col)
--	    index += utfc_ptr2len((char_u *)preedit_string + index);
-+	for (idx = 0; col > 0 && preedit_string[idx] != '\0'; --col)
-+	    idx += utfc_ptr2len((char_u *)preedit_string + idx);
- 
--	if (preedit_string[index] != '\0')
-+	if (preedit_string[idx] != '\0')
- 	{
- 	    PangoAttrIterator	*iter;
- 	    int			start, end;
-@@ -3869,7 +3886,7 @@
- 	    {
- 		pango_attr_iterator_range(iter, &start, &end);
- 
--		if (index >= start && index < end)
-+		if (idx >= start && idx < end)
- 		    char_attr |= translate_pango_attributes(iter);
- 	    }
- 	    while (pango_attr_iterator_next(iter));
-diff -Naur vim70.orig/src/memfile.c vim70/src/memfile.c
---- vim70.orig/src/memfile.c	2006-03-06 00:59:15.000000000 -0800
-+++ vim70/src/memfile.c	2007-02-15 21:22:27.000000000 -0800
-@@ -76,7 +76,6 @@
- #define MEMFILE_PAGE_SIZE 4096		/* default page size */
- 
- static long_u	total_mem_used = 0;	/* total memory used for memfiles */
--static int	dont_release = FALSE;	/* don't release blocks */
- 
- static void mf_ins_hash __ARGS((memfile_T *, bhdr_T *));
- static void mf_rem_hash __ARGS((memfile_T *, bhdr_T *));
-@@ -279,10 +278,10 @@
-     if (getlines)
-     {
- 	/* get all blocks in memory by accessing all lines (clumsy!) */
--	dont_release = TRUE;
-+	mf_dont_release = TRUE;
- 	for (lnum = 1; lnum <= buf->b_ml.ml_line_count; ++lnum)
- 	    (void)ml_get_buf(buf, lnum, FALSE);
--	dont_release = FALSE;
-+	mf_dont_release = FALSE;
- 	/* TODO: should check if all blocks are really in core */
-     }
- 
-@@ -517,7 +516,7 @@
- 	mf_ins_free(mfp, hp);	/* put *hp in the free list */
- }
- 
--#if defined(__MORPHOS__)
-+#if defined(__MORPHOS__) && defined(__libnix__)
- /* function is missing in MorphOS libnix version */
- extern unsigned long *__stdfiledes;
- 
-@@ -677,15 +676,19 @@
- #  else
- #   if defined(_DCC) || defined(__GNUC__) || defined(__MORPHOS__)
- 	{
--#    if defined(__GNUC__) && !defined(__MORPHOS__)
-+#    if defined(__GNUC__) && !defined(__MORPHOS__) && defined(__libnix__)
- 	    /* Have function (in libnix at least),
- 	     * but ain't got no prototype anywhere. */
- 	    extern unsigned long fdtofh(int filedescriptor);
- #    endif
-+#    if !defined(__libnix__)
-+	    fflush(NULL);
-+#    else
- 	    BPTR fh = (BPTR)fdtofh(mfp->mf_fd);
- 
- 	    if (fh != 0)
- 		Flush(fh);
-+#    endif
- 	}
- #   else /* assume Manx */
- 	    Flush(_devtab[mfp->mf_fd].fd);
-@@ -826,7 +829,7 @@
-     buf_T	*buf;
- 
-     /* don't release while in mf_close_file() */
--    if (dont_release)
-+    if (mf_dont_release)
- 	return NULL;
- 
-     /*
-@@ -1024,12 +1027,12 @@
-     size = page_size * hp->bh_page_count;
-     if (lseek(mfp->mf_fd, offset, SEEK_SET) != offset)
-     {
--	EMSG(_("E294: Seek error in swap file read"));
-+	PERROR(_("E294: Seek error in swap file read"));
- 	return FAIL;
-     }
-     if ((unsigned)vim_read(mfp->mf_fd, hp->bh_data, size) != size)
-     {
--	EMSG(_("E295: Read error in swap file"));
-+	PERROR(_("E295: Read error in swap file"));
- 	return FAIL;
-     }
-     return OK;
-@@ -1081,7 +1084,7 @@
- 	offset = (off_t)page_size * nr;
- 	if (lseek(mfp->mf_fd, offset, SEEK_SET) != offset)
- 	{
--	    EMSG(_("E296: Seek error in swap file write"));
-+	    PERROR(_("E296: Seek error in swap file write"));
- 	    return FAIL;
- 	}
- 	if (hp2 == NULL)	    /* freed block, fill with dummy data */
-diff -Naur vim70.orig/src/memline.c vim70/src/memline.c
---- vim70.orig/src/memline.c	2006-04-20 14:00:21.000000000 -0700
-+++ vim70/src/memline.c	2007-02-15 21:22:27.000000000 -0800
-@@ -215,7 +215,7 @@
- #define ML_FLUSH	0x02	    /* flush locked block */
- #define ML_SIMPLE(x)	(x & 0x10)  /* DEL, INS or FIND */
- 
--static void ml_upd_block0 __ARGS((buf_T *buf, int setfname));
-+static void ml_upd_block0 __ARGS((buf_T *buf, int set_fname));
- static void set_b0_fname __ARGS((ZERO_BL *, buf_T *buf));
- static void set_b0_dir_flag __ARGS((ZERO_BL *b0p, buf_T *buf));
- #ifdef FEAT_MBYTE
-@@ -679,9 +679,9 @@
-  * Update the timestamp or the B0_SAME_DIR flag of the .swp file.
-  */
-     static void
--ml_upd_block0(buf, setfname)
-+ml_upd_block0(buf, set_fname)
-     buf_T	*buf;
--    int		setfname;
-+    int		set_fname;
- {
-     memfile_T	*mfp;
-     bhdr_T	*hp;
-@@ -695,7 +695,7 @@
- 	EMSG(_("E304: ml_upd_block0(): Didn't get block 0??"));
-     else
-     {
--	if (setfname)
-+	if (set_fname)
- 	    set_b0_fname(b0p, buf);
- 	else
- 	    set_b0_dir_flag(b0p, buf);
-@@ -1325,7 +1325,11 @@
- 	    mf_put(mfp, hp, FALSE, FALSE);
- 	mf_close(mfp, FALSE);	    /* will also vim_free(mfp->mf_fname) */
-     }
--    vim_free(buf);
-+    if (buf != NULL)
-+    {
-+	vim_free(buf->b_ml.ml_stack);
-+	vim_free(buf);
-+    }
-     if (serious_error && called_from_main)
- 	ml_close(curbuf, TRUE);
- #ifdef FEAT_AUTOCMD
-@@ -1633,6 +1637,7 @@
-     int		    fd;
-     struct block0   b0;
-     time_t	    x = (time_t)0;
-+    char	    *p;
- #ifdef UNIX
-     char_u	    uname[B0_UNAME_SIZE];
- #endif
-@@ -1652,8 +1657,11 @@
- #endif
- 	    MSG_PUTS(_("             dated: "));
- 	x = st.st_mtime;		    /* Manx C can't do &st.st_mtime */
--	MSG_PUTS(ctime(&x));		    /* includes '\n' */
--
-+	p = ctime(&x);			    /* includes '\n' */
-+	if (p == NULL)
-+	    MSG_PUTS("(invalid)\n");
-+	else
-+	    MSG_PUTS(p);
-     }
- 
-     /*
-@@ -2040,13 +2048,21 @@
-     linenr_T	lnum;
-     int		will_change;		/* line will be changed */
- {
--    bhdr_T    *hp;
--    DATA_BL *dp;
--    char_u  *ptr;
-+    bhdr_T	*hp;
-+    DATA_BL	*dp;
-+    char_u	*ptr;
-+    static int	recursive = 0;
- 
-     if (lnum > buf->b_ml.ml_line_count)	/* invalid line number */
-     {
--	EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
-+	if (recursive == 0)
-+	{
-+	    /* Avoid giving this message for a recursive call, may happen when
-+	     * the GUI redraws part of the text. */
-+	    ++recursive;
-+	    EMSGN(_("E315: ml_get: invalid lnum: %ld"), lnum);
-+	    --recursive;
-+	}
- errorret:
- 	STRCPY(IObuff, "???");
- 	return IObuff;
-@@ -2060,8 +2076,10 @@
- /*
-  * See if it is the same line as requested last time.
-  * Otherwise may need to flush last used line.
-+ * Don't use the last used line when 'swapfile' is reset, need to load all
-+ * blocks.
-  */
--    if (buf->b_ml.ml_line_lnum != lnum)
-+    if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release)
-     {
- 	ml_flush_line(buf);
- 
-@@ -2072,7 +2090,14 @@
- 	 */
- 	if ((hp = ml_find_line(buf, lnum, ML_FIND)) == NULL)
- 	{
--	    EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
-+	    if (recursive == 0)
-+	    {
-+		/* Avoid giving this message for a recursive call, may happen
-+		 * when the GUI redraws part of the text. */
-+		++recursive;
-+		EMSGN(_("E316: ml_get: cannot find line %ld"), lnum);
-+		--recursive;
-+	    }
- 	    goto errorret;
- 	}
- 
-@@ -3186,13 +3211,16 @@
-      * If not, flush and release the locked block.
-      * Don't do this for ML_INSERT_SAME, because the stack need to be updated.
-      * Don't do this for ML_FLUSH, because we want to flush the locked block.
-+     * Don't do this when 'swapfile' is reset, we want to load all the blocks.
-      */
-     if (buf->b_ml.ml_locked)
-     {
--	if (ML_SIMPLE(action) && buf->b_ml.ml_locked_low <= lnum
--					  && buf->b_ml.ml_locked_high >= lnum)
-+	if (ML_SIMPLE(action)
-+		&& buf->b_ml.ml_locked_low <= lnum
-+		&& buf->b_ml.ml_locked_high >= lnum
-+		&& !mf_dont_release)
- 	{
--		/* remember to update pointer blocks and stack later */
-+	    /* remember to update pointer blocks and stack later */
- 	    if (action == ML_INSERT)
- 	    {
- 		++(buf->b_ml.ml_locked_lineadd);
-@@ -3652,6 +3680,7 @@
- {
-     struct stat st;
-     time_t	x, sx;
-+    char	*p;
- 
-     ++no_wait_return;
-     (void)EMSG(_("E325: ATTENTION"));
-@@ -3666,7 +3695,11 @@
-     {
- 	MSG_PUTS(_("             dated: "));
- 	x = st.st_mtime;    /* Manx C can't do &st.st_mtime */
--	MSG_PUTS(ctime(&x));
-+	p = ctime(&x);			    /* includes '\n' */
-+	if (p == NULL)
-+	    MSG_PUTS("(invalid)\n");
-+	else
-+	    MSG_PUTS(p);
- 	if (sx != 0 && x > sx)
- 	    MSG_PUTS(_("      NEWER than swap file!\n"));
-     }
-diff -Naur vim70.orig/src/menu.c vim70/src/menu.c
---- vim70.orig/src/menu.c	2006-05-03 10:30:48.000000000 -0700
-+++ vim70/src/menu.c	2007-02-15 21:22:27.000000000 -0800
-@@ -511,6 +511,14 @@
- 	 * name (without mnemonic and accelerator text). */
- 	next_name = menu_name_skip(name);
- 	dname = menu_text(name, NULL, NULL);
-+	if (dname == NULL)
-+	    goto erret;
-+	if (*dname == NUL)
-+	{
-+	    /* Only a mnemonic or accelerator is not valid. */
-+	    EMSG(_("E792: Empty menu name"));
-+	    goto erret;
-+	}
- 
- 	/* See if it's already there */
- 	lower_pri = menup;
-@@ -704,6 +712,7 @@
- 	parent = menu;
- 	name = next_name;
- 	vim_free(dname);
-+	dname = NULL;
- 	if (pri_tab[pri_idx + 1] != -1)
- 	    ++pri_idx;
-     }
-@@ -793,6 +802,22 @@
- erret:
-     vim_free(path_name);
-     vim_free(dname);
-+
-+    /* Delete any empty submenu we added before discovering the error.  Repeat
-+     * for higher levels. */
-+    while (parent != NULL && parent->children == NULL)
-+    {
-+	if (parent->parent == NULL)
-+	    menup = &root_menu;
-+	else
-+	    menup = &parent->parent->children;
-+	for ( ; *menup != NULL && *menup != parent; menup = &((*menup)->next))
-+	    ;
-+	if (*menup == NULL) /* safety check */
-+	    break;
-+	parent = parent->parent;
-+	free_menu(menup);
-+    }
-     return FAIL;
- }
- 
-@@ -1753,6 +1778,27 @@
- }
- 
- /*
-+ * Check that a pointer appears in the menu tree.  Used to protect from using
-+ * a menu that was deleted after it was selected but before the event was
-+ * handled.
-+ * Return OK or FAIL.  Used recursively.
-+ */
-+    int
-+check_menu_pointer(root, menu_to_check)
-+    vimmenu_T *root;
-+    vimmenu_T *menu_to_check;
-+{
-+    vimmenu_T	*p;
-+
-+    for (p = root; p != NULL; p = p->next)
-+	if (p == menu_to_check
-+		|| (p->children != NULL
-+		    && check_menu_pointer(p->children, menu_to_check) == OK))
-+	    return OK;
-+    return FAIL;
-+}
-+
-+/*
-  * After we have started the GUI, then we can create any menus that have been
-  * defined.  This is done once here.  add_menu_path() may have already been
-  * called to define these menus, and may be called again.  This function calls
-@@ -2200,7 +2246,7 @@
-     {
- 	/* When executing a script or function execute the commands right now.
- 	 * Otherwise put them in the typeahead buffer. */
--#ifdef FEAT_En
-+#ifdef FEAT_EVAL
- 	if (current_SID != 0)
- 	    exec_normal_cmd(menu->strings[idx], menu->noremap[idx],
- 							   menu->silent[idx]);
-diff -Naur vim70.orig/src/message.c vim70/src/message.c
---- vim70.orig/src/message.c	2006-05-06 13:07:37.000000000 -0700
-+++ vim70/src/message.c	2007-02-15 21:22:27.000000000 -0800
-@@ -53,7 +53,6 @@
- static struct msg_hist *first_msg_hist = NULL;
- static struct msg_hist *last_msg_hist = NULL;
- static int msg_hist_len = 0;
--static int msg_hist_off = FALSE;	/* don't add messages to history */
- 
- /*
-  * When writing messages to the screen, there are many different situations.
-@@ -1557,7 +1556,7 @@
-     int		c_extra = 0;
-     char_u	*p_extra = NULL;	    /* init to make SASC shut up */
-     int		n;
--    int		attr= 0;
-+    int		attr = 0;
-     char_u	*trail = NULL;
- #ifdef FEAT_MBYTE
-     int		l;
-@@ -1582,7 +1581,7 @@
- 
-     while (!got_int)
-     {
--	if (n_extra)
-+	if (n_extra > 0)
- 	{
- 	    --n_extra;
- 	    if (c_extra)
-@@ -1596,7 +1595,7 @@
- 	    col += (*mb_ptr2cells)(s);
- 	    mch_memmove(buf, s, (size_t)l);
- 	    buf[l] = NUL;
--	    msg_puts_attr(buf, attr);
-+	    msg_puts(buf);
- 	    s += l;
- 	    continue;
- 	}
-@@ -1636,6 +1635,9 @@
- 		p_extra = transchar_byte(c);
- 		c_extra = NUL;
- 		c = *p_extra++;
-+		/* Use special coloring to be able to distinguish <hex> from
-+		 * the same in plain text. */
-+		attr = hl_attr(HLF_8);
- 	    }
- 	    else if (c == ' ' && trail != NULL && s > trail)
- 	    {
-@@ -1925,7 +1927,8 @@
- 	     * If screen is completely filled and 'more' is set then wait
- 	     * for a character.
- 	     */
--	    if (p_more && --lines_left == 0 && State != HITRETURN
-+	    --lines_left;
-+	    if (p_more && lines_left == 0 && State != HITRETURN
- 					    && !msg_no_more && !exmode_active)
- 	    {
- #ifdef FEAT_CON_DIALOG
-@@ -4123,8 +4126,6 @@
- 	    case 'c':
- 	    case 's':
- 		length_modifier = '\0';
--		zero_padding = 0;    /* turn zero padding off for string
--					conversions */
- 		str_arg_l = 1;
- 		switch (fmt_spec)
- 		{
-@@ -4175,15 +4176,16 @@
- 			str_arg_l = 0;
- 		    else
- 		    {
--			/* memchr on HP does not like n > 2^31  !!! */
--			char *q = memchr(str_arg, '\0',
-+			/* Don't put the #if inside memchr(), it can be a
-+			 * macro. */
- #if SIZEOF_INT <= 2
--				precision
-+			char *q = memchr(str_arg, '\0', precision);
- #else
--				precision <= (size_t)0x7fffffffL ? precision
--						       : (size_t)0x7fffffffL
-+			/* memchr on HP does not like n > 2^31  !!! */
-+			char *q = memchr(str_arg, '\0',
-+				  precision <= (size_t)0x7fffffffL ? precision
-+						       : (size_t)0x7fffffffL);
- #endif
--						       );
- 			str_arg_l = (q == NULL) ? precision : q - str_arg;
- 		    }
- 		    break;
-diff -Naur vim70.orig/src/misc1.c vim70/src/misc1.c
---- vim70.orig/src/misc1.c	2006-04-30 08:30:02.000000000 -0700
-+++ vim70/src/misc1.c	2007-02-15 21:22:26.000000000 -0800
-@@ -1761,15 +1761,13 @@
-      * Add column offset for 'number', 'foldcolumn', etc.
-      */
-     width = W_WIDTH(wp) - win_col_off(wp);
--    if (width > 0)
--    {
--	lines += 1;
--	if (col >= width)
--	    lines += (col - width) / (width + win_col_off2(wp));
--	if (lines <= wp->w_height)
--	    return lines;
--    }
--    return (int)(wp->w_height);	    /* maximum length */
-+    if (width <= 0)
-+	return 9999;
-+
-+    lines += 1;
-+    if (col > width)
-+	lines += (col - width) / (width + win_col_off2(wp)) + 1;
-+    return lines;
- }
- 
-     int
-@@ -2842,7 +2840,8 @@
- 
- #ifdef FEAT_AUTOCMD
-     /* when the cursor line is changed always trigger CursorMoved */
--    if (lnum <= curwin->w_cursor.lnum && lnume > curwin->w_cursor.lnum)
-+    if (lnum <= curwin->w_cursor.lnum
-+		 && lnume + (xtra < 0 ? -xtra : xtra) > curwin->w_cursor.lnum)
- 	last_cursormoved.lnum = 0;
- #endif
- }
-@@ -3016,6 +3015,7 @@
-     int		len = 0;
-     int		n;
-     int		save_mapped_ctrl_c = mapped_ctrl_c;
-+    int		waited = 0;
- 
-     mapped_ctrl_c = FALSE;	/* mappings are not used here */
-     for (;;)
-@@ -3034,11 +3034,16 @@
- 	    /* Replace zero and CSI by a special key code. */
- 	    n = fix_input_buffer(buf + len, n, FALSE);
- 	    len += n;
-+	    waited = 0;
- 	}
-+	else if (len > 0)
-+	    ++waited;	    /* keep track of the waiting time */
- 
--	/* incomplete termcode: get more characters */
--	if ((n = check_termcode(1, buf, len)) < 0)
-+	/* Incomplete termcode and not timed out yet: get more characters */
-+	if ((n = check_termcode(1, buf, len)) < 0
-+	       && (!p_ttimeout || waited * 100L < (p_ttm < 0 ? p_tm : p_ttm)))
- 	    continue;
-+
- 	/* found a termcode: adjust length */
- 	if (n > 0)
- 	    len = n;
-@@ -3196,14 +3201,12 @@
-     else
- 	MSG_PUTS(_("Choice number (<Enter> cancels): "));
- 
--    /* Set the state such that text can be selected/copied/pasted. */
-+    /* Set the state such that text can be selected/copied/pasted and we still
-+     * get mouse events. */
-     save_cmdline_row = cmdline_row;
--    cmdline_row = Rows - 1;
-+    cmdline_row = 0;
-     save_State = State;
--    if (mouse_used == NULL)
--	State = CMDLINE;
--    else
--	State = NORMAL;
-+    State = CMDLINE;
- 
-     i = get_number(TRUE, mouse_used);
-     if (KeyTyped)
-@@ -4492,7 +4495,7 @@
- 		int l = mb_ptr2len(s);
- 
- 		while (--l > 0)
--		    *d++ = *s++;
-+		    *d++ = *++s;
- 	    }
- # endif
- 	}
-@@ -8070,9 +8073,20 @@
- 		}
- 		if (*that == '"' && *(that + 1) != NUL)
- 		{
--		    that++;
--		    while (*that && (*that != '"' || *(that - 1) == '\\'))
--			++that;
-+		    while (*++that && *that != '"')
-+		    {
-+			/* skipping escaped characters in the string */
-+			if (*that == '\\')
-+			{
-+			    if (*++that == NUL)
-+				break;
-+			    if (that[1] == NUL)
-+			    {
-+				++that;
-+				break;
-+			    }
-+			}
-+		    }
- 		}
- 		if (*that == '(' || *that == '[')
- 		    ++parencount;
-diff -Naur vim70.orig/src/misc2.c vim70/src/misc2.c
---- vim70.orig/src/misc2.c	2006-05-04 05:12:38.000000000 -0700
-+++ vim70/src/misc2.c	2007-02-15 21:22:25.000000000 -0800
-@@ -1229,6 +1229,94 @@
-     return escaped_string;
- }
- 
-+#if defined(FEAT_EVAL) || defined(PROTO)
-+/*
-+ * Escape "string" for use as a shell argument with system().
-+ * This uses single quotes, except when we know we need to use double qoutes
-+ * (MS-DOS and MS-Windows without 'shellslash' set).
-+ * Returns the result in allocated memory, NULL if we have run out.
-+ */
-+    char_u *
-+vim_strsave_shellescape(string)
-+    char_u	*string;
-+{
-+    unsigned	length;
-+    char_u	*p;
-+    char_u	*d;
-+    char_u	*escaped_string;
-+
-+    /* First count the number of extra bytes required. */
-+    length = STRLEN(string) + 3;	/* two quotes and the trailing NUL */
-+    for (p = string; *p != NUL; mb_ptr_adv(p))
-+    {
-+# if defined(WIN32) || defined(WIN16) || defined(DOS)
-+	if (!p_ssl)
-+	{
-+	    if (*p == '"')
-+		++length;		/* " -> "" */
-+	}
-+	else
-+# endif
-+	if (*p == '\'')
-+	    length += 3;		/* ' => '\'' */
-+    }
-+
-+    /* Allocate memory for the result and fill it. */
-+    escaped_string = alloc(length);
-+    if (escaped_string != NULL)
-+    {
-+	d = escaped_string;
-+
-+	/* add opening quote */
-+# if defined(WIN32) || defined(WIN16) || defined(DOS)
-+	if (!p_ssl)
-+	    *d++ = '"';
-+	else
-+# endif
-+	    *d++ = '\'';
-+
-+	for (p = string; *p != NUL; )
-+	{
-+# if defined(WIN32) || defined(WIN16) || defined(DOS)
-+	    if (!p_ssl)
-+	    {
-+		if (*p == '"')
-+		{
-+		    *d++ = '"';
-+		    *d++ = '"';
-+		    ++p;
-+		    continue;
-+		}
-+	    }
-+	    else
-+# endif
-+	    if (*p == '\'')
-+	    {
-+		*d++='\'';
-+		*d++='\\';
-+		*d++='\'';
-+		*d++='\'';
-+		++p;
-+		continue;
-+	    }
-+
-+	    MB_COPY_CHAR(p, d);
-+	}
-+
-+	/* add terminating quote and finish with a NUL */
-+# if defined(WIN32) || defined(WIN16) || defined(DOS)
-+	if (!p_ssl)
-+	    *d++ = '"';
-+	else
-+# endif
-+	    *d++ = '\'';
-+	*d = NUL;
-+    }
-+
-+    return escaped_string;
-+}
-+#endif
-+
- /*
-  * Like vim_strsave(), but make all characters uppercase.
-  * This uses ASCII lower-to-upper case translation, language independent.
-diff -Naur vim70.orig/src/netbeans.c vim70/src/netbeans.c
---- vim70.orig/src/netbeans.c	2006-04-22 11:00:05.000000000 -0700
-+++ vim70/src/netbeans.c	2007-02-15 21:22:26.000000000 -0800
-@@ -61,7 +61,7 @@
- 
- /* The first implementation (working only with Netbeans) returned "1.1".  The
-  * protocol implemented here also supports A-A-P. */
--static char *ExtEdProtocolVersion = "2.3";
-+static char *ExtEdProtocolVersion = "2.4";
- 
- static long pos2off __ARGS((buf_T *, pos_T *));
- static pos_T *off2pos __ARGS((buf_T *, long));
-@@ -103,7 +103,7 @@
- static int  inputHandler = -1;		/* simply ret.value of WSAAsyncSelect() */
- extern HWND s_hwnd;			/* Gvim's Window handle */
- #endif
--static int cmdno;			/* current command number for reply */
-+static int r_cmdno;			/* current command number for reply */
- static int haveConnection = FALSE;	/* socket is connected and
- 					   initialization is done */
- #ifdef FEAT_GUI_MOTIF
-@@ -832,11 +832,11 @@
- 	return;
-     }
- 
--    cmdno = strtol(q, &q, 10);
-+    r_cmdno = strtol(q, &q, 10);
- 
-     q = (char *)skipwhite((char_u *)q);
- 
--    if (nb_do_cmd(bufno, (char_u *)verb, isfunc, cmdno, (char_u *)q) == FAIL)
-+    if (nb_do_cmd(bufno, (char_u *)verb, isfunc, r_cmdno, (char_u *)q) == FAIL)
-     {
- #ifdef NBDEBUG
- 	/*
-@@ -1008,11 +1008,11 @@
- 	if (netbeansForcedQuit)
- 	{
- 	    /* mark as unmodified so NetBeans won't put up dialog on "killed" */
--	    sprintf(buf, "%d:unmodified=%d\n", i, cmdno);
-+	    sprintf(buf, "%d:unmodified=%d\n", i, r_cmdno);
- 	    nbdebug(("EVT: %s", buf));
- 	    nb_send(buf, "netbeans_end");
- 	}
--	sprintf(buf, "%d:killed=%d\n", i, cmdno);
-+	sprintf(buf, "%d:killed=%d\n", i, r_cmdno);
- 	nbdebug(("EVT: %s", buf));
- /*	nb_send(buf, "netbeans_end");    avoid "write failed" messages */
- 	if (sd >= 0)
-@@ -1271,6 +1271,29 @@
- 	    nb_reply_text(cmdno, text);
- /* =====================================================================*/
- 	}
-+	else if (streq((char *)cmd, "getAnno"))
-+	{
-+	    long linenum = 0;
-+#ifdef FEAT_SIGNS
-+	    if (buf == NULL || buf->bufp == NULL)
-+	    {
-+		nbdebug(("    null bufp in getAnno"));
-+		EMSG("E652: null bufp in getAnno");
-+		retval = FAIL;
-+	    }
-+	    else
-+	    {
-+		int serNum;
-+
-+		cp = (char *)args;
-+		serNum = strtol(cp, &cp, 10);
-+		/* If the sign isn't found linenum will be zero. */
-+		linenum = (long)buf_findsign(buf->bufp, serNum);
-+	    }
-+#endif
-+	    nb_reply_nr(cmdno, linenum);
-+/* =====================================================================*/
-+	}
- 	else if (streq((char *)cmd, "getLength"))
- 	{
- 	    long len = 0;
-@@ -1986,6 +2009,8 @@
- 	    if (buf->bufp != NULL)
- 		do_buffer(DOBUF_WIPE, DOBUF_FIRST, FORWARD,
- 						     buf->bufp->b_fnum, TRUE);
-+	    buf->bufp = NULL;
-+	    buf->initDone = FALSE;
- 	    doupdate = 1;
- /* =====================================================================*/
- 	}
-@@ -2561,7 +2586,7 @@
- 	    if (p != NULL)
- 	    {
- 		vim_snprintf(buf, sizeof(buf),
--				       "0:balloonText=%d \"%s\"\n", cmdno, p);
-+				       "0:balloonText=%d \"%s\"\n", r_cmdno, p);
- 		vim_free(p);
- 	    }
- 	    nbdebug(("EVT: %s", buf));
-@@ -2615,7 +2640,7 @@
- 
-     if (haveConnection)
-     {
--	sprintf(buf, "0:disconnect=%d\n", cmdno);
-+	sprintf(buf, "0:disconnect=%d\n", r_cmdno);
- 	nbdebug(("EVT: %s", buf));
- 	nb_send(buf, "netbeans_disconnect");
-     }
-@@ -2634,7 +2659,7 @@
- 	return;
- 
-     sprintf(buf, "0:geometry=%d %d %d %d %d\n",
--		    cmdno, (int)Columns, (int)Rows, new_x, new_y);
-+		    r_cmdno, (int)Columns, (int)Rows, new_x, new_y);
-     /*nbdebug(("EVT: %s", buf)); happens too many times during a move */
-     nb_send(buf, "netbeans_frame_moved");
- }
-@@ -2743,7 +2768,7 @@
-     if (bufno <= 0)
- 	return;
- 
--    sprintf(buffer, "%d:killed=%d\n", bufno, cmdno);
-+    sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno);
- 
-     nbdebug(("EVT: %s", buffer));
- 
-@@ -2817,7 +2842,8 @@
-     if (p != NULL)
-     {
- 	buf = alloc(128 + 2*newlen);
--	sprintf((char *)buf, "%d:insert=%d %ld \"%s\"\n", bufno, cmdno, off, p);
-+	sprintf((char *)buf, "%d:insert=%d %ld \"%s\"\n",
-+						      bufno, r_cmdno, off, p);
- 	nbdebug(("EVT: %s", buf));
- 	nb_send((char *)buf, "netbeans_inserted");
- 	vim_free(p);
-@@ -2859,7 +2885,7 @@
- 
-     off = pos2off(bufp, &pos);
- 
--    sprintf((char *)buf, "%d:remove=%d %ld %ld\n", bufno, cmdno, off, len);
-+    sprintf((char *)buf, "%d:remove=%d %ld %ld\n", bufno, r_cmdno, off, len);
-     nbdebug(("EVT: %s", buf));
-     nb_send((char *)buf, "netbeans_removed");
- }
-@@ -2884,7 +2910,7 @@
- 
-     nbbuf->modified = 0;
- 
--    sprintf((char *)buf, "%d:unmodified=%d\n", bufno, cmdno);
-+    sprintf((char *)buf, "%d:unmodified=%d\n", bufno, r_cmdno);
-     nbdebug(("EVT: %s", buf));
-     nb_send((char *)buf, "netbeans_unmodified");
- #endif
-@@ -2908,11 +2934,11 @@
- 	long off = pos2off(curbuf, &curwin->w_cursor);
- 
- 	/* sync the cursor position */
--	sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, cmdno, off, off);
-+	sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off);
- 	nbdebug(("EVT: %s", buf));
- 	nb_send(buf, "netbeans_button_release[newDotAndMark]");
- 
--	sprintf(buf, "%d:buttonRelease=%d %d %ld %d\n", bufno, cmdno,
-+	sprintf(buf, "%d:buttonRelease=%d %d %ld %d\n", bufno, r_cmdno,
- 				    button, (long)curwin->w_cursor.lnum, col);
- 	nbdebug(("EVT: %s", buf));
- 	nb_send(buf, "netbeans_button_release");
-@@ -2973,7 +2999,7 @@
- 
-     /* sync the cursor position */
-     off = pos2off(curbuf, &curwin->w_cursor);
--    sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, cmdno, off, off);
-+    sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off);
-     nbdebug(("EVT: %s", buf));
-     nb_send(buf, "netbeans_keycommand");
- 
-@@ -2984,13 +3010,13 @@
- 
-     /* now send keyCommand event */
-     vim_snprintf(buf, sizeof(buf), "%d:keyCommand=%d \"%s\"\n",
--						       bufno, cmdno, keyName);
-+						     bufno, r_cmdno, keyName);
-     nbdebug(("EVT: %s", buf));
-     nb_send(buf, "netbeans_keycommand");
- 
-     /* New: do both at once and include the lnum/col. */
-     vim_snprintf(buf, sizeof(buf), "%d:keyAtPos=%d \"%s\" %ld %ld/%ld\n",
--	    bufno, cmdno, keyName,
-+	    bufno, r_cmdno, keyName,
- 		off, (long)curwin->w_cursor.lnum, (long)curwin->w_cursor.col);
-     nbdebug(("EVT: %s", buf));
-     nb_send(buf, "netbeans_keycommand");
-@@ -3013,7 +3039,7 @@
- 
-     nbbuf->modified = 0;
- 
--    sprintf((char *)buf, "%d:save=%d\n", bufno, cmdno);
-+    sprintf((char *)buf, "%d:save=%d\n", bufno, r_cmdno);
-     nbdebug(("EVT: %s", buf));
-     nb_send((char *)buf, "netbeans_save_buffer");
- }
-@@ -3037,7 +3063,7 @@
-     if (nbbuf->insertDone)
- 	nbbuf->modified = 1;
- 
--    sprintf((char *)buf, "%d:remove=%d 0 -1\n", bufno, cmdno);
-+    sprintf((char *)buf, "%d:remove=%d 0 -1\n", bufno, r_cmdno);
-     nbdebug(("EVT(suppressed): %s", buf));
- /*     nb_send(buf, "netbeans_deleted_all_lines"); */
- }
-diff -Naur vim70.orig/src/normal.c vim70/src/normal.c
---- vim70.orig/src/normal.c	2006-04-29 06:11:18.000000000 -0700
-+++ vim70/src/normal.c	2007-02-15 21:22:27.000000000 -0800
-@@ -651,9 +651,8 @@
- 	/* Fake a "c"hange command.  When "restart_edit" is set (e.g., because
- 	 * 'insertmode' is set) fake a "d"elete command, Insert mode will
- 	 * restart automatically.
--	 * Insert the typed character in the typeahead buffer, so that it will
--	 * be mapped in Insert mode.  Required for ":lmap" to work.  May cause
--	 * mapping a character from ":vnoremap"... */
-+	 * Insert the typed character in the typeahead buffer, so that it can
-+	 * be mapped in Insert mode.  Required for ":lmap" to work. */
- 	ins_char_typebuf(c);
- 	if (restart_edit != 0)
- 	    c = 'd';
-@@ -1477,14 +1476,17 @@
- 	}
- 	else if (VIsual_active)
- 	{
--	    /* Save the current VIsual area for '< and '> marks, and "gv" */
--	    curbuf->b_visual.vi_start = VIsual;
--	    curbuf->b_visual.vi_end = curwin->w_cursor;
--	    curbuf->b_visual.vi_mode = VIsual_mode;
--	    curbuf->b_visual.vi_curswant = curwin->w_curswant;
-+	    if (!gui_yank)
-+	    {
-+		/* Save the current VIsual area for '< and '> marks, and "gv" */
-+		curbuf->b_visual.vi_start = VIsual;
-+		curbuf->b_visual.vi_end = curwin->w_cursor;
-+		curbuf->b_visual.vi_mode = VIsual_mode;
-+		curbuf->b_visual.vi_curswant = curwin->w_curswant;
- # ifdef FEAT_EVAL
--	    curbuf->b_visual_mode_eval = VIsual_mode;
-+		curbuf->b_visual_mode_eval = VIsual_mode;
- # endif
-+	    }
- 
- 	    /* In Select mode, a linewise selection is operated upon like a
- 	     * characterwise selection. */
-@@ -2377,11 +2379,20 @@
- 	    /*
- 	     * If visual was active, yank the highlighted text and put it
- 	     * before the mouse pointer position.
-+	     * In Select mode replace the highlighted text with the clipboard.
- 	     */
- 	    if (VIsual_active)
- 	    {
--		stuffcharReadbuff('y');
--		stuffcharReadbuff(K_MIDDLEMOUSE);
-+		if (VIsual_select)
-+		{
-+		    stuffcharReadbuff(Ctrl_G);
-+		    stuffReadbuff((char_u *)"\"+p");
-+		}
-+		else
-+		{
-+		    stuffcharReadbuff('y');
-+		    stuffcharReadbuff(K_MIDDLEMOUSE);
-+		}
- 		do_always = TRUE;	/* ignore 'mouse' setting next time */
- 		return FALSE;
- 	    }
-@@ -2504,7 +2515,8 @@
- 	     * NOTE: Ignore right button down and drag mouse events.
- 	     * Windows only shows the popup menu on the button up event.
- 	     */
--#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON)
-+#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_GTK) \
-+			  || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC)
- 	    if (!is_click)
- 		return FALSE;
- #endif
-@@ -4126,7 +4138,7 @@
-     int		save_p_ws;
-     int		save_p_scs;
-     int		retval = OK;
--    int		incl;
-+    int		incll;
- 
-     if ((pat = alloc(len + 7)) == NULL)
- 	return FAIL;
-@@ -4146,7 +4158,7 @@
-      * With "gd" Search back for the start of the current function, then go
-      * back until a blank line.  If this fails go to line 1.
-      */
--    if (!locally || !findpar(&incl, BACKWARD, 1L, '{', FALSE))
-+    if (!locally || !findpar(&incll, BACKWARD, 1L, '{', FALSE))
-     {
- 	setpcmark();			/* Set in findpar() otherwise */
- 	curwin->w_cursor.lnum = 1;
-@@ -8847,7 +8859,7 @@
- #endif
-     while (cap->count1-- && !got_int)
-     {
--	if (do_execreg(cap->nchar, FALSE, FALSE) == FAIL)
-+	if (do_execreg(cap->nchar, FALSE, FALSE, FALSE) == FAIL)
- 	{
- 	    clearopbeep(cap->oap);
- 	    break;
-diff -Naur vim70.orig/src/ops.c vim70/src/ops.c
---- vim70.orig/src/ops.c	2006-04-30 08:13:44.000000000 -0700
-+++ vim70/src/ops.c	2007-02-15 21:22:26.000000000 -0800
-@@ -95,8 +95,8 @@
- static void block_insert __ARGS((oparg_T *oap, char_u *s, int b_insert, struct block_def*bdp));
- #endif
- static int	stuff_yank __ARGS((int, char_u *));
--static void	put_reedit_in_typebuf __ARGS((void));
--static int	put_in_typebuf __ARGS((char_u *s, int colon));
-+static void	put_reedit_in_typebuf __ARGS((int silent));
-+static int	put_in_typebuf __ARGS((char_u *s, int colon, int silent));
- static void	stuffescaped __ARGS((char_u *arg, int literally));
- #ifdef FEAT_MBYTE
- static void	mb_adjust_opend __ARGS((oparg_T *oap));
-@@ -770,6 +770,7 @@
- {
-     char_u	*expr_copy;
-     char_u	*rv;
-+    static int	nested = 0;
- 
-     if (expr_line == NULL)
- 	return NULL;
-@@ -780,7 +781,14 @@
-     if (expr_copy == NULL)
- 	return NULL;
- 
-+    /* When we are invoked recursively limit the evaluation to 10 levels.
-+     * Then return the string as-is. */
-+    if (nested >= 10)
-+	return expr_copy;
-+
-+    ++nested;
-     rv = eval_to_string(expr_copy, NULL, TRUE);
-+    --nested;
-     vim_free(expr_copy);
-     return rv;
- }
-@@ -1112,10 +1120,11 @@
-  * return FAIL for failure, OK otherwise
-  */
-     int
--do_execreg(regname, colon, addcr)
-+do_execreg(regname, colon, addcr, silent)
-     int	    regname;
-     int	    colon;		/* insert ':' before each line */
-     int	    addcr;		/* always add '\n' to end of line */
-+    int	    silent;		/* set "silent" flag in typeahead buffer */
- {
-     static int	lastc = NUL;
-     long	i;
-@@ -1165,9 +1174,9 @@
- 	    /* When in Visual mode "'<,'>" will be prepended to the command.
- 	     * Remove it when it's already there. */
- 	    if (VIsual_active && STRNCMP(p, "'<,'>", 5) == 0)
--		retval = put_in_typebuf(p + 5, TRUE);
-+		retval = put_in_typebuf(p + 5, TRUE, silent);
- 	    else
--		retval = put_in_typebuf(p, TRUE);
-+		retval = put_in_typebuf(p, TRUE, silent);
- 	}
- 	vim_free(p);
-     }
-@@ -1178,7 +1187,7 @@
- 	p = get_expr_line();
- 	if (p == NULL)
- 	    return FAIL;
--	retval = put_in_typebuf(p, colon);
-+	retval = put_in_typebuf(p, colon, silent);
- 	vim_free(p);
-     }
- #endif
-@@ -1190,7 +1199,7 @@
- 	    EMSG(_(e_noinstext));
- 	    return FAIL;
- 	}
--	retval = put_in_typebuf(p, colon);
-+	retval = put_in_typebuf(p, colon, silent);
- 	vim_free(p);
-     }
-     else
-@@ -1205,20 +1214,20 @@
- 	/*
- 	 * Insert lines into typeahead buffer, from last one to first one.
- 	 */
--	put_reedit_in_typebuf();
-+	put_reedit_in_typebuf(silent);
- 	for (i = y_current->y_size; --i >= 0; )
- 	{
- 	    /* insert NL between lines and after last line if type is MLINE */
- 	    if (y_current->y_type == MLINE || i < y_current->y_size - 1
- 								     || addcr)
- 	    {
--		if (ins_typebuf((char_u *)"\n", remap, 0, TRUE, FALSE) == FAIL)
-+		if (ins_typebuf((char_u *)"\n", remap, 0, TRUE, silent) == FAIL)
- 		    return FAIL;
- 	    }
--	    if (ins_typebuf(y_current->y_array[i], remap, 0, TRUE, FALSE)
-+	    if (ins_typebuf(y_current->y_array[i], remap, 0, TRUE, silent)
- 								      == FAIL)
- 		return FAIL;
--	    if (colon && ins_typebuf((char_u *)":", remap, 0, TRUE, FALSE)
-+	    if (colon && ins_typebuf((char_u *)":", remap, 0, TRUE, silent)
- 								      == FAIL)
- 		return FAIL;
- 	}
-@@ -1232,7 +1241,8 @@
-  * used only after other typeahead has been processed.
-  */
-     static void
--put_reedit_in_typebuf()
-+put_reedit_in_typebuf(silent)
-+    int		silent;
- {
-     char_u	buf[3];
- 
-@@ -1249,25 +1259,26 @@
- 	    buf[0] = restart_edit == 'I' ? 'i' : restart_edit;
- 	    buf[1] = NUL;
- 	}
--	if (ins_typebuf(buf, REMAP_NONE, 0, TRUE, FALSE) == OK)
-+	if (ins_typebuf(buf, REMAP_NONE, 0, TRUE, silent) == OK)
- 	    restart_edit = NUL;
-     }
- }
- 
-     static int
--put_in_typebuf(s, colon)
-+put_in_typebuf(s, colon, silent)
-     char_u	*s;
-     int		colon;	    /* add ':' before the line */
-+    int		silent;
- {
-     int		retval = OK;
- 
--    put_reedit_in_typebuf();
-+    put_reedit_in_typebuf(silent);
-     if (colon)
--	retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, FALSE);
-+	retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent);
-     if (retval == OK)
--	retval = ins_typebuf(s, REMAP_YES, 0, TRUE, FALSE);
-+	retval = ins_typebuf(s, REMAP_YES, 0, TRUE, silent);
-     if (colon && retval == OK)
--	retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, FALSE);
-+	retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent);
-     return retval;
- }
- 
-@@ -1472,9 +1483,10 @@
-  * return FAIL for failure, OK otherwise
-  */
-     int
--cmdline_paste_reg(regname, literally)
-+cmdline_paste_reg(regname, literally, remcr)
-     int regname;
-     int literally;	/* Insert text literally instead of "as typed" */
-+    int remcr;		/* don't add trailing CR */
- {
-     long	i;
- 
-@@ -1486,8 +1498,13 @@
-     {
- 	cmdline_paste_str(y_current->y_array[i], literally);
- 
--	/* insert ^M between lines and after last line if type is MLINE */
--	if (y_current->y_type == MLINE || i < y_current->y_size - 1)
-+	/* Insert ^M between lines and after last line if type is MLINE.
-+	 * Don't do this when "remcr" is TRUE and the next line is empty. */
-+	if (y_current->y_type == MLINE
-+		|| (i < y_current->y_size - 1
-+		    && !(remcr
-+			&& i == y_current->y_size - 2
-+			&& *y_current->y_array[i + 1] == NUL)))
- 	    cmdline_paste_str((char_u *)"\r", literally);
- 
- 	/* Check for CTRL-C, in case someone tries to paste a few thousand
-@@ -2413,6 +2430,7 @@
- 	else
- 	{
- 	    curwin->w_cursor = oap->end;
-+	    check_cursor_col();
- 
- 	    /* Works just like an 'i'nsert on the next character. */
- 	    if (!lineempty(curwin->w_cursor.lnum)
-@@ -3492,8 +3510,15 @@
- # endif
- 	if (flags & PUT_CURSEND)
- 	{
-+	    colnr_T len;
-+
- 	    curwin->w_cursor = curbuf->b_op_end;
- 	    curwin->w_cursor.col++;
-+
-+	    /* in Insert mode we might be after the NUL, correct for that */
-+	    len = (colnr_T)STRLEN(ml_get_curline());
-+	    if (curwin->w_cursor.col > len)
-+		curwin->w_cursor.col = len;
- 	}
- 	else
- 	    curwin->w_cursor.lnum = lnum;
-diff -Naur vim70.orig/src/option.c vim70/src/option.c
---- vim70.orig/src/option.c	2006-05-03 10:32:28.000000000 -0700
-+++ vim70/src/option.c	2007-02-15 21:22:26.000000000 -0800
-@@ -2294,7 +2294,7 @@
- 			    {(char_u *)0L, (char_u *)0L}
- #endif
- 			    },
--    {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE,
-+    {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_COMMA,
- #ifdef FEAT_SPELL
- 			    (char_u *)&p_sps, PV_NONE,
- 			    {(char_u *)"best", (char_u *)0L}
-@@ -3397,7 +3397,7 @@
- 	}
- 	else if (flags & P_NUM)
- 	{
--	    if (varp == (char_u *)PV_SCROLL)
-+	    if (options[opt_idx].indir == PV_SCROLL)
- 		win_comp_scroll(curwin);
- 	    else
- 	    {
-@@ -5227,13 +5227,13 @@
- 	    case PV_STL:	return &curwin->w_p_stl_flags;
- #endif
- #ifdef FEAT_EVAL
-+# ifdef FEAT_FOLDING
- 	    case PV_FDE:	return &curwin->w_p_fde_flags;
- 	    case PV_FDT:	return &curwin->w_p_fdt_flags;
-+# endif
- # ifdef FEAT_BEVAL
- 	    case PV_BEXPR:	return &curbuf->b_p_bexpr_flags;
- # endif
--#endif
--#if defined(FEAT_EVAL)
- # if defined(FEAT_CINDENT)
- 	    case PV_INDE:	return &curbuf->b_p_inde_flags;
- # endif
-@@ -5268,45 +5268,46 @@
-     char_u	*s;
-     char_u	**varp;
-     int		both = (opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0;
-+    int		idx = opt_idx;
- 
--    if (opt_idx == -1)		/* use name */
-+    if (idx == -1)		/* use name */
-     {
--	opt_idx = findoption(name);
--	if (opt_idx < 0)	/* not found (should not happen) */
-+	idx = findoption(name);
-+	if (idx < 0)	/* not found (should not happen) */
- 	{
- 	    EMSG2(_(e_intern2), "set_string_option_direct()");
- 	    return;
- 	}
-     }
- 
--    if (options[opt_idx].var == NULL)	/* can't set hidden option */
-+    if (options[idx].var == NULL)	/* can't set hidden option */
- 	return;
- 
-     s = vim_strsave(val);
-     if (s != NULL)
-     {
--	varp = (char_u **)get_varp_scope(&(options[opt_idx]),
-+	varp = (char_u **)get_varp_scope(&(options[idx]),
- 					       both ? OPT_LOCAL : opt_flags);
--	if ((opt_flags & OPT_FREE) && (options[opt_idx].flags & P_ALLOCED))
-+	if ((opt_flags & OPT_FREE) && (options[idx].flags & P_ALLOCED))
- 	    free_string_option(*varp);
- 	*varp = s;
- 
- 	/* For buffer/window local option may also set the global value. */
- 	if (both)
--	    set_string_option_global(opt_idx, varp);
-+	    set_string_option_global(idx, varp);
- 
--	options[opt_idx].flags |= P_ALLOCED;
-+	options[idx].flags |= P_ALLOCED;
- 
- 	/* When setting both values of a global option with a local value,
- 	 * make the local value empty, so that the global value is used. */
--	if (((int)options[opt_idx].indir & PV_BOTH) && both)
-+	if (((int)options[idx].indir & PV_BOTH) && both)
- 	{
- 	    free_string_option(*varp);
- 	    *varp = empty_option;
- 	}
- # ifdef FEAT_EVAL
- 	if (set_sid != SID_NONE)
--	    set_option_scriptID_idx(opt_idx, opt_flags,
-+	    set_option_scriptID_idx(idx, opt_flags,
- 					set_sid == 0 ? current_SID : set_sid);
- # endif
-     }
-@@ -6325,7 +6326,8 @@
- 	    else
- 		errmsg = check_stl_option(p_ruf);
- 	}
--	else
-+	/* check 'statusline' only if it doesn't start with "%!" */
-+	else if (varp != &p_stl || s[0] != '%' || s[1] != '!')
- 	    errmsg = check_stl_option(s);
- 	if (varp == &p_ruf && errmsg == NULL)
- 	    comp_col();
-@@ -7324,9 +7326,8 @@
- #ifdef FEAT_AUTOCHDIR
-     else if ((int *)varp == &p_acd)
-     {
--	if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	    shorten_fnames(TRUE);
-+	/* Change directories when the 'acd' option is set now. */
-+	DO_AUTOCHDIR
-     }
- #endif
- 
-diff -Naur vim70.orig/src/os_unix.c vim70/src/os_unix.c
---- vim70.orig/src/os_unix.c	2006-05-01 01:13:15.000000000 -0700
-+++ vim70/src/os_unix.c	2007-02-15 21:22:25.000000000 -0800
-@@ -3934,7 +3934,7 @@
- 		    {
- 			linenr_T    lnum = curbuf->b_op_start.lnum;
- 			int	    written = 0;
--			char_u	    *p = ml_get(lnum);
-+			char_u	    *lp = ml_get(lnum);
- 			char_u	    *s;
- 			size_t	    l;
- 
-@@ -3942,17 +3942,17 @@
- 			close(fromshell_fd);
- 			for (;;)
- 			{
--			    l = STRLEN(p + written);
-+			    l = STRLEN(lp + written);
- 			    if (l == 0)
- 				len = 0;
--			    else if (p[written] == NL)
-+			    else if (lp[written] == NL)
- 				/* NL -> NUL translation */
- 				len = write(toshell_fd, "", (size_t)1);
- 			    else
- 			    {
--				s = vim_strchr(p + written, NL);
--				len = write(toshell_fd, (char *)p + written,
--					   s == NULL ? l : s - (p + written));
-+				s = vim_strchr(lp + written, NL);
-+				len = write(toshell_fd, (char *)lp + written,
-+					   s == NULL ? l : s - (lp + written));
- 			    }
- 			    if (len == l)
- 			    {
-@@ -3973,7 +3973,7 @@
- 				    toshell_fd = -1;
- 				    break;
- 				}
--				p = ml_get(lnum);
-+				lp = ml_get(lnum);
- 				written = 0;
- 			    }
- 			    else if (len > 0)
-@@ -5757,8 +5757,13 @@
-     int		retval_int = 0;
-     int		success = FALSE;
- 
--    /* Get a handle to the DLL module. */
-+    /*
-+     * Get a handle to the DLL module.
-+     */
- # if defined(USE_DLOPEN)
-+    /* First clear any error, it's not cleared by the dlopen() call. */
-+    (void)dlerror();
-+
-     hinstLib = dlopen((char *)libname, RTLD_LAZY
- #  ifdef RTLD_LOCAL
- 	    | RTLD_LOCAL
-diff -Naur vim70.orig/src/popupmnu.c vim70/src/popupmnu.c
---- vim70.orig/src/popupmnu.c	2006-04-20 13:18:37.000000000 -0700
-+++ vim70/src/popupmnu.c	2007-02-15 21:22:24.000000000 -0800
-@@ -552,6 +552,9 @@
- {
-     pum_array = NULL;
-     redraw_all_later(SOME_VALID);
-+#ifdef FEAT_WINDOWS
-+    redraw_tabline = TRUE;
-+#endif
-     status_redraw_all();
- }
- 
-diff -Naur vim70.orig/src/proto/buffer.pro vim70/src/proto/buffer.pro
---- vim70.orig/src/proto/buffer.pro	2006-05-07 06:08:29.000000000 -0700
-+++ vim70/src/proto/buffer.pro	2007-02-15 21:22:25.000000000 -0800
-@@ -10,6 +10,7 @@
- extern int do_buffer __ARGS((int action, int start, int dir, int count, int forceit));
- extern void set_curbuf __ARGS((buf_T *buf, int action));
- extern void enter_buffer __ARGS((buf_T *buf));
-+extern void do_autochdir __ARGS((void));
- extern buf_T *buflist_new __ARGS((char_u *ffname, char_u *sfname, linenr_T lnum, int flags));
- extern void free_buf_options __ARGS((buf_T *buf, int free_p_ff));
- extern int buflist_getfile __ARGS((int n, linenr_T lnum, int options, int forceit));
-diff -Naur vim70.orig/src/proto/eval.pro vim70/src/proto/eval.pro
---- vim70.orig/src/proto/eval.pro	2006-05-07 06:08:33.000000000 -0700
-+++ vim70/src/proto/eval.pro	2007-02-15 21:22:26.000000000 -0800
-@@ -44,7 +44,7 @@
- extern char_u *get_user_var_name __ARGS((expand_T *xp, int idx));
- extern list_T *list_alloc __ARGS((void));
- extern void list_unref __ARGS((list_T *l));
--extern void list_free __ARGS((list_T *l));
-+extern void list_free __ARGS((list_T *l, int recurse));
- extern dictitem_T *dict_lookup __ARGS((hashitem_T *hi));
- extern int list_append_dict __ARGS((list_T *list, dict_T *dict));
- extern int garbage_collect __ARGS((void));
-diff -Naur vim70.orig/src/proto/menu.pro vim70/src/proto/menu.pro
---- vim70.orig/src/proto/menu.pro	2006-05-07 06:08:51.000000000 -0700
-+++ vim70/src/proto/menu.pro	2007-02-15 21:22:24.000000000 -0800
-@@ -10,6 +10,7 @@
- extern int menu_is_child_of_popup __ARGS((vimmenu_T *menu));
- extern int menu_is_toolbar __ARGS((char_u *name));
- extern int menu_is_separator __ARGS((char_u *name));
-+extern int check_menu_pointer __ARGS((vimmenu_T *root, vimmenu_T *menu_to_check));
- extern void gui_create_initial_menus __ARGS((vimmenu_T *menu));
- extern void gui_update_menus __ARGS((int modes));
- extern int gui_is_menu_shortcut __ARGS((int key));
-diff -Naur vim70.orig/src/proto/misc2.pro vim70/src/proto/misc2.pro
---- vim70.orig/src/proto/misc2.pro	2006-05-07 06:08:54.000000000 -0700
-+++ vim70/src/proto/misc2.pro	2007-02-15 21:22:25.000000000 -0800
-@@ -29,6 +29,7 @@
- extern char_u *vim_strnsave __ARGS((char_u *string, int len));
- extern char_u *vim_strsave_escaped __ARGS((char_u *string, char_u *esc_chars));
- extern char_u *vim_strsave_escaped_ext __ARGS((char_u *string, char_u *esc_chars, int cc, int bsl));
-+extern char_u *vim_strsave_shellescape __ARGS((char_u *string));
- extern char_u *vim_strsave_up __ARGS((char_u *string));
- extern char_u *vim_strnsave_up __ARGS((char_u *string, int len));
- extern void vim_strup __ARGS((char_u *p));
-diff -Naur vim70.orig/src/proto/ops.pro vim70/src/proto/ops.pro
---- vim70.orig/src/proto/ops.pro	2006-05-07 06:08:58.000000000 -0700
-+++ vim70/src/proto/ops.pro	2007-02-15 21:22:26.000000000 -0800
-@@ -17,10 +17,10 @@
- extern void put_register __ARGS((int name, void *reg));
- extern int yank_register_mline __ARGS((int regname));
- extern int do_record __ARGS((int c));
--extern int do_execreg __ARGS((int regname, int colon, int addcr));
-+extern int do_execreg __ARGS((int regname, int colon, int addcr, int silent));
- extern int insert_reg __ARGS((int regname, int literally));
- extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg));
--extern int cmdline_paste_reg __ARGS((int regname, int literally));
-+extern int cmdline_paste_reg __ARGS((int regname, int literally, int remcr));
- extern void adjust_clip_reg __ARGS((int *rp));
- extern int op_delete __ARGS((oparg_T *oap));
- extern int op_replace __ARGS((oparg_T *oap, int c));
-diff -Naur vim70.orig/src/proto/undo.pro vim70/src/proto/undo.pro
---- vim70.orig/src/proto/undo.pro	2006-05-07 06:09:11.000000000 -0700
-+++ vim70/src/proto/undo.pro	2007-02-15 21:22:24.000000000 -0800
-@@ -4,6 +4,7 @@
- extern int u_savesub __ARGS((linenr_T lnum));
- extern int u_inssub __ARGS((linenr_T lnum));
- extern int u_savedel __ARGS((linenr_T lnum, long nlines));
-+extern int undo_allowed __ARGS((void));
- extern void u_undo __ARGS((int count));
- extern void u_redo __ARGS((int count));
- extern void undo_time __ARGS((long step, int sec, int absolute));
-diff -Naur vim70.orig/src/quickfix.c vim70/src/quickfix.c
---- vim70.orig/src/quickfix.c	2006-05-03 00:47:42.000000000 -0700
-+++ vim70/src/quickfix.c	2007-02-15 21:22:27.000000000 -0800
-@@ -106,7 +106,7 @@
- 
- static int	qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast));
- static void	qf_new_list __ARGS((qf_info_T *qi));
--static int	qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
-+static int	qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid));
- static void	qf_msg __ARGS((qf_info_T *qi));
- static void	qf_free __ARGS((qf_info_T *qi, int idx));
- static char_u	*qf_types __ARGS((int, int));
-@@ -500,8 +500,6 @@
- 	{
- 	    if (tv != NULL)
- 	    {
--		int len;
--
- 		if (tv->v_type == VAR_STRING)
- 		{
- 		    /* Get the next line from the supplied string */
-@@ -602,13 +600,19 @@
- 		else
- 		    type = 0;
- 		/*
--		 * Extract error message data from matched line
-+		 * Extract error message data from matched line.
-+		 * We check for an actual submatch, because "\[" and "\]" in
-+		 * the 'errorformat' may cause the wrong submatch to be used.
- 		 */
- 		if ((i = (int)fmt_ptr->addr[0]) > 0)		/* %f */
- 		{
--		    int c = *regmatch.endp[i];
-+		    int c;
-+
-+		    if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
-+			continue;
- 
- 		    /* Expand ~/file and $HOME/file to full path. */
-+		    c = *regmatch.endp[i];
- 		    *regmatch.endp[i] = NUL;
- 		    expand_env(regmatch.startp[i], namebuf, CMDBUFFSIZE);
- 		    *regmatch.endp[i] = c;
-@@ -618,35 +622,63 @@
- 			continue;
- 		}
- 		if ((i = (int)fmt_ptr->addr[1]) > 0)		/* %n */
-+		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    enr = (int)atol((char *)regmatch.startp[i]);
-+		}
- 		if ((i = (int)fmt_ptr->addr[2]) > 0)		/* %l */
-+		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    lnum = atol((char *)regmatch.startp[i]);
-+		}
- 		if ((i = (int)fmt_ptr->addr[3]) > 0)		/* %c */
-+		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    col = (int)atol((char *)regmatch.startp[i]);
-+		}
- 		if ((i = (int)fmt_ptr->addr[4]) > 0)		/* %t */
-+		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    type = *regmatch.startp[i];
-+		}
- 		if (fmt_ptr->flags == '+' && !multiscan)	/* %+ */
- 		    STRCPY(errmsg, IObuff);
- 		else if ((i = (int)fmt_ptr->addr[5]) > 0)	/* %m */
- 		{
-+		    if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
-+			continue;
- 		    len = (int)(regmatch.endp[i] - regmatch.startp[i]);
- 		    vim_strncpy(errmsg, regmatch.startp[i], len);
- 		}
- 		if ((i = (int)fmt_ptr->addr[6]) > 0)		/* %r */
-+		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    tail = regmatch.startp[i];
-+		}
- 		if ((i = (int)fmt_ptr->addr[7]) > 0)		/* %p */
- 		{
-+		    if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
-+			continue;
- 		    col = (int)(regmatch.endp[i] - regmatch.startp[i] + 1);
- 		    if (*((char_u *)regmatch.startp[i]) != TAB)
- 			use_viscol = TRUE;
- 		}
- 		if ((i = (int)fmt_ptr->addr[8]) > 0)		/* %v */
- 		{
-+		    if (regmatch.startp[i] == NULL)
-+			continue;
- 		    col = (int)atol((char *)regmatch.startp[i]);
- 		    use_viscol = TRUE;
- 		}
- 		if ((i = (int)fmt_ptr->addr[9]) > 0)		/* %s */
- 		{
-+		    if (regmatch.startp[i] == NULL || regmatch.endp[i] == NULL)
-+			continue;
- 		    len = (int)(regmatch.endp[i] - regmatch.startp[i]);
- 		    if (len > CMDBUFFSIZE - 5)
- 			len = CMDBUFFSIZE - 5;
-@@ -759,6 +791,7 @@
- 			(*namebuf || directory)
- 			    ? namebuf
- 			    : ((currfile && valid) ? currfile : (char_u *)NULL),
-+			0,
- 			errmsg,
- 			lnum,
- 			col,
-@@ -904,12 +937,13 @@
-  * Returns OK or FAIL.
-  */
-     static int
--qf_add_entry(qi, prevp, dir, fname, mesg, lnum, col, vis_col, pattern, nr, type,
--	     valid)
-+qf_add_entry(qi, prevp, dir, fname, bufnum, mesg, lnum, col, vis_col, pattern,
-+	     nr, type, valid)
-     qf_info_T	*qi;		/* quickfix list */
-     qfline_T	**prevp;	/* pointer to previously added entry or NULL */
-     char_u	*dir;		/* optional directory name */
-     char_u	*fname;		/* file name or NULL */
-+    int		bufnum;		/* buffer number or zero */
-     char_u	*mesg;		/* message */
-     long	lnum;		/* line number */
-     int		col;		/* column */
-@@ -923,7 +957,10 @@
- 
-     if ((qfp = (qfline_T *)alloc((unsigned)sizeof(qfline_T))) == NULL)
- 	return FAIL;
--    qfp->qf_fnum = qf_get_fnum(dir, fname);
-+    if (bufnum != 0)
-+	qfp->qf_fnum = bufnum;
-+    else
-+	qfp->qf_fnum = qf_get_fnum(dir, fname);
-     if ((qfp->qf_text = vim_strsave(mesg)) == NULL)
-     {
- 	vim_free(qfp);
-@@ -1074,6 +1111,7 @@
- 		if (qf_add_entry(to->w_llist, &prevp,
- 				 NULL,
- 				 NULL,
-+				 0,
- 				 from_qfp->qf_text,
- 				 from_qfp->qf_lnum,
- 				 from_qfp->qf_col,
-@@ -1554,10 +1592,30 @@
- 	    }
- 
- 	/*
--	 * If there is only one window, create a new one above the quickfix
--	 * window.
-+	 * If no usable window is found and 'switchbuf' is set to 'usetab'
-+	 * then search in other tabs.
-+	 */
-+	if (!usable_win && vim_strchr(p_swb, 'a') != NULL)
-+	{
-+	    tabpage_T	*tp;
-+	    win_T	*wp;
-+
-+	    FOR_ALL_TAB_WINDOWS(tp, wp)
-+	    {
-+		if (wp->w_buffer->b_fnum == qf_ptr->qf_fnum)
-+		{
-+		    goto_tabpage_win(tp, wp);
-+		    usable_win = 1;
-+		    break;
-+		}
-+	    }
-+	}
-+
-+	/*
-+	 * If there is only one window and is the quickfix window, create a new
-+	 * one above the quickfix window.
- 	 */
--	if (firstwin == lastwin || !usable_win)
-+	if (((firstwin == lastwin) && bt_quickfix(curbuf)) || !usable_win)
- 	{
- 	    ll_ref = curwin->w_llist_ref;
- 
-@@ -2429,32 +2487,19 @@
-     qf_info_T	*qi;
- {
-     buf_T	*buf;
--#ifdef FEAT_AUTOCMD
-     aco_save_T	aco;
--#else
--    buf_T	*save_curbuf;
--#endif
- 
-     /* Check if a buffer for the quickfix list exists.  Update it. */
-     buf = qf_find_buf(qi);
-     if (buf != NULL)
-     {
--#ifdef FEAT_AUTOCMD
- 	/* set curwin/curbuf to buf and save a few things */
- 	aucmd_prepbuf(&aco, buf);
--#else
--	save_curbuf = curbuf;
--	curbuf = buf;
--#endif
- 
- 	qf_fill_buffer(qi);
- 
--#ifdef FEAT_AUTOCMD
- 	/* restore curwin/curbuf and a few other things */
- 	aucmd_restbuf(&aco);
--#else
--	curbuf = save_curbuf;
--#endif
- 
- 	(void)qf_win_pos_update(qi, 0);
-     }
-@@ -2943,10 +2988,8 @@
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
-     char_u	*save_ei = NULL;
- #endif
--#ifndef FEAT_AUTOCMD
--    buf_T	*save_curbuf;
--#else
-     aco_save_T	aco;
-+#ifdef FEAT_AUTOCMD
-     char_u	*au_name =  NULL;
-     int		flags = 0;
-     colnr_T	col;
-@@ -3097,6 +3140,7 @@
- 		    if (qf_add_entry(qi, &prevp,
- 				NULL,       /* dir */
- 				fnames[fi],
-+				0,
- 				ml_get_buf(buf,
- 				     regmatch.startpos[0].lnum + lnum, FALSE),
- 				regmatch.startpos[0].lnum + lnum,
-@@ -3167,24 +3211,13 @@
- 		     * need to be done now, in that buffer.  And the modelines
- 		     * need to be done (again).  But not the window-local
- 		     * options! */
--#if defined(FEAT_AUTOCMD)
- 		    aucmd_prepbuf(&aco, buf);
--#else
--		    save_curbuf = curbuf;
--		    curbuf = buf;
--		    curwin->w_buffer = curbuf;
--#endif
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
- 		    apply_autocmds(EVENT_FILETYPE, buf->b_p_ft,
- 						     buf->b_fname, TRUE, buf);
- #endif
- 		    do_modelines(OPT_NOWIN);
--#if defined(FEAT_AUTOCMD)
- 		    aucmd_restbuf(&aco);
--#else
--		    curbuf = save_curbuf;
--		    curwin->w_buffer = curbuf;
--#endif
- 		}
- 	    }
- 	}
-@@ -3285,11 +3318,7 @@
- {
-     buf_T	*newbuf;
-     int		failed = TRUE;
--#ifdef FEAT_AUTOCMD
-     aco_save_T	aco;
--#else
--    buf_T	*old_curbuf = curbuf;
--#endif
- 
-     /* Allocate a buffer without putting it in the buffer list. */
-     newbuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY);
-@@ -3299,13 +3328,8 @@
-     /* Init the options. */
-     buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP);
- 
--#ifdef FEAT_AUTOCMD
-     /* set curwin/curbuf to buf and save a few things */
-     aucmd_prepbuf(&aco, newbuf);
--#else
--    curbuf = newbuf;
--    curwin->w_buffer = newbuf;
--#endif
- 
-     /* Need to set the filename for autocommands. */
-     (void)setfname(curbuf, fname, NULL, FALSE);
-@@ -3336,13 +3360,8 @@
- 	}
-     }
- 
--#ifdef FEAT_AUTOCMD
-     /* restore curwin/curbuf and a few other things */
-     aucmd_restbuf(&aco);
--#else
--    curbuf = old_curbuf;
--    curwin->w_buffer = old_curbuf;
--#endif
- 
-     if (!buf_valid(newbuf))
- 	return NULL;
-@@ -3407,6 +3426,7 @@
-     char_u	buf[2];
-     qfline_T	*qfp;
-     int		i;
-+    int		bufnum;
- 
-     if (wp != NULL)
-     {
-@@ -3422,6 +3442,11 @@
-     qfp = qi->qf_lists[qi->qf_curlist].qf_start;
-     for (i = 1; !got_int && i <= qi->qf_lists[qi->qf_curlist].qf_count; ++i)
-     {
-+	/* Handle entries with a non-existing buffer number. */
-+	bufnum = qfp->qf_fnum;
-+	if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
-+	    bufnum = 0;
-+
- 	if ((dict = dict_alloc()) == NULL)
- 	    return FAIL;
- 	if (list_append_dict(list, dict) == FAIL)
-@@ -3429,13 +3454,15 @@
- 
- 	buf[0] = qfp->qf_type;
- 	buf[1] = NUL;
--	if ( dict_add_nr_str(dict, "bufnr", (long)qfp->qf_fnum, NULL) == FAIL
-+	if ( dict_add_nr_str(dict, "bufnr", (long)bufnum, NULL) == FAIL
- 	  || dict_add_nr_str(dict, "lnum",  (long)qfp->qf_lnum, NULL) == FAIL
- 	  || dict_add_nr_str(dict, "col",   (long)qfp->qf_col, NULL) == FAIL
- 	  || dict_add_nr_str(dict, "vcol",  (long)qfp->qf_viscol, NULL) == FAIL
- 	  || dict_add_nr_str(dict, "nr",    (long)qfp->qf_nr, NULL) == FAIL
--	  || dict_add_nr_str(dict, "pattern",  0L, qfp->qf_pattern) == FAIL
--	  || dict_add_nr_str(dict, "text",  0L, qfp->qf_text) == FAIL
-+	  || dict_add_nr_str(dict, "pattern",  0L,
-+	     qfp->qf_pattern == NULL ? (char_u *)"" : qfp->qf_pattern) == FAIL
-+	  || dict_add_nr_str(dict, "text",  0L,
-+		   qfp->qf_text == NULL ? (char_u *)"" : qfp->qf_text) == FAIL
- 	  || dict_add_nr_str(dict, "type",  0L, buf) == FAIL
- 	  || dict_add_nr_str(dict, "valid", (long)qfp->qf_valid, NULL) == FAIL)
- 	    return FAIL;
-@@ -3458,6 +3485,7 @@
-     listitem_T	*li;
-     dict_T	*d;
-     char_u	*filename, *pattern, *text, *type;
-+    int		bufnum;
-     long	lnum;
-     int		col, nr;
-     int		vcol;
-@@ -3465,6 +3493,7 @@
-     int		valid, status;
-     int		retval = OK;
-     qf_info_T	*qi = &ql_info;
-+    int		did_bufnr_emsg = FALSE;
- 
-     if (wp != NULL)
-     {
-@@ -3494,6 +3523,7 @@
- 	    continue;
- 
- 	filename = get_dict_string(d, (char_u *)"filename", TRUE);
-+	bufnum = get_dict_number(d, (char_u *)"bufnr");
- 	lnum = get_dict_number(d, (char_u *)"lnum");
- 	col = get_dict_number(d, (char_u *)"col");
- 	vcol = get_dict_number(d, (char_u *)"vcol");
-@@ -3505,12 +3535,26 @@
- 	    text = vim_strsave((char_u *)"");
- 
- 	valid = TRUE;
--	if (filename == NULL || (lnum == 0 && pattern == NULL))
-+	if ((filename == NULL && bufnum == 0) || (lnum == 0 && pattern == NULL))
-+	    valid = FALSE;
-+
-+	/* Mark entries with non-existing buffer number as not valid. Give the
-+	 * error message only once. */
-+	if (bufnum != 0 && (buflist_findnr(bufnum) == NULL))
-+	{
-+	    if (!did_bufnr_emsg)
-+	    {
-+		did_bufnr_emsg = TRUE;
-+		EMSGN(_("E92: Buffer %ld not found"), bufnum);
-+	    }
- 	    valid = FALSE;
-+	    bufnum = 0;
-+	}
- 
- 	status =  qf_add_entry(qi, &prevp,
- 			       NULL,	    /* dir */
- 			       filename,
-+			       bufnum,
- 			       text,
- 			       lnum,
- 			       col,
-@@ -3743,6 +3787,7 @@
- 				if (qf_add_entry(qi, &prevp,
- 					    NULL,	/* dir */
- 					    fnames[fi],
-+					    0,
- 					    IObuff,
- 					    lnum,
- 					    (int)(regmatch.startp[0] - IObuff)
-diff -Naur vim70.orig/src/regexp.c vim70/src/regexp.c
---- vim70.orig/src/regexp.c	2006-04-30 08:31:50.000000000 -0700
-+++ vim70/src/regexp.c	2007-02-15 21:22:26.000000000 -0800
-@@ -3777,8 +3777,8 @@
- 
- 	op = OP(scan);
- 	/* Check for character class with NL added. */
--	if (!reg_line_lbr && WITH_NL(op) && *reginput == NUL
--						    && reglnum <= reg_maxline)
-+	if (!reg_line_lbr && WITH_NL(op) && REG_MULTI
-+				&& *reginput == NUL && reglnum <= reg_maxline)
- 	{
- 	    reg_nextline();
- 	}
-@@ -3912,7 +3912,7 @@
- 		{
- 		    colnr_T	    start, end;
- 		    colnr_T	    start2, end2;
--		    colnr_T	    col;
-+		    colnr_T	    cols;
- 
- 		    getvvcol(wp, &top, &start, NULL, &end);
- 		    getvvcol(wp, &bot, &start2, NULL, &end2);
-@@ -3922,9 +3922,9 @@
- 			end = end2;
- 		    if (top.col == MAXCOL || bot.col == MAXCOL)
- 			end = MAXCOL;
--		    col = win_linetabsize(wp,
-+		    cols = win_linetabsize(wp,
- 				      regline, (colnr_T)(reginput - regline));
--		    if (col < start || col > end - (*p_sel == 'e'))
-+		    if (cols < start || cols > end - (*p_sel == 'e'))
- 			status = RA_NOMATCH;
- 		}
- 	    }
-@@ -4253,7 +4253,7 @@
- 	    {
- 		int	i, len;
- 		char_u	*opnd;
--		int	opndc, inpc;
-+		int	opndc = 0, inpc;
- 
- 		opnd = OPERAND(scan);
- 		/* Safety check (just in case 'encoding' was changed since
-@@ -4855,8 +4855,8 @@
- 	    break;
- 
- 	  case NEWL:
--	    if ((c != NUL || reglnum > reg_maxline || reg_line_lbr)
--					      && (c != '\n' || !reg_line_lbr))
-+	    if ((c != NUL || !REG_MULTI || reglnum > reg_maxline
-+			     || reg_line_lbr) && (c != '\n' || !reg_line_lbr))
- 		status = RA_NOMATCH;
- 	    else if (reg_line_lbr)
- 		ADVANCE_REGINPUT();
-@@ -5316,8 +5316,8 @@
- 		++count;
- 		mb_ptr_adv(scan);
- 	    }
--	    if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr
--							 || count == maxcount)
-+	    if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+					 || reg_line_lbr || count == maxcount)
- 		break;
- 	    ++count;		/* count the line-break */
- 	    reg_nextline();
-@@ -5341,7 +5341,8 @@
- 	    }
- 	    else if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5370,7 +5371,8 @@
- 	    }
- 	    else if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5399,7 +5401,8 @@
- 	    }
- 	    else if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5424,7 +5427,8 @@
- 	{
- 	    if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5454,7 +5458,8 @@
- #endif
- 	    if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5617,7 +5622,8 @@
- #endif
- 	    if (*scan == NUL)
- 	    {
--		if (!WITH_NL(OP(p)) || reglnum > reg_maxline || reg_line_lbr)
-+		if (!REG_MULTI || !WITH_NL(OP(p)) || reglnum > reg_maxline
-+							      || reg_line_lbr)
- 		    break;
- 		reg_nextline();
- 		scan = reginput;
-@@ -5646,8 +5652,8 @@
- 
-       case NEWL:
- 	while (count < maxcount
--		&& ((*scan == NUL && reglnum <= reg_maxline && !reg_line_lbr)
--		    || (*scan == '\n' && reg_line_lbr)))
-+		&& ((*scan == NUL && reglnum <= reg_maxline && !reg_line_lbr
-+			    && REG_MULTI) || (*scan == '\n' && reg_line_lbr)))
- 	{
- 	    count++;
- 	    if (reg_line_lbr)
-diff -Naur vim70.orig/src/screen.c vim70/src/screen.c
---- vim70.orig/src/screen.c	2006-05-05 03:13:55.000000000 -0700
-+++ vim70/src/screen.c	2007-02-15 21:22:26.000000000 -0800
-@@ -455,6 +455,7 @@
- 		    && curwin->w_topline == curwin->w_lines[0].wl_lnum)
- #ifdef FEAT_VISUAL
- 		|| (type == INVERTED
-+		    && VIsual_active
- 		    && curwin->w_old_cursor_lnum == curwin->w_cursor.lnum
- 		    && curwin->w_old_visual_mode == VIsual_mode
- 		    && (curwin->w_valid & VALID_VIRTCOL)
-@@ -1228,7 +1229,14 @@
- 	{
- 	    mid_end = wp->w_height;
- 	    if (lastwin == firstwin)
-+	    {
- 		screenclear();
-+#ifdef FEAT_WINDOWS
-+		/* The screen was cleared, redraw the tab pages line. */
-+		if (redraw_tabline)
-+		    draw_tabline();
-+#endif
-+	    }
- 	}
-     }
-     else
-@@ -2612,7 +2620,8 @@
- #ifdef FEAT_LINEBREAK
-     int		need_showbreak = FALSE;
- #endif
--#if defined(FEAT_SIGNS) || (defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS))
-+#if defined(FEAT_SIGNS) || (defined(FEAT_QUICKFIX) && defined(FEAT_WINDOWS)) \
-+	|| defined(FEAT_SYN_HL) || defined(FEAT_DIFF)
- # define LINE_ATTR
-     int		line_attr = 0;		/* atrribute for the whole line */
- #endif
-@@ -2626,7 +2635,7 @@
-     int		prev_c = 0;		/* previous Arabic character */
-     int		prev_c1 = 0;		/* first composing char for prev_c */
- #endif
--#if defined(FEAT_DIFF) || defined(LINE_ATTR)
-+#if defined(LINE_ATTR)
-     int		did_line_attr = 0;
- #endif
- 
-@@ -4116,17 +4125,12 @@
- 		    --ptr;	    /* put it back at the NUL */
- 		}
- #endif
--#if defined(FEAT_DIFF) || defined(LINE_ATTR)
-+#if defined(LINE_ATTR)
- 		else if ((
- # ifdef FEAT_DIFF
--			    diff_hlf != (hlf_T)0
--#  ifdef LINE_ATTR
--			    ||
--#  endif
-+			    diff_hlf != (hlf_T)0 ||
- # endif
--# ifdef LINE_ATTR
- 			    line_attr != 0
--# endif
- 			) && (
- # ifdef FEAT_RIGHTLEFT
- 			    wp->w_p_rl ? (col >= 0) :
-@@ -4237,7 +4241,7 @@
- 	 * At end of the text line or just after the last character.
- 	 */
- 	if (c == NUL
--#if defined(FEAT_DIFF) || defined(LINE_ATTR)
-+#if defined(LINE_ATTR)
- 		|| did_line_attr == 1
- #endif
- 		)
-@@ -4258,7 +4262,7 @@
- 				|| prevcol == (long)match_hl[0].startcol
- 				|| prevcol == (long)match_hl[1].startcol
- 				|| prevcol == (long)match_hl[2].startcol)
--# if defined(FEAT_DIFF) || defined(LINE_ATTR)
-+# if defined(LINE_ATTR)
- 			    && did_line_attr <= 1
- # endif
- 			   )
-@@ -5076,15 +5080,38 @@
- 	     * character too.  If we didn't skip any blanks above, then we
- 	     * only redraw if the character wasn't already redrawn anyway.
- 	     */
--	    if (gui.in_use && (col > startCol || !redraw_this)
--# ifdef FEAT_MBYTE
--		    && enc_dbcs == 0
--# endif
--	       )
-+	    if (gui.in_use && (col > startCol || !redraw_this))
- 	    {
- 		hl = ScreenAttrs[off_to];
- 		if (hl > HL_ALL || (hl & HL_BOLD))
--		    screen_char(off_to - 1, row, col + coloff - 1);
-+		{
-+		    int prev_cells = 1;
-+# ifdef FEAT_MBYTE
-+		    if (enc_utf8)
-+			/* for utf-8, ScreenLines[char_offset + 1] == 0 means
-+			 * that its width is 2. */
-+			prev_cells = ScreenLines[off_to - 1] == 0 ? 2 : 1;
-+		    else if (enc_dbcs != 0)
-+		    {
-+			/* find previous character by counting from first
-+			 * column and get its width. */
-+			unsigned off = LineOffset[row];
-+
-+			while (off < off_to)
-+			{
-+			    prev_cells = (*mb_off2cells)(off);
-+			    off += prev_cells;
-+			}
-+		    }
-+
-+		    if (enc_dbcs != 0 && prev_cells > 1)
-+			screen_char_2(off_to - prev_cells, row,
-+						   col + coloff - prev_cells);
-+		    else
-+# endif
-+			screen_char(off_to - prev_cells, row,
-+						   col + coloff - prev_cells);
-+		}
- 	    }
- #endif
- 	    screen_fill(row, row + 1, col + coloff, clear_width + coloff,
-@@ -7103,7 +7130,7 @@
-     tabpage_T	    *tp;
- #endif
-     static int	    entered = FALSE;		/* avoid recursiveness */
--    static int	    did_outofmem_msg = FALSE;	/* did outofmem message */
-+    static int	    done_outofmem_msg = FALSE;	/* did outofmem message */
- 
-     /*
-      * Allocation of the screen buffers is done only when the size changes and
-@@ -7133,6 +7160,12 @@
- 	return;
-     entered = TRUE;
- 
-+    /*
-+     * Note that the window sizes are updated before reallocating the arrays,
-+     * thus we must not redraw here!
-+     */
-+    ++RedrawingDisabled;
-+
-     win_new_shellsize();    /* fit the windows in the new sized shell */
- 
-     comp_col();		/* recompute columns for shown command and ruler */
-@@ -7205,14 +7238,14 @@
- #endif
- 	    || outofmem)
-     {
--	if (ScreenLines != NULL || !did_outofmem_msg)
-+	if (ScreenLines != NULL || !done_outofmem_msg)
- 	{
- 	    /* guess the size */
- 	    do_outofmem_msg((long_u)((Rows + 1) * Columns));
- 
- 	    /* Remember we did this to avoid getting outofmem messages over
- 	     * and over again. */
--	    did_outofmem_msg = TRUE;
-+	    done_outofmem_msg = TRUE;
- 	}
- 	vim_free(new_ScreenLines);
- 	new_ScreenLines = NULL;
-@@ -7240,7 +7273,7 @@
-     }
-     else
-     {
--	did_outofmem_msg = FALSE;
-+	done_outofmem_msg = FALSE;
- 
- 	for (new_row = 0; new_row < Rows; ++new_row)
- 	{
-@@ -7367,6 +7400,7 @@
- #endif
- 
-     entered = FALSE;
-+    --RedrawingDisabled;
- 
- #ifdef FEAT_AUTOCMD
-     if (starting == 0)
-diff -Naur vim70.orig/src/search.c vim70/src/search.c
---- vim70.orig/src/search.c	2006-05-05 05:12:13.000000000 -0700
-+++ vim70/src/search.c	2007-02-15 21:22:27.000000000 -0800
-@@ -812,7 +812,11 @@
- #ifdef FEAT_MBYTE
- 			if (has_mbyte)
- 			{
--			    ptr = ml_get_buf(buf, pos->lnum, FALSE);
-+			    /* 'e' offset may put us just below the last line */
-+			    if (pos->lnum > buf->b_ml.ml_line_count)
-+				ptr = (char_u *)"";
-+			    else
-+				ptr = ml_get_buf(buf, pos->lnum, FALSE);
- 			    pos->col -= (*mb_head_off)(ptr, ptr + pos->col);
- 			}
- #endif
-@@ -1259,7 +1263,7 @@
- 	/*
- 	 * Add character and/or line offset
- 	 */
--	if (!(options & SEARCH_NOOF) || *pat == ';')
-+	if (!(options & SEARCH_NOOF) || (pat != NULL && *pat == ';'))
- 	{
- 	    if (spats[0].off.line)	/* Add the offset to the line number. */
- 	    {
-@@ -4688,6 +4692,7 @@
- #ifdef FEAT_INS_EXPAND
- 		    if (action == ACTION_EXPAND)
- 		    {
-+			msg_hist_off = TRUE;	/* reset in msg_trunc_attr() */
- 			vim_snprintf((char*)IObuff, IOSIZE,
- 				_("Scanning included file: %s"),
- 				(char *)new_fname);
-@@ -4826,15 +4831,20 @@
- 
- 		if ((compl_cont_status & CONT_ADDING) && i == compl_length)
- 		{
--		    /* get the next line */
- 		    /* IOSIZE > compl_length, so the STRNCPY works */
- 		    STRNCPY(IObuff, aux, i);
--		    if (!(     depth < 0
--			    && lnum < end_lnum
--			    && (line = ml_get(++lnum)) != NULL)
--			&& !(	depth >= 0
--			    && !vim_fgets(line = file_line,
--						     LSIZE, files[depth].fp)))
-+
-+		    /* Get the next line: when "depth" < 0  from the current
-+		     * buffer, otherwise from the included file.  Jump to
-+		     * exit_matched when past the last line. */
-+		    if (depth < 0)
-+		    {
-+			if (lnum >= end_lnum)
-+			    goto exit_matched;
-+			line = ml_get(++lnum);
-+		    }
-+		    else if (vim_fgets(line = file_line,
-+						      LSIZE, files[depth].fp))
- 			goto exit_matched;
- 
- 		    /* we read a line, set "already" to check this "line" later
-@@ -4871,7 +4881,7 @@
- 			goto exit_matched;
- 		}
- 
--		add_r = ins_compl_add_infercase(aux, i, FALSE,
-+		add_r = ins_compl_add_infercase(aux, i, p_ic,
- 			curr_fname == curbuf->b_fname ? NULL : curr_fname,
- 			dir, reuse);
- 		if (add_r == OK)
-diff -Naur vim70.orig/src/spell.c vim70/src/spell.c
---- vim70.orig/src/spell.c	2006-05-05 00:49:58.000000000 -0700
-+++ vim70/src/spell.c	2007-02-15 21:22:25.000000000 -0800
-@@ -1483,7 +1483,7 @@
- 	    else if ((mode == FIND_COMPOUND || mode == FIND_KEEPCOMPOUND
- 								|| !word_ends))
- 	    {
--		/* If there is no  flag or the word is shorter than
-+		/* If there is no compound flag or the word is shorter than
- 		 * COMPOUNDMIN reject it quickly.
- 		 * Makes you wonder why someone puts a compound flag on a word
- 		 * that's too short...  Myspell compatibility requires this
-@@ -2043,8 +2043,8 @@
-     int		len;
- # ifdef FEAT_SYN_HL
-     int		has_syntax = syntax_present(wp->w_buffer);
--    int		col;
- # endif
-+    int		col;
-     int		can_spell;
-     char_u	*buf = NULL;
-     int		buflen = 0;
-@@ -2093,9 +2093,8 @@
- 	    capcol = (int)(skipwhite(line) - line);
- 	else if (curline && wp == curwin)
- 	{
--	    int	    col = (int)(skipwhite(line) - line);
--
- 	    /* For spellbadword(): check if first word needs a capital. */
-+	    col = (int)(skipwhite(line) - line);
- 	    if (check_need_cap(lnum, col))
- 		capcol = col;
- 
-@@ -2108,7 +2107,8 @@
- 	 * possible. */
- 	STRCPY(buf, line);
- 	if (lnum < wp->w_buffer->b_ml.ml_line_count)
--	    spell_cat_line(buf + STRLEN(buf), ml_get(lnum + 1), MAXWLEN);
-+	    spell_cat_line(buf + STRLEN(buf),
-+			  ml_get_buf(wp->w_buffer, lnum + 1, FALSE), MAXWLEN);
- 
- 	p = buf + skip;
- 	endp = buf + len;
-@@ -5060,7 +5060,7 @@
-     int		do_rep;
-     int		do_repsal;
-     int		do_sal;
--    int		do_map;
-+    int		do_mapline;
-     int		found_map = FALSE;
-     hashitem_T	*hi;
-     int		l;
-@@ -5098,7 +5098,7 @@
-     do_sal = spin->si_sal.ga_len == 0;
- 
-     /* Only do MAP lines when not done in another .aff file already. */
--    do_map = spin->si_map.ga_len == 0;
-+    do_mapline = spin->si_map.ga_len == 0;
- 
-     /*
-      * Allocate and init the afffile_T structure.
-@@ -5780,7 +5780,7 @@
- 			smsg((char_u *)_("Expected MAP count in %s line %d"),
- 								 fname, lnum);
- 		}
--		else if (do_map)
-+		else if (do_mapline)
- 		{
- 		    int		c;
- 
-@@ -7507,7 +7507,7 @@
- {
-     char_u	*p = p_msm;
-     long	start = 0;
--    long	inc = 0;
-+    long	incr = 0;
-     long	added = 0;
- 
-     if (!VIM_ISDIGIT(*p))
-@@ -7519,7 +7519,7 @@
-     ++p;
-     if (!VIM_ISDIGIT(*p))
- 	return FAIL;
--    inc = (getdigits(&p) * 102) / (SBLOCKSIZE / 10);
-+    incr = (getdigits(&p) * 102) / (SBLOCKSIZE / 10);
-     if (*p != ',')
- 	return FAIL;
-     ++p;
-@@ -7529,11 +7529,11 @@
-     if (*p != NUL)
- 	return FAIL;
- 
--    if (start == 0 || inc == 0 || added == 0 || inc > start)
-+    if (start == 0 || incr == 0 || added == 0 || incr > start)
- 	return FAIL;
- 
-     compress_start = start;
--    compress_inc = inc;
-+    compress_inc = incr;
-     compress_added = added;
-     return OK;
- }
-@@ -8291,14 +8291,14 @@
-  * Returns the number of nodes used.
-  */
-     static int
--put_node(fd, node, index, regionmask, prefixtree)
-+put_node(fd, node, idx, regionmask, prefixtree)
-     FILE	*fd;		/* NULL when only counting */
-     wordnode_T	*node;
--    int		index;
-+    int		idx;
-     int		regionmask;
-     int		prefixtree;	/* TRUE for PREFIXTREE */
- {
--    int		newindex = index;
-+    int		newindex = idx;
-     int		siblingcount = 0;
-     wordnode_T	*np;
-     int		flags;
-@@ -8308,7 +8308,7 @@
- 	return 0;
- 
-     /* Store the index where this node is written. */
--    node->wn_u1.index = index;
-+    node->wn_u1.index = idx;
- 
-     /* Count the number of siblings. */
-     for (np = node; np != NULL; np = np->wn_sibling)
-@@ -9243,15 +9243,15 @@
-  * Add "word[len]" to 'spellfile' as a good or bad word.
-  */
-     void
--spell_add_word(word, len, bad, index, undo)
-+spell_add_word(word, len, bad, idx, undo)
-     char_u	*word;
-     int		len;
-     int		bad;
--    int		index;	    /* "zG" and "zW": zero, otherwise index in
-+    int		idx;	    /* "zG" and "zW": zero, otherwise index in
- 			       'spellfile' */
-     int		undo;	    /* TRUE for "zug", "zuG", "zuw" and "zuW" */
- {
--    FILE	*fd;
-+    FILE	*fd = NULL;
-     buf_T	*buf = NULL;
-     int		new_spf = FALSE;
-     char_u	*fname;
-@@ -9261,7 +9261,7 @@
-     int		i;
-     char_u	*spf;
- 
--    if (index == 0)	    /* use internal wordlist */
-+    if (idx == 0)	    /* use internal wordlist */
-     {
- 	if (int_wordlist == NULL)
- 	{
-@@ -9289,11 +9289,11 @@
- 	for (spf = curbuf->b_p_spf, i = 1; *spf != NUL; ++i)
- 	{
- 	    copy_option_part(&spf, fnamebuf, MAXPATHL, ",");
--	    if (i == index)
-+	    if (i == idx)
- 		break;
- 	    if (*spf == NUL)
- 	    {
--		EMSGN(_("E765: 'spellfile' does not have %ld entries"), index);
-+		EMSGN(_("E765: 'spellfile' does not have %ld entries"), idx);
- 		return;
- 	    }
- 	}
-@@ -9336,7 +9336,10 @@
- 		    {
- 			fputc('#', fd);
- 			if (undo)
-+			{
-+			    home_replace(NULL, fname, NameBuff, MAXPATHL, TRUE);
- 			    smsg((char_u *)_("Word removed from %s"), NameBuff);
-+			}
- 		    }
- 		    fseek(fd, fpos_next, SEEK_SET);
- 		}
-@@ -9344,20 +9347,27 @@
- 	    fclose(fd);
- 	}
-     }
--    else
-+
-+    if (!undo)
-     {
- 	fd = mch_fopen((char *)fname, "a");
- 	if (fd == NULL && new_spf)
- 	{
-+	    char_u *p;
-+
- 	    /* We just initialized the 'spellfile' option and can't open the
- 	     * file.  We may need to create the "spell" directory first.  We
- 	     * already checked the runtime directory is writable in
- 	     * init_spellfile(). */
--	    if (!dir_of_file_exists(fname))
-+	    if (!dir_of_file_exists(fname) && (p = gettail_sep(fname)) != fname)
- 	    {
-+		int c = *p;
-+
- 		/* The directory doesn't exist.  Try creating it and opening
- 		 * the file again. */
--		vim_mkdir(NameBuff, 0755);
-+		*p = NUL;
-+		vim_mkdir(fname, 0755);
-+		*p = c;
- 		fd = mch_fopen((char *)fname, "a");
- 	    }
- 	}
-@@ -10070,6 +10080,7 @@
- 
- 	/* List the suggestions. */
- 	msg_start();
-+	msg_row = Rows - 1;	/* for when 'cmdheight' > 1 */
- 	lines_left = Rows;	/* avoid more prompt */
- 	vim_snprintf((char *)IObuff, IOSIZE, _("Change \"%.*s\" to:"),
- 						sug.su_badlen, sug.su_badptr);
-@@ -13579,53 +13590,58 @@
- 	 * the first "the" to itself. */
- 	return;
- 
--    /* Check if the word is already there.  Also check the length that is
--     * being replaced "thes," -> "these" is a different suggestion from
--     * "thes" -> "these". */
--    stp = &SUG(*gap, 0);
--    for (i = gap->ga_len; --i >= 0; ++stp)
--	if (stp->st_wordlen == goodlen
--		&& stp->st_orglen == badlen
--		&& STRNCMP(stp->st_word, goodword, goodlen) == 0)
--	{
--	    /*
--	     * Found it.  Remember the word with the lowest score.
--	     */
--	    if (stp->st_slang == NULL)
--		stp->st_slang = slang;
-+    if (gap->ga_len == 0)
-+	i = -1;
-+    else
-+    {
-+	/* Check if the word is already there.  Also check the length that is
-+	 * being replaced "thes," -> "these" is a different suggestion from
-+	 * "thes" -> "these". */
-+	stp = &SUG(*gap, 0);
-+	for (i = gap->ga_len; --i >= 0; ++stp)
-+	    if (stp->st_wordlen == goodlen
-+		    && stp->st_orglen == badlen
-+		    && STRNCMP(stp->st_word, goodword, goodlen) == 0)
-+	    {
-+		/*
-+		 * Found it.  Remember the word with the lowest score.
-+		 */
-+		if (stp->st_slang == NULL)
-+		    stp->st_slang = slang;
- 
--	    new_sug.st_score = score;
--	    new_sug.st_altscore = altscore;
--	    new_sug.st_had_bonus = had_bonus;
-+		new_sug.st_score = score;
-+		new_sug.st_altscore = altscore;
-+		new_sug.st_had_bonus = had_bonus;
-+
-+		if (stp->st_had_bonus != had_bonus)
-+		{
-+		    /* Only one of the two had the soundalike score computed.
-+		     * Need to do that for the other one now, otherwise the
-+		     * scores can't be compared.  This happens because
-+		     * suggest_try_change() doesn't compute the soundalike
-+		     * word to keep it fast, while some special methods set
-+		     * the soundalike score to zero. */
-+		    if (had_bonus)
-+			rescore_one(su, stp);
-+		    else
-+		    {
-+			new_sug.st_word = stp->st_word;
-+			new_sug.st_wordlen = stp->st_wordlen;
-+			new_sug.st_slang = stp->st_slang;
-+			new_sug.st_orglen = badlen;
-+			rescore_one(su, &new_sug);
-+		    }
-+		}
- 
--	    if (stp->st_had_bonus != had_bonus)
--	    {
--		/* Only one of the two had the soundalike score computed.
--		 * Need to do that for the other one now, otherwise the
--		 * scores can't be compared.  This happens because
--		 * suggest_try_change() doesn't compute the soundalike
--		 * word to keep it fast, while some special methods set
--		 * the soundalike score to zero. */
--		if (had_bonus)
--		    rescore_one(su, stp);
--		else
-+		if (stp->st_score > new_sug.st_score)
- 		{
--		    new_sug.st_word = stp->st_word;
--		    new_sug.st_wordlen = stp->st_wordlen;
--		    new_sug.st_slang = stp->st_slang;
--		    new_sug.st_orglen = badlen;
--		    rescore_one(su, &new_sug);
-+		    stp->st_score = new_sug.st_score;
-+		    stp->st_altscore = new_sug.st_altscore;
-+		    stp->st_had_bonus = new_sug.st_had_bonus;
- 		}
-+		break;
- 	    }
--
--	    if (stp->st_score > new_sug.st_score)
--	    {
--		stp->st_score = new_sug.st_score;
--		stp->st_altscore = new_sug.st_altscore;
--		stp->st_had_bonus = new_sug.st_had_bonus;
--	    }
--	    break;
--	}
-+    }
- 
-     if (i < 0 && ga_grow(gap, 1) == OK)
-     {
-@@ -15656,7 +15672,7 @@
- 		    ? MB_STRNICMP(p, pat, STRLEN(pat)) == 0
- 		    : STRNCMP(p, pat, STRLEN(pat)) == 0)
- 		&& ins_compl_add_infercase(p, (int)STRLEN(p),
--					  FALSE, NULL, *dir, 0) == OK)
-+					  p_ic, NULL, *dir, 0) == OK)
- 	/* if dir was BACKWARD then honor it just once */
- 	*dir = FORWARD;
- }
-diff -Naur vim70.orig/src/structs.h vim70/src/structs.h
---- vim70.orig/src/structs.h	2006-04-09 10:57:46.000000000 -0700
-+++ vim70/src/structs.h	2007-02-15 21:22:24.000000000 -0800
-@@ -2213,18 +2213,20 @@
- 
- /*
-  * Struct to save values in before executing autocommands for a buffer that is
-- * not the current buffer.
-+ * not the current buffer.  Without FEAT_AUTOCMD only "curbuf" is remembered.
-  */
- typedef struct
- {
-     buf_T	*save_buf;	/* saved curbuf */
-+#ifdef FEAT_AUTOCMD
-     buf_T	*new_curbuf;	/* buffer to be used */
-     win_T	*save_curwin;	/* saved curwin, NULL if it didn't change */
-     win_T	*new_curwin;	/* new curwin if save_curwin != NULL */
-     pos_T	save_cursor;	/* saved cursor pos of save_curwin */
-     linenr_T	save_topline;	/* saved topline of save_curwin */
--#ifdef FEAT_DIFF
-+# ifdef FEAT_DIFF
-     int		save_topfill;	/* saved topfill of save_curwin */
-+# endif
- #endif
- } aco_save_T;
- 
-diff -Naur vim70.orig/src/syntax.c vim70/src/syntax.c
---- vim70.orig/src/syntax.c	2006-04-26 05:49:45.000000000 -0700
-+++ vim70/src/syntax.c	2007-02-15 21:22:27.000000000 -0800
-@@ -977,6 +977,7 @@
- {
-     stateitem_T	*cur_si;
-     int		i;
-+    int		seen_keepend;
- 
-     if (startofline)
-     {
-@@ -1002,7 +1003,10 @@
-     /*
-      * Need to update the end of a start/skip/end that continues from the
-      * previous line.  And regions that have "keepend", because they may
--     * influence contained items.
-+     * influence contained items.  If we've just removed "extend"
-+     * (startofline == 0) then we should update ends of normal regions
-+     * contained inside "keepend" because "extend" could have extended
-+     * these "keepend" regions as well as contained normal regions.
-      * Then check for items ending in column 0.
-      */
-     i = current_state.ga_len - 1;
-@@ -1010,10 +1014,13 @@
- 	for ( ; i > keepend_level; --i)
- 	    if (CUR_STATE(i).si_flags & HL_EXTEND)
- 		break;
-+
-+    seen_keepend = FALSE;
-     for ( ; i < current_state.ga_len; ++i)
-     {
- 	cur_si = &CUR_STATE(i);
- 	if ((cur_si->si_flags & HL_KEEPEND)
-+			    || (seen_keepend && !startofline)
- 			    || (i == current_state.ga_len - 1 && startofline))
- 	{
- 	    cur_si->si_h_startpos.col = 0;	/* start highl. in col 0 */
-@@ -1021,6 +1028,9 @@
- 
- 	    if (!(cur_si->si_flags & HL_MATCHCONT))
- 		update_si_end(cur_si, (int)current_col, !startofline);
-+
-+	    if (!startofline && (cur_si->si_flags & HL_KEEPEND))
-+		seen_keepend = TRUE;
- 	}
-     }
-     check_keepend();
-@@ -2564,6 +2574,7 @@
- {
-     int		i;
-     lpos_T	maxpos;
-+    lpos_T	maxpos_h;
-     stateitem_T	*sip;
- 
-     /*
-@@ -2583,23 +2594,30 @@
- 	    break;
- 
-     maxpos.lnum = 0;
-+    maxpos_h.lnum = 0;
-     for ( ; i < current_state.ga_len; ++i)
-     {
- 	sip = &CUR_STATE(i);
- 	if (maxpos.lnum != 0)
- 	{
- 	    limit_pos_zero(&sip->si_m_endpos, &maxpos);
--	    limit_pos_zero(&sip->si_h_endpos, &maxpos);
-+	    limit_pos_zero(&sip->si_h_endpos, &maxpos_h);
- 	    limit_pos_zero(&sip->si_eoe_pos, &maxpos);
- 	    sip->si_ends = TRUE;
- 	}
--	if (sip->si_ends
--		&& (sip->si_flags & HL_KEEPEND)
--		&& (maxpos.lnum == 0
-+	if (sip->si_ends && (sip->si_flags & HL_KEEPEND))
-+	{
-+	    if (maxpos.lnum == 0
- 		    || maxpos.lnum > sip->si_m_endpos.lnum
- 		    || (maxpos.lnum == sip->si_m_endpos.lnum
--			&& maxpos.col > sip->si_m_endpos.col)))
--	    maxpos = sip->si_m_endpos;
-+			&& maxpos.col > sip->si_m_endpos.col))
-+		maxpos = sip->si_m_endpos;
-+	    if (maxpos_h.lnum == 0
-+		    || maxpos_h.lnum > sip->si_h_endpos.lnum
-+		    || (maxpos_h.lnum == sip->si_h_endpos.lnum
-+			&& maxpos_h.col > sip->si_h_endpos.col))
-+		maxpos_h = sip->si_h_endpos;
-+	}
-     }
- }
- 
-@@ -3188,7 +3206,7 @@
- 	curbuf->b_syn_spell = SYNSPL_TOP;
-     else if (STRNICMP(arg, "notoplevel", 10) == 0 && next - arg == 10)
- 	curbuf->b_syn_spell = SYNSPL_NOTOP;
--    else if (STRNICMP(arg, "default", 4) == 0 && next - arg == 4)
-+    else if (STRNICMP(arg, "default", 7) == 0 && next - arg == 7)
- 	curbuf->b_syn_spell = SYNSPL_DEFAULT;
-     else
- 	EMSG2(_("E390: Illegal argument: %s"), arg);
-@@ -6054,7 +6072,11 @@
- 		++level;
-     }
-     if (level > wp->w_p_fdn)
-+    {
- 	level = wp->w_p_fdn;
-+	if (level < 0)
-+	    level = 0;
-+    }
-     return level;
- }
- #endif
-diff -Naur vim70.orig/src/tag.c vim70/src/tag.c
---- vim70.orig/src/tag.c	2006-04-27 06:11:21.000000000 -0700
-+++ vim70/src/tag.c	2007-02-15 21:22:26.000000000 -0800
-@@ -911,7 +911,7 @@
- 
- 		set_errorlist(curwin, list, ' ');
- 
--		list_free(list);
-+		list_free(list, TRUE);
- 
- 		cur_match = 0;		/* Jump to the first tag */
- 	    }
-@@ -3787,6 +3787,7 @@
- {
-     int		num_matches, i, ret;
-     char_u	**matches, *p;
-+    char_u	*full_fname;
-     dict_T	*dict;
-     tagptrs_T	tp;
-     long	is_static;
-@@ -3809,9 +3810,10 @@
- 	    if (list_append_dict(list, dict) == FAIL)
- 		ret = FAIL;
- 
-+	    full_fname = tag_full_fname(&tp);
- 	    if (add_tag_field(dict, "name", tp.tagname, tp.tagname_end) == FAIL
--		    || add_tag_field(dict, "filename", tp.fname,
--							 tp.fname_end) == FAIL
-+		    || add_tag_field(dict, "filename", full_fname,
-+							 NULL) == FAIL
- 		    || add_tag_field(dict, "cmd", tp.command,
- 						       tp.command_end) == FAIL
- 		    || add_tag_field(dict, "kind", tp.tagkind,
-@@ -3819,6 +3821,8 @@
- 		    || dict_add_nr_str(dict, "static", is_static, NULL) == FAIL)
- 		ret = FAIL;
- 
-+	    vim_free(full_fname);
-+
- 	    if (tp.command_end != NULL)
- 	    {
- 		for (p = tp.command_end + 3;
-diff -Naur vim70.orig/src/term.c vim70/src/term.c
---- vim70.orig/src/term.c	2006-05-03 10:34:57.000000000 -0700
-+++ vim70/src/term.c	2007-02-15 21:22:26.000000000 -0800
-@@ -3137,25 +3137,32 @@
- 	    screenalloc(FALSE);
- 	    repeat_message();
- 	}
--	else if (State & CMDLINE)
--	{
--	    update_screen(NOT_VALID);
--	    redrawcmdline();
--	}
- 	else
- 	{
--	    update_topline();
--#if defined(FEAT_INS_EXPAND)
--	    if (pum_visible())
-+#ifdef FEAT_SCROLLBIND
-+	    if (curwin->w_p_scb)
-+		do_check_scrollbind(TRUE);
-+#endif
-+	    if (State & CMDLINE)
- 	    {
--		redraw_later(NOT_VALID);
--		ins_compl_show_pum(); /* This includes the redraw. */
-+		update_screen(NOT_VALID);
-+		redrawcmdline();
- 	    }
- 	    else
-+	    {
-+		update_topline();
-+#if defined(FEAT_INS_EXPAND)
-+		if (pum_visible())
-+		{
-+		    redraw_later(NOT_VALID);
-+		    ins_compl_show_pum(); /* This includes the redraw. */
-+		}
-+		else
- #endif
--		update_screen(NOT_VALID);
--	    if (redrawing())
--		setcursor();
-+		    update_screen(NOT_VALID);
-+		if (redrawing())
-+		    setcursor();
-+	    }
- 	}
- 	cursor_on();	    /* redrawing may have switched it off */
-     }
-@@ -4783,6 +4790,14 @@
- 		return -1;
- 	    current_menu = (vimmenu_T *)val;
- 	    slen += num_bytes;
-+
-+	    /* The menu may have been deleted right after it was used, check
-+	     * for that. */
-+	    if (check_menu_pointer(root_menu, current_menu) == FAIL)
-+	    {
-+		key_name[0] = KS_EXTRA;
-+		key_name[1] = (int)KE_IGNORE;
-+	    }
- 	}
- # endif
- # ifdef FEAT_GUI_TABLINE
-diff -Naur vim70.orig/src/testdir/test56.in vim70/src/testdir/test56.in
---- vim70.orig/src/testdir/test56.in	2005-05-18 08:37:37.000000000 -0700
-+++ vim70/src/testdir/test56.in	2007-02-15 21:22:25.000000000 -0800
-@@ -3,7 +3,7 @@
- STARTTEST
- :so small.vim
- :"
--:set nocp
-+:set nocp viminfo+=nviminfo
- :/^start:/+1,/^end:/-1w! Xtest.vim
- :source Xtest.vim
- _x
-diff -Naur vim70.orig/src/ui.c vim70/src/ui.c
---- vim70.orig/src/ui.c	2006-03-27 11:15:09.000000000 -0800
-+++ vim70/src/ui.c	2007-02-15 21:22:25.000000000 -0800
-@@ -1137,7 +1137,6 @@
-     int		len;
- #ifdef FEAT_MBYTE
-     char_u	*p;
--    int		i;
- #endif
-     int		row1 = clip_star.start.lnum;
-     int		col1 = clip_star.start.col;
-@@ -1218,6 +1217,8 @@
- #ifdef FEAT_MBYTE
- 	    if (enc_dbcs != 0)
- 	    {
-+		int	i;
-+
- 		p = ScreenLines + LineOffset[row];
- 		for (i = start_col; i < end_col; ++i)
- 		    if (enc_dbcs == DBCS_JPNU && p[i] == 0x8e)
-diff -Naur vim70.orig/src/undo.c vim70/src/undo.c
---- vim70.orig/src/undo.c	2006-04-21 02:30:59.000000000 -0700
-+++ vim70/src/undo.c	2007-02-15 21:22:27.000000000 -0800
-@@ -84,7 +84,6 @@
- static void u_unch_branch __ARGS((u_header_T *uhp));
- static u_entry_T *u_get_headentry __ARGS((void));
- static void u_getbot __ARGS((void));
--static int undo_allowed __ARGS((void));
- static int u_savecommon __ARGS((linenr_T, linenr_T, linenr_T));
- static void u_doit __ARGS((int count));
- static void u_undoredo __ARGS((int undo));
-@@ -196,7 +195,7 @@
-  * Return TRUE when undo is allowed.  Otherwise give an error message and
-  * return FALSE.
-  */
--    static int
-+    int
- undo_allowed()
- {
-     /* Don't allow changes when 'modifiable' is off.  */
-@@ -342,11 +341,15 @@
- 	uhp->uh_alt_next = old_curhead;
- 	if (old_curhead != NULL)
- 	{
-+	    uhp->uh_alt_prev = old_curhead->uh_alt_prev;
-+	    if (uhp->uh_alt_prev != NULL)
-+		uhp->uh_alt_prev->uh_alt_next = uhp;
- 	    old_curhead->uh_alt_prev = uhp;
- 	    if (curbuf->b_u_oldhead == old_curhead)
- 		curbuf->b_u_oldhead = uhp;
- 	}
--	uhp->uh_alt_prev = NULL;
-+	else
-+	    uhp->uh_alt_prev = NULL;
- 	if (curbuf->b_u_newhead != NULL)
- 	    curbuf->b_u_newhead->uh_prev = uhp;
- 
-@@ -857,6 +860,11 @@
- 	uhp = curbuf->b_u_curhead;
- 	while (uhp != NULL)
- 	{
-+	    /* Go back to the first branch with a mark. */
-+	    while (uhp->uh_alt_prev != NULL
-+					&& uhp->uh_alt_prev->uh_walk == mark)
-+		uhp = uhp->uh_alt_prev;
-+
- 	    /* Find the last branch with a mark, that's the one. */
- 	    last = uhp;
- 	    while (last->uh_alt_next != NULL
-@@ -866,6 +874,8 @@
- 	    {
- 		/* Make the used branch the first entry in the list of
- 		 * alternatives to make "u" and CTRL-R take this branch. */
-+		while (uhp->uh_alt_prev != NULL)
-+		    uhp = uhp->uh_alt_prev;
- 		if (last->uh_alt_next != NULL)
- 		    last->uh_alt_next->uh_alt_prev = last->uh_alt_prev;
- 		last->uh_alt_prev->uh_alt_next = last->uh_alt_next;
-@@ -1188,7 +1198,7 @@
-     int		did_undo;	/* just did an undo */
-     int		absolute;	/* used ":undo N" */
- {
--    char	*msg;
-+    char	*msgstr;
-     u_header_T	*uhp;
-     char_u	msgbuf[80];
- 
-@@ -1206,20 +1216,20 @@
- 
-     u_oldcount -= u_newcount;
-     if (u_oldcount == -1)
--	msg = N_("more line");
-+	msgstr = N_("more line");
-     else if (u_oldcount < 0)
--	msg = N_("more lines");
-+	msgstr = N_("more lines");
-     else if (u_oldcount == 1)
--	msg = N_("line less");
-+	msgstr = N_("line less");
-     else if (u_oldcount > 1)
--	msg = N_("fewer lines");
-+	msgstr = N_("fewer lines");
-     else
-     {
- 	u_oldcount = u_newcount;
- 	if (u_newcount == 1)
--	    msg = N_("change");
-+	    msgstr = N_("change");
- 	else
--	    msg = N_("changes");
-+	    msgstr = N_("changes");
-     }
- 
-     if (curbuf->b_u_curhead != NULL)
-@@ -1245,7 +1255,7 @@
- 
-     smsg((char_u *)_("%ld %s; %s #%ld  %s"),
- 	    u_oldcount < 0 ? -u_oldcount : u_oldcount,
--	    _(msg),
-+	    _(msgstr),
- 	    did_undo ? _("before") : _("after"),
- 	    uhp == NULL ? 0L : uhp->uh_seq,
- 	    msgbuf);
-diff -Naur vim70.orig/src/version.c vim70/src/version.c
---- vim70.orig/src/version.c	2006-05-03 00:50:42.000000000 -0700
-+++ vim70/src/version.c	2007-02-15 21:22:27.000000000 -0800
-@@ -667,6 +667,360 @@
- static int included_patches[] =
- {   /* Add new patch number below this line */
- /**/
-+    195,
-+/**/
-+    194,
-+/**/
-+    193,
-+/**/
-+    192,
-+/**/
-+    191,
-+/**/
-+    190,
-+/**/
-+    189,
-+/**/
-+    188,
-+/**/
-+    187,
-+/**/
-+    186,
-+/**/
-+    185,
-+/**/
-+    184,
-+/**/
-+    183,
-+/**/
-+    182,
-+/**/
-+    181,
-+/**/
-+    179,
-+/**/
-+    178,
-+/**/
-+    177,
-+/**/
-+    176,
-+/**/
-+    175,
-+/**/
-+    174,
-+/**/
-+    173,
-+/**/
-+    172,
-+/**/
-+    169,
-+/**/
-+    168,
-+/**/
-+    167,
-+/**/
-+    166,
-+/**/
-+    165,
-+/**/
-+    164,
-+/**/
-+    163,
-+/**/
-+    162,
-+/**/
-+    160,
-+/**/
-+    159,
-+/**/
-+    158,
-+/**/
-+    157,
-+/**/
-+    155,
-+/**/
-+    154,
-+/**/
-+    153,
-+/**/
-+    152,
-+/**/
-+    151,
-+/**/
-+    150,
-+/**/
-+    149,
-+/**/
-+    148,
-+/**/
-+    147,
-+/**/
-+    146,
-+/**/
-+    145,
-+/**/
-+    144,
-+/**/
-+    143,
-+/**/
-+    142,
-+/**/
-+    141,
-+/**/
-+    140,
-+/**/
-+    139,
-+/**/
-+    137,
-+/**/
-+    136,
-+/**/
-+    135,
-+/**/
-+    134,
-+/**/
-+    133,
-+/**/
-+    129,
-+/**/
-+    128,
-+/**/
-+    127,
-+/**/
-+    126,
-+/**/
-+    125,
-+/**/
-+    124,
-+/**/
-+    123,
-+/**/
-+    122,
-+/**/
-+    121,
-+/**/
-+    120,
-+/**/
-+    119,
-+/**/
-+    118,
-+/**/
-+    117,
-+/**/
-+    116,
-+/**/
-+    115,
-+/**/
-+    114,
-+/**/
-+    113,
-+/**/
-+    112,
-+/**/
-+    111,
-+/**/
-+    110,
-+/**/
-+    109,
-+/**/
-+    107,
-+/**/
-+    106,
-+/**/
-+    105,
-+/**/
-+    104,
-+/**/
-+    103,
-+/**/
-+    102,
-+/**/
-+    101,
-+/**/
-+    100,
-+/**/
-+    99,
-+/**/
-+    98,
-+/**/
-+    97,
-+/**/
-+    96,
-+/**/
-+    95,
-+/**/
-+    94,
-+/**/
-+    93,
-+/**/
-+    92,
-+/**/
-+    91,
-+/**/
-+    90,
-+/**/
-+    89,
-+/**/
-+    88,
-+/**/
-+    87,
-+/**/
-+    86,
-+/**/
-+    85,
-+/**/
-+    84,
-+/**/
-+    83,
-+/**/
-+    82,
-+/**/
-+    81,
-+/**/
-+    80,
-+/**/
-+    79,
-+/**/
-+    78,
-+/**/
-+    77,
-+/**/
-+    76,
-+/**/
-+    75,
-+/**/
-+    73,
-+/**/
-+    72,
-+/**/
-+    71,
-+/**/
-+    70,
-+/**/
-+    69,
-+/**/
-+    68,
-+/**/
-+    67,
-+/**/
-+    66,
-+/**/
-+    64,
-+/**/
-+    63,
-+/**/
-+    62,
-+/**/
-+    61,
-+/**/
-+    60,
-+/**/
-+    59,
-+/**/
-+    58,
-+/**/
-+    56,
-+/**/
-+    55,
-+/**/
-+    54,
-+/**/
-+    53,
-+/**/
-+    52,
-+/**/
-+    51,
-+/**/
-+    50,
-+/**/
-+    49,
-+/**/
-+    48,
-+/**/
-+    47,
-+/**/
-+    46,
-+/**/
-+    44,
-+/**/
-+    43,
-+/**/
-+    42,
-+/**/
-+    41,
-+/**/
-+    40,
-+/**/
-+    39,
-+/**/
-+    38,
-+/**/
-+    37,
-+/**/
-+    36,
-+/**/
-+    35,
-+/**/
-+    34,
-+/**/
-+    33,
-+/**/
-+    31,
-+/**/
-+    30,
-+/**/
-+    29,
-+/**/
-+    26,
-+/**/
-+    25,
-+/**/
-+    24,
-+/**/
-+    23,
-+/**/
-+    22,
-+/**/
-+    21,
-+/**/
-+    20,
-+/**/
-+    19,
-+/**/
-+    18,
-+/**/
-+    17,
-+/**/
-+    16,
-+/**/
-+    15,
-+/**/
-+    14,
-+/**/
-+    13,
-+/**/
-+    12,
-+/**/
-+    11,
-+/**/
-+    10,
-+/**/
-+    9,
-+/**/
-+    8,
-+/**/
-+    7,
-+/**/
-+    6,
-+/**/
-+    4,
-+/**/
-+    3,
-+/**/
-+    2,
-+/**/
-+    1,
-+/**/
-     0
- };
- 
-@@ -731,7 +1085,11 @@
-     /* Only MS VC 4.1 and earlier can do Win32s */
-     MSG_PUTS(_("\nMS-Windows 16/32 bit GUI version"));
- #  else
-+#   ifdef _WIN64
-+    MSG_PUTS(_("\nMS-Windows 64 bit GUI version"));
-+#   else
-     MSG_PUTS(_("\nMS-Windows 32 bit GUI version"));
-+#   endif
- #  endif
-     if (gui_is_win32s())
- 	MSG_PUTS(_(" in Win32s mode"));
-diff -Naur vim70.orig/src/vim.h vim70/src/vim.h
---- vim70.orig/src/vim.h	2006-04-30 08:32:38.000000000 -0700
-+++ vim70/src/vim.h	2007-02-15 21:22:27.000000000 -0800
-@@ -585,7 +585,6 @@
- #define INSERT		0x10	/* Insert mode */
- #define LANGMAP		0x20	/* Language mapping, can be combined with
- 				   INSERT and CMDLINE */
--#define MAP_ALL_MODES	0x3f	/* all mode bits used for mapping */
- 
- #define REPLACE_FLAG	0x40	/* Replace mode flag */
- #define REPLACE		(REPLACE_FLAG + INSERT)
-@@ -605,6 +604,9 @@
- #define CONFIRM		0x800	/* ":confirm" prompt */
- #define SELECTMODE	0x1000	/* Select mode, only for mappings */
- 
-+#define MAP_ALL_MODES	(0x3f | SELECTMODE)	/* all mode bits used for
-+						 * mapping */
-+
- /* directions */
- #define FORWARD			1
- #define BACKWARD		(-1)
-@@ -1100,7 +1102,7 @@
-     EVENT_COLORSCHEME,		/* after loading a colorscheme */
-     EVENT_FILEAPPENDPOST,	/* after appending to a file */
-     EVENT_FILEAPPENDPRE,	/* before appending to a file */
--    EVENT_FILEAPPENDCMD,	/* appende to a file using command */
-+    EVENT_FILEAPPENDCMD,	/* append to a file using command */
-     EVENT_FILECHANGEDSHELL,	/* after shell command that changed file */
-     EVENT_FILECHANGEDSHELLPOST,	/* after (not) reloading changed file */
-     EVENT_FILECHANGEDRO,	/* before first change to read-only file */
-@@ -1118,6 +1120,7 @@
-     EVENT_FOCUSGAINED,		/* got the focus */
-     EVENT_FOCUSLOST,		/* lost the focus to another app */
-     EVENT_GUIENTER,		/* after starting the GUI */
-+    EVENT_GUIFAILED,		/* after starting the GUI failed */
-     EVENT_INSERTCHANGE,		/* when changing Insert/Replace mode */
-     EVENT_INSERTENTER,		/* when entering Insert mode */
-     EVENT_INSERTLEAVE,		/* when leaving Insert mode */
-@@ -1144,6 +1147,7 @@
-     EVENT_REMOTEREPLY,		/* upon string reception from a remote vim */
-     EVENT_SWAPEXISTS,		/* found existing swap file */
-     EVENT_SOURCEPRE,		/* before sourcing a Vim script */
-+    EVENT_SOURCECMD,		/* sourcing a Vim script using command */
-     EVENT_SPELLFILEMISSING,	/* spell file missing */
-     EVENT_CURSORMOVED,		/* cursor was moved */
-     EVENT_CURSORMOVEDI,		/* cursor was moved in Insert mode */
-@@ -1666,7 +1670,10 @@
- #define VV_SWAPCHOICE	46
- #define VV_SWAPCOMMAND	47
- #define VV_CHAR		48
--#define VV_LEN		49	/* number of v: vars */
-+#define VV_MOUSE_WIN	49
-+#define VV_MOUSE_LNUM   50
-+#define VV_MOUSE_COL	51
-+#define VV_LEN		52	/* number of v: vars */
- 
- #ifdef FEAT_CLIPBOARD
- 
-diff -Naur vim70.orig/src/window.c vim70/src/window.c
---- vim70.orig/src/window.c	2006-05-06 03:54:51.000000000 -0700
-+++ vim70/src/window.c	2007-02-15 21:22:26.000000000 -0800
-@@ -340,10 +340,10 @@
- 		{
- 		    tabpage_T	*oldtab = curtab;
- 		    tabpage_T	*newtab;
--		    win_T	*wp = curwin;
- 
- 		    /* First create a new tab with the window, then go back to
- 		     * the old tab and close the window there. */
-+		    wp = curwin;
- 		    if (win_new_tabpage((int)Prenum) == OK
- 						     && valid_tabpage(oldtab))
- 		    {
-@@ -3954,13 +3954,8 @@
-     setmouse();			/* in case jumped to/from help buffer */
- #endif
- 
--#ifdef FEAT_AUTOCHDIR
--    /* Change directories when the 'acd' option is set on and after
--     * switching windows. */
--    if (p_acd && curbuf->b_ffname != NULL
--				     && vim_chdirfile(curbuf->b_ffname) == OK)
--	shorten_fnames(TRUE);
--#endif
-+    /* Change directories when the 'acd' option is set. */
-+    DO_AUTOCHDIR
- }
- 
- #endif /* FEAT_WINDOWS */
-@@ -4278,7 +4273,7 @@
-     win_T	*wp;
- {
-     wp->w_lines_valid = 0;
--    wp->w_lines = (wline_T *)alloc((unsigned)(Rows * sizeof(wline_T)));
-+    wp->w_lines = (wline_T *)alloc_clear((unsigned)(Rows * sizeof(wline_T)));
-     if (wp->w_lines == NULL)
- 	return FAIL;
-     return OK;
-@@ -5194,11 +5189,7 @@
-     int		height;
- {
-     linenr_T	lnum;
--    linenr_T	bot;
-     int		sline, line_size;
--    int		space;
--    int		did_below = FALSE;
--    int		old_height = wp->w_height;
- #define FRACTION_MULT	16384L
- 
-     /* Don't want a negative height.  Happens when splitting a tiny window.
-@@ -5233,54 +5224,44 @@
- 	wp->w_wrow = ((long)wp->w_fraction * (long)height - 1L) / FRACTION_MULT;
- 	line_size = plines_win_col(wp, lnum, (long)(wp->w_cursor.col)) - 1;
- 	sline = wp->w_wrow - line_size;
-+
-+	if (sline >= 0)
-+	{
-+	    /* Make sure the whole cursor line is visible, if possible. */
-+	    int rows = plines_win(wp, lnum, FALSE);
-+
-+	    if (sline > wp->w_height - rows)
-+	    {
-+		sline = wp->w_height - rows;
-+		wp->w_wrow -= rows - line_size;
-+	    }
-+	}
-+
- 	if (sline < 0)
- 	{
- 	    /*
- 	     * Cursor line would go off top of screen if w_wrow was this high.
-+	     * Make cursor line the first line in the window.  If not enough
-+	     * room use w_skipcol;
- 	     */
- 	    wp->w_wrow = line_size;
-+	    if (wp->w_wrow >= wp->w_height
-+				       && (W_WIDTH(wp) - win_col_off(wp)) > 0)
-+	    {
-+		wp->w_skipcol += W_WIDTH(wp) - win_col_off(wp);
-+		--wp->w_wrow;
-+		while (wp->w_wrow >= wp->w_height)
-+		{
-+		    wp->w_skipcol += W_WIDTH(wp) - win_col_off(wp)
-+							   + win_col_off2(wp);
-+		    --wp->w_wrow;
-+		}
-+	    }
- 	}
- 	else
- 	{
--	    space = height - 1;
--
--	    while (lnum > 1)
-+	    while (sline > 0 && lnum > 1)
- 	    {
--		/* When using "~" lines stop when at the old topline, don't
--		 * scroll down. */
--		if (did_below && height < old_height && lnum <= wp->w_topline)
--		    sline = 0;
--
--		space -= line_size;
--		if (space > 0 && sline <= 0 && !did_below)
--		{
--		    /* Try to use "~" lines below the text to avoid that text
--		     * is above the window while there are empty lines.
--		     * Subtract the rows below the cursor from "space" and
--		     * give the rest to "sline". */
--		    did_below = TRUE;
--		    bot = wp->w_cursor.lnum;
--		    while (space > 0)
--		    {
--			if (wp->w_buffer->b_ml.ml_line_count - bot >= space)
--			    space = 0;
--			else
--			{
--#ifdef FEAT_FOLDING
--			    hasFoldingWin(wp, bot, NULL, &bot, TRUE, NULL);
--#endif
--			    if (bot >= wp->w_buffer->b_ml.ml_line_count)
--				break;
--			    ++bot;
--			    space -= plines_win(wp, bot, TRUE);
--			}
--		    }
--		    if (bot == wp->w_buffer->b_ml.ml_line_count && space > 0)
--			sline += space;
--		}
--		if (sline <= 0)
--		    break;
--
- #ifdef FEAT_FOLDING
- 		hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL);
- 		if (lnum == 1)
Index: patches/vim-7.1-cross_compile-1.patch
===================================================================
--- patches/vim-7.1-cross_compile-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
+++ patches/vim-7.1-cross_compile-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -0,0 +1,20274 @@
+Submitted By: Joe Ciccone <joeciccone@linuxfromscratch.org>
+Date: 2006-06-06
+Initial Package Version: 7.0
+Upstream Status: Unknown
+Origin: Joe Ciccone and OpenEmbedded
+	Rediffed against Vim 7.1 by Joe Ciccone
+Description: This patch makes it possible to cross_compile vim.
+
+diff -Naur vim71.orig/src/auto/configure vim71/src/auto/configure
+--- vim71.orig/src/auto/configure	2007-05-12 07:49:09.000000000 -0400
++++ vim71/src/auto/configure	2007-06-18 17:24:35.000000000 -0400
+@@ -2796,14 +2796,6 @@
+   fi
+ fi
+ 
+-if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: cannot compile a simple program, check CC and CFLAGS
+-  (cross compiling doesn't work)" >&5
+-echo "$as_me: error: cannot compile a simple program, check CC and CFLAGS
+-  (cross compiling doesn't work)" >&2;}
+-   { (exit 1); exit 1; }; }
+-fi
+-
+ test "$GCC" = yes && CPP_MM=M;
+ 
+ if test -f ./toolcheck; then
+@@ -3410,27 +3402,6 @@
+ 
+ 
+ 
+-have_local_include=''
+-have_local_lib=''
+-if test "$GCC" = yes; then
+-  echo 'void f(){}' > conftest.c
+-    have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
+-  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
+-  rm -f conftest.c conftest.o
+-fi
+-if test -z "$have_local_lib" -a -d /usr/local/lib; then
+-  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
+-  if test "$tt" = "$LDFLAGS"; then
+-    LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-  fi
+-fi
+-if test -z "$have_local_include" -a -d /usr/local/include; then
+-  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
+-  if test "$tt" = "$CPPFLAGS"; then
+-    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-  fi
+-fi
+-
+ echo "$as_me:$LINENO: checking --with-vim-name argument" >&5
+ echo $ECHO_N "checking --with-vim-name argument... $ECHO_C" >&6
+ 
+@@ -9287,9 +9258,8 @@
+ echo "$as_me:$LINENO: checking quality of toupper" >&5
+ echo $ECHO_N "checking quality of toupper... $ECHO_C" >&6
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -11762,9 +11732,12 @@
+ echo "$as_me:$LINENO: checking whether we talk terminfo" >&5
+ echo $ECHO_N "checking whether we talk terminfo... $ECHO_C" >&6
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
+-echo "$as_me: error: failed to compile test program." >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program." >&5
++echo "$as_me: WARNING: failed to compile test program." >&2;}
++          cat >>confdefs.h <<\_ACEOF
++#define TERMINFO 1
++_ACEOF
++
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -12327,9 +12300,8 @@
+ echo $ECHO_N "checking default tty permissions/group... $ECHO_C" >&6
+ rm -f conftest_grp
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -12556,9 +12528,8 @@
+ echo "$as_me:$LINENO: checking getcwd implementation" >&5
+ echo $ECHO_N "checking getcwd implementation... $ECHO_C" >&6
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -12819,10 +12790,12 @@
+ 
+ echo "$as_me:$LINENO: checking whether stat() ignores a trailing slash" >&5
+ echo $ECHO_N "checking whether stat() ignores a trailing slash... $ECHO_C" >&6
+-if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++if test "${ac_cv_func_stat_ignores_trailing_slash+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test "$cross_compiling" = yes; then
++  ac_cv_func_stat_ignores_trailing_slash=no
++
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -12845,22 +12818,27 @@
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+-  echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+-#define STAT_IGNORES_SLASH 1
+-_ACEOF
+-
++  ac_cv_func_stat_ignores_trailing_slash=yes
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+-echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6
++ac_cv_func_stat_ignores_trailing_slash=no
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_stat_ignores_trailing_slash" >&5
++echo "${ECHO_T}$ac_cv_func_stat_ignores_trailing_slash" >&6
++
++if X"$ac_cv_func_stat_ignores_trailing_slash" = Xyes; then
++       cat >>confdefs.h <<\_ACEOF
++#define STAT_IGNORES_SLASH 1
++_ACEOF
++
++fi
+ 
+ echo "$as_me:$LINENO: checking for iconv_open()" >&5
+ echo $ECHO_N "checking for iconv_open()... $ECHO_C" >&6
+@@ -13813,15 +13791,341 @@
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
++echo "$as_me:$LINENO: checking for int" >&5
++echo $ECHO_N "checking for int... $ECHO_C" >&6
++if test "${ac_cv_type_int+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((int *) 0)
++  return 0;
++if (sizeof (int))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_int=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_int=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
++echo "${ECHO_T}$ac_cv_type_int" >&6
+ 
+ echo "$as_me:$LINENO: checking size of int" >&5
+ echo $ECHO_N "checking size of int... $ECHO_C" >&6
+ if test "${ac_cv_sizeof_int+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
++  if test "$ac_cv_type_int" = yes; then
++  # The cast to unsigned long works around a bug in the HP C Compiler
++  # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++  # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
++  # This bug is HP SR number 8606223364.
+   if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
++  # Depending upon the size, compute the lo and hi bounds.
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_lo=0 ac_mid=0
++  while :; do
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_hi=$ac_mid; break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_lo=`expr $ac_mid + 1`
++		    if test $ac_lo -le $ac_mid; then
++		      ac_lo= ac_hi=
++		      break
++		    fi
++		    ac_mid=`expr 2 '*' $ac_mid + 1`
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_hi=-1 ac_mid=-1
++  while :; do
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_lo=$ac_mid; break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_hi=`expr '(' $ac_mid ')' - 1`
++		       if test $ac_mid -le $ac_hi; then
++			 ac_lo= ac_hi=
++			 break
++		       fi
++		       ac_mid=`expr 2 '*' $ac_mid`
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  done
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_lo= ac_hi=
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++# Binary search between lo and hi bounds.
++while test "x$ac_lo" != "x$ac_hi"; do
++  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
++test_array [0] = 0
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_hi=$ac_mid
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_lo=`expr '(' $ac_mid ')' + 1`
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++case $ac_lo in
++?*) ac_cv_sizeof_int=$ac_lo;;
++'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute sizeof (int), 77
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; } ;;
++esac
++else
++  if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&2;}
+    { (exit 1); exit 1; }; }
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+@@ -13830,14 +14134,37 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
++$ac_includes_default
++long longval () { return (long) (sizeof (int)); }
++unsigned long ulongval () { return (long) (sizeof (int)); }
+ #include <stdio.h>
+-		main()
+-		{
+-		  FILE *f=fopen("conftestval", "w");
+-		  if (!f) exit(1);
+-		  fprintf(f, "%d\n", (int)sizeof(int));
+-		  exit(0);
+-		}
++#include <stdlib.h>
++int
++main ()
++{
++
++  FILE *f = fopen ("conftest.val", "w");
++  if (! f)
++    exit (1);
++  if (((long) (sizeof (int))) < 0)
++    {
++      long i = longval ();
++      if (i != ((long) (sizeof (int))))
++	exit (1);
++      fprintf (f, "%ld\n", i);
++    }
++  else
++    {
++      unsigned long i = ulongval ();
++      if (i != ((long) (sizeof (int))))
++	exit (1);
++      fprintf (f, "%lu\n", i);
++    }
++  exit (ferror (f) || fclose (f) != 0);
++
++  ;
++  return 0;
++}
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+@@ -13850,19 +14177,27 @@
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+-  ac_cv_sizeof_int=`cat conftestval`
++  ac_cv_sizeof_int=`cat conftest.val`
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+-ac_cv_sizeof_int=0
++{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute sizeof (int), 77
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+-
++rm -f conftest.val
++else
++  ac_cv_sizeof_int=0
++fi
++fi
+ echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+ echo "${ECHO_T}$ac_cv_sizeof_int" >&6
+ cat >>confdefs.h <<_ACEOF
+@@ -13870,6 +14205,7 @@
+ _ACEOF
+ 
+ 
++
+ echo "$as_me:$LINENO: checking whether memmove/bcopy/memcpy handle overlaps" >&5
+ echo $ECHO_N "checking whether memmove/bcopy/memcpy handle overlaps... $ECHO_C" >&6
+ bcopy_test_prog='
+@@ -13888,9 +14224,8 @@
+ 
+ 
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -13923,9 +14258,8 @@
+ 
+ ( exit $ac_status )
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+@@ -13958,9 +14292,8 @@
+ 
+ ( exit $ac_status )
+ if test "$cross_compiling" = yes; then
+-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
+-echo "$as_me: error: failed to compile test program" >&2;}
+-   { (exit 1); exit 1; }; }
++  { echo "$as_me:$LINENO: WARNING: failed to compile test program" >&5
++echo "$as_me: WARNING: failed to compile test program" >&2;}
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+diff -Naur vim71.orig/src/auto/configure.orig vim71/src/auto/configure.orig
+--- vim71.orig/src/auto/configure.orig	1969-12-31 19:00:00.000000000 -0500
++++ vim71/src/auto/configure.orig	2007-05-12 07:49:09.000000000 -0400
+@@ -0,0 +1,16597 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.59.
++#
++# Copyright (C) 2003 Free Software Foundation, Inc.
++# This configure script is free software; the Free Software Foundation
++# gives unlimited permission to copy, distribute and modify it.
++## --------------------- ##
++## M4sh Initialization.  ##
++## --------------------- ##
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
++  set -o posix
++fi
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  as_unset=unset
++else
++  as_unset=false
++fi
++
++
++# Work around bugs in pre-3.0 UWIN ksh.
++$as_unset ENV MAIL MAILPATH
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++  LC_TELEPHONE LC_TIME
++do
++  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++    eval $as_var=C; export $as_var
++  else
++    $as_unset $as_var
++  fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)$' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
++  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\/\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++
++
++# PATH needs CR, and LINENO needs CR and PATH.
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++
++
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
++  # Find who we are.  Look in the path if we contain no path at all
++  # relative or not.
++  case $0 in
++    *[\\/]* ) as_myself=$0 ;;
++    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++
++       ;;
++  esac
++  # We did not find ourselves, most probably we were run as `sh COMMAND'
++  # in which case we are not to be found in the path.
++  if test "x$as_myself" = x; then
++    as_myself=$0
++  fi
++  if test ! -f "$as_myself"; then
++    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
++   { (exit 1); exit 1; }; }
++  fi
++  case $CONFIG_SHELL in
++  '')
++    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for as_base in sh bash ksh sh5; do
++	 case $as_dir in
++	 /*)
++	   if ("$as_dir/$as_base" -c '
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
++	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
++	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
++	     CONFIG_SHELL=$as_dir/$as_base
++	     export CONFIG_SHELL
++	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
++	   fi;;
++	 esac
++       done
++done
++;;
++  esac
++
++  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++  # uniformly replaced by the line number.  The first 'sed' inserts a
++  # line-number line before each line; the second 'sed' does the real
++  # work.  The second script uses 'N' to pair each line-number line
++  # with the numbered line, and appends trailing '-' during
++  # substitution so that $LINENO is not a special case at line end.
++  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
++  sed '=' <$as_myself |
++    sed '
++      N
++      s,$,-,
++      : loop
++      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
++      t loop
++      s,-$,,
++      s,^['$as_cr_digits']*\n,,
++    ' >$as_me.lineno &&
++  chmod +x $as_me.lineno ||
++    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++   { (exit 1); exit 1; }; }
++
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensible to this).
++  . ./$as_me.lineno
++  # Exit status is that of the last command.
++  exit
++}
++
++
++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
++  *c*,-n*) ECHO_N= ECHO_C='
++' ECHO_T='	' ;;
++  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
++  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++  # We could just check for DJGPP; but this test a) works b) is more generic
++  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
++  if test -f conf$$.exe; then
++    # Don't use ln at all; we don't have any links
++    as_ln_s='cp -p'
++  else
++    as_ln_s='ln -s'
++  fi
++elif ln conf$$.file conf$$ 2>/dev/null; then
++  as_ln_s=ln
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.file
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p=:
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++as_executable_p="test -f"
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.
++as_nl='
++'
++IFS=" 	$as_nl"
++
++# CDPATH.
++$as_unset CDPATH
++
++
++# Name of the host.
++# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
++# so uname gets run too.
++ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
++
++exec 6>&1
++
++#
++# Initializations.
++#
++ac_default_prefix=/usr/local
++ac_config_libobj_dir=.
++cross_compiling=no
++subdirs=
++MFLAGS=
++MAKEFLAGS=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Maximum number of lines to put in a shell here document.
++# This variable seems obsolete.  It should probably be removed, and
++# only ac_max_sed_lines should be used.
++: ${ac_max_here_lines=38}
++
++# Identity of this package.
++PACKAGE_NAME=
++PACKAGE_TARNAME=
++PACKAGE_VERSION=
++PACKAGE_STRING=
++PACKAGE_BUGREPORT=
++
++ac_unique_file="vim.h"
++# Factoring default headers for most tests.
++ac_includes_default="\
++#include <stdio.h>
++#if HAVE_SYS_TYPES_H
++# include <sys/types.h>
++#endif
++#if HAVE_SYS_STAT_H
++# include <sys/stat.h>
++#endif
++#if STDC_HEADERS
++# include <stdlib.h>
++# include <stddef.h>
++#else
++# if HAVE_STDLIB_H
++#  include <stdlib.h>
++# endif
++#endif
++#if HAVE_STRING_H
++# if !STDC_HEADERS && HAVE_MEMORY_H
++#  include <memory.h>
++# endif
++# include <string.h>
++#endif
++#if HAVE_STRINGS_H
++# include <strings.h>
++#endif
++#if HAVE_INTTYPES_H
++# include <inttypes.h>
++#else
++# if HAVE_STDINT_H
++#  include <stdint.h>
++# endif
++#endif
++#if HAVE_UNISTD_H
++# include <unistd.h>
++#endif"
++
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AWK STRIP CPP_MM OS_EXTRA_SRC OS_EXTRA_OBJ VIMNAME EXNAME VIEWNAME line_break dovimdiff dogvimdiff compiledby vi_cv_path_mzscheme MZSCHEME_SRC MZSCHEME_OBJ MZSCHEME_PRO MZSCHEME_LIBS MZSCHEME_CFLAGS vi_cv_path_perl vi_cv_perllib shrpenv PERL_SRC PERL_OBJ PERL_PRO PERL_CFLAGS PERL_LIBS vi_cv_path_python PYTHON_CONFDIR PYTHON_LIBS PYTHON_GETPATH_CFLAGS PYTHON_CFLAGS PYTHON_SRC PYTHON_OBJ vi_cv_path_tcl TCL_SRC TCL_OBJ TCL_PRO TCL_CFLAGS TCL_LIBS vi_cv_path_ruby RUBY_SRC RUBY_OBJ RUBY_PRO RUBY_CFLAGS RUBY_LIBS WORKSHOP_SRC WORKSHOP_OBJ NETBEANS_SRC NETBEANS_OBJ SNIFF_SRC SNIFF_OBJ xmkmfpath X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_LIB GTK_CONFIG GTK12_CONFIG PKG_CONFIG GTK_CFLAGS GTK_LIBS GTK_LIBNAME GNOME_LIBS GNOME_LIBDIR GNOME_INCLUDEDIR GNOME_CONFIG MOTIF_LIBNAME NARROW_PROTO GUI_INC_LOC GUI_LIB_LOC GUITYPE GUI_X_LIBS HANGULIN_SRC HANGULIN_OBJ TAGPRG INSTALL_LANGS INSTALL_TOOL_LANGS MSGFMT MAKEMO DEPEND_CFLAGS_FILTER LIBOBJS LTLIBOBJS'
++ac_subst_files=''
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++# The variables have the same names as the options, with
++# dashes changed to underlines.
++cache_file=/dev/null
++exec_prefix=NONE
++no_create=
++no_recursion=
++prefix=NONE
++program_prefix=NONE
++program_suffix=NONE
++program_transform_name=s,x,x,
++silent=
++site=
++srcdir=
++verbose=
++x_includes=NONE
++x_libraries=NONE
++
++# Installation directory options.
++# These are left unexpanded so users can "make install exec_prefix=/foo"
++# and all the variables that are supposed to be based on exec_prefix
++# by default will actually change.
++# Use braces instead of parens because sh, perl, etc. also accept them.
++bindir='${exec_prefix}/bin'
++sbindir='${exec_prefix}/sbin'
++libexecdir='${exec_prefix}/libexec'
++datadir='${prefix}/share'
++sysconfdir='${prefix}/etc'
++sharedstatedir='${prefix}/com'
++localstatedir='${prefix}/var'
++libdir='${exec_prefix}/lib'
++includedir='${prefix}/include'
++oldincludedir='/usr/include'
++infodir='${prefix}/info'
++mandir='${prefix}/man'
++
++ac_prev=
++for ac_option
++do
++  # If the previous option needs an argument, assign it.
++  if test -n "$ac_prev"; then
++    eval "$ac_prev=\$ac_option"
++    ac_prev=
++    continue
++  fi
++
++  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
++
++  # Accept the important Cygnus configure options, so we can diagnose typos.
++
++  case $ac_option in
++
++  -bindir | --bindir | --bindi | --bind | --bin | --bi)
++    ac_prev=bindir ;;
++  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
++    bindir=$ac_optarg ;;
++
++  -build | --build | --buil | --bui | --bu)
++    ac_prev=build_alias ;;
++  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
++    build_alias=$ac_optarg ;;
++
++  -cache-file | --cache-file | --cache-fil | --cache-fi \
++  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
++    ac_prev=cache_file ;;
++  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
++  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
++    cache_file=$ac_optarg ;;
++
++  --config-cache | -C)
++    cache_file=config.cache ;;
++
++  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
++    ac_prev=datadir ;;
++  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
++  | --da=*)
++    datadir=$ac_optarg ;;
++
++  -disable-* | --disable-*)
++    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++   { (exit 1); exit 1; }; }
++    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
++    eval "enable_$ac_feature=no" ;;
++
++  -enable-* | --enable-*)
++    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++   { (exit 1); exit 1; }; }
++    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
++    case $ac_option in
++      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
++      *) ac_optarg=yes ;;
++    esac
++    eval "enable_$ac_feature='$ac_optarg'" ;;
++
++  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
++  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
++  | --exec | --exe | --ex)
++    ac_prev=exec_prefix ;;
++  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
++  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
++  | --exec=* | --exe=* | --ex=*)
++    exec_prefix=$ac_optarg ;;
++
++  -gas | --gas | --ga | --g)
++    # Obsolete; use --with-gas.
++    with_gas=yes ;;
++
++  -help | --help | --hel | --he | -h)
++    ac_init_help=long ;;
++  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
++    ac_init_help=recursive ;;
++  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
++    ac_init_help=short ;;
++
++  -host | --host | --hos | --ho)
++    ac_prev=host_alias ;;
++  -host=* | --host=* | --hos=* | --ho=*)
++    host_alias=$ac_optarg ;;
++
++  -includedir | --includedir | --includedi | --included | --include \
++  | --includ | --inclu | --incl | --inc)
++    ac_prev=includedir ;;
++  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
++  | --includ=* | --inclu=* | --incl=* | --inc=*)
++    includedir=$ac_optarg ;;
++
++  -infodir | --infodir | --infodi | --infod | --info | --inf)
++    ac_prev=infodir ;;
++  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
++    infodir=$ac_optarg ;;
++
++  -libdir | --libdir | --libdi | --libd)
++    ac_prev=libdir ;;
++  -libdir=* | --libdir=* | --libdi=* | --libd=*)
++    libdir=$ac_optarg ;;
++
++  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
++  | --libexe | --libex | --libe)
++    ac_prev=libexecdir ;;
++  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
++  | --libexe=* | --libex=* | --libe=*)
++    libexecdir=$ac_optarg ;;
++
++  -localstatedir | --localstatedir | --localstatedi | --localstated \
++  | --localstate | --localstat | --localsta | --localst \
++  | --locals | --local | --loca | --loc | --lo)
++    ac_prev=localstatedir ;;
++  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
++  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
++  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
++    localstatedir=$ac_optarg ;;
++
++  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
++    ac_prev=mandir ;;
++  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
++    mandir=$ac_optarg ;;
++
++  -nfp | --nfp | --nf)
++    # Obsolete; use --without-fp.
++    with_fp=no ;;
++
++  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
++  | --no-cr | --no-c | -n)
++    no_create=yes ;;
++
++  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
++  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
++    no_recursion=yes ;;
++
++  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
++  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
++  | --oldin | --oldi | --old | --ol | --o)
++    ac_prev=oldincludedir ;;
++  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
++  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
++  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
++    oldincludedir=$ac_optarg ;;
++
++  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
++    ac_prev=prefix ;;
++  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
++    prefix=$ac_optarg ;;
++
++  -program-prefix | --program-prefix | --program-prefi | --program-pref \
++  | --program-pre | --program-pr | --program-p)
++    ac_prev=program_prefix ;;
++  -program-prefix=* | --program-prefix=* | --program-prefi=* \
++  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
++    program_prefix=$ac_optarg ;;
++
++  -program-suffix | --program-suffix | --program-suffi | --program-suff \
++  | --program-suf | --program-su | --program-s)
++    ac_prev=program_suffix ;;
++  -program-suffix=* | --program-suffix=* | --program-suffi=* \
++  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
++    program_suffix=$ac_optarg ;;
++
++  -program-transform-name | --program-transform-name \
++  | --program-transform-nam | --program-transform-na \
++  | --program-transform-n | --program-transform- \
++  | --program-transform | --program-transfor \
++  | --program-transfo | --program-transf \
++  | --program-trans | --program-tran \
++  | --progr-tra | --program-tr | --program-t)
++    ac_prev=program_transform_name ;;
++  -program-transform-name=* | --program-transform-name=* \
++  | --program-transform-nam=* | --program-transform-na=* \
++  | --program-transform-n=* | --program-transform-=* \
++  | --program-transform=* | --program-transfor=* \
++  | --program-transfo=* | --program-transf=* \
++  | --program-trans=* | --program-tran=* \
++  | --progr-tra=* | --program-tr=* | --program-t=*)
++    program_transform_name=$ac_optarg ;;
++
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil)
++    silent=yes ;;
++
++  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
++    ac_prev=sbindir ;;
++  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
++  | --sbi=* | --sb=*)
++    sbindir=$ac_optarg ;;
++
++  -sharedstatedir | --sharedstatedir | --sharedstatedi \
++  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
++  | --sharedst | --shareds | --shared | --share | --shar \
++  | --sha | --sh)
++    ac_prev=sharedstatedir ;;
++  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
++  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
++  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
++  | --sha=* | --sh=*)
++    sharedstatedir=$ac_optarg ;;
++
++  -site | --site | --sit)
++    ac_prev=site ;;
++  -site=* | --site=* | --sit=*)
++    site=$ac_optarg ;;
++
++  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
++    ac_prev=srcdir ;;
++  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
++    srcdir=$ac_optarg ;;
++
++  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
++  | --syscon | --sysco | --sysc | --sys | --sy)
++    ac_prev=sysconfdir ;;
++  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
++  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
++    sysconfdir=$ac_optarg ;;
++
++  -target | --target | --targe | --targ | --tar | --ta | --t)
++    ac_prev=target_alias ;;
++  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
++    target_alias=$ac_optarg ;;
++
++  -v | -verbose | --verbose | --verbos | --verbo | --verb)
++    verbose=yes ;;
++
++  -version | --version | --versio | --versi | --vers | -V)
++    ac_init_version=: ;;
++
++  -with-* | --with-*)
++    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++      { echo "$as_me: error: invalid package name: $ac_package" >&2
++   { (exit 1); exit 1; }; }
++    ac_package=`echo $ac_package| sed 's/-/_/g'`
++    case $ac_option in
++      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
++      *) ac_optarg=yes ;;
++    esac
++    eval "with_$ac_package='$ac_optarg'" ;;
++
++  -without-* | --without-*)
++    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
++      { echo "$as_me: error: invalid package name: $ac_package" >&2
++   { (exit 1); exit 1; }; }
++    ac_package=`echo $ac_package | sed 's/-/_/g'`
++    eval "with_$ac_package=no" ;;
++
++  --x)
++    # Obsolete; use --with-x.
++    with_x=yes ;;
++
++  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
++  | --x-incl | --x-inc | --x-in | --x-i)
++    ac_prev=x_includes ;;
++  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
++  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
++    x_includes=$ac_optarg ;;
++
++  -x-libraries | --x-libraries | --x-librarie | --x-librari \
++  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
++    ac_prev=x_libraries ;;
++  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
++  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
++    x_libraries=$ac_optarg ;;
++
++  -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++   { (exit 1); exit 1; }; }
++    ;;
++
++  *=*)
++    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++    # Reject names that are not valid shell variable names.
++    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++   { (exit 1); exit 1; }; }
++    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
++    eval "$ac_envvar='$ac_optarg'"
++    export $ac_envvar ;;
++
++  *)
++    # FIXME: should be removed in autoconf 3.0.
++    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
++    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
++    ;;
++
++  esac
++done
++
++if test -n "$ac_prev"; then
++  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
++  { echo "$as_me: error: missing argument to $ac_option" >&2
++   { (exit 1); exit 1; }; }
++fi
++
++# Be sure to have absolute paths.
++for ac_var in exec_prefix prefix
++do
++  eval ac_val=$`echo $ac_var`
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
++    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++   { (exit 1); exit 1; }; };;
++  esac
++done
++
++# Be sure to have absolute paths.
++for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
++	      localstatedir libdir includedir oldincludedir infodir mandir
++do
++  eval ac_val=$`echo $ac_var`
++  case $ac_val in
++    [\\/$]* | ?:[\\/]* ) ;;
++    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++   { (exit 1); exit 1; }; };;
++  esac
++done
++
++# There might be people who depend on the old broken behavior: `$host'
++# used to hold the argument of --host etc.
++# FIXME: To remove some day.
++build=$build_alias
++host=$host_alias
++target=$target_alias
++
++# FIXME: To remove some day.
++if test "x$host_alias" != x; then
++  if test "x$build_alias" = x; then
++    cross_compiling=maybe
++    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++    If a cross compiler is detected then cross compile mode will be used." >&2
++  elif test "x$build_alias" != "x$host_alias"; then
++    cross_compiling=yes
++  fi
++fi
++
++ac_tool_prefix=
++test -n "$host_alias" && ac_tool_prefix=$host_alias-
++
++test "$silent" = yes && exec 6>/dev/null
++
++
++# Find the source files, if location was not specified.
++if test -z "$srcdir"; then
++  ac_srcdir_defaulted=yes
++  # Try the directory containing this script, then its parent.
++  ac_confdir=`(dirname "$0") 2>/dev/null ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$0" : 'X\(//\)[^/]' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X"$0" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++  	  /^X\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++  srcdir=$ac_confdir
++  if test ! -r $srcdir/$ac_unique_file; then
++    srcdir=..
++  fi
++else
++  ac_srcdir_defaulted=no
++fi
++if test ! -r $srcdir/$ac_unique_file; then
++  if test "$ac_srcdir_defaulted" = yes; then
++    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
++   { (exit 1); exit 1; }; }
++  else
++    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++   { (exit 1); exit 1; }; }
++  fi
++fi
++(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
++  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
++   { (exit 1); exit 1; }; }
++srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
++ac_env_build_alias_set=${build_alias+set}
++ac_env_build_alias_value=$build_alias
++ac_cv_env_build_alias_set=${build_alias+set}
++ac_cv_env_build_alias_value=$build_alias
++ac_env_host_alias_set=${host_alias+set}
++ac_env_host_alias_value=$host_alias
++ac_cv_env_host_alias_set=${host_alias+set}
++ac_cv_env_host_alias_value=$host_alias
++ac_env_target_alias_set=${target_alias+set}
++ac_env_target_alias_value=$target_alias
++ac_cv_env_target_alias_set=${target_alias+set}
++ac_cv_env_target_alias_value=$target_alias
++ac_env_CC_set=${CC+set}
++ac_env_CC_value=$CC
++ac_cv_env_CC_set=${CC+set}
++ac_cv_env_CC_value=$CC
++ac_env_CFLAGS_set=${CFLAGS+set}
++ac_env_CFLAGS_value=$CFLAGS
++ac_cv_env_CFLAGS_set=${CFLAGS+set}
++ac_cv_env_CFLAGS_value=$CFLAGS
++ac_env_LDFLAGS_set=${LDFLAGS+set}
++ac_env_LDFLAGS_value=$LDFLAGS
++ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
++ac_cv_env_LDFLAGS_value=$LDFLAGS
++ac_env_CPPFLAGS_set=${CPPFLAGS+set}
++ac_env_CPPFLAGS_value=$CPPFLAGS
++ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
++ac_cv_env_CPPFLAGS_value=$CPPFLAGS
++ac_env_CPP_set=${CPP+set}
++ac_env_CPP_value=$CPP
++ac_cv_env_CPP_set=${CPP+set}
++ac_cv_env_CPP_value=$CPP
++
++#
++# Report the --help message.
++#
++if test "$ac_init_help" = "long"; then
++  # Omit some internal or obsolete options to make the list less imposing.
++  # This message is too long to be a string in the A/UX 3.1 sh.
++  cat <<_ACEOF
++\`configure' configures this package to adapt to many kinds of systems.
++
++Usage: $0 [OPTION]... [VAR=VALUE]...
++
++To assign environment variables (e.g., CC, CFLAGS...), specify them as
++VAR=VALUE.  See below for descriptions of some of the useful variables.
++
++Defaults for the options are specified in brackets.
++
++Configuration:
++  -h, --help              display this help and exit
++      --help=short        display options specific to this package
++      --help=recursive    display the short help of all the included packages
++  -V, --version           display version information and exit
++  -q, --quiet, --silent   do not print \`checking...' messages
++      --cache-file=FILE   cache test results in FILE [disabled]
++  -C, --config-cache      alias for \`--cache-file=config.cache'
++  -n, --no-create         do not create output files
++      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
++
++_ACEOF
++
++  cat <<_ACEOF
++Installation directories:
++  --prefix=PREFIX         install architecture-independent files in PREFIX
++			  [$ac_default_prefix]
++  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
++			  [PREFIX]
++
++By default, \`make install' will install all the files in
++\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
++an installation prefix other than \`$ac_default_prefix' using \`--prefix',
++for instance \`--prefix=\$HOME'.
++
++For better control, use the options below.
++
++Fine tuning of the installation directories:
++  --bindir=DIR           user executables [EPREFIX/bin]
++  --sbindir=DIR          system admin executables [EPREFIX/sbin]
++  --libexecdir=DIR       program executables [EPREFIX/libexec]
++  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
++  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
++  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
++  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
++  --libdir=DIR           object code libraries [EPREFIX/lib]
++  --includedir=DIR       C header files [PREFIX/include]
++  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
++  --infodir=DIR          info documentation [PREFIX/info]
++  --mandir=DIR           man documentation [PREFIX/man]
++_ACEOF
++
++  cat <<\_ACEOF
++
++X features:
++  --x-includes=DIR    X include files are in DIR
++  --x-libraries=DIR   X library files are in DIR
++_ACEOF
++fi
++
++if test -n "$ac_init_help"; then
++
++  cat <<\_ACEOF
++
++Optional Features:
++  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
++  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
++  --disable-darwin        Disable Darwin (Mac OS X) support.
++  --disable-xsmp          Disable XSMP session management
++  --disable-xsmp-interact Disable XSMP interaction
++  --enable-mzschemeinterp   Include MzScheme interpreter.
++  --enable-perlinterp     Include Perl interpreter.
++  --enable-pythoninterp   Include Python interpreter.
++  --enable-tclinterp      Include Tcl interpreter.
++  --enable-rubyinterp     Include Ruby interpreter.
++  --enable-cscope         Include cscope interface.
++  --enable-workshop       Include Sun Visual Workshop support.
++  --disable-netbeans      Disable NetBeans integration support.
++  --enable-sniff          Include Sniff interface.
++  --enable-multibyte      Include multibyte editing support.
++  --enable-hangulinput    Include Hangul input support.
++  --enable-xim            Include XIM input support.
++  --enable-fontset        Include X fontset output support.
++  --enable-gui=OPTS     X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon
++  --enable-gtk-check      If auto-select GUI, check for GTK default=yes
++  --enable-gtk2-check     If GTK GUI, check for GTK+ 2 default=yes
++  --enable-gnome-check    If GTK GUI, check for GNOME default=no
++  --enable-motif-check    If auto-select GUI, check for Motif default=yes
++  --enable-athena-check   If auto-select GUI, check for Athena default=yes
++  --enable-nextaw-check   If auto-select GUI, check for neXtaw default=yes
++  --enable-carbon-check   If auto-select GUI, check for Carbon default=yes
++  --disable-gtktest       Do not try to compile and run a test GTK program
++  --disable-acl           Don't check for ACL support.
++  --disable-gpm           Don't use gpm (Linux mouse daemon).
++  --disable-nls           Don't support NLS (gettext()).
++
++Optional Packages:
++  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
++  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
++  --with-mac-arch=ARCH    current, intel, ppc or both
++  --with-vim-name=NAME    what to call the Vim executable
++  --with-ex-name=NAME     what to call the Ex executable
++  --with-view-name=NAME   what to call the View executable
++  --with-global-runtime=DIR    global runtime directory in 'runtimepath'
++  --with-modified-by=NAME       name of who modified a release version
++  --with-features=TYPE    tiny, small, normal, big or huge (default: normal)
++  --with-compiledby=NAME  name to show in :version message
++  --with-plthome=PLTHOME   Use PLTHOME.
++  --with-python-config-dir=PATH  Python's config directory
++  --with-tclsh=PATH       which tclsh to use (default: tclsh8.0)
++  --with-x                use the X Window System
++  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)
++  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)
++  --with-gnome-includes=DIR Specify location of GNOME headers
++  --with-gnome-libs=DIR   Specify location of GNOME libs
++  --with-gnome            Specify prefix for GNOME files
++  --with-motif-lib=STRING   Library for Motif
++  --with-tlib=library     terminal library to be used
++
++Some influential environment variables:
++  CC          C compiler command
++  CFLAGS      C compiler flags
++  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
++              nonstandard directory <lib dir>
++  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
++              headers in a nonstandard directory <include dir>
++  CPP         C preprocessor
++
++Use these variables to override the choices made by `configure' or to help
++it to find libraries and programs with nonstandard names/locations.
++
++_ACEOF
++fi
++
++if test "$ac_init_help" = "recursive"; then
++  # If there are subdirs, report their specific --help.
++  ac_popdir=`pwd`
++  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
++    test -d $ac_dir || continue
++    ac_builddir=.
++
++if test "$ac_dir" != .; then
++  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++  # A "../" for each directory in $ac_dir_suffix.
++  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
++else
++  ac_dir_suffix= ac_top_builddir=
++fi
++
++case $srcdir in
++  .)  # No --srcdir option.  We are building in place.
++    ac_srcdir=.
++    if test -z "$ac_top_builddir"; then
++       ac_top_srcdir=.
++    else
++       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
++    fi ;;
++  [\\/]* | ?:[\\/]* )  # Absolute path.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir ;;
++  *) # Relative path.
++    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_builddir$srcdir ;;
++esac
++
++# Do not use `cd foo && pwd` to compute absolute paths, because
++# the directories may not exist.
++case `pwd` in
++.) ac_abs_builddir="$ac_dir";;
++*)
++  case "$ac_dir" in
++  .) ac_abs_builddir=`pwd`;;
++  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
++  *) ac_abs_builddir=`pwd`/"$ac_dir";;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_builddir=${ac_top_builddir}.;;
++*)
++  case ${ac_top_builddir}. in
++  .) ac_abs_top_builddir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
++  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_srcdir=$ac_srcdir;;
++*)
++  case $ac_srcdir in
++  .) ac_abs_srcdir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
++  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_srcdir=$ac_top_srcdir;;
++*)
++  case $ac_top_srcdir in
++  .) ac_abs_top_srcdir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
++  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
++  esac;;
++esac
++
++    cd $ac_dir
++    # Check for guested configure; otherwise get Cygnus style configure.
++    if test -f $ac_srcdir/configure.gnu; then
++      echo
++      $SHELL $ac_srcdir/configure.gnu  --help=recursive
++    elif test -f $ac_srcdir/configure; then
++      echo
++      $SHELL $ac_srcdir/configure  --help=recursive
++    elif test -f $ac_srcdir/configure.ac ||
++	   test -f $ac_srcdir/configure.in; then
++      echo
++      $ac_configure --help
++    else
++      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
++    fi
++    cd $ac_popdir
++  done
++fi
++
++test -n "$ac_init_help" && exit 0
++if $ac_init_version; then
++  cat <<\_ACEOF
++
++Copyright (C) 2003 Free Software Foundation, Inc.
++This configure script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it.
++_ACEOF
++  exit 0
++fi
++exec 5>auto/config.log
++cat >&5 <<_ACEOF
++This file contains any messages produced by compilers while
++running configure, to aid debugging if configure makes a mistake.
++
++It was created by $as_me, which was
++generated by GNU Autoconf 2.59.  Invocation command line was
++
++  $ $0 $@
++
++_ACEOF
++{
++cat <<_ASUNAME
++## --------- ##
++## Platform. ##
++## --------- ##
++
++hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
++/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
++
++/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
++/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
++hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
++/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
++/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
++/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
++
++_ASUNAME
++
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  echo "PATH: $as_dir"
++done
++
++} >&5
++
++cat >&5 <<_ACEOF
++
++
++## ----------- ##
++## Core tests. ##
++## ----------- ##
++
++_ACEOF
++
++
++# Keep a trace of the command line.
++# Strip out --no-create and --no-recursion so they do not pile up.
++# Strip out --silent because we don't want to record it for future runs.
++# Also quote any args containing shell meta-characters.
++# Make two passes to allow for proper duplicate-argument suppression.
++ac_configure_args=
++ac_configure_args0=
++ac_configure_args1=
++ac_sep=
++ac_must_keep_next=false
++for ac_pass in 1 2
++do
++  for ac_arg
++  do
++    case $ac_arg in
++    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
++    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++    | -silent | --silent | --silen | --sile | --sil)
++      continue ;;
++    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
++      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++    esac
++    case $ac_pass in
++    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++    2)
++      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
++      if test $ac_must_keep_next = true; then
++	ac_must_keep_next=false # Got value, back to normal.
++      else
++	case $ac_arg in
++	  *=* | --config-cache | -C | -disable-* | --disable-* \
++	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
++	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
++	  | -with-* | --with-* | -without-* | --without-* | --x)
++	    case "$ac_configure_args0 " in
++	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
++	    esac
++	    ;;
++	  -* ) ac_must_keep_next=true ;;
++	esac
++      fi
++      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
++      # Get rid of the leading space.
++      ac_sep=" "
++      ;;
++    esac
++  done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
++
++# When interrupted or exit'd, cleanup temporary files, and complete
++# config.log.  We remove comments because anyway the quotes in there
++# would cause problems or look ugly.
++# WARNING: Be sure not to use single quotes in there, as some shells,
++# such as our DU 5.0 friend, will then `close' the trap.
++trap 'exit_status=$?
++  # Save into config.log some information that might help in debugging.
++  {
++    echo
++
++    cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++    echo
++    # The following way of writing the cache mishandles newlines in values,
++{
++  (set) 2>&1 |
++    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
++    *ac_space=\ *)
++      sed -n \
++	"s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
++      ;;
++    *)
++      sed -n \
++	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
++      ;;
++    esac;
++}
++    echo
++
++    cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++    echo
++    for ac_var in $ac_subst_vars
++    do
++      eval ac_val=$`echo $ac_var`
++      echo "$ac_var='"'"'$ac_val'"'"'"
++    done | sort
++    echo
++
++    if test -n "$ac_subst_files"; then
++      cat <<\_ASBOX
++## ------------- ##
++## Output files. ##
++## ------------- ##
++_ASBOX
++      echo
++      for ac_var in $ac_subst_files
++      do
++	eval ac_val=$`echo $ac_var`
++	echo "$ac_var='"'"'$ac_val'"'"'"
++      done | sort
++      echo
++    fi
++
++    if test -s confdefs.h; then
++      cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++      echo
++      sed "/^$/d" confdefs.h | sort
++      echo
++    fi
++    test "$ac_signal" != 0 &&
++      echo "$as_me: caught signal $ac_signal"
++    echo "$as_me: exit $exit_status"
++  } >&5
++  rm -f core *.core &&
++  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
++    exit $exit_status
++     ' 0
++for ac_signal in 1 2 13 15; do
++  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
++done
++ac_signal=0
++
++# confdefs.h avoids OS command line length limits that DEFS can exceed.
++rm -rf conftest* confdefs.h
++# AIX cpp loses on an empty file, so make sure it contains at least a newline.
++echo >confdefs.h
++
++# Predefined preprocessor variables.
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_NAME "$PACKAGE_NAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_VERSION "$PACKAGE_VERSION"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_STRING "$PACKAGE_STRING"
++_ACEOF
++
++
++cat >>confdefs.h <<_ACEOF
++#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
++_ACEOF
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer explicitly selected file to automatically selected ones.
++if test -z "$CONFIG_SITE"; then
++  if test "x$prefix" != xNONE; then
++    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
++  else
++    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
++  fi
++fi
++for ac_site_file in $CONFIG_SITE; do
++  if test -r "$ac_site_file"; then
++    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++    sed 's/^/| /' "$ac_site_file" >&5
++    . "$ac_site_file"
++  fi
++done
++
++if test -r "$cache_file"; then
++  # Some versions of bash will fail to source /dev/null (special
++  # files actually), so we avoid doing that.
++  if test -f "$cache_file"; then
++    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
++echo "$as_me: loading cache $cache_file" >&6;}
++    case $cache_file in
++      [\\/]* | ?:[\\/]* ) . $cache_file;;
++      *)                      . ./$cache_file;;
++    esac
++  fi
++else
++  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
++echo "$as_me: creating cache $cache_file" >&6;}
++  >$cache_file
++fi
++
++# Check that the precious variables saved in the cache have kept the same
++# value.
++ac_cache_corrupted=false
++for ac_var in `(set) 2>&1 |
++	       sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
++  eval ac_old_set=\$ac_cv_env_${ac_var}_set
++  eval ac_new_set=\$ac_env_${ac_var}_set
++  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
++  eval ac_new_val="\$ac_env_${ac_var}_value"
++  case $ac_old_set,$ac_new_set in
++    set,)
++      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,set)
++      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
++      ac_cache_corrupted=: ;;
++    ,);;
++    *)
++      if test "x$ac_old_val" != "x$ac_new_val"; then
++	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
++echo "$as_me:   former value:  $ac_old_val" >&2;}
++	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
++echo "$as_me:   current value: $ac_new_val" >&2;}
++	ac_cache_corrupted=:
++      fi;;
++  esac
++  # Pass precious variables to config.status.
++  if test "$ac_new_set" = set; then
++    case $ac_new_val in
++    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
++      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
++    *) ac_arg=$ac_var=$ac_new_val ;;
++    esac
++    case " $ac_configure_args " in
++      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
++      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++    esac
++  fi
++done
++if $ac_cache_corrupted; then
++  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++          ac_config_headers="$ac_config_headers auto/config.h:config.h.in"
++
++
++cat >>confdefs.h <<\_ACEOF
++#define UNIX 1
++_ACEOF
++
++echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
++echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
++set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
++if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.make <<\_ACEOF
++all:
++	@echo 'ac_maketemp="$(MAKE)"'
++_ACEOF
++# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
++if test -n "$ac_maketemp"; then
++  eval ac_cv_prog_make_${ac_make}_set=yes
++else
++  eval ac_cv_prog_make_${ac_make}_set=no
++fi
++rm -f conftest.make
++fi
++if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++  SET_MAKE=
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++  SET_MAKE="MAKE=${MAKE-make}"
++fi
++
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}gcc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}gcc"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "gcc", so it can be a program name with args.
++set dummy gcc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="gcc"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  CC=$ac_ct_CC
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
++set dummy ${ac_tool_prefix}cc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="${ac_tool_prefix}cc"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++fi
++if test -z "$ac_cv_prog_CC"; then
++  ac_ct_CC=$CC
++  # Extract the first word of "cc", so it can be a program name with args.
++set dummy cc; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="cc"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  CC=$ac_ct_CC
++else
++  CC="$ac_cv_prog_CC"
++fi
++
++fi
++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 "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++  ac_prog_rejected=no
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
++       ac_prog_rejected=yes
++       continue
++     fi
++    ac_cv_prog_CC="cc"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++if test $ac_prog_rejected = yes; then
++  # We found a bogon in the path, so make sure we never use it.
++  set dummy $ac_cv_prog_CC
++  shift
++  if test $# != 0; then
++    # We chose a different compiler from the bogus one.
++    # However, it has the same basename, so the bogon will be chosen
++    # first if we set CC to just the basename; use the full file name.
++    shift
++    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
++  fi
++fi
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++fi
++if test -z "$CC"; then
++  if test -n "$ac_tool_prefix"; then
++  for ac_prog in cl
++  do
++    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
++set dummy $ac_tool_prefix$ac_prog; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$CC"; then
++  ac_cv_prog_CC="$CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++CC=$ac_cv_prog_CC
++if test -n "$CC"; then
++  echo "$as_me:$LINENO: result: $CC" >&5
++echo "${ECHO_T}$CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++    test -n "$CC" && break
++  done
++fi
++if test -z "$CC"; then
++  ac_ct_CC=$CC
++  for ac_prog in cl
++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 "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$ac_ct_CC"; then
++  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_ac_ct_CC="$ac_prog"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++ac_ct_CC=$ac_cv_prog_ac_ct_CC
++if test -n "$ac_ct_CC"; then
++  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
++echo "${ECHO_T}$ac_ct_CC" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  test -n "$ac_ct_CC" && break
++done
++
++  CC=$ac_ct_CC
++fi
++
++fi
++
++
++test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&5
++echo "$as_me: error: no acceptable C compiler found in \$PATH
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
++
++# Provide some information about the compiler.
++echo "$as_me:$LINENO:" \
++     "checking for C compiler version" >&5
++ac_compiler=`set X $ac_compile; echo $2`
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
++  (eval $ac_compiler --version </dev/null >&5) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
++  (eval $ac_compiler -v </dev/null >&5) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
++  (eval $ac_compiler -V </dev/null >&5) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files a.out a.exe b.out"
++# Try to create an executable without -o first, disregard a.out.
++# It will help us diagnose broken compilers, and finding out an intuition
++# of exeext.
++echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
++echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
++ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
++if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
++  (eval $ac_link_default) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  # Find the output, starting from the most likely.  This scheme is
++# not robust to junk in `.', hence go to wildcards (a.*) only as a last
++# resort.
++
++# Be careful to initialize this variable, since it used to be cached.
++# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
++ac_cv_exeext=
++# b.out is created by i960 compilers.
++for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
++do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
++	;;
++    conftest.$ac_ext )
++	# This is the source file.
++	;;
++    [ab].out )
++	# We found the default executable, but exeext='' is most
++	# certainly right.
++	break;;
++    *.* )
++	ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	# FIXME: I believe we export ac_cv_exeext for Libtool,
++	# but it would be cool to find out if it's true.  Does anybody
++	# maintain Libtool? --akim.
++	export ac_cv_exeext
++	break;;
++    * )
++	break;;
++  esac
++done
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
++See \`config.log' for more details." >&5
++echo "$as_me: error: C compiler cannot create executables
++See \`config.log' for more details." >&2;}
++   { (exit 77); exit 77; }; }
++fi
++
++ac_exeext=$ac_cv_exeext
++echo "$as_me:$LINENO: result: $ac_file" >&5
++echo "${ECHO_T}$ac_file" >&6
++
++# Check the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++echo "$as_me:$LINENO: checking whether the C compiler works" >&5
++echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
++# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
++# If not cross compiling, check that we can run a simple program.
++if test "$cross_compiling" != yes; then
++  if { ac_try='./$ac_file'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++    cross_compiling=no
++  else
++    if test "$cross_compiling" = maybe; then
++	cross_compiling=yes
++    else
++	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run C compiled programs.
++If you meant to cross compile, use \`--host'.
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
++    fi
++  fi
++fi
++echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++
++rm -f a.out a.exe conftest$ac_cv_exeext b.out
++ac_clean_files=$ac_clean_files_save
++# Check the compiler produces executables we can run.  If not, either
++# the compiler is broken, or we cross compile.
++echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
++echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
++echo "$as_me:$LINENO: result: $cross_compiling" >&5
++echo "${ECHO_T}$cross_compiling" >&6
++
++echo "$as_me:$LINENO: checking for suffix of executables" >&5
++echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  # If both `conftest.exe' and `conftest' are `present' (well, observable)
++# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
++# work properly (i.e., refer to `conftest.exe'), while it won't with
++# `rm'.
++for ac_file in conftest.exe conftest conftest.*; do
++  test -f "$ac_file" || continue
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
++    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
++	  export ac_cv_exeext
++	  break;;
++    * ) break;;
++  esac
++done
++else
++  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest$ac_cv_exeext
++echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
++echo "${ECHO_T}$ac_cv_exeext" >&6
++
++rm -f conftest.$ac_ext
++EXEEXT=$ac_cv_exeext
++ac_exeext=$EXEEXT
++echo "$as_me:$LINENO: checking for suffix of object files" >&5
++echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
++if test "${ac_cv_objext+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.o conftest.obj
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; then
++  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
++  case $ac_file in
++    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
++    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
++       break;;
++  esac
++done
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot compute suffix of object files: cannot compile
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++rm -f conftest.$ac_cv_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
++echo "${ECHO_T}$ac_cv_objext" >&6
++OBJEXT=$ac_cv_objext
++ac_objext=$OBJEXT
++echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
++echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
++if test "${ac_cv_c_compiler_gnu+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++#ifndef __GNUC__
++       choke me
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_compiler_gnu=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_compiler_gnu=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_cv_c_compiler_gnu=$ac_compiler_gnu
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
++echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
++GCC=`test $ac_compiler_gnu = yes && echo yes`
++ac_test_CFLAGS=${CFLAGS+set}
++ac_save_CFLAGS=$CFLAGS
++CFLAGS="-g"
++echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
++echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_g+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_prog_cc_g=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_prog_cc_g=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
++if test "$ac_test_CFLAGS" = set; then
++  CFLAGS=$ac_save_CFLAGS
++elif test $ac_cv_prog_cc_g = yes; then
++  if test "$GCC" = yes; then
++    CFLAGS="-g -O2"
++  else
++    CFLAGS="-g"
++  fi
++else
++  if test "$GCC" = yes; then
++    CFLAGS="-O2"
++  else
++    CFLAGS=
++  fi
++fi
++echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
++echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
++if test "${ac_cv_prog_cc_stdc+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_cv_prog_cc_stdc=no
++ac_save_CC=$CC
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdarg.h>
++#include <stdio.h>
++#include <sys/types.h>
++#include <sys/stat.h>
++/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
++struct buf { int x; };
++FILE * (*rcsopen) (struct buf *, struct stat *, int);
++static char *e (p, i)
++     char **p;
++     int i;
++{
++  return p[i];
++}
++static char *f (char * (*g) (char **, int), char **p, ...)
++{
++  char *s;
++  va_list v;
++  va_start (v,p);
++  s = g (p, va_arg (v,int));
++  va_end (v);
++  return s;
++}
++
++/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
++   function prototypes and stuff, but not '\xHH' hex character constants.
++   These don't provoke an error unfortunately, instead are silently treated
++   as 'x'.  The following induces an error, until -std1 is added to get
++   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
++   array size at least.  It's necessary to write '\x00'==0 to get something
++   that's true only with -std1.  */
++int osf4_cc_array ['\x00' == 0 ? 1 : -1];
++
++int test (int i, double x);
++struct s1 {int (*f) (int a);};
++struct s2 {int (*f) (double a);};
++int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
++int argc;
++char **argv;
++int
++main ()
++{
++return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
++  ;
++  return 0;
++}
++_ACEOF
++# Don't try gcc -ansi; that turns off useful extensions and
++# breaks some systems' header files.
++# AIX			-qlanglvl=ansi
++# Ultrix and OSF/1	-std1
++# HP-UX 10.20 and later	-Ae
++# HP-UX older versions	-Aa -D_HPUX_SOURCE
++# SVR4			-Xc -D__EXTENSIONS__
++for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
++do
++  CC="$ac_save_CC $ac_arg"
++  rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_prog_cc_stdc=$ac_arg
++break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext
++done
++rm -f conftest.$ac_ext conftest.$ac_objext
++CC=$ac_save_CC
++
++fi
++
++case "x$ac_cv_prog_cc_stdc" in
++  x|xno)
++    echo "$as_me:$LINENO: result: none needed" >&5
++echo "${ECHO_T}none needed" >&6 ;;
++  *)
++    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
++echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
++    CC="$CC $ac_cv_prog_cc_stdc" ;;
++esac
++
++# Some people use a C++ compiler to compile C.  Since we use `exit',
++# in C++ we need to declare it.  In case someone uses the same compiler
++# for both compiling C and C++ we need to have the C++ compiler decide
++# the declaration of exit, since it's the most demanding environment.
++cat >conftest.$ac_ext <<_ACEOF
++#ifndef __cplusplus
++  choke me
++#endif
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  for ac_declaration in \
++   '' \
++   'extern "C" void std::exit (int) throw (); using std::exit;' \
++   'extern "C" void std::exit (int); using std::exit;' \
++   'extern "C" void exit (int) throw ();' \
++   'extern "C" void exit (int);' \
++   'void exit (int);'
++do
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_declaration
++#include <stdlib.h>
++int
++main ()
++{
++exit (42);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++continue
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_declaration
++int
++main ()
++{
++exit (42);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++done
++rm -f conftest*
++if test -n "$ac_declaration"; then
++  echo '#ifdef __cplusplus' >>confdefs.h
++  echo $ac_declaration      >>confdefs.h
++  echo '#endif'             >>confdefs.h
++fi
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++	ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
++echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
++# On Suns, sometimes $CPP names a directory.
++if test -n "$CPP" && test -d "$CPP"; then
++  CPP=
++fi
++if test -z "$CPP"; then
++  if test "${ac_cv_prog_CPP+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++      # Double quotes because CPP needs to be expanded
++    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
++    do
++      ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++  # Use a header file that comes with gcc, so configuring glibc
++  # with a fresh cross-compiler works.
++  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++  # <limits.h> exists even on freestanding compilers.
++  # On the NeXT, cc -E runs the code through the compiler's parser,
++  # not just through cpp. "Syntax error" is here to catch this case.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++		     Syntax error
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  :
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Broken: fails on valid input.
++continue
++fi
++rm -f conftest.err conftest.$ac_ext
++
++  # OK, works on sane cases.  Now check whether non-existent headers
++  # can be detected and how.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  # Broken: success on invalid input.
++continue
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++  break
++fi
++
++    done
++    ac_cv_prog_CPP=$CPP
++
++fi
++  CPP=$ac_cv_prog_CPP
++else
++  ac_cv_prog_CPP=$CPP
++fi
++echo "$as_me:$LINENO: result: $CPP" >&5
++echo "${ECHO_T}$CPP" >&6
++ac_preproc_ok=false
++for ac_c_preproc_warn_flag in '' yes
++do
++  # Use a header file that comes with gcc, so configuring glibc
++  # with a fresh cross-compiler works.
++  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++  # <limits.h> exists even on freestanding compilers.
++  # On the NeXT, cc -E runs the code through the compiler's parser,
++  # not just through cpp. "Syntax error" is here to catch this case.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++		     Syntax error
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  :
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Broken: fails on valid input.
++continue
++fi
++rm -f conftest.err conftest.$ac_ext
++
++  # OK, works on sane cases.  Now check whether non-existent headers
++  # can be detected and how.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ac_nonexistent.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  # Broken: success on invalid input.
++continue
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  # Passes both tests.
++ac_preproc_ok=:
++break
++fi
++rm -f conftest.err conftest.$ac_ext
++
++done
++# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
++rm -f conftest.err conftest.$ac_ext
++if $ac_preproc_ok; then
++  :
++else
++  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&5
++echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
++See \`config.log' for more details." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++ac_ext=c
++ac_cpp='$CPP $CPPFLAGS'
++ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
++ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
++ac_compiler_gnu=$ac_cv_c_compiler_gnu
++
++
++echo "$as_me:$LINENO: checking for egrep" >&5
++echo $ECHO_N "checking for egrep... $ECHO_C" >&6
++if test "${ac_cv_prog_egrep+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
++    then ac_cv_prog_egrep='grep -E'
++    else ac_cv_prog_egrep='egrep'
++    fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
++echo "${ECHO_T}$ac_cv_prog_egrep" >&6
++ EGREP=$ac_cv_prog_egrep
++
++
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "" >/dev/null 2>&1; then
++  :
++fi
++rm -f conftest*
++ echo "$as_me:$LINENO: checking for library containing strerror" >&5
++echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
++if test "${ac_cv_search_strerror+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_func_search_save_LIBS=$LIBS
++ac_cv_search_strerror=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char strerror ();
++int
++main ()
++{
++strerror ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_strerror="none required"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++if test "$ac_cv_search_strerror" = no; then
++  for ac_lib in cposix; do
++    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char strerror ();
++int
++main ()
++{
++strerror ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_strerror="-l$ac_lib"
++break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++  done
++fi
++LIBS=$ac_func_search_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
++echo "${ECHO_T}$ac_cv_search_strerror" >&6
++if test "$ac_cv_search_strerror" != no; then
++  test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
++
++fi
++	for ac_prog in gawk mawk nawk awk
++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 "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_AWK+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$AWK"; then
++  ac_cv_prog_AWK="$AWK" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_AWK="$ac_prog"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++AWK=$ac_cv_prog_AWK
++if test -n "$AWK"; then
++  echo "$as_me:$LINENO: result: $AWK" >&5
++echo "${ECHO_T}$AWK" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  test -n "$AWK" && break
++done
++
++# Extract the first word of "strip", so it can be a program name with args.
++set dummy strip; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_STRIP+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$STRIP"; then
++  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_STRIP="strip"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":"
++fi
++fi
++STRIP=$ac_cv_prog_STRIP
++if test -n "$STRIP"; then
++  echo "$as_me:$LINENO: result: $STRIP" >&5
++echo "${ECHO_T}$STRIP" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++
++
++
++if test -z "$CFLAGS"; then
++  CFLAGS="-O"
++  test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
++fi
++if test "$GCC" = yes; then
++    gccversion=`"$CC" -dumpversion`
++  if test "x$gccversion" = "x"; then
++        gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
++  fi
++    if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
++    echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
++    CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
++  else
++    if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
++      echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
++      CFLAGS="$CFLAGS -fno-strength-reduce"
++    fi
++  fi
++fi
++
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: cannot compile a simple program, check CC and CFLAGS
++  (cross compiling doesn't work)" >&5
++echo "$as_me: error: cannot compile a simple program, check CC and CFLAGS
++  (cross compiling doesn't work)" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++test "$GCC" = yes && CPP_MM=M;
++
++if test -f ./toolcheck; then
++  { echo "$as_me:$LINENO: checking for buggy tools..." >&5
++echo "$as_me: checking for buggy tools..." >&6;}
++  sh ./toolcheck 1>&6
++fi
++
++OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
++
++echo "$as_me:$LINENO: checking for BeOS" >&5
++echo $ECHO_N "checking for BeOS... $ECHO_C" >&6
++case `uname` in
++    BeOS)	OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
++		BEOS=yes; echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;;
++    *)		BEOS=no; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;;
++esac
++
++echo "$as_me:$LINENO: checking for QNX" >&5
++echo $ECHO_N "checking for QNX... $ECHO_C" >&6
++case `uname` in
++    QNX)	OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
++		test -z "$with_x" && with_x=no
++		QNX=yes; echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;;
++    *)		QNX=no; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;;
++esac
++
++echo "$as_me:$LINENO: checking for Darwin (Mac OS X)" >&5
++echo $ECHO_N "checking for Darwin (Mac OS X)... $ECHO_C" >&6
++if test "`(uname) 2>/dev/null`" = Darwin; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++
++  echo "$as_me:$LINENO: checking --disable-darwin argument" >&5
++echo $ECHO_N "checking --disable-darwin argument... $ECHO_C" >&6
++  # Check whether --enable-darwin or --disable-darwin was given.
++if test "${enable_darwin+set}" = set; then
++  enableval="$enable_darwin"
++
++else
++  enable_darwin="yes"
++fi;
++  if test "$enable_darwin" = "yes"; then
++    echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++    echo "$as_me:$LINENO: checking if Darwin files are there" >&5
++echo $ECHO_N "checking if Darwin files are there... $ECHO_C" >&6
++    if test -f os_macosx.c; then
++      echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++    else
++      echo "$as_me:$LINENO: result: no, Darwin support disabled" >&5
++echo "${ECHO_T}no, Darwin support disabled" >&6
++      enable_darwin=no
++    fi
++  else
++    echo "$as_me:$LINENO: result: yes, Darwin support excluded" >&5
++echo "${ECHO_T}yes, Darwin support excluded" >&6
++  fi
++
++  echo "$as_me:$LINENO: checking --with-mac-arch argument" >&5
++echo $ECHO_N "checking --with-mac-arch argument... $ECHO_C" >&6
++
++# Check whether --with-mac-arch or --without-mac-arch was given.
++if test "${with_mac_arch+set}" = set; then
++  withval="$with_mac_arch"
++  MACARCH="$withval"; echo "$as_me:$LINENO: result: $MACARCH" >&5
++echo "${ECHO_T}$MACARCH" >&6
++else
++  MACARCH="current"; echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
++echo "${ECHO_T}defaulting to $MACARCH" >&6
++fi;
++
++  if test "x$MACARCH" = "xboth"; then
++    echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
++echo $ECHO_N "checking for 10.4 universal SDK... $ECHO_C" >&6
++                            save_cppflags="$CPPFLAGS"
++    save_cflags="$CFLAGS"
++    save_ldflags="$LDFLAGS"
++    CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: found" >&5
++echo "${ECHO_T}found" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: not found" >&5
++echo "${ECHO_T}not found" >&6
++	CFLAGS="$save_cflags"
++	echo "$as_me:$LINENO: checking if Intel architecture is supported" >&5
++echo $ECHO_N "checking if Intel architecture is supported... $ECHO_C" >&6
++	CPPFLAGS="$CPPFLAGS -arch i386"
++	LDFLAGS="$save_ldflags -arch i386"
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; MACARCH="intel"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++		MACARCH="ppc"
++		CPPFLAGS="$save_cppflags -arch ppc"
++		LDFLAGS="$save_ldflags -arch ppc"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++  elif test "x$MACARCH" = "xintel"; then
++    CPPFLAGS="$CPPFLAGS -arch intel"
++    LDFLAGS="$LDFLAGS -arch intel"
++  elif test "x$MACARCH" = "xppc"; then
++    CPPFLAGS="$CPPFLAGS -arch ppc"
++    LDFLAGS="$LDFLAGS -arch ppc"
++  fi
++
++  if test "$enable_darwin" = "yes"; then
++    MACOSX=yes
++    OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
++    OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
++        CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
++    if test "x$MACARCH" = "xboth"; then
++      CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
++    else
++      CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
++    fi
++
++                echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
++if test "${ac_cv_header_stdc+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_header_stdc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_header_stdc=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "memchr" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++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 <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "free" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++  if test "$cross_compiling" = yes; then
++  :
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ctype.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++		   (('a' <= (c) && (c) <= 'i') \
++		     || ('j' <= (c) && (c) <= 'r') \
++		     || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++  int i;
++  for (i = 0; i < 256; i++)
++    if (XOR (islower (i), ISLOWER (i))
++	|| toupper (i) != TOUPPER (i))
++      exit(2);
++  exit (0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++# On IRIX 5.3, sys/types and inttypes.h are conflicting.
++
++
++
++
++
++
++
++
++
++for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
++		  inttypes.h stdint.h unistd.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_Header=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
++  echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
++echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6
++if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
++echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5
++echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <Carbon/Carbon.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5
++echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <Carbon/Carbon.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
++echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6
++if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_cv_header_Carbon_Carbon_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
++echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6
++
++fi
++if test $ac_cv_header_Carbon_Carbon_h = yes; then
++  CARBON=yes
++fi
++
++
++    if test "x$CARBON" = "xyes"; then
++      if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk -a "X$enable_gui" != Xgtk2; then
++	with_x=no
++      fi
++    fi
++  fi
++
++        if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
++    CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-Oz/'`
++  fi
++
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++
++
++
++have_local_include=''
++have_local_lib=''
++if test "$GCC" = yes; then
++  echo 'void f(){}' > conftest.c
++    have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
++  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
++  rm -f conftest.c conftest.o
++fi
++if test -z "$have_local_lib" -a -d /usr/local/lib; then
++  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
++  if test "$tt" = "$LDFLAGS"; then
++    LDFLAGS="$LDFLAGS -L/usr/local/lib"
++  fi
++fi
++if test -z "$have_local_include" -a -d /usr/local/include; then
++  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
++  if test "$tt" = "$CPPFLAGS"; then
++    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
++  fi
++fi
++
++echo "$as_me:$LINENO: checking --with-vim-name argument" >&5
++echo $ECHO_N "checking --with-vim-name argument... $ECHO_C" >&6
++
++# Check whether --with-vim-name or --without-vim-name was given.
++if test "${with_vim_name+set}" = set; then
++  withval="$with_vim_name"
++  VIMNAME="$withval"; echo "$as_me:$LINENO: result: $VIMNAME" >&5
++echo "${ECHO_T}$VIMNAME" >&6
++else
++  VIMNAME="vim"; echo "$as_me:$LINENO: result: Defaulting to $VIMNAME" >&5
++echo "${ECHO_T}Defaulting to $VIMNAME" >&6
++fi;
++
++echo "$as_me:$LINENO: checking --with-ex-name argument" >&5
++echo $ECHO_N "checking --with-ex-name argument... $ECHO_C" >&6
++
++# Check whether --with-ex-name or --without-ex-name was given.
++if test "${with_ex_name+set}" = set; then
++  withval="$with_ex_name"
++  EXNAME="$withval"; echo "$as_me:$LINENO: result: $EXNAME" >&5
++echo "${ECHO_T}$EXNAME" >&6
++else
++  EXNAME="ex"; echo "$as_me:$LINENO: result: Defaulting to ex" >&5
++echo "${ECHO_T}Defaulting to ex" >&6
++fi;
++
++echo "$as_me:$LINENO: checking --with-view-name argument" >&5
++echo $ECHO_N "checking --with-view-name argument... $ECHO_C" >&6
++
++# Check whether --with-view-name or --without-view-name was given.
++if test "${with_view_name+set}" = set; then
++  withval="$with_view_name"
++  VIEWNAME="$withval"; echo "$as_me:$LINENO: result: $VIEWNAME" >&5
++echo "${ECHO_T}$VIEWNAME" >&6
++else
++  VIEWNAME="view"; echo "$as_me:$LINENO: result: Defaulting to view" >&5
++echo "${ECHO_T}Defaulting to view" >&6
++fi;
++
++
++echo "$as_me:$LINENO: checking --with-global-runtime argument" >&5
++echo $ECHO_N "checking --with-global-runtime argument... $ECHO_C" >&6
++
++# Check whether --with-global-runtime or --without-global-runtime was given.
++if test "${with_global_runtime+set}" = set; then
++  withval="$with_global_runtime"
++  echo "$as_me:$LINENO: result: $withval" >&5
++echo "${ECHO_T}$withval" >&6; cat >>confdefs.h <<_ACEOF
++#define RUNTIME_GLOBAL "$withval"
++_ACEOF
++
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++
++echo "$as_me:$LINENO: checking --with-modified-by argument" >&5
++echo $ECHO_N "checking --with-modified-by argument... $ECHO_C" >&6
++
++# Check whether --with-modified-by or --without-modified-by was given.
++if test "${with_modified_by+set}" = set; then
++  withval="$with_modified_by"
++  echo "$as_me:$LINENO: result: $withval" >&5
++echo "${ECHO_T}$withval" >&6; cat >>confdefs.h <<_ACEOF
++#define MODIFIED_BY "$withval"
++_ACEOF
++
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++
++echo "$as_me:$LINENO: checking if character set is EBCDIC" >&5
++echo $ECHO_N "checking if character set is EBCDIC... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++ /* TryCompile function for CharSet.
++   Treat any failure as ASCII for compatibility with existing art.
++   Use compile-time rather than run-time tests for cross-compiler
++   tolerance.  */
++#if '0'!=240
++make an error "Character set is not EBCDIC"
++#endif
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++   # TryCompile action if true
++cf_cv_ebcdic=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ # TryCompile action if false
++cf_cv_ebcdic=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++# end of TryCompile ])
++# end of CacheVal CvEbcdic
++echo "$as_me:$LINENO: result: $cf_cv_ebcdic" >&5
++echo "${ECHO_T}$cf_cv_ebcdic" >&6
++case "$cf_cv_ebcdic" in  #(vi
++    yes)	cat >>confdefs.h <<\_ACEOF
++#define EBCDIC 1
++_ACEOF
++
++		line_break='"\\n"'
++		;;
++    *)		line_break='"\\012"';;
++esac
++
++
++if test "$cf_cv_ebcdic" = "yes"; then
++echo "$as_me:$LINENO: checking for OS/390 Unix" >&5
++echo $ECHO_N "checking for OS/390 Unix... $ECHO_C" >&6
++case `uname` in
++    OS/390)	OS390Unix="yes";
++										if test "$CC" = "cc"; then
++		  ccm="$_CC_CCMODE"
++		  ccn="CC"
++		else
++		  if test "$CC" = "c89"; then
++		    ccm="$_CC_C89MODE"
++		    ccn="C89"
++		  else
++		    ccm=1
++		  fi
++		fi
++		if test "$ccm" != "1"; then
++		  echo ""
++		  echo "------------------------------------------"
++		  echo " On OS/390 Unix, the environment variable"
++		  echo " __CC_${ccn}MODE must be set to \"1\"!"
++		  echo " Do:"
++		  echo "    export _CC_${ccn}MODE=1"
++		  echo " and then call configure again."
++		  echo "------------------------------------------"
++		  exit 1
++		fi
++		CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
++		echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++		;;
++    *)		OS390Unix="no";
++		echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++		;;
++esac
++fi
++
++
++
++echo "$as_me:$LINENO: checking --with-features argument" >&5
++echo $ECHO_N "checking --with-features argument... $ECHO_C" >&6
++
++# Check whether --with-features or --without-features was given.
++if test "${with_features+set}" = set; then
++  withval="$with_features"
++  features="$withval"; echo "$as_me:$LINENO: result: $features" >&5
++echo "${ECHO_T}$features" >&6
++else
++  features="normal"; echo "$as_me:$LINENO: result: Defaulting to normal" >&5
++echo "${ECHO_T}Defaulting to normal" >&6
++fi;
++
++dovimdiff=""
++dogvimdiff=""
++case "$features" in
++  tiny)		cat >>confdefs.h <<\_ACEOF
++#define FEAT_TINY 1
++_ACEOF
++ ;;
++  small)	cat >>confdefs.h <<\_ACEOF
++#define FEAT_SMALL 1
++_ACEOF
++ ;;
++  normal)	cat >>confdefs.h <<\_ACEOF
++#define FEAT_NORMAL 1
++_ACEOF
++ dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  big)		cat >>confdefs.h <<\_ACEOF
++#define FEAT_BIG 1
++_ACEOF
++ dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  huge)		cat >>confdefs.h <<\_ACEOF
++#define FEAT_HUGE 1
++_ACEOF
++ dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  *)		echo "$as_me:$LINENO: result: Sorry, $features is not supported" >&5
++echo "${ECHO_T}Sorry, $features is not supported" >&6 ;;
++esac
++
++
++
++
++echo "$as_me:$LINENO: checking --with-compiledby argument" >&5
++echo $ECHO_N "checking --with-compiledby argument... $ECHO_C" >&6
++
++# Check whether --with-compiledby or --without-compiledby was given.
++if test "${with_compiledby+set}" = set; then
++  withval="$with_compiledby"
++  compiledby="$withval"; echo "$as_me:$LINENO: result: $withval" >&5
++echo "${ECHO_T}$withval" >&6
++else
++  compiledby=""; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++
++
++echo "$as_me:$LINENO: checking --disable-xsmp argument" >&5
++echo $ECHO_N "checking --disable-xsmp argument... $ECHO_C" >&6
++# Check whether --enable-xsmp or --disable-xsmp was given.
++if test "${enable_xsmp+set}" = set; then
++  enableval="$enable_xsmp"
++
++else
++  enable_xsmp="yes"
++fi;
++
++if test "$enable_xsmp" = "yes"; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++  echo "$as_me:$LINENO: checking --disable-xsmp-interact argument" >&5
++echo $ECHO_N "checking --disable-xsmp-interact argument... $ECHO_C" >&6
++  # Check whether --enable-xsmp-interact or --disable-xsmp-interact was given.
++if test "${enable_xsmp_interact+set}" = set; then
++  enableval="$enable_xsmp_interact"
++
++else
++  enable_xsmp_interact="yes"
++fi;
++  if test "$enable_xsmp_interact" = "yes"; then
++    echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++    cat >>confdefs.h <<\_ACEOF
++#define USE_XSMP_INTERACT 1
++_ACEOF
++
++  else
++    echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++  fi
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++
++echo "$as_me:$LINENO: checking --enable-mzschemeinterp argument" >&5
++echo $ECHO_N "checking --enable-mzschemeinterp argument... $ECHO_C" >&6
++# Check whether --enable-mzschemeinterp or --disable-mzschemeinterp was given.
++if test "${enable_mzschemeinterp+set}" = set; then
++  enableval="$enable_mzschemeinterp"
++
++else
++  enable_mzschemeinterp="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_mzschemeinterp" >&5
++echo "${ECHO_T}$enable_mzschemeinterp" >&6
++
++if test "$enable_mzschemeinterp" = "yes"; then
++
++
++  echo "$as_me:$LINENO: checking --with-plthome argument" >&5
++echo $ECHO_N "checking --with-plthome argument... $ECHO_C" >&6
++
++# Check whether --with-plthome or --without-plthome was given.
++if test "${with_plthome+set}" = set; then
++  withval="$with_plthome"
++  with_plthome="$withval"; echo "$as_me:$LINENO: result: $with_plthome" >&5
++echo "${ECHO_T}$with_plthome" >&6
++else
++  with_plthome="";echo "$as_me:$LINENO: result: \"no\"" >&5
++echo "${ECHO_T}\"no\"" >&6
++fi;
++
++  if test "X$with_plthome" != "X"; then
++       vi_cv_path_mzscheme_pfx="$with_plthome"
++  else
++    echo "$as_me:$LINENO: checking PLTHOME environment var" >&5
++echo $ECHO_N "checking PLTHOME environment var... $ECHO_C" >&6
++    if test "X$PLTHOME" != "X"; then
++	echo "$as_me:$LINENO: result: \"$PLTHOME\"" >&5
++echo "${ECHO_T}\"$PLTHOME\"" >&6
++	vi_cv_path_mzscheme_pfx="$PLTHOME"
++    else
++	echo "$as_me:$LINENO: result: \"not set\"" >&5
++echo "${ECHO_T}\"not set\"" >&6
++		# Extract the first word of "mzscheme", so it can be a program name with args.
++set dummy mzscheme; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_mzscheme+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_mzscheme in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_mzscheme="$vi_cv_path_mzscheme" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_mzscheme=$ac_cv_path_vi_cv_path_mzscheme
++
++if test -n "$vi_cv_path_mzscheme"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme" >&5
++echo "${ECHO_T}$vi_cv_path_mzscheme" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++
++			if test "X$vi_cv_path_mzscheme" != "X"; then
++	  lsout=`ls -l $vi_cv_path_mzscheme`
++	  if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
++	    vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
++	  fi
++	fi
++
++	if test "X$vi_cv_path_mzscheme" != "X"; then
++	    	    echo "$as_me:$LINENO: checking MzScheme install prefix" >&5
++echo $ECHO_N "checking MzScheme install prefix... $ECHO_C" >&6
++if test "${vi_cv_path_mzscheme_pfx+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++   vi_cv_path_mzscheme_pfx=`
++	    ${vi_cv_path_mzscheme} -evm \
++	    "(display (simplify-path		\
++	       (build-path (call-with-values	\
++		(lambda () (split-path (find-system-path (quote exec-file)))) \
++		(lambda (base name must-be-dir?) base)) (quote up))))"`
++fi
++echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5
++echo "${ECHO_T}$vi_cv_path_mzscheme_pfx" >&6
++	    	    vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
++	fi
++    fi
++  fi
++
++  SCHEME_INC=
++  if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
++    echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5
++echo $ECHO_N "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... $ECHO_C" >&6
++    if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
++      echo "$as_me:$LINENO: result: \"yes\"" >&5
++echo "${ECHO_T}\"yes\"" >&6
++    else
++      echo "$as_me:$LINENO: result: \"no\"" >&5
++echo "${ECHO_T}\"no\"" >&6
++      echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include" >&5
++echo $ECHO_N "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include... $ECHO_C" >&6
++      if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
++	echo "$as_me:$LINENO: result: \"yes\"" >&5
++echo "${ECHO_T}\"yes\"" >&6
++	SCHEME_INC=/plt
++      else
++	echo "$as_me:$LINENO: result: \"no\"" >&5
++echo "${ECHO_T}\"no\"" >&6
++	vi_cv_path_mzscheme_pfx=
++      fi
++    fi
++  fi
++
++  if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
++    if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
++      MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
++    else
++      MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
++      if test "$GCC" = yes; then
++			MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
++      elif test "`(uname) 2>/dev/null`" = SunOS &&
++			       uname -r | grep '^5' >/dev/null; then
++	MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
++      fi
++    fi
++    if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
++      SCHEME_COLLECTS=lib/plt/
++    fi
++    MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC}   \
++      -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
++    MZSCHEME_SRC="if_mzsch.c"
++    MZSCHEME_OBJ="objects/if_mzsch.o"
++    MZSCHEME_PRO="if_mzsch.pro"
++    cat >>confdefs.h <<\_ACEOF
++#define FEAT_MZSCHEME 1
++_ACEOF
++
++  fi
++
++
++
++
++
++fi
++
++
++echo "$as_me:$LINENO: checking --enable-perlinterp argument" >&5
++echo $ECHO_N "checking --enable-perlinterp argument... $ECHO_C" >&6
++# Check whether --enable-perlinterp or --disable-perlinterp was given.
++if test "${enable_perlinterp+set}" = set; then
++  enableval="$enable_perlinterp"
++
++else
++  enable_perlinterp="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_perlinterp" >&5
++echo "${ECHO_T}$enable_perlinterp" >&6
++if test "$enable_perlinterp" = "yes"; then
++
++  # Extract the first word of "perl", so it can be a program name with args.
++set dummy perl; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_perl+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_perl in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_perl="$vi_cv_path_perl" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_perl=$ac_cv_path_vi_cv_path_perl
++
++if test -n "$vi_cv_path_perl"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_perl" >&5
++echo "${ECHO_T}$vi_cv_path_perl" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  if test "X$vi_cv_path_perl" != "X"; then
++    echo "$as_me:$LINENO: checking Perl version" >&5
++echo $ECHO_N "checking Perl version... $ECHO_C" >&6
++    if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
++     eval `$vi_cv_path_perl -V:usethreads`
++     if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
++       badthreads=no
++     else
++       if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then
++	 eval `$vi_cv_path_perl -V:use5005threads`
++	 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then
++	   badthreads=no
++	 else
++	   badthreads=yes
++	   echo "$as_me:$LINENO: result: >>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&5
++echo "${ECHO_T}>>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&6
++	 fi
++       else
++	 badthreads=yes
++	 echo "$as_me:$LINENO: result: >>> Perl 5.5 with threads cannot be used <<<" >&5
++echo "${ECHO_T}>>> Perl 5.5 with threads cannot be used <<<" >&6
++       fi
++     fi
++     if test $badthreads = no; then
++      echo "$as_me:$LINENO: result: OK" >&5
++echo "${ECHO_T}OK" >&6
++      eval `$vi_cv_path_perl -V:shrpenv`
++      if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
++	shrpenv=""
++      fi
++      vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
++
++            perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
++	      -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//'`
++            perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
++		sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
++			-e 's/-bE:perl.exp//' -e 's/-lc //'`
++                  perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
++		-e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
++
++                  echo "$as_me:$LINENO: checking if compile and link flags for Perl are sane" >&5
++echo $ECHO_N "checking if compile and link flags for Perl are sane... $ECHO_C" >&6
++      cflags_save=$CFLAGS
++      libs_save=$LIBS
++      ldflags_save=$LDFLAGS
++      CFLAGS="$CFLAGS $perlcppflags"
++      LIBS="$LIBS $perllibs"
++      LDFLAGS="$perlldflags $LDFLAGS"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; perl_ok=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no: PERL DISABLED" >&5
++echo "${ECHO_T}no: PERL DISABLED" >&6; perl_ok=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++      CFLAGS=$cflags_save
++      LIBS=$libs_save
++      LDFLAGS=$ldflags_save
++      if test $perl_ok = yes; then
++	if test "X$perlcppflags" != "X"; then
++	  	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
++	fi
++	if test "X$perlldflags" != "X"; then
++	  LDFLAGS="$perlldflags $LDFLAGS"
++	fi
++	PERL_LIBS=$perllibs
++	PERL_SRC="auto/if_perl.c if_perlsfio.c"
++	PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o"
++	PERL_PRO="if_perl.pro if_perlsfio.pro"
++	cat >>confdefs.h <<\_ACEOF
++#define FEAT_PERL 1
++_ACEOF
++
++      fi
++     fi
++    else
++      echo "$as_me:$LINENO: result: >>> too old; need Perl version 5.003_01 or later <<<" >&5
++echo "${ECHO_T}>>> too old; need Perl version 5.003_01 or later <<<" >&6
++    fi
++  fi
++
++  if test "x$MACOSX" = "xyes"; then
++        dir=/System/Library/Perl
++    darwindir=$dir/darwin
++    if test -d $darwindir; then
++      PERL=/usr/bin/perl
++    else
++            dir=/System/Library/Perl/5.8.1
++      darwindir=$dir/darwin-thread-multi-2level
++      if test -d $darwindir; then
++	PERL=/usr/bin/perl
++      fi
++    fi
++    if test -n "$PERL"; then
++      PERL_DIR="$dir"
++      PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
++      PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
++      PERL_LIBS="-L$darwindir/CORE -lperl"
++    fi
++  fi
++fi
++
++
++
++
++
++
++
++echo "$as_me:$LINENO: checking --enable-pythoninterp argument" >&5
++echo $ECHO_N "checking --enable-pythoninterp argument... $ECHO_C" >&6
++# Check whether --enable-pythoninterp or --disable-pythoninterp was given.
++if test "${enable_pythoninterp+set}" = set; then
++  enableval="$enable_pythoninterp"
++
++else
++  enable_pythoninterp="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_pythoninterp" >&5
++echo "${ECHO_T}$enable_pythoninterp" >&6
++if test "$enable_pythoninterp" = "yes"; then
++    # Extract the first word of "python", so it can be a program name with args.
++set dummy python; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_python+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_python in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_python="$vi_cv_path_python" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_python=$ac_cv_path_vi_cv_path_python
++
++if test -n "$vi_cv_path_python"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_python" >&5
++echo "${ECHO_T}$vi_cv_path_python" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  if test "X$vi_cv_path_python" != "X"; then
++
++        echo "$as_me:$LINENO: checking Python version" >&5
++echo $ECHO_N "checking Python version... $ECHO_C" >&6
++if test "${vi_cv_var_python_version+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  vi_cv_var_python_version=`
++	    ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
++
++fi
++echo "$as_me:$LINENO: result: $vi_cv_var_python_version" >&5
++echo "${ECHO_T}$vi_cv_var_python_version" >&6
++
++        echo "$as_me:$LINENO: checking Python is 1.4 or better" >&5
++echo $ECHO_N "checking Python is 1.4 or better... $ECHO_C" >&6
++    if ${vi_cv_path_python} -c \
++	"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
++    then
++      echo "$as_me:$LINENO: result: yep" >&5
++echo "${ECHO_T}yep" >&6
++
++            echo "$as_me:$LINENO: checking Python's install prefix" >&5
++echo $ECHO_N "checking Python's install prefix... $ECHO_C" >&6
++if test "${vi_cv_path_python_pfx+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++   vi_cv_path_python_pfx=`
++	    ${vi_cv_path_python} -c \
++		"import sys; print sys.prefix"`
++fi
++echo "$as_me:$LINENO: result: $vi_cv_path_python_pfx" >&5
++echo "${ECHO_T}$vi_cv_path_python_pfx" >&6
++
++            echo "$as_me:$LINENO: checking Python's execution prefix" >&5
++echo $ECHO_N "checking Python's execution prefix... $ECHO_C" >&6
++if test "${vi_cv_path_python_epfx+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++   vi_cv_path_python_epfx=`
++	    ${vi_cv_path_python} -c \
++		"import sys; print sys.exec_prefix"`
++fi
++echo "$as_me:$LINENO: result: $vi_cv_path_python_epfx" >&5
++echo "${ECHO_T}$vi_cv_path_python_epfx" >&6
++
++
++      if test "${vi_cv_path_pythonpath+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++   vi_cv_path_pythonpath=`
++	    unset PYTHONPATH;
++	    ${vi_cv_path_python} -c \
++		"import sys, string; print string.join(sys.path,':')"`
++fi
++
++
++
++
++# Check whether --with-python-config-dir or --without-python-config-dir was given.
++if test "${with_python_config_dir+set}" = set; then
++  withval="$with_python_config_dir"
++   vi_cv_path_python_conf="${withval}"
++fi;
++
++      echo "$as_me:$LINENO: checking Python's configuration directory" >&5
++echo $ECHO_N "checking Python's configuration directory... $ECHO_C" >&6
++if test "${vi_cv_path_python_conf+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++	vi_cv_path_python_conf=
++	for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
++	  for subdir in lib share; do
++	    d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
++	    if test -d "$d" && test -f "$d/config.c"; then
++	      vi_cv_path_python_conf="$d"
++	    fi
++	  done
++	done
++
++fi
++echo "$as_me:$LINENO: result: $vi_cv_path_python_conf" >&5
++echo "${ECHO_T}$vi_cv_path_python_conf" >&6
++
++      PYTHON_CONFDIR="${vi_cv_path_python_conf}"
++
++      if test "X$PYTHON_CONFDIR" = "X"; then
++	echo "$as_me:$LINENO: result: can't find it!" >&5
++echo "${ECHO_T}can't find it!" >&6
++      else
++
++			if test "${vi_cv_path_python_plibs+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++
++	    tmp_mkf="/tmp/Makefile-conf$$"
++	    cat ${PYTHON_CONFDIR}/Makefile - <<'eof' >${tmp_mkf}
++__:
++	@echo "python_MODLIBS='$(MODLIBS)'"
++	@echo "python_LIBS='$(LIBS)'"
++	@echo "python_SYSLIBS='$(SYSLIBS)'"
++	@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
++eof
++	    	    eval "`cd ${PYTHON_CONFDIR} && make -f ${tmp_mkf} __ | sed '/ directory /d'`"
++	    rm -f ${tmp_mkf}
++	    if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
++		"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
++	      vi_cv_path_python_plibs="-framework Python"
++	    else
++	      if test "${vi_cv_var_python_version}" = "1.4"; then
++		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
++	      else
++		  vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
++	      fi
++	      vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_MODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
++	      	      vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
++	    fi
++
++fi
++
++
++	PYTHON_LIBS="${vi_cv_path_python_plibs}"
++	if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
++	  PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
++	else
++	  PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
++	fi
++	PYTHON_SRC="if_python.c"
++		if test "x$MACOSX" = "xyes"; then
++	  PYTHON_OBJ="objects/if_python.o"
++	else
++	  PYTHON_OBJ="objects/if_python.o objects/py_config.o"
++	fi
++	if test "${vi_cv_var_python_version}" = "1.4"; then
++	   PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
++	fi
++	PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
++
++								echo "$as_me:$LINENO: checking if -pthread should be used" >&5
++echo $ECHO_N "checking if -pthread should be used... $ECHO_C" >&6
++	threadsafe_flag=
++	thread_lib=
++	        if test "`(uname) 2>/dev/null`" != Darwin; then
++	  test "$GCC" = yes && threadsafe_flag="-pthread"
++	  if test "`(uname) 2>/dev/null`" = FreeBSD; then
++	    threadsafe_flag="-D_THREAD_SAFE"
++	    thread_lib="-pthread"
++	  fi
++	fi
++	libs_save_old=$LIBS
++	if test -n "$threadsafe_flag"; then
++	  cflags_save=$CFLAGS
++	  CFLAGS="$CFLAGS $threadsafe_flag"
++	  LIBS="$LIBS $thread_lib"
++	  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; LIBS=$libs_save_old
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++	  CFLAGS=$cflags_save
++	else
++	  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++	fi
++
++			echo "$as_me:$LINENO: checking if compile and link flags for Python are sane" >&5
++echo $ECHO_N "checking if compile and link flags for Python are sane... $ECHO_C" >&6
++	cflags_save=$CFLAGS
++	libs_save=$LIBS
++	CFLAGS="$CFLAGS $PYTHON_CFLAGS"
++	LIBS="$LIBS $PYTHON_LIBS"
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; python_ok=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no: PYTHON DISABLED" >&5
++echo "${ECHO_T}no: PYTHON DISABLED" >&6; python_ok=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++	CFLAGS=$cflags_save
++	LIBS=$libs_save
++	if test $python_ok = yes; then
++	  cat >>confdefs.h <<\_ACEOF
++#define FEAT_PYTHON 1
++_ACEOF
++
++	else
++	  LIBS=$libs_save_old
++	  PYTHON_SRC=
++	  PYTHON_OBJ=
++	  PYTHON_LIBS=
++	  PYTHON_CFLAGS=
++	fi
++
++      fi
++    else
++      echo "$as_me:$LINENO: result: too old" >&5
++echo "${ECHO_T}too old" >&6
++    fi
++  fi
++fi
++
++
++
++
++
++
++
++echo "$as_me:$LINENO: checking --enable-tclinterp argument" >&5
++echo $ECHO_N "checking --enable-tclinterp argument... $ECHO_C" >&6
++# Check whether --enable-tclinterp or --disable-tclinterp was given.
++if test "${enable_tclinterp+set}" = set; then
++  enableval="$enable_tclinterp"
++
++else
++  enable_tclinterp="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_tclinterp" >&5
++echo "${ECHO_T}$enable_tclinterp" >&6
++
++if test "$enable_tclinterp" = "yes"; then
++
++    echo "$as_me:$LINENO: checking --with-tclsh argument" >&5
++echo $ECHO_N "checking --with-tclsh argument... $ECHO_C" >&6
++
++# Check whether --with-tclsh or --without-tclsh was given.
++if test "${with_tclsh+set}" = set; then
++  withval="$with_tclsh"
++  tclsh_name="$withval"; echo "$as_me:$LINENO: result: $tclsh_name" >&5
++echo "${ECHO_T}$tclsh_name" >&6
++else
++  tclsh_name="tclsh8.4"; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++  # Extract the first word of "$tclsh_name", so it can be a program name with args.
++set dummy $tclsh_name; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_tcl in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_tcl="$vi_cv_path_tcl" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
++
++if test -n "$vi_cv_path_tcl"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
++echo "${ECHO_T}$vi_cv_path_tcl" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++
++
++    if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
++    tclsh_name="tclsh8.2"
++    # Extract the first word of "$tclsh_name", so it can be a program name with args.
++set dummy $tclsh_name; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_tcl in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_tcl="$vi_cv_path_tcl" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
++
++if test -n "$vi_cv_path_tcl"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
++echo "${ECHO_T}$vi_cv_path_tcl" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  fi
++  if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then
++    tclsh_name="tclsh8.0"
++    # Extract the first word of "$tclsh_name", so it can be a program name with args.
++set dummy $tclsh_name; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_tcl in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_tcl="$vi_cv_path_tcl" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
++
++if test -n "$vi_cv_path_tcl"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
++echo "${ECHO_T}$vi_cv_path_tcl" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  fi
++    if test "X$vi_cv_path_tcl" = "X"; then
++    tclsh_name="tclsh"
++    # Extract the first word of "$tclsh_name", so it can be a program name with args.
++set dummy $tclsh_name; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_tcl in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_tcl="$vi_cv_path_tcl" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
++
++if test -n "$vi_cv_path_tcl"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
++echo "${ECHO_T}$vi_cv_path_tcl" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  fi
++  if test "X$vi_cv_path_tcl" != "X"; then
++    echo "$as_me:$LINENO: checking Tcl version" >&5
++echo $ECHO_N "checking Tcl version... $ECHO_C" >&6
++    if echo 'exit [expr [info tclversion] < 8.0]' | $vi_cv_path_tcl - ; then
++      tclver=`echo 'puts [info tclversion]' | $vi_cv_path_tcl -`
++      echo "$as_me:$LINENO: result: $tclver - OK" >&5
++echo "${ECHO_T}$tclver - OK" >&6;
++      tclloc=`echo 'set l [info library];set i [string last lib $l];incr i -2;puts [string range $l 0 $i]' | $vi_cv_path_tcl -`
++
++      echo "$as_me:$LINENO: checking for location of Tcl include" >&5
++echo $ECHO_N "checking for location of Tcl include... $ECHO_C" >&6
++      if test "x$MACOSX" != "xyes"; then
++	tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/include"
++      else
++		tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
++      fi
++      for try in $tclinc; do
++	if test -f "$try/tcl.h"; then
++	  echo "$as_me:$LINENO: result: $try/tcl.h" >&5
++echo "${ECHO_T}$try/tcl.h" >&6
++	  TCL_INC=$try
++	  break
++	fi
++      done
++      if test -z "$TCL_INC"; then
++	echo "$as_me:$LINENO: result: <not found>" >&5
++echo "${ECHO_T}<not found>" >&6
++	SKIP_TCL=YES
++      fi
++      if test -z "$SKIP_TCL"; then
++	echo "$as_me:$LINENO: checking for location of tclConfig.sh script" >&5
++echo $ECHO_N "checking for location of tclConfig.sh script... $ECHO_C" >&6
++	if test "x$MACOSX" != "xyes"; then
++	  tclcnf=`echo $tclinc | sed s/include/lib/g`
++	else
++	  	  tclcnf="/System/Library/Frameworks/Tcl.framework"
++	fi
++	for try in $tclcnf; do
++	  if test -f $try/tclConfig.sh; then
++	    echo "$as_me:$LINENO: result: $try/tclConfig.sh" >&5
++echo "${ECHO_T}$try/tclConfig.sh" >&6
++	    . $try/tclConfig.sh
++	    	    TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
++	    	    	    TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^-[^D]/d' -e '/-D[^_]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
++	    break
++	  fi
++	done
++	if test -z "$TCL_LIBS"; then
++	  echo "$as_me:$LINENO: result: <not found>" >&5
++echo "${ECHO_T}<not found>" >&6
++	  echo "$as_me:$LINENO: checking for Tcl library by myself" >&5
++echo $ECHO_N "checking for Tcl library by myself... $ECHO_C" >&6
++	  tcllib=`echo $tclinc | sed s/include/lib/g`
++	  for ext in .so .a ; do
++	    for ver in "" $tclver ; do
++	      for try in $tcllib ; do
++		trylib=tcl$ver$ext
++		if test -f $try/lib$trylib ; then
++		  echo "$as_me:$LINENO: result: $try/lib$trylib" >&5
++echo "${ECHO_T}$try/lib$trylib" >&6
++		  TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
++		  if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++		    TCL_LIBS="$TCL_LIBS -R $try"
++		  fi
++		  break 3
++		fi
++	      done
++	    done
++	  done
++	  if test -z "$TCL_LIBS"; then
++	    echo "$as_me:$LINENO: result: <not found>" >&5
++echo "${ECHO_T}<not found>" >&6
++	    SKIP_TCL=YES
++	  fi
++	fi
++	if test -z "$SKIP_TCL"; then
++	  cat >>confdefs.h <<\_ACEOF
++#define FEAT_TCL 1
++_ACEOF
++
++	  TCL_SRC=if_tcl.c
++	  TCL_OBJ=objects/if_tcl.o
++	  TCL_PRO=if_tcl.pro
++	  TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"
++	fi
++      fi
++    else
++      echo "$as_me:$LINENO: result: too old; need Tcl version 8.0 or later" >&5
++echo "${ECHO_T}too old; need Tcl version 8.0 or later" >&6
++    fi
++  fi
++fi
++
++
++
++
++
++
++echo "$as_me:$LINENO: checking --enable-rubyinterp argument" >&5
++echo $ECHO_N "checking --enable-rubyinterp argument... $ECHO_C" >&6
++# Check whether --enable-rubyinterp or --disable-rubyinterp was given.
++if test "${enable_rubyinterp+set}" = set; then
++  enableval="$enable_rubyinterp"
++
++else
++  enable_rubyinterp="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5
++echo "${ECHO_T}$enable_rubyinterp" >&6
++if test "$enable_rubyinterp" = "yes"; then
++
++  # Extract the first word of "ruby", so it can be a program name with args.
++set dummy ruby; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $vi_cv_path_ruby in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_vi_cv_path_ruby="$vi_cv_path_ruby" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++vi_cv_path_ruby=$ac_cv_path_vi_cv_path_ruby
++
++if test -n "$vi_cv_path_ruby"; then
++  echo "$as_me:$LINENO: result: $vi_cv_path_ruby" >&5
++echo "${ECHO_T}$vi_cv_path_ruby" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  if test "X$vi_cv_path_ruby" != "X"; then
++    echo "$as_me:$LINENO: checking Ruby version" >&5
++echo $ECHO_N "checking Ruby version... $ECHO_C" >&6
++    if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
++      echo "$as_me:$LINENO: result: OK" >&5
++echo "${ECHO_T}OK" >&6
++      echo "$as_me:$LINENO: checking Ruby header files" >&5
++echo $ECHO_N "checking Ruby header files... $ECHO_C" >&6
++      rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
++      if test "X$rubyhdrdir" != "X"; then
++	echo "$as_me:$LINENO: result: $rubyhdrdir" >&5
++echo "${ECHO_T}$rubyhdrdir" >&6
++	RUBY_CFLAGS="-I$rubyhdrdir"
++	rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'`
++	if test "X$rubylibs" != "X"; then
++	  RUBY_LIBS="$rubylibs"
++	fi
++	librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["LIBRUBYARG"])'`
++	if test -f "$rubyhdrdir/$librubyarg"; then
++	  librubyarg="$rubyhdrdir/$librubyarg"
++	else
++	  rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG["libdir"])'`
++	  if test -f "$rubylibdir/$librubyarg"; then
++	    librubyarg="$rubylibdir/$librubyarg"
++	  elif test "$librubyarg" = "libruby.a"; then
++	    	    librubyarg="-lruby"
++	  else
++	    librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
++	  fi
++	fi
++
++	if test "X$librubyarg" != "X"; then
++	  RUBY_LIBS="$librubyarg $RUBY_LIBS"
++	fi
++	rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'`
++	if test "X$rubyldflags" != "X"; then
++	  LDFLAGS="$rubyldflags $LDFLAGS"
++	fi
++	RUBY_SRC="if_ruby.c"
++	RUBY_OBJ="objects/if_ruby.o"
++	RUBY_PRO="if_ruby.pro"
++	cat >>confdefs.h <<\_ACEOF
++#define FEAT_RUBY 1
++_ACEOF
++
++      else
++	echo "$as_me:$LINENO: result: not found" >&5
++echo "${ECHO_T}not found" >&6
++      fi
++    else
++      echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5
++echo "${ECHO_T}too old; need Ruby version 1.6.0 or later" >&6
++    fi
++  fi
++fi
++
++
++
++
++
++
++echo "$as_me:$LINENO: checking --enable-cscope argument" >&5
++echo $ECHO_N "checking --enable-cscope argument... $ECHO_C" >&6
++# Check whether --enable-cscope or --disable-cscope was given.
++if test "${enable_cscope+set}" = set; then
++  enableval="$enable_cscope"
++
++else
++  enable_cscope="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_cscope" >&5
++echo "${ECHO_T}$enable_cscope" >&6
++if test "$enable_cscope" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_CSCOPE 1
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking --enable-workshop argument" >&5
++echo $ECHO_N "checking --enable-workshop argument... $ECHO_C" >&6
++# Check whether --enable-workshop or --disable-workshop was given.
++if test "${enable_workshop+set}" = set; then
++  enableval="$enable_workshop"
++
++else
++  enable_workshop="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_workshop" >&5
++echo "${ECHO_T}$enable_workshop" >&6
++if test "$enable_workshop" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_SUN_WORKSHOP 1
++_ACEOF
++
++  WORKSHOP_SRC="workshop.c integration.c"
++
++  WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
++
++  if test "${enable_gui-xxx}" = xxx; then
++    enable_gui=motif
++  fi
++fi
++
++echo "$as_me:$LINENO: checking --disable-netbeans argument" >&5
++echo $ECHO_N "checking --disable-netbeans argument... $ECHO_C" >&6
++# Check whether --enable-netbeans or --disable-netbeans was given.
++if test "${enable_netbeans+set}" = set; then
++  enableval="$enable_netbeans"
++
++else
++  enable_netbeans="yes"
++fi;
++if test "$enable_netbeans" = "yes"; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++
++echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
++echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
++if test "${ac_cv_lib_socket_socket+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char socket ();
++int
++main ()
++{
++socket ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_socket_socket=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_socket_socket=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
++if test $ac_cv_lib_socket_socket = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBSOCKET 1
++_ACEOF
++
++  LIBS="-lsocket $LIBS"
++
++fi
++
++
++echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_nsl_gethostbyname=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_nsl_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBNSL 1
++_ACEOF
++
++  LIBS="-lnsl $LIBS"
++
++fi
++
++  echo "$as_me:$LINENO: checking whether compiling netbeans integration is possible" >&5
++echo $ECHO_N "checking whether compiling netbeans integration is possible... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <stdarg.h>
++#include <fcntl.h>
++#include <netdb.h>
++#include <netinet/in.h>
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++	/* Check bitfields */
++	struct nbbuf {
++	unsigned int  initDone:1;
++	ushort signmaplen;
++	};
++
++int
++main ()
++{
++
++		/* Check creating a socket. */
++		struct sockaddr_in server;
++		(void)socket(AF_INET, SOCK_STREAM, 0);
++		(void)htons(100);
++		(void)gethostbyname("microsoft.com");
++		if (errno == ECONNREFUSED)
++		  (void)connect(1, (struct sockaddr *)&server, sizeof(server));
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; enable_netbeans="no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++if test "$enable_netbeans" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_NETBEANS_INTG 1
++_ACEOF
++
++  NETBEANS_SRC="netbeans.c"
++
++  NETBEANS_OBJ="objects/netbeans.o"
++
++fi
++
++echo "$as_me:$LINENO: checking --enable-sniff argument" >&5
++echo $ECHO_N "checking --enable-sniff argument... $ECHO_C" >&6
++# Check whether --enable-sniff or --disable-sniff was given.
++if test "${enable_sniff+set}" = set; then
++  enableval="$enable_sniff"
++
++else
++  enable_sniff="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_sniff" >&5
++echo "${ECHO_T}$enable_sniff" >&6
++if test "$enable_sniff" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_SNIFF 1
++_ACEOF
++
++  SNIFF_SRC="if_sniff.c"
++
++  SNIFF_OBJ="objects/if_sniff.o"
++
++fi
++
++echo "$as_me:$LINENO: checking --enable-multibyte argument" >&5
++echo $ECHO_N "checking --enable-multibyte argument... $ECHO_C" >&6
++# Check whether --enable-multibyte or --disable-multibyte was given.
++if test "${enable_multibyte+set}" = set; then
++  enableval="$enable_multibyte"
++
++else
++  enable_multibyte="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_multibyte" >&5
++echo "${ECHO_T}$enable_multibyte" >&6
++if test "$enable_multibyte" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_MBYTE 1
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking --enable-hangulinput argument" >&5
++echo $ECHO_N "checking --enable-hangulinput argument... $ECHO_C" >&6
++# Check whether --enable-hangulinput or --disable-hangulinput was given.
++if test "${enable_hangulinput+set}" = set; then
++  enableval="$enable_hangulinput"
++
++else
++  enable_hangulinput="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_hangulinput" >&5
++echo "${ECHO_T}$enable_hangulinput" >&6
++
++echo "$as_me:$LINENO: checking --enable-xim argument" >&5
++echo $ECHO_N "checking --enable-xim argument... $ECHO_C" >&6
++# Check whether --enable-xim or --disable-xim was given.
++if test "${enable_xim+set}" = set; then
++  enableval="$enable_xim"
++  echo "$as_me:$LINENO: result: $enable_xim" >&5
++echo "${ECHO_T}$enable_xim" >&6
++else
++  enable_xim="auto"; echo "$as_me:$LINENO: result: defaulting to auto" >&5
++echo "${ECHO_T}defaulting to auto" >&6
++fi;
++
++echo "$as_me:$LINENO: checking --enable-fontset argument" >&5
++echo $ECHO_N "checking --enable-fontset argument... $ECHO_C" >&6
++# Check whether --enable-fontset or --disable-fontset was given.
++if test "${enable_fontset+set}" = set; then
++  enableval="$enable_fontset"
++
++else
++  enable_fontset="no"
++fi;
++echo "$as_me:$LINENO: result: $enable_fontset" >&5
++echo "${ECHO_T}$enable_fontset" >&6
++
++test -z "$with_x" && with_x=yes
++test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
++if test "$with_x" = no; then
++  echo "$as_me:$LINENO: result: defaulting to: don't HAVE_X11" >&5
++echo "${ECHO_T}defaulting to: don't HAVE_X11" >&6
++else
++
++  # Extract the first word of "xmkmf", so it can be a program name with args.
++set dummy xmkmf; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_xmkmfpath+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $xmkmfpath in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_xmkmfpath="$xmkmfpath" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  ;;
++esac
++fi
++xmkmfpath=$ac_cv_path_xmkmfpath
++
++if test -n "$xmkmfpath"; then
++  echo "$as_me:$LINENO: result: $xmkmfpath" >&5
++echo "${ECHO_T}$xmkmfpath" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++
++  echo "$as_me:$LINENO: checking for X" >&5
++echo $ECHO_N "checking for X... $ECHO_C" >&6
++
++
++# Check whether --with-x or --without-x was given.
++if test "${with_x+set}" = set; then
++  withval="$with_x"
++
++fi;
++# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
++if test "x$with_x" = xno; then
++  # The user explicitly disabled X.
++  have_x=disabled
++else
++  if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
++    # Both variables are already set.
++    have_x=yes
++  else
++    if test "${ac_cv_have_x+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  # One or both of the vars are not set, and there is no cached value.
++ac_x_includes=no ac_x_libraries=no
++rm -fr conftest.dir
++if mkdir conftest.dir; then
++  cd conftest.dir
++  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
++  cat >Imakefile <<'_ACEOF'
++acfindx:
++	@echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
++_ACEOF
++  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
++    # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
++    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
++    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
++    for ac_extension in a so sl; do
++      if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
++	 test -f $ac_im_libdir/libX11.$ac_extension; then
++	ac_im_usrlibdir=$ac_im_libdir; break
++      fi
++    done
++    # Screen out bogus values from the imake configuration.  They are
++    # bogus both because they are the default anyway, and because
++    # using them would break gcc on systems where it needs fixed includes.
++    case $ac_im_incroot in
++	/usr/include) ;;
++	*) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
++    esac
++    case $ac_im_usrlibdir in
++	/usr/lib | /lib) ;;
++	*) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
++    esac
++  fi
++  cd ..
++  rm -fr conftest.dir
++fi
++
++# Standard set of common directories for X headers.
++# Check X11 before X11Rn because it is often a symlink to the current release.
++ac_x_header_dirs='
++/usr/X11/include
++/usr/X11R6/include
++/usr/X11R5/include
++/usr/X11R4/include
++
++/usr/include/X11
++/usr/include/X11R6
++/usr/include/X11R5
++/usr/include/X11R4
++
++/usr/local/X11/include
++/usr/local/X11R6/include
++/usr/local/X11R5/include
++/usr/local/X11R4/include
++
++/usr/local/include/X11
++/usr/local/include/X11R6
++/usr/local/include/X11R5
++/usr/local/include/X11R4
++
++/usr/X386/include
++/usr/x386/include
++/usr/XFree86/include/X11
++
++/usr/include
++/usr/local/include
++/usr/unsupported/include
++/usr/athena/include
++/usr/local/x11r5/include
++/usr/lpp/Xamples/include
++
++/usr/openwin/include
++/usr/openwin/share/include'
++
++if test "$ac_x_includes" = no; then
++  # Guess where to find include files, by looking for Intrinsic.h.
++  # First, try using that file with no special directory specified.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Intrinsic.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  # We can compile using X headers with no special include directory.
++ac_x_includes=
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  for ac_dir in $ac_x_header_dirs; do
++  if test -r "$ac_dir/X11/Intrinsic.h"; then
++    ac_x_includes=$ac_dir
++    break
++  fi
++done
++fi
++rm -f conftest.err conftest.$ac_ext
++fi # $ac_x_includes = no
++
++if test "$ac_x_libraries" = no; then
++  # Check for the libraries.
++  # See if we find them without any special options.
++  # Don't add to $LIBS permanently.
++  ac_save_LIBS=$LIBS
++  LIBS="-lXt $LIBS"
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Intrinsic.h>
++int
++main ()
++{
++XtMalloc (0)
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  LIBS=$ac_save_LIBS
++# We can link X programs with no special library path.
++ac_x_libraries=
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++LIBS=$ac_save_LIBS
++for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
++do
++  # Don't even attempt the hair of trying to link an X program!
++  for ac_extension in a so sl; do
++    if test -r $ac_dir/libXt.$ac_extension; then
++      ac_x_libraries=$ac_dir
++      break 2
++    fi
++  done
++done
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi # $ac_x_libraries = no
++
++if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
++  # Didn't find X anywhere.  Cache the known absence of X.
++  ac_cv_have_x="have_x=no"
++else
++  # Record where we found X for the cache.
++  ac_cv_have_x="have_x=yes \
++		ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
++fi
++fi
++
++  fi
++  eval "$ac_cv_have_x"
++fi # $with_x != no
++
++if test "$have_x" != yes; then
++  echo "$as_me:$LINENO: result: $have_x" >&5
++echo "${ECHO_T}$have_x" >&6
++  no_x=yes
++else
++  # If each of the values was on the command line, it overrides each guess.
++  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
++  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
++  # Update the cache value to reflect the command line values.
++  ac_cv_have_x="have_x=yes \
++		ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
++  echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
++echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
++fi
++
++if test "$no_x" = yes; then
++  # Not all programs may use this symbol, but it does not hurt to define it.
++
++cat >>confdefs.h <<\_ACEOF
++#define X_DISPLAY_MISSING 1
++_ACEOF
++
++  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
++else
++  if test -n "$x_includes"; then
++    X_CFLAGS="$X_CFLAGS -I$x_includes"
++  fi
++
++  # It would also be nice to do this for all -L options, not just this one.
++  if test -n "$x_libraries"; then
++    X_LIBS="$X_LIBS -L$x_libraries"
++    # For Solaris; some versions of Sun CC require a space after -R and
++    # others require no space.  Words are not sufficient . . . .
++    case `(uname -sr) 2>/dev/null` in
++    "SunOS 5"*)
++      echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
++echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
++      ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_R_nospace=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_R_nospace=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++      if test $ac_R_nospace = yes; then
++	echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++	X_LIBS="$X_LIBS -R$x_libraries"
++      else
++	LIBS="$ac_xsave_LIBS -R $x_libraries"
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_R_space=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_R_space=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++	if test $ac_R_space = yes; then
++	  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++	  X_LIBS="$X_LIBS -R $x_libraries"
++	else
++	  echo "$as_me:$LINENO: result: neither works" >&5
++echo "${ECHO_T}neither works" >&6
++	fi
++      fi
++      LIBS=$ac_xsave_LIBS
++    esac
++  fi
++
++  # Check for system-dependent libraries X programs must link with.
++  # Do this before checking for the system-independent R6 libraries
++  # (-lICE), since we may need -lsocket or whatever for X linking.
++
++  if test "$ISC" = yes; then
++    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
++  else
++    # Martyn Johnson says this is needed for Ultrix, if the X
++    # libraries were built with DECnet support.  And Karl Berry says
++    # the Alpha needs dnet_stub (dnet does not exist).
++    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char XOpenDisplay ();
++int
++main ()
++{
++XOpenDisplay ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_dnet_dnet_ntoa=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_dnet_dnet_ntoa=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
++fi
++
++    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
++      echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
++echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
++if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldnet_stub  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char dnet_ntoa ();
++int
++main ()
++{
++dnet_ntoa ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_dnet_stub_dnet_ntoa=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_dnet_stub_dnet_ntoa=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
++echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
++if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
++fi
++
++    fi
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++    LIBS="$ac_xsave_LIBS"
++
++    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
++    # to get the SysV transport functions.
++    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
++    # needs -lnsl.
++    # The nsl library prevents programs from opening the X display
++    # on Irix 5.2, according to T.E. Dickey.
++    # The functions gethostbyname, getservbyname, and inet_addr are
++    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
++    echo "$as_me:$LINENO: checking for gethostbyname" >&5
++echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
++if test "${ac_cv_func_gethostbyname+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define gethostbyname innocuous_gethostbyname
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char gethostbyname (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef gethostbyname
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char gethostbyname ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
++choke me
++#else
++char (*f) () = gethostbyname;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != gethostbyname;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_func_gethostbyname=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
++
++    if test $ac_cv_func_gethostbyname = no; then
++      echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
++echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
++if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lnsl  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_nsl_gethostbyname=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_nsl_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
++if test $ac_cv_lib_nsl_gethostbyname = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
++fi
++
++      if test $ac_cv_lib_nsl_gethostbyname = no; then
++	echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
++echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
++if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lbsd  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char gethostbyname ();
++int
++main ()
++{
++gethostbyname ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_bsd_gethostbyname=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_bsd_gethostbyname=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
++echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
++if test $ac_cv_lib_bsd_gethostbyname = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
++fi
++
++      fi
++    fi
++
++    # lieder@skyler.mavd.honeywell.com says without -lsocket,
++    # socket/setsockopt and other routines are undefined under SCO ODT
++    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
++    # on later versions), says Simon Leinen: it contains gethostby*
++    # variants that don't use the name server (or something).  -lsocket
++    # must be given before -lnsl if both are needed.  We assume that
++    # if connect needs -lnsl, so does gethostbyname.
++    echo "$as_me:$LINENO: checking for connect" >&5
++echo $ECHO_N "checking for connect... $ECHO_C" >&6
++if test "${ac_cv_func_connect+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define connect to an innocuous variant, in case <limits.h> declares connect.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define connect innocuous_connect
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char connect (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef connect
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char connect ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_connect) || defined (__stub___connect)
++choke me
++#else
++char (*f) () = connect;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != connect;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_func_connect=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_connect=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
++echo "${ECHO_T}$ac_cv_func_connect" >&6
++
++    if test $ac_cv_func_connect = no; then
++      echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
++echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
++if test "${ac_cv_lib_socket_connect+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char connect ();
++int
++main ()
++{
++connect ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_socket_connect=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_socket_connect=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
++echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
++if test $ac_cv_lib_socket_connect = yes; then
++  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
++fi
++
++    fi
++
++    # Guillermo Gomez says -lposix is necessary on A/UX.
++    echo "$as_me:$LINENO: checking for remove" >&5
++echo $ECHO_N "checking for remove... $ECHO_C" >&6
++if test "${ac_cv_func_remove+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define remove to an innocuous variant, in case <limits.h> declares remove.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define remove innocuous_remove
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char remove (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef remove
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char remove ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_remove) || defined (__stub___remove)
++choke me
++#else
++char (*f) () = remove;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != remove;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_func_remove=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_remove=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
++echo "${ECHO_T}$ac_cv_func_remove" >&6
++
++    if test $ac_cv_func_remove = no; then
++      echo "$as_me:$LINENO: checking for remove in -lposix" >&5
++echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
++if test "${ac_cv_lib_posix_remove+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lposix  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char remove ();
++int
++main ()
++{
++remove ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_posix_remove=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_posix_remove=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
++echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
++if test $ac_cv_lib_posix_remove = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
++fi
++
++    fi
++
++    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
++    echo "$as_me:$LINENO: checking for shmat" >&5
++echo $ECHO_N "checking for shmat... $ECHO_C" >&6
++if test "${ac_cv_func_shmat+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define shmat to an innocuous variant, in case <limits.h> declares shmat.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define shmat innocuous_shmat
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char shmat (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef shmat
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char shmat ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_shmat) || defined (__stub___shmat)
++choke me
++#else
++char (*f) () = shmat;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != shmat;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_func_shmat=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_func_shmat=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
++echo "${ECHO_T}$ac_cv_func_shmat" >&6
++
++    if test $ac_cv_func_shmat = no; then
++      echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
++echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
++if test "${ac_cv_lib_ipc_shmat+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lipc  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char shmat ();
++int
++main ()
++{
++shmat ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_ipc_shmat=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_ipc_shmat=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
++echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
++if test $ac_cv_lib_ipc_shmat = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
++fi
++
++    fi
++  fi
++
++  # Check for libraries that X11R6 Xt/Xaw programs need.
++  ac_save_LDFLAGS=$LDFLAGS
++  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
++  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
++  # check for ICE first), but we must link in the order -lSM -lICE or
++  # we get undefined symbols.  So assume we have SM if we have ICE.
++  # These have to be linked with before -lX11, unlike the other
++  # libraries we check for below, so use a different variable.
++  # John Interrante, Karl Berry
++  echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
++echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
++if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char IceConnectionNumber ();
++int
++main ()
++{
++IceConnectionNumber ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_ICE_IceConnectionNumber=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_ICE_IceConnectionNumber=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
++if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
++  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
++fi
++
++  LDFLAGS=$ac_save_LDFLAGS
++
++fi
++
++
++        if test "$OS390Unix" = "yes"; then
++    CFLAGS="$CFLAGS -W c,dll"
++    LDFLAGS="$LDFLAGS -W l,dll"
++    X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
++  fi
++
++
++  if test -d "$x_includes" && test ! -d "$x_libraries"; then
++    x_libraries=`echo "$x_includes" | sed s/include/lib/`
++    echo "$as_me:$LINENO: result: Corrected X libraries to $x_libraries" >&5
++echo "${ECHO_T}Corrected X libraries to $x_libraries" >&6
++    X_LIBS="$X_LIBS -L$x_libraries"
++    if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++      X_LIBS="$X_LIBS -R $x_libraries"
++    fi
++  fi
++
++  if test -d "$x_libraries" && test ! -d "$x_includes"; then
++    x_includes=`echo "$x_libraries" | sed s/lib/include/`
++    echo "$as_me:$LINENO: result: Corrected X includes to $x_includes" >&5
++echo "${ECHO_T}Corrected X includes to $x_includes" >&6
++    X_CFLAGS="$X_CFLAGS -I$x_includes"
++  fi
++
++    X_CFLAGS="`echo $X_CFLAGS\  | sed 's%-I/usr/include %%'`"
++    X_LIBS="`echo $X_LIBS\  | sed 's%-L/usr/lib %%'`"
++    X_LIBS="`echo $X_LIBS\  | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
++
++
++      echo "$as_me:$LINENO: checking if X11 header files can be found" >&5
++echo $ECHO_N "checking if X11 header files can be found... $ECHO_C" >&6
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Xlib.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; no_x=yes
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$cflags_save
++
++  if test "${no_x-no}" = yes; then
++    with_x=no
++  else
++    cat >>confdefs.h <<\_ACEOF
++#define HAVE_X11 1
++_ACEOF
++
++    X_LIB="-lXt -lX11";
++
++
++    ac_save_LDFLAGS="$LDFLAGS"
++    LDFLAGS="-L$x_libraries $LDFLAGS"
++
++            echo "$as_me:$LINENO: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
++echo $ECHO_N "checking for _XdmcpAuthDoIt in -lXdmcp... $ECHO_C" >&6
++if test "${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXdmcp -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char _XdmcpAuthDoIt ();
++int
++main ()
++{
++_XdmcpAuthDoIt ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_Xdmcp__XdmcpAuthDoIt=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_Xdmcp__XdmcpAuthDoIt=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
++echo "${ECHO_T}$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6
++if test $ac_cv_lib_Xdmcp__XdmcpAuthDoIt = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
++fi
++
++
++                    echo "$as_me:$LINENO: checking for IceOpenConnection in -lICE" >&5
++echo $ECHO_N "checking for IceOpenConnection in -lICE... $ECHO_C" >&6
++if test "${ac_cv_lib_ICE_IceOpenConnection+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lICE $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char IceOpenConnection ();
++int
++main ()
++{
++IceOpenConnection ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_ICE_IceOpenConnection=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_ICE_IceOpenConnection=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
++echo "${ECHO_T}$ac_cv_lib_ICE_IceOpenConnection" >&6
++if test $ac_cv_lib_ICE_IceOpenConnection = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
++fi
++
++
++        LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
++    echo "$as_me:$LINENO: checking for XpmCreatePixmapFromData in -lXpm" >&5
++echo $ECHO_N "checking for XpmCreatePixmapFromData in -lXpm... $ECHO_C" >&6
++if test "${ac_cv_lib_Xpm_XpmCreatePixmapFromData+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXpm -lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char XpmCreatePixmapFromData ();
++int
++main ()
++{
++XpmCreatePixmapFromData ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_Xpm_XpmCreatePixmapFromData=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_Xpm_XpmCreatePixmapFromData=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
++echo "${ECHO_T}$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6
++if test $ac_cv_lib_Xpm_XpmCreatePixmapFromData = yes; then
++  X_PRE_LIBS="$X_PRE_LIBS -lXpm"
++fi
++
++
++        echo "$as_me:$LINENO: checking if X11 header files implicitly declare return values" >&5
++echo $ECHO_N "checking if X11 header files implicitly declare return values... $ECHO_C" >&6
++    cflags_save=$CFLAGS
++    CFLAGS="$CFLAGS $X_CFLAGS -Werror"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Xlib.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++CFLAGS="$CFLAGS -Wno-implicit-int"
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Xlib.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cflags_save="$cflags_save -Wno-implicit-int"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: test failed" >&5
++echo "${ECHO_T}test failed" >&6
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++    CFLAGS=$cflags_save
++
++    LDFLAGS="$ac_save_LDFLAGS"
++
++  fi
++fi
++
++test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
++
++echo "$as_me:$LINENO: checking --enable-gui argument" >&5
++echo $ECHO_N "checking --enable-gui argument... $ECHO_C" >&6
++# Check whether --enable-gui or --disable-gui was given.
++if test "${enable_gui+set}" = set; then
++  enableval="$enable_gui"
++
++else
++  enable_gui="auto"
++fi;
++
++enable_gui_canon=`echo "_$enable_gui" | \
++	sed 's/[ _+-]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++
++SKIP_GTK=YES
++SKIP_GTK2=YES
++SKIP_GNOME=YES
++SKIP_MOTIF=YES
++SKIP_ATHENA=YES
++SKIP_NEXTAW=YES
++SKIP_PHOTON=YES
++SKIP_CARBON=YES
++GUITYPE=NONE
++
++if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
++  SKIP_PHOTON=
++  case "$enable_gui_canon" in
++    no)		echo "$as_me:$LINENO: result: no GUI support" >&5
++echo "${ECHO_T}no GUI support" >&6
++		SKIP_PHOTON=YES ;;
++    yes|"")	echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
++echo "${ECHO_T}yes - automatic GUI support" >&6 ;;
++    auto)	echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
++echo "${ECHO_T}auto - automatic GUI support" >&6 ;;
++    photon)	echo "$as_me:$LINENO: result: Photon GUI support" >&5
++echo "${ECHO_T}Photon GUI support" >&6 ;;
++    *)		echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
++echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6
++		SKIP_PHOTON=YES ;;
++  esac
++
++elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
++  SKIP_CARBON=
++  case "$enable_gui_canon" in
++    no)		echo "$as_me:$LINENO: result: no GUI support" >&5
++echo "${ECHO_T}no GUI support" >&6
++		SKIP_CARBON=YES ;;
++    yes|"")	echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
++echo "${ECHO_T}yes - automatic GUI support" >&6 ;;
++    auto)	echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
++echo "${ECHO_T}auto - automatic GUI support" >&6 ;;
++    carbon)	echo "$as_me:$LINENO: result: Carbon GUI support" >&5
++echo "${ECHO_T}Carbon GUI support" >&6 ;;
++    *)		echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
++echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6
++		SKIP_CARBON=YES ;;
++  esac
++
++else
++
++  case "$enable_gui_canon" in
++    no|none)	echo "$as_me:$LINENO: result: no GUI support" >&5
++echo "${ECHO_T}no GUI support" >&6 ;;
++    yes|""|auto)	echo "$as_me:$LINENO: result: yes/auto - automatic GUI support" >&5
++echo "${ECHO_T}yes/auto - automatic GUI support" >&6
++		SKIP_GTK=
++		SKIP_GTK2=
++		SKIP_GNOME=
++		SKIP_MOTIF=
++		SKIP_ATHENA=
++		SKIP_NEXTAW=
++		SKIP_CARBON=;;
++    gtk)	echo "$as_me:$LINENO: result: GTK+ 1.x GUI support" >&5
++echo "${ECHO_T}GTK+ 1.x GUI support" >&6
++		SKIP_GTK=;;
++    gtk2)	echo "$as_me:$LINENO: result: GTK+ 2.x GUI support" >&5
++echo "${ECHO_T}GTK+ 2.x GUI support" >&6
++		SKIP_GTK=
++		SKIP_GTK2=;;
++    gnome)	echo "$as_me:$LINENO: result: GNOME 1.x GUI support" >&5
++echo "${ECHO_T}GNOME 1.x GUI support" >&6
++		SKIP_GNOME=
++		SKIP_GTK=;;
++    gnome2)	echo "$as_me:$LINENO: result: GNOME 2.x GUI support" >&5
++echo "${ECHO_T}GNOME 2.x GUI support" >&6
++		SKIP_GNOME=
++		SKIP_GTK=
++		SKIP_GTK2=;;
++    motif)	echo "$as_me:$LINENO: result: Motif GUI support" >&5
++echo "${ECHO_T}Motif GUI support" >&6
++		SKIP_MOTIF=;;
++    athena)	echo "$as_me:$LINENO: result: Athena GUI support" >&5
++echo "${ECHO_T}Athena GUI support" >&6
++		SKIP_ATHENA=;;
++    nextaw)	echo "$as_me:$LINENO: result: neXtaw GUI support" >&5
++echo "${ECHO_T}neXtaw GUI support" >&6
++		SKIP_NEXTAW=;;
++    *)		echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
++echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6 ;;
++  esac
++
++fi
++
++if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
++  echo "$as_me:$LINENO: checking whether or not to look for GTK" >&5
++echo $ECHO_N "checking whether or not to look for GTK... $ECHO_C" >&6
++  # Check whether --enable-gtk-check or --disable-gtk-check was given.
++if test "${enable_gtk_check+set}" = set; then
++  enableval="$enable_gtk_check"
++
++else
++  enable_gtk_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_gtk_check" >&5
++echo "${ECHO_T}$enable_gtk_check" >&6
++  if test "x$enable_gtk_check" = "xno"; then
++    SKIP_GTK=YES
++    SKIP_GNOME=YES
++  fi
++fi
++
++if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
++				-a "$enable_gui_canon" != "gnome2"; then
++  echo "$as_me:$LINENO: checking whether or not to look for GTK+ 2" >&5
++echo $ECHO_N "checking whether or not to look for GTK+ 2... $ECHO_C" >&6
++  # Check whether --enable-gtk2-check or --disable-gtk2-check was given.
++if test "${enable_gtk2_check+set}" = set; then
++  enableval="$enable_gtk2_check"
++
++else
++  enable_gtk2_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_gtk2_check" >&5
++echo "${ECHO_T}$enable_gtk2_check" >&6
++  if test "x$enable_gtk2_check" = "xno"; then
++    SKIP_GTK2=YES
++  fi
++fi
++
++if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
++				 -a "$enable_gui_canon" != "gnome2"; then
++  echo "$as_me:$LINENO: checking whether or not to look for GNOME" >&5
++echo $ECHO_N "checking whether or not to look for GNOME... $ECHO_C" >&6
++  # Check whether --enable-gnome-check or --disable-gnome-check was given.
++if test "${enable_gnome_check+set}" = set; then
++  enableval="$enable_gnome_check"
++
++else
++  enable_gnome_check="no"
++fi;
++  echo "$as_me:$LINENO: result: $enable_gnome_check" >&5
++echo "${ECHO_T}$enable_gnome_check" >&6
++  if test "x$enable_gnome_check" = "xno"; then
++    SKIP_GNOME=YES
++  fi
++fi
++
++if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
++  echo "$as_me:$LINENO: checking whether or not to look for Motif" >&5
++echo $ECHO_N "checking whether or not to look for Motif... $ECHO_C" >&6
++  # Check whether --enable-motif-check or --disable-motif-check was given.
++if test "${enable_motif_check+set}" = set; then
++  enableval="$enable_motif_check"
++
++else
++  enable_motif_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_motif_check" >&5
++echo "${ECHO_T}$enable_motif_check" >&6
++  if test "x$enable_motif_check" = "xno"; then
++    SKIP_MOTIF=YES
++  fi
++fi
++
++if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
++  echo "$as_me:$LINENO: checking whether or not to look for Athena" >&5
++echo $ECHO_N "checking whether or not to look for Athena... $ECHO_C" >&6
++  # Check whether --enable-athena-check or --disable-athena-check was given.
++if test "${enable_athena_check+set}" = set; then
++  enableval="$enable_athena_check"
++
++else
++  enable_athena_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_athena_check" >&5
++echo "${ECHO_T}$enable_athena_check" >&6
++  if test "x$enable_athena_check" = "xno"; then
++    SKIP_ATHENA=YES
++  fi
++fi
++
++if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
++  echo "$as_me:$LINENO: checking whether or not to look for neXtaw" >&5
++echo $ECHO_N "checking whether or not to look for neXtaw... $ECHO_C" >&6
++  # Check whether --enable-nextaw-check or --disable-nextaw-check was given.
++if test "${enable_nextaw_check+set}" = set; then
++  enableval="$enable_nextaw_check"
++
++else
++  enable_nextaw_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_nextaw_check" >&5
++echo "${ECHO_T}$enable_nextaw_check" >&6;
++  if test "x$enable_nextaw_check" = "xno"; then
++    SKIP_NEXTAW=YES
++  fi
++fi
++
++if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
++  echo "$as_me:$LINENO: checking whether or not to look for Carbon" >&5
++echo $ECHO_N "checking whether or not to look for Carbon... $ECHO_C" >&6
++  # Check whether --enable-carbon-check or --disable-carbon-check was given.
++if test "${enable_carbon_check+set}" = set; then
++  enableval="$enable_carbon_check"
++
++else
++  enable_carbon_check="yes"
++fi;
++  echo "$as_me:$LINENO: result: $enable_carbon_check" >&5
++echo "${ECHO_T}$enable_carbon_check" >&6;
++  if test "x$enable_carbon_check" = "xno"; then
++    SKIP_CARBON=YES
++  fi
++fi
++
++
++if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
++  echo "$as_me:$LINENO: checking for Carbon GUI" >&5
++echo $ECHO_N "checking for Carbon GUI... $ECHO_C" >&6
++    echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++  GUITYPE=CARBONGUI
++  if test "$VIMNAME" = "vim"; then
++    VIMNAME=Vim
++  fi
++
++    if test x$prefix = xNONE; then
++    prefix=/Applications
++  fi
++
++    datadir='${prefix}/Vim.app/Contents/Resources'
++
++    SKIP_GTK=YES;
++  SKIP_GTK2=YES;
++  SKIP_GNOME=YES;
++  SKIP_MOTIF=YES;
++  SKIP_ATHENA=YES;
++  SKIP_NEXTAW=YES;
++  SKIP_PHOTON=YES;
++  SKIP_CARBON=YES
++fi
++
++
++
++
++
++
++
++
++
++if test -z "$SKIP_GTK"; then
++
++  echo "$as_me:$LINENO: checking --with-gtk-prefix argument" >&5
++echo $ECHO_N "checking --with-gtk-prefix argument... $ECHO_C" >&6
++
++# Check whether --with-gtk-prefix or --without-gtk-prefix was given.
++if test "${with_gtk_prefix+set}" = set; then
++  withval="$with_gtk_prefix"
++  gtk_config_prefix="$withval"; echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
++echo "${ECHO_T}$gtk_config_prefix" >&6
++else
++  gtk_config_prefix=""; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++
++  echo "$as_me:$LINENO: checking --with-gtk-exec-prefix argument" >&5
++echo $ECHO_N "checking --with-gtk-exec-prefix argument... $ECHO_C" >&6
++
++# Check whether --with-gtk-exec-prefix or --without-gtk-exec-prefix was given.
++if test "${with_gtk_exec_prefix+set}" = set; then
++  withval="$with_gtk_exec_prefix"
++  gtk_config_exec_prefix="$withval"; echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
++echo "${ECHO_T}$gtk_config_prefix" >&6
++else
++  gtk_config_exec_prefix=""; echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi;
++
++  echo "$as_me:$LINENO: checking --disable-gtktest argument" >&5
++echo $ECHO_N "checking --disable-gtktest argument... $ECHO_C" >&6
++  # Check whether --enable-gtktest or --disable-gtktest was given.
++if test "${enable_gtktest+set}" = set; then
++  enableval="$enable_gtktest"
++
++else
++  enable_gtktest=yes
++fi;
++  if test "x$enable_gtktest" = "xyes" ; then
++    echo "$as_me:$LINENO: result: gtk test enabled" >&5
++echo "${ECHO_T}gtk test enabled" >&6
++  else
++    echo "$as_me:$LINENO: result: gtk test disabled" >&5
++echo "${ECHO_T}gtk test disabled" >&6
++  fi
++
++  if test "x$gtk_config_prefix" != "x" ; then
++    gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
++    GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
++  fi
++  if test "x$gtk_config_exec_prefix" != "x" ; then
++    gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
++    GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
++  fi
++  if test "X$GTK_CONFIG" = "X"; then
++    # Extract the first word of "gtk-config", so it can be a program name with args.
++set dummy gtk-config; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_GTK_CONFIG+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $GTK_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_GTK_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  test -z "$ac_cv_path_GTK_CONFIG" && ac_cv_path_GTK_CONFIG="no"
++  ;;
++esac
++fi
++GTK_CONFIG=$ac_cv_path_GTK_CONFIG
++
++if test -n "$GTK_CONFIG"; then
++  echo "$as_me:$LINENO: result: $GTK_CONFIG" >&5
++echo "${ECHO_T}$GTK_CONFIG" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++    if test "X$GTK_CONFIG" = "Xno"; then
++            # Extract the first word of "gtk12-config", so it can be a program name with args.
++set dummy gtk12-config; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_GTK12_CONFIG+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $GTK12_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_GTK12_CONFIG="$GTK12_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_GTK12_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  test -z "$ac_cv_path_GTK12_CONFIG" && ac_cv_path_GTK12_CONFIG="no"
++  ;;
++esac
++fi
++GTK12_CONFIG=$ac_cv_path_GTK12_CONFIG
++
++if test -n "$GTK12_CONFIG"; then
++  echo "$as_me:$LINENO: result: $GTK12_CONFIG" >&5
++echo "${ECHO_T}$GTK12_CONFIG" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++      GTK_CONFIG="$GTK12_CONFIG"
++    fi
++  else
++    echo "$as_me:$LINENO: result: Using GTK configuration program $GTK_CONFIG" >&5
++echo "${ECHO_T}Using GTK configuration program $GTK_CONFIG" >&6
++  fi
++  if test "X$PKG_CONFIG" = "X"; then
++    # Extract the first word of "pkg-config", so it can be a program name with args.
++set dummy pkg-config; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $PKG_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
++  ;;
++esac
++fi
++PKG_CONFIG=$ac_cv_path_PKG_CONFIG
++
++if test -n "$PKG_CONFIG"; then
++  echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
++echo "${ECHO_T}$PKG_CONFIG" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  fi
++
++  if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
++            if test "X$SKIP_GTK2" != "XYES"; then
++
++  if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
++  {
++    min_gtk_version=2.2.0
++    echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
++echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6
++    no_gtk=""
++    if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
++	  && $PKG_CONFIG --exists gtk+-2.0; then
++    {
++                        GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
++      GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
++      GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
++      gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
++      gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
++      gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
++    }
++    elif test "X$GTK_CONFIG" != "Xno"; then
++    {
++      GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
++      GTK_LIBDIR=
++      GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
++      gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
++      gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
++      gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
++    }
++    else
++      no_gtk=yes
++    fi
++
++    if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
++    {
++      ac_save_CFLAGS="$CFLAGS"
++      ac_save_LIBS="$LIBS"
++      CFLAGS="$CFLAGS $GTK_CFLAGS"
++      LIBS="$LIBS $GTK_LIBS"
++
++                              rm -f conf.gtktest
++      if test "$cross_compiling" = yes; then
++  echo $ac_n "cross compiling; assumed OK... $ac_c"
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <gtk/gtk.h>
++#include <stdio.h>
++
++int
++main ()
++{
++int major, minor, micro;
++char *tmp_version;
++
++system ("touch conf.gtktest");
++
++/* HP/UX 9 (%@#!) writes to sscanf strings */
++tmp_version = g_strdup("$min_gtk_version");
++if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++   printf("%s, bad version string\n", "$min_gtk_version");
++   exit(1);
++ }
++
++if ((gtk_major_version > major) ||
++    ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
++    ((gtk_major_version == major) && (gtk_minor_version == minor) &&
++				     (gtk_micro_version >= micro)))
++{
++    return 0;
++}
++return 1;
++}
++
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++no_gtk=yes
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++      CFLAGS="$ac_save_CFLAGS"
++      LIBS="$ac_save_LIBS"
++    }
++    fi
++    if test "x$no_gtk" = x ; then
++      if test "x$enable_gtktest" = "xyes"; then
++	echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
++echo "${ECHO_T}yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
++      else
++	echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
++echo "${ECHO_T}found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
++      fi
++      GUI_LIB_LOC="$GTK_LIBDIR"
++		   GTK_LIBNAME="$GTK_LIBS"
++		  GUI_INC_LOC="$GTK_CFLAGS"
++    else
++    {
++      echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++      GTK_CFLAGS=""
++      GTK_LIBS=""
++      :
++    }
++    fi
++  }
++  else
++    GTK_CFLAGS=""
++    GTK_LIBS=""
++    :
++  fi
++
++
++  rm -f conf.gtktest
++
++      if test "x$GTK_CFLAGS" != "x"; then
++	SKIP_ATHENA=YES
++	SKIP_NEXTAW=YES
++	SKIP_MOTIF=YES
++	GUITYPE=GTK
++
++      fi
++    fi
++
++                if test "x$GUITYPE" != "xGTK"; then
++      SKIP_GTK2=YES
++
++  if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
++  {
++    min_gtk_version=1.1.16
++    echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
++echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6
++    no_gtk=""
++    if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
++	  && $PKG_CONFIG --exists gtk+-2.0; then
++    {
++                        GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
++      GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
++      GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
++      gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
++      gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
++      gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
++    }
++    elif test "X$GTK_CONFIG" != "Xno"; then
++    {
++      GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
++      GTK_LIBDIR=
++      GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
++      gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
++      gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
++      gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
++    }
++    else
++      no_gtk=yes
++    fi
++
++    if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
++    {
++      ac_save_CFLAGS="$CFLAGS"
++      ac_save_LIBS="$LIBS"
++      CFLAGS="$CFLAGS $GTK_CFLAGS"
++      LIBS="$LIBS $GTK_LIBS"
++
++                              rm -f conf.gtktest
++      if test "$cross_compiling" = yes; then
++  echo $ac_n "cross compiling; assumed OK... $ac_c"
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <gtk/gtk.h>
++#include <stdio.h>
++
++int
++main ()
++{
++int major, minor, micro;
++char *tmp_version;
++
++system ("touch conf.gtktest");
++
++/* HP/UX 9 (%@#!) writes to sscanf strings */
++tmp_version = g_strdup("$min_gtk_version");
++if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++   printf("%s, bad version string\n", "$min_gtk_version");
++   exit(1);
++ }
++
++if ((gtk_major_version > major) ||
++    ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
++    ((gtk_major_version == major) && (gtk_minor_version == minor) &&
++				     (gtk_micro_version >= micro)))
++{
++    return 0;
++}
++return 1;
++}
++
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++no_gtk=yes
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++      CFLAGS="$ac_save_CFLAGS"
++      LIBS="$ac_save_LIBS"
++    }
++    fi
++    if test "x$no_gtk" = x ; then
++      if test "x$enable_gtktest" = "xyes"; then
++	echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
++echo "${ECHO_T}yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
++      else
++	echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
++echo "${ECHO_T}found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
++      fi
++      GTK_LIBNAME="$GTK_LIBS"
++		  GUI_INC_LOC="$GTK_CFLAGS"
++    else
++    {
++      echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++      GTK_CFLAGS=""
++      GTK_LIBS=""
++      :
++    }
++    fi
++  }
++  else
++    GTK_CFLAGS=""
++    GTK_LIBS=""
++    :
++  fi
++
++
++  rm -f conf.gtktest
++
++      if test "x$GTK_CFLAGS" != "x"; then
++	SKIP_ATHENA=YES
++	SKIP_NEXTAW=YES
++	SKIP_MOTIF=YES
++	GUITYPE=GTK
++
++      fi
++    fi
++  fi
++    if test "x$GUITYPE" = "xGTK"; then
++    if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
++	 -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
++      echo "$as_me:$LINENO: result: this GTK version is old; version 1.2.3 or later is recommended" >&5
++echo "${ECHO_T}this GTK version is old; version 1.2.3 or later is recommended" >&6
++    else
++    {
++      if test "0$gtk_major_version" -ge 2; then
++	cat >>confdefs.h <<\_ACEOF
++#define HAVE_GTK2 1
++_ACEOF
++
++	if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
++		|| test "0$gtk_minor_version" -ge 2 \
++		|| test "0$gtk_major_version" -gt 2; then
++	  cat >>confdefs.h <<\_ACEOF
++#define HAVE_GTK_MULTIHEAD 1
++_ACEOF
++
++	fi
++      fi
++                        if test -z "$SKIP_GNOME"; then
++      {
++
++
++
++
++
++
++# Check whether --with-gnome-includes or --without-gnome-includes was given.
++if test "${with_gnome_includes+set}" = set; then
++  withval="$with_gnome_includes"
++  CFLAGS="$CFLAGS -I$withval"
++
++fi;
++
++
++# Check whether --with-gnome-libs or --without-gnome-libs was given.
++if test "${with_gnome_libs+set}" = set; then
++  withval="$with_gnome_libs"
++  LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval
++
++fi;
++
++
++# Check whether --with-gnome or --without-gnome was given.
++if test "${with_gnome+set}" = set; then
++  withval="$with_gnome"
++  if test x$withval = xyes; then
++      want_gnome=yes
++      have_gnome=yes
++    else
++      if test "x$withval" = xno; then
++	want_gnome=no
++      else
++	want_gnome=yes
++	LDFLAGS="$LDFLAGS -L$withval/lib"
++	CFLAGS="$CFLAGS -I$withval/include"
++	gnome_prefix=$withval/lib
++      fi
++    fi
++else
++  want_gnome=yes
++fi;
++
++  if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
++  {
++    echo "$as_me:$LINENO: checking for libgnomeui-2.0" >&5
++echo $ECHO_N "checking for libgnomeui-2.0... $ECHO_C" >&6
++    if $PKG_CONFIG --exists libgnomeui-2.0; then
++      echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++      GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
++      GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
++      GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
++
++                  echo "$as_me:$LINENO: checking for FreeBSD" >&5
++echo $ECHO_N "checking for FreeBSD... $ECHO_C" >&6
++      if test "`(uname) 2>/dev/null`" = FreeBSD; then
++	echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++	GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
++	GNOME_LIBS="$GNOME_LIBS -pthread"
++      else
++	echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++      fi
++      have_gnome=yes
++    else
++      echo "$as_me:$LINENO: result: not found" >&5
++echo "${ECHO_T}not found" >&6
++      if test "x" = xfail; then
++	{ { echo "$as_me:$LINENO: error: Could not find libgnomeui-2.0 via pkg-config" >&5
++echo "$as_me: error: Could not find libgnomeui-2.0 via pkg-config" >&2;}
++   { (exit 1); exit 1; }; }
++      fi
++    fi
++  }
++  elif test "x$want_gnome" = xyes; then
++  {
++    # Extract the first word of "gnome-config", so it can be a program name with args.
++set dummy gnome-config; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_path_GNOME_CONFIG+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  case $GNOME_CONFIG in
++  [\\/]* | ?:[\\/]*)
++  ac_cv_path_GNOME_CONFIG="$GNOME_CONFIG" # Let the user override the test with a path.
++  ;;
++  *)
++  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_path_GNOME_CONFIG="$as_dir/$ac_word$ac_exec_ext"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++  test -z "$ac_cv_path_GNOME_CONFIG" && ac_cv_path_GNOME_CONFIG="no"
++  ;;
++esac
++fi
++GNOME_CONFIG=$ac_cv_path_GNOME_CONFIG
++
++if test -n "$GNOME_CONFIG"; then
++  echo "$as_me:$LINENO: result: $GNOME_CONFIG" >&5
++echo "${ECHO_T}$GNOME_CONFIG" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++    if test "$GNOME_CONFIG" = "no"; then
++      no_gnome_config="yes"
++    else
++      echo "$as_me:$LINENO: checking if $GNOME_CONFIG works" >&5
++echo $ECHO_N "checking if $GNOME_CONFIG works... $ECHO_C" >&6
++      if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
++	echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++	GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
++	GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
++	GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
++	have_gnome=yes
++      else
++	echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++	no_gnome_config="yes"
++      fi
++    fi
++
++    if test x$exec_prefix = xNONE; then
++      if test x$prefix = xNONE; then
++	gnome_prefix=$ac_default_prefix/lib
++      else
++	gnome_prefix=$prefix/lib
++      fi
++    else
++      gnome_prefix=`eval echo \`echo $libdir\``
++    fi
++
++    if test "$no_gnome_config" = "yes"; then
++      echo "$as_me:$LINENO: checking for gnomeConf.sh file in $gnome_prefix" >&5
++echo $ECHO_N "checking for gnomeConf.sh file in $gnome_prefix... $ECHO_C" >&6
++      if test -f $gnome_prefix/gnomeConf.sh; then
++	echo "$as_me:$LINENO: result: found" >&5
++echo "${ECHO_T}found" >&6
++	echo "loading gnome configuration from" \
++	  "$gnome_prefix/gnomeConf.sh"
++	. $gnome_prefix/gnomeConf.sh
++	have_gnome=yes
++      else
++	echo "$as_me:$LINENO: result: not found" >&5
++echo "${ECHO_T}not found" >&6
++	if test x = xfail; then
++	  { { echo "$as_me:$LINENO: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&5
++echo "$as_me: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&2;}
++   { (exit 1); exit 1; }; }
++	fi
++      fi
++    fi
++  }
++  fi
++
++	if test x$have_gnome = xyes ; then
++	  cat >>confdefs.h <<\_ACEOF
++#define FEAT_GUI_GNOME 1
++_ACEOF
++
++	  GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
++	  GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
++	fi
++      }
++      fi
++    }
++    fi
++  fi
++fi
++
++
++if test -z "$SKIP_MOTIF"; then
++  gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
++    GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
++
++  echo "$as_me:$LINENO: checking for location of Motif GUI includes" >&5
++echo $ECHO_N "checking for location of Motif GUI includes... $ECHO_C" >&6
++  gui_includes="`echo $x_includes|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
++  GUI_INC_LOC=
++  for try in $gui_includes; do
++    if test -f "$try/Xm/Xm.h"; then
++      GUI_INC_LOC=$try
++    fi
++  done
++  if test -n "$GUI_INC_LOC"; then
++    if test "$GUI_INC_LOC" = /usr/include; then
++      GUI_INC_LOC=
++      echo "$as_me:$LINENO: result: in default path" >&5
++echo "${ECHO_T}in default path" >&6
++    else
++      echo "$as_me:$LINENO: result: $GUI_INC_LOC" >&5
++echo "${ECHO_T}$GUI_INC_LOC" >&6
++    fi
++  else
++    echo "$as_me:$LINENO: result: <not found>" >&5
++echo "${ECHO_T}<not found>" >&6
++    SKIP_MOTIF=YES
++  fi
++fi
++
++
++if test -z "$SKIP_MOTIF"; then
++  echo "$as_me:$LINENO: checking --with-motif-lib argument" >&5
++echo $ECHO_N "checking --with-motif-lib argument... $ECHO_C" >&6
++
++# Check whether --with-motif-lib or --without-motif-lib was given.
++if test "${with_motif_lib+set}" = set; then
++  withval="$with_motif_lib"
++   MOTIF_LIBNAME="${withval}"
++fi;
++
++  if test -n "$MOTIF_LIBNAME"; then
++    echo "$as_me:$LINENO: result: $MOTIF_LIBNAME" >&5
++echo "${ECHO_T}$MOTIF_LIBNAME" >&6
++    GUI_LIB_LOC=
++  else
++    echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++
++        GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
++
++    echo "$as_me:$LINENO: checking for location of Motif GUI libs" >&5
++echo $ECHO_N "checking for location of Motif GUI libs... $ECHO_C" >&6
++    gui_libs="`echo $x_libraries|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC"
++    GUI_LIB_LOC=
++    for try in $gui_libs; do
++      for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do
++	if test -f "$libtry"; then
++	  GUI_LIB_LOC=$try
++	fi
++      done
++    done
++    if test -n "$GUI_LIB_LOC"; then
++            if test "$GUI_LIB_LOC" = /usr/lib; then
++	GUI_LIB_LOC=
++	echo "$as_me:$LINENO: result: in default path" >&5
++echo "${ECHO_T}in default path" >&6
++      else
++	if test -n "$GUI_LIB_LOC"; then
++	  echo "$as_me:$LINENO: result: $GUI_LIB_LOC" >&5
++echo "${ECHO_T}$GUI_LIB_LOC" >&6
++	  if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++	    GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
++	  fi
++	fi
++      fi
++      MOTIF_LIBNAME=-lXm
++    else
++      echo "$as_me:$LINENO: result: <not found>" >&5
++echo "${ECHO_T}<not found>" >&6
++      SKIP_MOTIF=YES
++    fi
++  fi
++fi
++
++if test -z "$SKIP_MOTIF"; then
++  SKIP_ATHENA=YES
++  SKIP_NEXTAW=YES
++  GUITYPE=MOTIF
++
++fi
++
++
++GUI_X_LIBS=
++
++if test -z "$SKIP_ATHENA"; then
++  echo "$as_me:$LINENO: checking if Athena header files can be found" >&5
++echo $ECHO_N "checking if Athena header files can be found... $ECHO_C" >&6
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <X11/Intrinsic.h>
++#include <X11/Xaw/Paned.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; SKIP_ATHENA=YES
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$cflags_save
++fi
++
++if test -z "$SKIP_ATHENA"; then
++  GUITYPE=ATHENA
++fi
++
++if test -z "$SKIP_NEXTAW"; then
++  echo "$as_me:$LINENO: checking if neXtaw header files can be found" >&5
++echo $ECHO_N "checking if neXtaw header files can be found... $ECHO_C" >&6
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <X11/Intrinsic.h>
++#include <X11/neXtaw/Paned.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; SKIP_NEXTAW=YES
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  CFLAGS=$cflags_save
++fi
++
++if test -z "$SKIP_NEXTAW"; then
++  GUITYPE=NEXTAW
++fi
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
++      if test -n "$GUI_INC_LOC"; then
++    GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`"
++  fi
++  if test -n "$GUI_LIB_LOC"; then
++    GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`"
++  fi
++
++    ldflags_save=$LDFLAGS
++  LDFLAGS="$X_LIBS $LDFLAGS"
++  echo "$as_me:$LINENO: checking for XShapeQueryExtension in -lXext" >&5
++echo $ECHO_N "checking for XShapeQueryExtension in -lXext... $ECHO_C" >&6
++if test "${ac_cv_lib_Xext_XShapeQueryExtension+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXext -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char XShapeQueryExtension ();
++int
++main ()
++{
++XShapeQueryExtension ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_Xext_XShapeQueryExtension=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_Xext_XShapeQueryExtension=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
++echo "${ECHO_T}$ac_cv_lib_Xext_XShapeQueryExtension" >&6
++if test $ac_cv_lib_Xext_XShapeQueryExtension = yes; then
++  GUI_X_LIBS="-lXext"
++fi
++
++    echo "$as_me:$LINENO: checking for wslen in -lw" >&5
++echo $ECHO_N "checking for wslen in -lw... $ECHO_C" >&6
++if test "${ac_cv_lib_w_wslen+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lw $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char wslen ();
++int
++main ()
++{
++wslen ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_w_wslen=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_w_wslen=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5
++echo "${ECHO_T}$ac_cv_lib_w_wslen" >&6
++if test $ac_cv_lib_w_wslen = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
++fi
++
++  echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5
++echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
++if test "${ac_cv_lib_dl_dlsym+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-ldl $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char dlsym ();
++int
++main ()
++{
++dlsym ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_dl_dlsym=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_dl_dlsym=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
++echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
++if test $ac_cv_lib_dl_dlsym = yes; then
++  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
++fi
++
++  echo "$as_me:$LINENO: checking for XmuCreateStippledPixmap in -lXmu" >&5
++echo $ECHO_N "checking for XmuCreateStippledPixmap in -lXmu... $ECHO_C" >&6
++if test "${ac_cv_lib_Xmu_XmuCreateStippledPixmap+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXmu $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char XmuCreateStippledPixmap ();
++int
++main ()
++{
++XmuCreateStippledPixmap ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_Xmu_XmuCreateStippledPixmap=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_Xmu_XmuCreateStippledPixmap=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
++echo "${ECHO_T}$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6
++if test $ac_cv_lib_Xmu_XmuCreateStippledPixmap = yes; then
++  GUI_X_LIBS="-lXmu $GUI_X_LIBS"
++fi
++
++  if test -z "$SKIP_MOTIF"; then
++    echo "$as_me:$LINENO: checking for XpEndJob in -lXp" >&5
++echo $ECHO_N "checking for XpEndJob in -lXp... $ECHO_C" >&6
++if test "${ac_cv_lib_Xp_XpEndJob+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lXp $GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char XpEndJob ();
++int
++main ()
++{
++XpEndJob ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_Xp_XpEndJob=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_Xp_XpEndJob=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5
++echo "${ECHO_T}$ac_cv_lib_Xp_XpEndJob" >&6
++if test $ac_cv_lib_Xp_XpEndJob = yes; then
++  GUI_X_LIBS="-lXp $GUI_X_LIBS"
++fi
++
++  fi
++  LDFLAGS=$ldflags_save
++
++    echo "$as_me:$LINENO: checking for extra X11 defines" >&5
++echo $ECHO_N "checking for extra X11 defines... $ECHO_C" >&6
++  NARROW_PROTO=
++  rm -fr conftestdir
++  if mkdir conftestdir; then
++    cd conftestdir
++    cat > Imakefile <<'EOF'
++acfindx:
++	@echo 'NARROW_PROTO="${PROTO_DEFINES}"'
++EOF
++    if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
++      eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
++    fi
++    cd ..
++    rm -fr conftestdir
++  fi
++  if test -z "$NARROW_PROTO"; then
++    echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++  else
++    echo "$as_me:$LINENO: result: $NARROW_PROTO" >&5
++echo "${ECHO_T}$NARROW_PROTO" >&6
++  fi
++
++fi
++
++if test "$enable_xsmp" = "yes"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++
++for ac_header in X11/SM/SMlib.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++  CPPFLAGS=$cppflags_save
++fi
++
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK"; then
++    cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++
++
++for ac_header in X11/xpm.h X11/Sunkeysym.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++    if test ! "$enable_xim" = "no"; then
++    echo "$as_me:$LINENO: checking for XIMText in X11/Xlib.h" >&5
++echo $ECHO_N "checking for XIMText in X11/Xlib.h... $ECHO_C" >&6
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Xlib.h>
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "XIMText" >/dev/null 2>&1; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me:$LINENO: result: no; xim has been disabled" >&5
++echo "${ECHO_T}no; xim has been disabled" >&6; enable_xim = "no"
++fi
++rm -f conftest*
++
++  fi
++  CPPFLAGS=$cppflags_save
++
++    if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
++		-a "x$GUITYPE" != "xNONE" ; then
++    echo "$as_me:$LINENO: result: X GUI selected; xim has been enabled" >&5
++echo "${ECHO_T}X GUI selected; xim has been enabled" >&6
++    enable_xim="yes"
++  fi
++fi
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++  echo "$as_me:$LINENO: checking for X11/Xmu/Editres.h" >&5
++echo $ECHO_N "checking for X11/Xmu/Editres.h... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <X11/Intrinsic.h>
++#include <X11/Xmu/Editres.h>
++int
++main ()
++{
++int i; i = 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++		      cat >>confdefs.h <<\_ACEOF
++#define HAVE_X11_XMU_EDITRES_H 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  CPPFLAGS=$cppflags_save
++fi
++
++if test -z "$SKIP_MOTIF"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++
++
++
++
++
++
++
++for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
++		   Xm/UnhighlightT.h Xm/Notebook.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++  if test $ac_cv_header_Xm_XpmP_h = yes; then
++        echo "$as_me:$LINENO: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
++echo $ECHO_N "checking for XpmAttributes_21 in Xm/XpmP.h... $ECHO_C" >&6
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <Xm/XpmP.h>
++int
++main ()
++{
++XpmAttributes_21 attr;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define XPMATTRIBUTES_TYPE XpmAttributes_21
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6; cat >>confdefs.h <<\_ACEOF
++#define XPMATTRIBUTES_TYPE XpmAttributes
++_ACEOF
++
++
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  else
++    cat >>confdefs.h <<\_ACEOF
++#define XPMATTRIBUTES_TYPE XpmAttributes
++_ACEOF
++
++  fi
++  CPPFLAGS=$cppflags_save
++fi
++
++if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
++  echo "$as_me:$LINENO: result: no GUI selected; xim has been disabled" >&5
++echo "${ECHO_T}no GUI selected; xim has been disabled" >&6
++  enable_xim="no"
++fi
++if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
++  echo "$as_me:$LINENO: result: no GUI selected; fontset has been disabled" >&5
++echo "${ECHO_T}no GUI selected; fontset has been disabled" >&6
++  enable_fontset="no"
++fi
++if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
++  echo "$as_me:$LINENO: result: GTK+ 2 GUI selected; fontset has been disabled" >&5
++echo "${ECHO_T}GTK+ 2 GUI selected; fontset has been disabled" >&6
++  enable_fontset="no"
++fi
++
++if test -z "$SKIP_PHOTON"; then
++  GUITYPE=PHOTONGUI
++fi
++
++
++
++
++
++
++if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
++  { { echo "$as_me:$LINENO: error: cannot use workshop without Motif" >&5
++echo "$as_me: error: cannot use workshop without Motif" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++
++if test "$enable_xim" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_XIM 1
++_ACEOF
++
++fi
++if test "$enable_fontset" = "yes"; then
++  cat >>confdefs.h <<\_ACEOF
++#define FEAT_XFONTSET 1
++_ACEOF
++
++fi
++
++
++
++
++if test "$enable_hangulinput" = "yes"; then
++  if test "x$GUITYPE" = "xNONE"; then
++    echo "$as_me:$LINENO: result: no GUI selected; hangul input has been disabled" >&5
++echo "${ECHO_T}no GUI selected; hangul input has been disabled" >&6
++    enable_hangulinput=no
++  else
++    cat >>confdefs.h <<\_ACEOF
++#define FEAT_HANGULIN 1
++_ACEOF
++
++    HANGULIN_SRC=hangulin.c
++
++    HANGULIN_OBJ=objects/hangulin.o
++
++  fi
++fi
++
++
++echo "$as_me:$LINENO: checking quality of toupper" >&5
++echo $ECHO_N "checking quality of toupper... $ECHO_C" >&6
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ctype.h>
++main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  cat >>confdefs.h <<\_ACEOF
++#define BROKEN_TOUPPER 1
++_ACEOF
++ echo "$as_me:$LINENO: result: bad" >&5
++echo "${ECHO_T}bad" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: good" >&5
++echo "${ECHO_T}good" >&6
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++echo "$as_me:$LINENO: checking whether __DATE__ and __TIME__ work" >&5
++echo $ECHO_N "checking whether __DATE__ and __TIME__ work... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++printf("(" __DATE__ " " __TIME__ ")");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_DATE_TIME 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test "${ac_cv_header_elf_h+set}" = set; then
++  echo "$as_me:$LINENO: checking for elf.h" >&5
++echo $ECHO_N "checking for elf.h... $ECHO_C" >&6
++if test "${ac_cv_header_elf_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
++echo "${ECHO_T}$ac_cv_header_elf_h" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking elf.h usability" >&5
++echo $ECHO_N "checking elf.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <elf.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking elf.h presence" >&5
++echo $ECHO_N "checking elf.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <elf.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: elf.h: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: elf.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: elf.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: elf.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: elf.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: elf.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: elf.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: elf.h: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for elf.h" >&5
++echo $ECHO_N "checking for elf.h... $ECHO_C" >&6
++if test "${ac_cv_header_elf_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_cv_header_elf_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
++echo "${ECHO_T}$ac_cv_header_elf_h" >&6
++
++fi
++if test $ac_cv_header_elf_h = yes; then
++  HAS_ELF=1
++fi
++
++
++if test "$HAS_ELF" = 1; then
++
++echo "$as_me:$LINENO: checking for main in -lelf" >&5
++echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6
++if test "${ac_cv_lib_elf_main+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lelf  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++
++int
++main ()
++{
++main ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_elf_main=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_elf_main=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
++echo "${ECHO_T}$ac_cv_lib_elf_main" >&6
++if test $ac_cv_lib_elf_main = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define HAVE_LIBELF 1
++_ACEOF
++
++  LIBS="-lelf $LIBS"
++
++fi
++
++fi
++
++
++
++
++
++
++ac_header_dirent=no
++for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
++  as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
++echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <$ac_hdr>
++
++int
++main ()
++{
++if ((DIR *) 0)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_Header=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_Header=no"
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
++_ACEOF
++
++ac_header_dirent=$ac_hdr; break
++fi
++
++done
++# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
++if test $ac_header_dirent = dirent.h; then
++  echo "$as_me:$LINENO: checking for library containing opendir" >&5
++echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
++if test "${ac_cv_search_opendir+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_func_search_save_LIBS=$LIBS
++ac_cv_search_opendir=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char opendir ();
++int
++main ()
++{
++opendir ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_opendir="none required"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++if test "$ac_cv_search_opendir" = no; then
++  for ac_lib in dir; do
++    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char opendir ();
++int
++main ()
++{
++opendir ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_opendir="-l$ac_lib"
++break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++  done
++fi
++LIBS=$ac_func_search_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
++echo "${ECHO_T}$ac_cv_search_opendir" >&6
++if test "$ac_cv_search_opendir" != no; then
++  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
++
++fi
++
++else
++  echo "$as_me:$LINENO: checking for library containing opendir" >&5
++echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
++if test "${ac_cv_search_opendir+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_func_search_save_LIBS=$LIBS
++ac_cv_search_opendir=no
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char opendir ();
++int
++main ()
++{
++opendir ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_opendir="none required"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++if test "$ac_cv_search_opendir" = no; then
++  for ac_lib in x; do
++    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char opendir ();
++int
++main ()
++{
++opendir ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_search_opendir="-l$ac_lib"
++break
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++  done
++fi
++LIBS=$ac_func_search_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
++echo "${ECHO_T}$ac_cv_search_opendir" >&6
++if test "$ac_cv_search_opendir" != no; then
++  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
++
++fi
++
++fi
++
++
++echo "$as_me:$LINENO: checking for ANSI C header files" >&5
++echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
++if test "${ac_cv_header_stdc+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++#include <stdarg.h>
++#include <string.h>
++#include <float.h>
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_header_stdc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_header_stdc=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++if test $ac_cv_header_stdc = yes; then
++  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <string.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "memchr" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++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 <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdlib.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "free" >/dev/null 2>&1; then
++  :
++else
++  ac_cv_header_stdc=no
++fi
++rm -f conftest*
++
++fi
++
++if test $ac_cv_header_stdc = yes; then
++  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
++  if test "$cross_compiling" = yes; then
++  :
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <ctype.h>
++#if ((' ' & 0x0FF) == 0x020)
++# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
++# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
++#else
++# define ISLOWER(c) \
++		   (('a' <= (c) && (c) <= 'i') \
++		     || ('j' <= (c) && (c) <= 'r') \
++		     || ('s' <= (c) && (c) <= 'z'))
++# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
++#endif
++
++#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
++int
++main ()
++{
++  int i;
++  for (i = 0; i < 256; i++)
++    if (XOR (islower (i), ISLOWER (i))
++	|| toupper (i) != TOUPPER (i))
++      exit(2);
++  exit (0);
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  :
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_header_stdc=no
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
++echo "${ECHO_T}$ac_cv_header_stdc" >&6
++if test $ac_cv_header_stdc = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define STDC_HEADERS 1
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
++echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
++if test "${ac_cv_header_sys_wait_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/wait.h>
++#ifndef WEXITSTATUS
++# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
++#endif
++#ifndef WIFEXITED
++# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
++#endif
++
++int
++main ()
++{
++  int s;
++  wait (&s);
++  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_header_sys_wait_h=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_header_sys_wait_h=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
++echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
++if test $ac_cv_header_sys_wait_h = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYS_WAIT_H 1
++_ACEOF
++
++fi
++
++
++if test $ac_cv_header_sys_wait_h = no; then
++  echo "$as_me:$LINENO: checking for sys/wait.h that defines union wait" >&5
++echo $ECHO_N "checking for sys/wait.h that defines union wait... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/wait.h>
++int
++main ()
++{
++union wait xx, yy; xx = yy
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++			cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYS_WAIT_H 1
++_ACEOF
++
++			cat >>confdefs.h <<\_ACEOF
++#define HAVE_UNION_WAIT 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
++	termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
++	iconv.h langinfo.h unistd.h stropts.h errno.h \
++	sys/resource.h sys/systeminfo.h locale.h \
++	sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
++	poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
++	libgen.h util/debug.h util/msg18n.h frame.h \
++	sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++echo "$as_me:$LINENO: checking for pthread_np.h" >&5
++echo $ECHO_N "checking for pthread_np.h... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <pthread.h>
++#include <pthread_np.h>
++int
++main ()
++{
++int i; i = 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++		      cat >>confdefs.h <<\_ACEOF
++#define HAVE_PTHREAD_NP_H 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++for ac_header in strings.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++if test "x$MACOSX" = "xyes"; then
++    cat >>confdefs.h <<\_ACEOF
++#define NO_STRINGS_WITH_STRING_H 1
++_ACEOF
++
++else
++
++echo "$as_me:$LINENO: checking if strings.h can be included after string.h" >&5
++echo $ECHO_N "checking if strings.h can be included after string.h... $ECHO_C" >&6
++cppflags_save=$CPPFLAGS
++CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
++# define _NO_PROTO	/* like in os_unix.h, causes conflict for AIX (Winn) */
++			/* but don't do it on AIX 5.1 (Uribarri) */
++#endif
++#ifdef HAVE_XM_XM_H
++# include <Xm/Xm.h>	/* This breaks it for HP-UX 11 (Squassabia) */
++#endif
++#ifdef HAVE_STRING_H
++# include <string.h>
++#endif
++#if defined(HAVE_STRINGS_H)
++# include <strings.h>
++#endif
++
++int
++main ()
++{
++int i; i = 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++cat >>confdefs.h <<\_ACEOF
++#define NO_STRINGS_WITH_STRING_H 1
++_ACEOF
++
++		echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++CPPFLAGS=$cppflags_save
++fi
++
++if test $ac_cv_c_compiler_gnu = yes; then
++    echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
++echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
++if test "${ac_cv_prog_gcc_traditional+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++    ac_pattern="Autoconf.*'x'"
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sgtty.h>
++Autoconf TIOCGETP
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "$ac_pattern" >/dev/null 2>&1; then
++  ac_cv_prog_gcc_traditional=yes
++else
++  ac_cv_prog_gcc_traditional=no
++fi
++rm -f conftest*
++
++
++  if test $ac_cv_prog_gcc_traditional = no; then
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <termio.h>
++Autoconf TCGETA
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "$ac_pattern" >/dev/null 2>&1; then
++  ac_cv_prog_gcc_traditional=yes
++fi
++rm -f conftest*
++
++  fi
++fi
++echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
++echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
++  if test $ac_cv_prog_gcc_traditional = yes; then
++    CC="$CC -traditional"
++  fi
++fi
++
++echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
++echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
++if test "${ac_cv_c_const+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++/* FIXME: Include the comments suggested by Paul. */
++#ifndef __cplusplus
++  /* Ultrix mips cc rejects this.  */
++  typedef int charset[2];
++  const charset x;
++  /* SunOS 4.1.1 cc rejects this.  */
++  char const *const *ccp;
++  char **p;
++  /* NEC SVR4.0.2 mips cc rejects this.  */
++  struct point {int x, y;};
++  static struct point const zero = {0,0};
++  /* AIX XL C 1.02.0.0 rejects this.
++     It does not let you subtract one const X* pointer from another in
++     an arm of an if-expression whose if-part is not a constant
++     expression */
++  const char *g = "string";
++  ccp = &g + (g ? g-g : 0);
++  /* HPUX 7.0 cc rejects these. */
++  ++ccp;
++  p = (char**) ccp;
++  ccp = (char const *const *) p;
++  { /* SCO 3.2v4 cc rejects this.  */
++    char *t;
++    char const *s = 0 ? (char *) 0 : (char const *) 0;
++
++    *t++ = 0;
++  }
++  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
++    int x[] = {25, 17};
++    const int *foo = &x[0];
++    ++foo;
++  }
++  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
++    typedef const int *iptr;
++    iptr p = 0;
++    ++p;
++  }
++  { /* AIX XL C 1.02.0.0 rejects this saying
++       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
++    struct s { int j; const int *ap[3]; };
++    struct s *b; b->j = 5;
++  }
++  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
++    const int foo = 10;
++  }
++#endif
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_c_const=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_c_const=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
++echo "${ECHO_T}$ac_cv_c_const" >&6
++if test $ac_cv_c_const = no; then
++
++cat >>confdefs.h <<\_ACEOF
++#define const
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for mode_t" >&5
++echo $ECHO_N "checking for mode_t... $ECHO_C" >&6
++if test "${ac_cv_type_mode_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((mode_t *) 0)
++  return 0;
++if (sizeof (mode_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_mode_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_mode_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
++echo "${ECHO_T}$ac_cv_type_mode_t" >&6
++if test $ac_cv_type_mode_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define mode_t int
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for off_t" >&5
++echo $ECHO_N "checking for off_t... $ECHO_C" >&6
++if test "${ac_cv_type_off_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((off_t *) 0)
++  return 0;
++if (sizeof (off_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_off_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_off_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
++echo "${ECHO_T}$ac_cv_type_off_t" >&6
++if test $ac_cv_type_off_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define off_t long
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for pid_t" >&5
++echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
++if test "${ac_cv_type_pid_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((pid_t *) 0)
++  return 0;
++if (sizeof (pid_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_pid_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_pid_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
++echo "${ECHO_T}$ac_cv_type_pid_t" >&6
++if test $ac_cv_type_pid_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define pid_t int
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for size_t" >&5
++echo $ECHO_N "checking for size_t... $ECHO_C" >&6
++if test "${ac_cv_type_size_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((size_t *) 0)
++  return 0;
++if (sizeof (size_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_size_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_size_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
++echo "${ECHO_T}$ac_cv_type_size_t" >&6
++if test $ac_cv_type_size_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define size_t unsigned
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
++echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
++if test "${ac_cv_type_uid_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "uid_t" >/dev/null 2>&1; then
++  ac_cv_type_uid_t=yes
++else
++  ac_cv_type_uid_t=no
++fi
++rm -f conftest*
++
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
++echo "${ECHO_T}$ac_cv_type_uid_t" >&6
++if test $ac_cv_type_uid_t = no; then
++
++cat >>confdefs.h <<\_ACEOF
++#define uid_t int
++_ACEOF
++
++
++cat >>confdefs.h <<\_ACEOF
++#define gid_t int
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
++if test "${ac_cv_header_time+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/time.h>
++#include <time.h>
++
++int
++main ()
++{
++if ((struct tm *) 0)
++return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_header_time=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_header_time=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
++echo "${ECHO_T}$ac_cv_header_time" >&6
++if test $ac_cv_header_time = yes; then
++
++cat >>confdefs.h <<\_ACEOF
++#define TIME_WITH_SYS_TIME 1
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for ino_t" >&5
++echo $ECHO_N "checking for ino_t... $ECHO_C" >&6
++if test "${ac_cv_type_ino_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((ino_t *) 0)
++  return 0;
++if (sizeof (ino_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_ino_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_ino_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5
++echo "${ECHO_T}$ac_cv_type_ino_t" >&6
++if test $ac_cv_type_ino_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define ino_t long
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for dev_t" >&5
++echo $ECHO_N "checking for dev_t... $ECHO_C" >&6
++if test "${ac_cv_type_dev_t+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++int
++main ()
++{
++if ((dev_t *) 0)
++  return 0;
++if (sizeof (dev_t))
++  return 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_dev_t=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_dev_t=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5
++echo "${ECHO_T}$ac_cv_type_dev_t" >&6
++if test $ac_cv_type_dev_t = yes; then
++  :
++else
++
++cat >>confdefs.h <<_ACEOF
++#define dev_t unsigned
++_ACEOF
++
++fi
++
++
++echo "$as_me:$LINENO: checking for rlim_t" >&5
++echo $ECHO_N "checking for rlim_t... $ECHO_C" >&6
++if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
++  echo "$as_me:$LINENO: result: (cached) $ac_cv_type_rlim_t" >&5
++echo "${ECHO_T}(cached) $ac_cv_type_rlim_t" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#ifdef HAVE_SYS_RESOURCE_H
++#include <sys/resource.h>
++#endif
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
++  ac_cv_type_rlim_t=yes
++else
++  ac_cv_type_rlim_t=no
++fi
++rm -f conftest*
++
++	  echo "$as_me:$LINENO: result: $ac_cv_type_rlim_t" >&5
++echo "${ECHO_T}$ac_cv_type_rlim_t" >&6
++fi
++if test $ac_cv_type_rlim_t = no; then
++  cat >> confdefs.h <<\EOF
++#define rlim_t unsigned long
++EOF
++fi
++
++echo "$as_me:$LINENO: checking for stack_t" >&5
++echo $ECHO_N "checking for stack_t... $ECHO_C" >&6
++if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
++  echo "$as_me:$LINENO: result: (cached) $ac_cv_type_stack_t" >&5
++echo "${ECHO_T}(cached) $ac_cv_type_stack_t" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#include <signal.h>
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "stack_t" >/dev/null 2>&1; then
++  ac_cv_type_stack_t=yes
++else
++  ac_cv_type_stack_t=no
++fi
++rm -f conftest*
++
++	  echo "$as_me:$LINENO: result: $ac_cv_type_stack_t" >&5
++echo "${ECHO_T}$ac_cv_type_stack_t" >&6
++fi
++if test $ac_cv_type_stack_t = no; then
++  cat >> confdefs.h <<\EOF
++#define stack_t struct sigaltstack
++EOF
++fi
++
++echo "$as_me:$LINENO: checking whether stack_t has an ss_base field" >&5
++echo $ECHO_N "checking whether stack_t has an ss_base field... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#include <signal.h>
++#include "confdefs.h"
++
++int
++main ()
++{
++stack_t sigstk; sigstk.ss_base = 0;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SS_BASE 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++olibs="$LIBS"
++echo "$as_me:$LINENO: checking --with-tlib argument" >&5
++echo $ECHO_N "checking --with-tlib argument... $ECHO_C" >&6
++
++# Check whether --with-tlib or --without-tlib was given.
++if test "${with_tlib+set}" = set; then
++  withval="$with_tlib"
++
++fi;
++if test -n "$with_tlib"; then
++  echo "$as_me:$LINENO: result: $with_tlib" >&5
++echo "${ECHO_T}$with_tlib" >&6
++  LIBS="$LIBS -l$with_tlib"
++  echo "$as_me:$LINENO: checking for linking with $with_tlib library" >&5
++echo $ECHO_N "checking for linking with $with_tlib library... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: OK" >&5
++echo "${ECHO_T}OK" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: FAILED" >&5
++echo "$as_me: error: FAILED" >&2;}
++   { (exit 1); exit 1; }; }
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++    olibs="$LIBS"
++else
++  echo "$as_me:$LINENO: result: empty: automatic terminal library selection" >&5
++echo "${ECHO_T}empty: automatic terminal library selection" >&6
++              case "`uname -s 2>/dev/null`" in
++	OSF1|SCO_SV)	tlibs="ncurses curses termlib termcap";;
++	*)	tlibs="ncurses termlib termcap curses";;
++  esac
++  for libname in $tlibs; do
++
++as_ac_Lib=`echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for tgetent in -l${libname}" >&5
++echo $ECHO_N "checking for tgetent in -l${libname}... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Lib+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-l${libname}  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char tgetent ();
++int
++main ()
++{
++tgetent ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_Lib=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_Lib=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
++if test `eval echo '${'$as_ac_Lib'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
++_ACEOF
++
++  LIBS="-l${libname} $LIBS"
++
++fi
++
++    if test "x$olibs" != "x$LIBS"; then
++                        if test "$cross_compiling" = yes; then
++  res="FAIL"
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  res="OK"
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++res="FAIL"
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++      if test "$res" = "OK"; then
++	break
++      fi
++      echo "$as_me:$LINENO: result: $libname library is not usable" >&5
++echo "${ECHO_T}$libname library is not usable" >&6
++      LIBS="$olibs"
++    fi
++  done
++  if test "x$olibs" = "x$LIBS"; then
++    echo "$as_me:$LINENO: result: no terminal library found" >&5
++echo "${ECHO_T}no terminal library found" >&6
++  fi
++fi
++
++if test "x$olibs" = "x$LIBS"; then
++  echo "$as_me:$LINENO: checking for tgetent()" >&5
++echo $ECHO_N "checking for tgetent()... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++{ { echo "$as_me:$LINENO: error: NOT FOUND!
++      You need to install a terminal library; for example ncurses.
++      Or specify the name of the library with --with-tlib." >&5
++echo "$as_me: error: NOT FOUND!
++      You need to install a terminal library; for example ncurses.
++      Or specify the name of the library with --with-tlib." >&2;}
++   { (exit 1); exit 1; }; }
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++
++echo "$as_me:$LINENO: checking whether we talk terminfo" >&5
++echo $ECHO_N "checking whether we talk terminfo... $ECHO_C" >&6
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
++echo "$as_me: error: failed to compile test program." >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main()
++{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: no -- we are in termcap land" >&5
++echo "${ECHO_T}no -- we are in termcap land" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: yes -- terminfo spoken here" >&5
++echo "${ECHO_T}yes -- terminfo spoken here" >&6; cat >>confdefs.h <<\_ACEOF
++#define TERMINFO 1
++_ACEOF
++
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++if test "x$olibs" != "x$LIBS"; then
++  echo "$as_me:$LINENO: checking what tgetent() returns for an unknown terminal" >&5
++echo $ECHO_N "checking what tgetent() returns for an unknown terminal... $ECHO_C" >&6
++  if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
++echo "$as_me: error: failed to compile test program." >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main()
++{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: zero" >&5
++echo "${ECHO_T}zero" >&6; cat >>confdefs.h <<\_ACEOF
++#define TGETENT_ZERO_ERR 0
++_ACEOF
++
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: non-zero" >&5
++echo "${ECHO_T}non-zero" >&6
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++
++echo "$as_me:$LINENO: checking whether termcap.h contains ospeed" >&5
++echo $ECHO_N "checking whether termcap.h contains ospeed... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++
++int
++main ()
++{
++ospeed = 20000
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_OSPEED 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++	echo "$as_me:$LINENO: checking whether ospeed can be extern" >&5
++echo $ECHO_N "checking whether ospeed can be extern... $ECHO_C" >&6
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++extern short ospeed;
++
++int
++main ()
++{
++ospeed = 20000
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define OSPEED_EXTERN 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking whether termcap.h contains UP, BC and PC" >&5
++echo $ECHO_N "checking whether termcap.h contains UP, BC and PC... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++
++int
++main ()
++{
++if (UP == 0 && BC == 0) PC = 1
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_UP_BC_PC 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++	echo "$as_me:$LINENO: checking whether UP, BC and PC can be extern" >&5
++echo $ECHO_N "checking whether UP, BC and PC can be extern... $ECHO_C" >&6
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++extern char *UP, *BC, PC;
++
++int
++main ()
++{
++if (UP == 0 && BC == 0) PC = 1
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define UP_BC_PC_EXTERN 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking whether tputs() uses outfuntype" >&5
++echo $ECHO_N "checking whether tputs() uses outfuntype... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++
++int
++main ()
++{
++extern int xx(); tputs("test", 1, (outfuntype)xx)
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_OUTFUNTYPE 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking whether sys/select.h and sys/time.h may both be included" >&5
++echo $ECHO_N "checking whether sys/select.h and sys/time.h may both be included... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#include <sys/time.h>
++#include <sys/select.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++			cat >>confdefs.h <<\_ACEOF
++#define SYS_SELECT_WITH_SYS_TIME 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++echo "$as_me:$LINENO: checking for /dev/ptc" >&5
++echo $ECHO_N "checking for /dev/ptc... $ECHO_C" >&6
++if test -r /dev/ptc; then
++  cat >>confdefs.h <<\_ACEOF
++#define HAVE_DEV_PTC 1
++_ACEOF
++
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:$LINENO: checking for SVR4 ptys" >&5
++echo $ECHO_N "checking for SVR4 ptys... $ECHO_C" >&6
++if test -c /dev/ptmx ; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++ptsname(0);grantpt(0);unlockpt(0);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SVR4_PTYS 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++echo "$as_me:$LINENO: checking for ptyranges" >&5
++echo $ECHO_N "checking for ptyranges... $ECHO_C" >&6
++if test -d /dev/ptym ; then
++  pdir='/dev/ptym'
++else
++  pdir='/dev'
++fi
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#ifdef M_UNIX
++   yes;
++#endif
++
++_ACEOF
++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
++  $EGREP "yes" >/dev/null 2>&1; then
++  ptys=`echo /dev/ptyp??`
++else
++  ptys=`echo $pdir/pty??`
++fi
++rm -f conftest*
++
++if test "$ptys" != "$pdir/pty??" ; then
++  p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
++  p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g'  | sort -u | tr -d '\012'`
++  cat >>confdefs.h <<_ACEOF
++#define PTYRANGE0 "$p0"
++_ACEOF
++
++  cat >>confdefs.h <<_ACEOF
++#define PTYRANGE1 "$p1"
++_ACEOF
++
++  echo "$as_me:$LINENO: result: $p0 / $p1" >&5
++echo "${ECHO_T}$p0 / $p1" >&6
++else
++  echo "$as_me:$LINENO: result: don't know" >&5
++echo "${ECHO_T}don't know" >&6
++fi
++
++echo "$as_me:$LINENO: checking default tty permissions/group" >&5
++echo $ECHO_N "checking default tty permissions/group... $ECHO_C" >&6
++rm -f conftest_grp
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <stdio.h>
++main()
++{
++  struct stat sb;
++  char *x,*ttyname();
++  int om, m;
++  FILE *fp;
++
++  if (!(x = ttyname(0))) exit(1);
++  if (stat(x, &sb)) exit(1);
++  om = sb.st_mode;
++  if (om & 002) exit(0);
++  m = system("mesg y");
++  if (m == -1 || m == 127) exit(1);
++  if (stat(x, &sb)) exit(1);
++  m = sb.st_mode;
++  if (chmod(x, om)) exit(1);
++  if (m & 002) exit(0);
++  if (sb.st_gid == getgid()) exit(1);
++  if (!(fp=fopen("conftest_grp", "w")))
++    exit(1);
++  fprintf(fp, "%d\n", sb.st_gid);
++  fclose(fp);
++  exit(0);
++}
++
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++
++    if test -f conftest_grp; then
++	ptygrp=`cat conftest_grp`
++	echo "$as_me:$LINENO: result: pty mode: 0620, group: $ptygrp" >&5
++echo "${ECHO_T}pty mode: 0620, group: $ptygrp" >&6
++	cat >>confdefs.h <<\_ACEOF
++#define PTYMODE 0620
++_ACEOF
++
++	cat >>confdefs.h <<_ACEOF
++#define PTYGROUP $ptygrp
++_ACEOF
++
++    else
++	echo "$as_me:$LINENO: result: ptys are world accessable" >&5
++echo "${ECHO_T}ptys are world accessable" >&6
++    fi
++
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessable" >&5
++echo "${ECHO_T}can't determine - assume ptys are world accessable" >&6
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++rm -f conftest_grp
++
++
++echo "$as_me:$LINENO: checking return type of signal handlers" >&5
++echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
++if test "${ac_cv_type_signal+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <signal.h>
++#ifdef signal
++# undef signal
++#endif
++#ifdef __cplusplus
++extern "C" void (*signal (int, void (*)(int)))(int);
++#else
++void (*signal ()) ();
++#endif
++
++int
++main ()
++{
++int i;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_type_signal=void
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_type_signal=int
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
++echo "${ECHO_T}$ac_cv_type_signal" >&6
++
++cat >>confdefs.h <<_ACEOF
++#define RETSIGTYPE $ac_cv_type_signal
++_ACEOF
++
++
++
++if test $ac_cv_type_signal = void; then
++  cat >>confdefs.h <<\_ACEOF
++#define SIGRETURN return
++_ACEOF
++
++else
++  cat >>confdefs.h <<\_ACEOF
++#define SIGRETURN return 0
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking for struct sigcontext" >&5
++echo $ECHO_N "checking for struct sigcontext... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <signal.h>
++test_sig()
++{
++    struct sigcontext *scont;
++    scont = (struct sigcontext *)0;
++    return 1;
++}
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++		cat >>confdefs.h <<\_ACEOF
++#define HAVE_SIGCONTEXT 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking getcwd implementation" >&5
++echo $ECHO_N "checking getcwd implementation... $ECHO_C" >&6
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++char *dagger[] = { "IFS=pwd", 0 };
++main()
++{
++  char buffer[500];
++  extern char **environ;
++  environ = dagger;
++  return getcwd(buffer, 500) ? 0 : 1;
++}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: it is usable" >&5
++echo "${ECHO_T}it is usable" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: it stinks" >&5
++echo "${ECHO_T}it stinks" >&6
++		cat >>confdefs.h <<\_ACEOF
++#define BAD_GETCWD 1
++_ACEOF
++
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
++	getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
++	memset nanosleep opendir putenv qsort readlink select setenv \
++	setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
++	sigvec strcasecmp strerror strftime stricmp strncasecmp \
++	strnicmp strpbrk strtol tgetent towlower towupper iswupper \
++	usleep utime utimes
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_var=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++
++echo "$as_me:$LINENO: checking for st_blksize" >&5
++echo $ECHO_N "checking for st_blksize... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/stat.h>
++int
++main ()
++{
++	struct stat st;
++	int n;
++
++	stat("/", &st);
++	n = (int)st.st_blksize;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_ST_BLKSIZE 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking whether stat() ignores a trailing slash" >&5
++echo $ECHO_N "checking whether stat() ignores a trailing slash... $ECHO_C" >&6
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/stat.h>
++main() {struct stat st;  exit(stat("configure/", &st) != 0); }
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define STAT_IGNORES_SLASH 1
++_ACEOF
++
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++echo "$as_me:$LINENO: checking for iconv_open()" >&5
++echo $ECHO_N "checking for iconv_open()... $ECHO_C" >&6
++save_LIBS="$LIBS"
++LIBS="$LIBS -liconv"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_ICONV_H
++# include <iconv.h>
++#endif
++
++int
++main ()
++{
++iconv_open("fr", "to");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes; with -liconv" >&5
++echo "${ECHO_T}yes; with -liconv" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_ICONV 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++LIBS="$save_LIBS"
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_ICONV_H
++# include <iconv.h>
++#endif
++
++int
++main ()
++{
++iconv_open("fr", "to");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_ICONV 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++
++echo "$as_me:$LINENO: checking for nl_langinfo(CODESET)" >&5
++echo $ECHO_N "checking for nl_langinfo(CODESET)... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_LANGINFO_H
++# include <langinfo.h>
++#endif
++
++int
++main ()
++{
++char *cs = nl_langinfo(CODESET);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_NL_LANGINFO_CODESET 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking --disable-acl argument" >&5
++echo $ECHO_N "checking --disable-acl argument... $ECHO_C" >&6
++# Check whether --enable-acl or --disable-acl was given.
++if test "${enable_acl+set}" = set; then
++  enableval="$enable_acl"
++
++else
++  enable_acl="yes"
++fi;
++if test "$enable_acl" = "yes"; then
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++echo "$as_me:$LINENO: checking for acl_get_file in -lposix1e" >&5
++echo $ECHO_N "checking for acl_get_file in -lposix1e... $ECHO_C" >&6
++if test "${ac_cv_lib_posix1e_acl_get_file+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lposix1e  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char acl_get_file ();
++int
++main ()
++{
++acl_get_file ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_posix1e_acl_get_file=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_posix1e_acl_get_file=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5
++echo "${ECHO_T}$ac_cv_lib_posix1e_acl_get_file" >&6
++if test $ac_cv_lib_posix1e_acl_get_file = yes; then
++  LIBS="$LIBS -lposix1e"
++else
++  echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5
++echo $ECHO_N "checking for acl_get_file in -lacl... $ECHO_C" >&6
++if test "${ac_cv_lib_acl_acl_get_file+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lacl  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char acl_get_file ();
++int
++main ()
++{
++acl_get_file ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_acl_acl_get_file=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_acl_acl_get_file=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5
++echo "${ECHO_T}$ac_cv_lib_acl_acl_get_file" >&6
++if test $ac_cv_lib_acl_acl_get_file = yes; then
++  LIBS="$LIBS -lacl"
++		  echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5
++echo $ECHO_N "checking for fgetxattr in -lattr... $ECHO_C" >&6
++if test "${ac_cv_lib_attr_fgetxattr+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lattr  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char fgetxattr ();
++int
++main ()
++{
++fgetxattr ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_attr_fgetxattr=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_attr_fgetxattr=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5
++echo "${ECHO_T}$ac_cv_lib_attr_fgetxattr" >&6
++if test $ac_cv_lib_attr_fgetxattr = yes; then
++  LIBS="$LIBS -lattr"
++fi
++
++fi
++
++fi
++
++
++echo "$as_me:$LINENO: checking for POSIX ACL support" >&5
++echo $ECHO_N "checking for POSIX ACL support... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#include <sys/types.h>
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif
++acl_t acl;
++int
++main ()
++{
++acl = acl_get_file("foo", ACL_TYPE_ACCESS);
++	acl_set_file("foo", ACL_TYPE_ACCESS, acl);
++	acl_free(acl);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_POSIX_ACL 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for Solaris ACL support" >&5
++echo $ECHO_N "checking for Solaris ACL support... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif
++int
++main ()
++{
++acl("foo", GETACLCNT, 0, NULL);
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SOLARIS_ACL 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for AIX ACL support" >&5
++echo $ECHO_N "checking for AIX ACL support... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif
++#ifdef HAVE_SYS_ACCESS_H
++# include <sys/access.h>
++#endif
++#define _ALL_SOURCE
++
++#include <sys/stat.h>
++
++int aclsize;
++struct acl *aclent;
++int
++main ()
++{
++aclsize = sizeof(struct acl);
++	aclent = (void *)malloc(aclsize);
++	statacl("foo", STX_NORMAL, aclent, aclsize);
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_AIX_ACL 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++
++echo "$as_me:$LINENO: checking --disable-gpm argument" >&5
++echo $ECHO_N "checking --disable-gpm argument... $ECHO_C" >&6
++# Check whether --enable-gpm or --disable-gpm was given.
++if test "${enable_gpm+set}" = set; then
++  enableval="$enable_gpm"
++
++else
++  enable_gpm="yes"
++fi;
++
++if test "$enable_gpm" = "yes"; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++    echo "$as_me:$LINENO: checking for gpm" >&5
++echo $ECHO_N "checking for gpm... $ECHO_C" >&6
++if test "${vi_cv_have_gpm+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  olibs="$LIBS" ; LIBS="-lgpm"
++	cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <gpm.h>
++	    #include <linux/keyboard.h>
++int
++main ()
++{
++Gpm_GetLibVersion(NULL);
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  	    	    vi_cv_have_gpm=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++vi_cv_have_gpm=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++	LIBS="$olibs"
++
++fi
++echo "$as_me:$LINENO: result: $vi_cv_have_gpm" >&5
++echo "${ECHO_T}$vi_cv_have_gpm" >&6
++  if test $vi_cv_have_gpm = yes; then
++    LIBS="$LIBS -lgpm"
++    cat >>confdefs.h <<\_ACEOF
++#define HAVE_GPM 1
++_ACEOF
++
++  fi
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++
++echo "$as_me:$LINENO: checking for rename" >&5
++echo $ECHO_N "checking for rename... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdio.h>
++int
++main ()
++{
++rename("this", "that")
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_RENAME 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for sysctl" >&5
++echo $ECHO_N "checking for sysctl... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/sysctl.h>
++int
++main ()
++{
++	int mib[2], r;
++	size_t len;
++
++	mib[0] = CTL_HW;
++	mib[1] = HW_USERMEM;
++	len = sizeof(r);
++	(void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0);
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYSCTL 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: not usable" >&5
++echo "${ECHO_T}not usable" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for sysinfo" >&5
++echo $ECHO_N "checking for sysinfo... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/sysinfo.h>
++int
++main ()
++{
++	struct sysinfo sinfo;
++	int t;
++
++	(void)sysinfo(&sinfo);
++	t = sinfo.totalram;
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYSINFO 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: not usable" >&5
++echo "${ECHO_T}not usable" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for sysinfo.mem_unit" >&5
++echo $ECHO_N "checking for sysinfo.mem_unit... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <sys/types.h>
++#include <sys/sysinfo.h>
++int
++main ()
++{
++	struct sysinfo sinfo;
++ 	sinfo.mem_unit = 1;
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYSINFO_MEM_UNIT 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++echo "$as_me:$LINENO: checking for sysconf" >&5
++echo $ECHO_N "checking for sysconf... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <unistd.h>
++int
++main ()
++{
++	(void)sysconf(_SC_PAGESIZE);
++	(void)sysconf(_SC_PHYS_PAGES);
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_SYSCONF 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: not usable" >&5
++echo "${ECHO_T}not usable" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++
++
++echo "$as_me:$LINENO: checking size of int" >&5
++echo $ECHO_N "checking size of int... $ECHO_C" >&6
++if test "${ac_cv_sizeof_int+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <stdio.h>
++		main()
++		{
++		  FILE *f=fopen("conftestval", "w");
++		  if (!f) exit(1);
++		  fprintf(f, "%d\n", (int)sizeof(int));
++		  exit(0);
++		}
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_sizeof_int=`cat conftestval`
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++ac_cv_sizeof_int=0
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++
++echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
++echo "${ECHO_T}$ac_cv_sizeof_int" >&6
++cat >>confdefs.h <<_ACEOF
++#define SIZEOF_INT $ac_cv_sizeof_int
++_ACEOF
++
++
++echo "$as_me:$LINENO: checking whether memmove/bcopy/memcpy handle overlaps" >&5
++echo $ECHO_N "checking whether memmove/bcopy/memcpy handle overlaps... $ECHO_C" >&6
++bcopy_test_prog='
++main() {
++  char buf[10];
++  strcpy(buf, "abcdefghi");
++  mch_memmove(buf, buf + 2, 3);
++  if (strncmp(buf, "ababcf", 6))
++    exit(1);
++  strcpy(buf, "abcdefghi");
++  mch_memmove(buf + 2, buf, 3);
++  if (strncmp(buf, "cdedef", 6))
++    exit(1);
++  exit(0); /* libc version works properly.  */
++}'
++
++
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  cat >>confdefs.h <<\_ACEOF
++#define USEMEMMOVE 1
++_ACEOF
++ echo "$as_me:$LINENO: result: memmove does" >&5
++echo "${ECHO_T}memmove does" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  cat >>confdefs.h <<\_ACEOF
++#define USEBCOPY 1
++_ACEOF
++ echo "$as_me:$LINENO: result: bcopy does" >&5
++echo "${ECHO_T}bcopy does" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++if test "$cross_compiling" = yes; then
++  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
++echo "$as_me: error: failed to compile test program" >&2;}
++   { (exit 1); exit 1; }; }
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog
++_ACEOF
++rm -f conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  cat >>confdefs.h <<\_ACEOF
++#define USEMEMCPY 1
++_ACEOF
++ echo "$as_me:$LINENO: result: memcpy does" >&5
++echo "${ECHO_T}memcpy does" >&6
++else
++  echo "$as_me: program exited with status $ac_status" >&5
++echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++( exit $ac_status )
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++fi
++rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
++fi
++
++
++if test "$enable_multibyte" = "yes"; then
++  cflags_save=$CFLAGS
++  ldflags_save=$LDFLAGS
++  if test -n "$x_includes" ; then
++    CFLAGS="$CFLAGS -I$x_includes"
++    LDFLAGS="$X_LIBS $LDFLAGS -lX11"
++    echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
++echo $ECHO_N "checking whether X_LOCALE needed... $ECHO_C" >&6
++    cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <X11/Xlocale.h>
++int
++main ()
++{
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char _Xsetlocale ();
++int
++main ()
++{
++_Xsetlocale ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++		cat >>confdefs.h <<\_ACEOF
++#define X_LOCALE 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++  fi
++  CFLAGS=$cflags_save
++  LDFLAGS=$ldflags_save
++fi
++
++echo "$as_me:$LINENO: checking for _xpg4_setrunelocale in -lxpg4" >&5
++echo $ECHO_N "checking for _xpg4_setrunelocale in -lxpg4... $ECHO_C" >&6
++if test "${ac_cv_lib_xpg4__xpg4_setrunelocale+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_check_lib_save_LIBS=$LIBS
++LIBS="-lxpg4  $LIBS"
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char _xpg4_setrunelocale ();
++int
++main ()
++{
++_xpg4_setrunelocale ();
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_cv_lib_xpg4__xpg4_setrunelocale=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_cv_lib_xpg4__xpg4_setrunelocale=no
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++LIBS=$ac_check_lib_save_LIBS
++fi
++echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
++echo "${ECHO_T}$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6
++if test $ac_cv_lib_xpg4__xpg4_setrunelocale = yes; then
++  LIBS="$LIBS -lxpg4"
++fi
++
++
++echo "$as_me:$LINENO: checking how to create tags" >&5
++echo $ECHO_N "checking how to create tags... $ECHO_C" >&6
++test -f tags && mv tags tags.save
++if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
++  TAGPRG="ctags -I INIT+ --fields=+S"
++else
++  (eval etags	   /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags"
++  (eval etags -c   /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags -c"
++  (eval ctags	   /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags"
++  (eval ctags -t   /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags -t"
++  (eval ctags -ts  /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags -ts"
++  (eval ctags -tvs /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags -tvs"
++  (eval ctags -i+m /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags -i+m"
++fi
++test -f tags.save && mv tags.save tags
++echo "$as_me:$LINENO: result: $TAGPRG" >&5
++echo "${ECHO_T}$TAGPRG" >&6
++
++echo "$as_me:$LINENO: checking how to run man with a section nr" >&5
++echo $ECHO_N "checking how to run man with a section nr... $ECHO_C" >&6
++MANDEF="man"
++(eval man -s 2 read) < /dev/null > /dev/null 2>&5 && MANDEF="man -s"
++echo "$as_me:$LINENO: result: $MANDEF" >&5
++echo "${ECHO_T}$MANDEF" >&6
++if test "$MANDEF" = "man -s"; then
++  cat >>confdefs.h <<\_ACEOF
++#define USEMAN_S 1
++_ACEOF
++
++fi
++
++echo "$as_me:$LINENO: checking --disable-nls argument" >&5
++echo $ECHO_N "checking --disable-nls argument... $ECHO_C" >&6
++# Check whether --enable-nls or --disable-nls was given.
++if test "${enable_nls+set}" = set; then
++  enableval="$enable_nls"
++
++else
++  enable_nls="yes"
++fi;
++
++if test "$enable_nls" = "yes"; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++
++  INSTALL_LANGS=install-languages
++
++  INSTALL_TOOL_LANGS=install-tool-languages
++
++
++  # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_MSGFMT+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  if test -n "$MSGFMT"; then
++  ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test.
++else
++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for ac_exec_ext in '' $ac_executable_extensions; do
++  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++    ac_cv_prog_MSGFMT="msgfmt"
++    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++    break 2
++  fi
++done
++done
++
++fi
++fi
++MSGFMT=$ac_cv_prog_MSGFMT
++if test -n "$MSGFMT"; then
++  echo "$as_me:$LINENO: result: $MSGFMT" >&5
++echo "${ECHO_T}$MSGFMT" >&6
++else
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++  echo "$as_me:$LINENO: checking for NLS" >&5
++echo $ECHO_N "checking for NLS... $ECHO_C" >&6
++  if test -f po/Makefile; then
++    have_gettext="no"
++    if test -n "$MSGFMT"; then
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++int
++main ()
++{
++gettext("Test");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: gettext() works" >&5
++echo "${ECHO_T}gettext() works" >&6; have_gettext="yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++olibs=$LIBS
++	  LIBS="$LIBS -lintl"
++	  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++int
++main ()
++{
++gettext("Test");
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: gettext() works with -lintl" >&5
++echo "${ECHO_T}gettext() works with -lintl" >&6; have_gettext="yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: gettext() doesn't work" >&5
++echo "${ECHO_T}gettext() doesn't work" >&6;
++	      LIBS=$olibs
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++    else
++      echo "$as_me:$LINENO: result: msgfmt not found - disabled" >&5
++echo "${ECHO_T}msgfmt not found - disabled" >&6;
++    fi
++    if test $have_gettext = "yes"; then
++      cat >>confdefs.h <<\_ACEOF
++#define HAVE_GETTEXT 1
++_ACEOF
++
++      MAKEMO=yes
++
++
++for ac_func in bind_textdomain_codeset
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++    which can conflict with char $ac_func (); below.
++    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++    <limits.h> exists even on freestanding compilers.  */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error.  */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++   builtin and then its argument prototype would still apply.  */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++    to always fail with ENOSYS.  Some functions are actually named
++    something starting with __ and the normal name is an alias.  */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  eval "$as_ac_var=yes"
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++            echo "$as_me:$LINENO: checking for _nl_msg_cat_cntr" >&5
++echo $ECHO_N "checking for _nl_msg_cat_cntr... $ECHO_C" >&6
++      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <libintl.h>
++		extern int _nl_msg_cat_cntr;
++int
++main ()
++{
++++_nl_msg_cat_cntr;
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
++#define HAVE_NL_MSG_CAT_CNTR 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++    fi
++  else
++    echo "$as_me:$LINENO: result: no \"po/Makefile\" - disabled" >&5
++echo "${ECHO_T}no \"po/Makefile\" - disabled" >&6;
++  fi
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++  echo "$as_me:$LINENO: checking for dlfcn.h" >&5
++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
++echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <dlfcn.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
++echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <dlfcn.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for dlfcn.h" >&5
++echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
++if test "${ac_cv_header_dlfcn_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_cv_header_dlfcn_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
++echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
++
++fi
++if test $ac_cv_header_dlfcn_h = yes; then
++  DLL=dlfcn.h
++else
++  if test "${ac_cv_header_dl_h+set}" = set; then
++  echo "$as_me:$LINENO: checking for dl.h" >&5
++echo $ECHO_N "checking for dl.h... $ECHO_C" >&6
++if test "${ac_cv_header_dl_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
++echo "${ECHO_T}$ac_cv_header_dl_h" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking dl.h usability" >&5
++echo $ECHO_N "checking dl.h usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <dl.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking dl.h presence" >&5
++echo $ECHO_N "checking dl.h presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <dl.h>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: dl.h: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: dl.h: present but cannot be compiled" >&5
++echo "$as_me: WARNING: dl.h: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: dl.h:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: dl.h: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: dl.h: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: dl.h: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: dl.h: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for dl.h" >&5
++echo $ECHO_N "checking for dl.h... $ECHO_C" >&6
++if test "${ac_cv_header_dl_h+set}" = set; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  ac_cv_header_dl_h=$ac_header_preproc
++fi
++echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
++echo "${ECHO_T}$ac_cv_header_dl_h" >&6
++
++fi
++if test $ac_cv_header_dl_h = yes; then
++  DLL=dl.h
++fi
++
++
++fi
++
++
++if test x${DLL} = xdlfcn.h; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DLFCN_H 1
++_ACEOF
++
++  echo "$as_me:$LINENO: checking for dlopen()" >&5
++echo $ECHO_N "checking for dlopen()... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++		extern void* dlopen();
++		dlopen();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DLOPEN 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++	      echo "$as_me:$LINENO: checking for dlopen() in -ldl" >&5
++echo $ECHO_N "checking for dlopen() in -ldl... $ECHO_C" >&6
++	      olibs=$LIBS
++	      LIBS="$LIBS -ldl"
++	      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++				extern void* dlopen();
++				dlopen();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DLOPEN 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++			  LIBS=$olibs
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++      echo "$as_me:$LINENO: checking for dlsym()" >&5
++echo $ECHO_N "checking for dlsym()... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++		extern void* dlsym();
++		dlsym();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DLSYM 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++	      echo "$as_me:$LINENO: checking for dlsym() in -ldl" >&5
++echo $ECHO_N "checking for dlsym() in -ldl... $ECHO_C" >&6
++	      olibs=$LIBS
++	      LIBS="$LIBS -ldl"
++	      cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++				extern void* dlsym();
++				dlsym();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DLSYM 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++			  LIBS=$olibs
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++elif test x${DLL} = xdl.h; then
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_DL_H 1
++_ACEOF
++
++  echo "$as_me:$LINENO: checking for shl_load()" >&5
++echo $ECHO_N "checking for shl_load()... $ECHO_C" >&6
++  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++		extern void* shl_load();
++		shl_load();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SHL_LOAD 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++	  echo "$as_me:$LINENO: checking for shl_load() in -ldld" >&5
++echo $ECHO_N "checking for shl_load() in -ldld... $ECHO_C" >&6
++	  olibs=$LIBS
++	  LIBS="$LIBS -ldld"
++	  cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++
++int
++main ()
++{
++
++			extern void* shl_load();
++			shl_load();
++
++  ;
++  return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++  (eval $ac_link) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest$ac_exeext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6;
++
++cat >>confdefs.h <<\_ACEOF
++#define HAVE_SHL_LOAD 1
++_ACEOF
++
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6;
++		  LIBS=$olibs
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++rm -f conftest.err conftest.$ac_objext \
++      conftest$ac_exeext conftest.$ac_ext
++fi
++
++for ac_header in setjmp.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++  # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++  (eval $ac_compile) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } &&
++	 { ac_try='test -z "$ac_c_werror_flag"
++			 || test ! -s conftest.err'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; } &&
++	 { ac_try='test -s conftest.$ac_objext'
++  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++  (eval $ac_try) 2>&5
++  ac_status=$?
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); }; }; then
++  ac_header_compiler=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h.  */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h.  */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++  ac_status=$?
++  grep -v '^ *+' conftest.er1 >conftest.err
++  rm -f conftest.er1
++  cat conftest.err >&5
++  echo "$as_me:$LINENO: \$? = $ac_status" >&5
++  (exit $ac_status); } >/dev/null; then
++  if test -s conftest.err; then
++    ac_cpp_err=$ac_c_preproc_warn_flag
++    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++  else
++    ac_cpp_err=
++  fi
++else
++  ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++  ac_header_preproc=yes
++else
++  echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++  ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So?  What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++  yes:no: )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++    ac_header_preproc=yes
++    ;;
++  no:yes:* )
++    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++    (
++      cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists.  ##
++## ------------------------------------------ ##
++_ASBOX
++    ) |
++      sed "s/^/$as_me: WARNING:     /" >&2
++    ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++  echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++  eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++  cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++
++if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
++    if echo $LIBS | grep -e '-ldl' >/dev/null; then
++    LIBS=`echo $LIBS | sed s/-ldl//`
++    PERL_LIBS="$PERL_LIBS -ldl"
++  fi
++fi
++
++if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
++	&& test "x$GUITYPE" != "xCARBONGUI"; then
++  echo "$as_me:$LINENO: checking whether we need -framework Carbon" >&5
++echo $ECHO_N "checking whether we need -framework Carbon... $ECHO_C" >&6
++    if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
++	|| test "x$features" = "xhuge"; then
++    LIBS="$LIBS -framework Carbon"
++    echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++  else
++    echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++  fi
++fi
++if test "x$MACARCH" = "xboth"; then
++  LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
++fi
++
++echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
++echo $ECHO_N "checking for GCC 3 or later... $ECHO_C" >&6
++DEPEND_CFLAGS_FILTER=
++if test "$GCC" = yes; then
++  gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
++  if test "$gccmajor" -gt "2"; then
++    DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
++  fi
++fi
++if test "$DEPEND_CFLAGS_FILTER" = ""; then
++  echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++else
++  echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6
++fi
++
++
++          ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
++cat >confcache <<\_ACEOF
++# This file is a shell script that caches the results of configure
++# tests run on this system so they can be shared between configure
++# scripts and configure runs, see configure's option --config-cache.
++# It is not useful on other systems.  If it contains results you don't
++# want to keep, you may remove or edit it.
++#
++# config.status only pays attention to the cache file if you give it
++# the --recheck option to rerun configure.
++#
++# `ac_cv_env_foo' variables (set or unset) will be overridden when
++# loading this file, other *unset* `ac_cv_foo' will be assigned the
++# following values.
++
++_ACEOF
++
++# The following way of writing the cache mishandles newlines in values,
++# but we know of no workaround that is simple, portable, and efficient.
++# So, don't put newlines in cache variables' values.
++# Ultrix sh set writes to stderr and can't be redirected directly,
++# and sets the high bit in the cache file unless we assign to the vars.
++{
++  (set) 2>&1 |
++    case `(ac_space=' '; set | grep ac_space) 2>&1` in
++    *ac_space=\ *)
++      # `set' does not quote correctly, so add quotes (double-quote
++      # substitution turns \\\\ into \\, and sed turns \\ into \).
++      sed -n \
++	"s/'/'\\\\''/g;
++	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
++      ;;
++    *)
++      # `set' quotes correctly as required by POSIX, so do not add quotes.
++      sed -n \
++	"s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
++      ;;
++    esac;
++} |
++  sed '
++     t clear
++     : clear
++     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
++     t end
++     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
++     : end' >>confcache
++if diff $cache_file confcache >/dev/null 2>&1; then :; else
++  if test -w $cache_file; then
++    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
++    cat confcache >$cache_file
++  else
++    echo "not updating unwritable cache $cache_file"
++  fi
++fi
++rm -f confcache
++
++test "x$prefix" = xNONE && prefix=$ac_default_prefix
++# Let make expand exec_prefix.
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
++# trailing colons and then remove the whole line if VPATH becomes empty
++# (actually we leave an empty line to preserve line numbers).
++if test "x$srcdir" = x.; then
++  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
++s/:*\$(srcdir):*/:/;
++s/:*\${srcdir}:*/:/;
++s/:*@srcdir@:*/:/;
++s/^\([^=]*=[	 ]*\):*/\1/;
++s/:*$//;
++s/^[^=]*=[	 ]*$//;
++}'
++fi
++
++DEFS=-DHAVE_CONFIG_H
++
++ac_libobjs=
++ac_ltlibobjs=
++for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
++  # 1. Remove the extension, and $U if already installed.
++  ac_i=`echo "$ac_i" |
++	 sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
++  # 2. Add them.
++  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
++  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $SHELL
++# Generated by $as_me.
++# Run this file to recreate the current configuration.
++# Compiler output produced by configure, useful for debugging
++# configure, is in config.log if it exists.
++
++debug=false
++ac_cs_recheck=false
++ac_cs_silent=false
++SHELL=\${CONFIG_SHELL-$SHELL}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## M4sh Initialization.  ##
++## --------------------- ##
++
++# Be Bourne compatible
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++  emulate sh
++  NULLCMD=:
++  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
++  # is contrary to our usage.  Disable this feature.
++  alias -g '${1+"$@"}'='"$@"'
++elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
++  set -o posix
++fi
++DUALCASE=1; export DUALCASE # for MKS sh
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++  as_unset=unset
++else
++  as_unset=false
++fi
++
++
++# Work around bugs in pre-3.0 UWIN ksh.
++$as_unset ENV MAIL MAILPATH
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++  LC_TELEPHONE LC_TIME
++do
++  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++    eval $as_var=C; export $as_var
++  else
++    $as_unset $as_var
++  fi
++done
++
++# Required to use basename.
++if expr a : '\(a\)' >/dev/null 2>&1; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
++  as_basename=basename
++else
++  as_basename=false
++fi
++
++
++# Name of the executable.
++as_me=`$as_basename "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++	 X"$0" : 'X\(//\)$' \| \
++	 X"$0" : 'X\(/\)$' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X/"$0" |
++    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
++  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\/\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++
++
++# PATH needs CR, and LINENO needs CR and PATH.
++# Avoid depending upon Character Ranges.
++as_cr_letters='abcdefghijklmnopqrstuvwxyz'
++as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
++as_cr_Letters=$as_cr_letters$as_cr_LETTERS
++as_cr_digits='0123456789'
++as_cr_alnum=$as_cr_Letters$as_cr_digits
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++  echo "#! /bin/sh" >conf$$.sh
++  echo  "exit 0"   >>conf$$.sh
++  chmod +x conf$$.sh
++  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++    PATH_SEPARATOR=';'
++  else
++    PATH_SEPARATOR=:
++  fi
++  rm -f conf$$.sh
++fi
++
++
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
++  # Find who we are.  Look in the path if we contain no path at all
++  # relative or not.
++  case $0 in
++    *[\\/]* ) as_myself=$0 ;;
++    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in $PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
++done
++
++       ;;
++  esac
++  # We did not find ourselves, most probably we were run as `sh COMMAND'
++  # in which case we are not to be found in the path.
++  if test "x$as_myself" = x; then
++    as_myself=$0
++  fi
++  if test ! -f "$as_myself"; then
++    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
++echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
++   { (exit 1); exit 1; }; }
++  fi
++  case $CONFIG_SHELL in
++  '')
++    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++  IFS=$as_save_IFS
++  test -z "$as_dir" && as_dir=.
++  for as_base in sh bash ksh sh5; do
++	 case $as_dir in
++	 /*)
++	   if ("$as_dir/$as_base" -c '
++  as_lineno_1=$LINENO
++  as_lineno_2=$LINENO
++  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
++  test "x$as_lineno_1" != "x$as_lineno_2" &&
++  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
++	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
++	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
++	     CONFIG_SHELL=$as_dir/$as_base
++	     export CONFIG_SHELL
++	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
++	   fi;;
++	 esac
++       done
++done
++;;
++  esac
++
++  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++  # uniformly replaced by the line number.  The first 'sed' inserts a
++  # line-number line before each line; the second 'sed' does the real
++  # work.  The second script uses 'N' to pair each line-number line
++  # with the numbered line, and appends trailing '-' during
++  # substitution so that $LINENO is not a special case at line end.
++  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
++  sed '=' <$as_myself |
++    sed '
++      N
++      s,$,-,
++      : loop
++      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
++      t loop
++      s,-$,,
++      s,^['$as_cr_digits']*\n,,
++    ' >$as_me.lineno &&
++  chmod +x $as_me.lineno ||
++    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
++echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
++   { (exit 1); exit 1; }; }
++
++  # Don't try to exec as it changes $[0], causing all sort of problems
++  # (the dirname of $[0] is not the place where we might find the
++  # original and so on.  Autoconf is especially sensible to this).
++  . ./$as_me.lineno
++  # Exit status is that of the last command.
++  exit
++}
++
++
++case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
++  *c*,-n*) ECHO_N= ECHO_C='
++' ECHO_T='	' ;;
++  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
++  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1; then
++  as_expr=expr
++else
++  as_expr=false
++fi
++
++rm -f conf$$ conf$$.exe conf$$.file
++echo >conf$$.file
++if ln -s conf$$.file conf$$ 2>/dev/null; then
++  # We could just check for DJGPP; but this test a) works b) is more generic
++  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
++  if test -f conf$$.exe; then
++    # Don't use ln at all; we don't have any links
++    as_ln_s='cp -p'
++  else
++    as_ln_s='ln -s'
++  fi
++elif ln conf$$.file conf$$ 2>/dev/null; then
++  as_ln_s=ln
++else
++  as_ln_s='cp -p'
++fi
++rm -f conf$$ conf$$.exe conf$$.file
++
++if mkdir -p . 2>/dev/null; then
++  as_mkdir_p=:
++else
++  test -d ./-p && rmdir ./-p
++  as_mkdir_p=false
++fi
++
++as_executable_p="test -f"
++
++# Sed expression to map a string onto a valid CPP name.
++as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
++
++# Sed expression to map a string onto a valid variable name.
++as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
++
++
++# IFS
++# We need space, tab and new line, in precisely that order.
++as_nl='
++'
++IFS=" 	$as_nl"
++
++# CDPATH.
++$as_unset CDPATH
++
++exec 6>&1
++
++# Open the log real soon, to keep \$[0] and so on meaningful, and to
++# report actual input values of CONFIG_FILES etc. instead of their
++# values after options handling.  Logging --version etc. is OK.
++exec 5>>auto/config.log
++{
++  echo
++  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++} >&5
++cat >&5 <<_CSEOF
++
++This file was extended by $as_me, which was
++generated by GNU Autoconf 2.59.  Invocation command line was
++
++  CONFIG_FILES    = $CONFIG_FILES
++  CONFIG_HEADERS  = $CONFIG_HEADERS
++  CONFIG_LINKS    = $CONFIG_LINKS
++  CONFIG_COMMANDS = $CONFIG_COMMANDS
++  $ $0 $@
++
++_CSEOF
++echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
++echo >&5
++_ACEOF
++
++# Files that config.status was made for.
++if test -n "$ac_config_files"; then
++  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_headers"; then
++  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_links"; then
++  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
++fi
++
++if test -n "$ac_config_commands"; then
++  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++  -h, --help       print this help, then exit
++  -V, --version    print version number, then exit
++  -q, --quiet      do not print progress messages
++  -d, --debug      don't remove temporary files
++      --recheck    update $as_me by reconfiguring in the same conditions
++  --file=FILE[:TEMPLATE]
++		   instantiate the configuration file FILE
++  --header=FILE[:TEMPLATE]
++		   instantiate the configuration header FILE
++
++Configuration files:
++$config_files
++
++Configuration headers:
++$config_headers
++
++Report bugs to <bug-autoconf@gnu.org>."
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++config.status
++configured by $0, generated by GNU Autoconf 2.59,
++  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2003 Free Software Foundation, Inc.
++This config.status script is free software; the Free Software Foundation
++gives unlimited permission to copy, distribute and modify it."
++srcdir=$srcdir
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value.  By we need to know if files were specified by the user.
++ac_need_defaults=:
++while test $# != 0
++do
++  case $1 in
++  --*=*)
++    ac_option=`expr "x$1" : 'x\([^=]*\)='`
++    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
++    ac_shift=:
++    ;;
++  -*)
++    ac_option=$1
++    ac_optarg=$2
++    ac_shift=shift
++    ;;
++  *) # This is not an option, so the user has probably given explicit
++     # arguments.
++     ac_option=$1
++     ac_need_defaults=false;;
++  esac
++
++  case $ac_option in
++  # Handling of the options.
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
++    ac_cs_recheck=: ;;
++  --version | --vers* | -V )
++    echo "$ac_cs_version"; exit 0 ;;
++  --he | --h)
++    # Conflict between --help and --header
++    { { echo "$as_me:$LINENO: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&5
++echo "$as_me: error: ambiguous option: $1
++Try \`$0 --help' for more information." >&2;}
++   { (exit 1); exit 1; }; };;
++  --help | --hel | -h )
++    echo "$ac_cs_usage"; exit 0 ;;
++  --debug | --d* | -d )
++    debug=: ;;
++  --file | --fil | --fi | --f )
++    $ac_shift
++    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++    ac_need_defaults=false;;
++  --header | --heade | --head | --hea )
++    $ac_shift
++    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
++    ac_need_defaults=false;;
++  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
++  | -silent | --silent | --silen | --sile | --sil | --si | --s)
++    ac_cs_silent=: ;;
++
++  # This is an error.
++  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&5
++echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2;}
++   { (exit 1); exit 1; }; } ;;
++
++  *) ac_config_targets="$ac_config_targets $1" ;;
++
++  esac
++  shift
++done
++
++ac_configure_extra_args=
++
++if $ac_cs_silent; then
++  exec 6>/dev/null
++  ac_configure_extra_args="$ac_configure_extra_args --silent"
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++if \$ac_cs_recheck; then
++  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++
++
++
++
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++for ac_config_target in $ac_config_targets
++do
++  case "$ac_config_target" in
++  # Handling of arguments.
++  "auto/config.mk" ) CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
++  "auto/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
++  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++   { (exit 1); exit 1; }; };;
++  esac
++done
++
++# If the user did not use the arguments to specify the items to instantiate,
++# then the envvar interface is used.  Set only those that are not.
++# We use the long form for the default assignment because of an extremely
++# bizarre bug on SunOS 4.1.3.
++if $ac_need_defaults; then
++  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
++  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
++fi
++
++# Have a temporary directory for convenience.  Make it in the build tree
++# simply because there is no reason to put it here, and in addition,
++# creating and moving files from /tmp can sometimes cause problems.
++# Create a temporary directory, and hook for its removal unless debugging.
++$debug ||
++{
++  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
++  trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++
++# Create a (secure) tmp directory for tmp files.
++
++{
++  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
++  test -n "$tmp" && test -d "$tmp"
++}  ||
++{
++  tmp=./confstat$$-$RANDOM
++  (umask 077 && mkdir $tmp)
++} ||
++{
++   echo "$me: cannot create a temporary directory in ." >&2
++   { (exit 1); exit 1; }
++}
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<_ACEOF
++
++#
++# CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "\$CONFIG_FILES"; then
++  # Protect against being on the right side of a sed subst in config.status.
++  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
++   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
++s,@SHELL@,$SHELL,;t t
++s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
++s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
++s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
++s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
++s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
++s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
++s,@exec_prefix@,$exec_prefix,;t t
++s,@prefix@,$prefix,;t t
++s,@program_transform_name@,$program_transform_name,;t t
++s,@bindir@,$bindir,;t t
++s,@sbindir@,$sbindir,;t t
++s,@libexecdir@,$libexecdir,;t t
++s,@datadir@,$datadir,;t t
++s,@sysconfdir@,$sysconfdir,;t t
++s,@sharedstatedir@,$sharedstatedir,;t t
++s,@localstatedir@,$localstatedir,;t t
++s,@libdir@,$libdir,;t t
++s,@includedir@,$includedir,;t t
++s,@oldincludedir@,$oldincludedir,;t t
++s,@infodir@,$infodir,;t t
++s,@mandir@,$mandir,;t t
++s,@build_alias@,$build_alias,;t t
++s,@host_alias@,$host_alias,;t t
++s,@target_alias@,$target_alias,;t t
++s,@DEFS@,$DEFS,;t t
++s,@ECHO_C@,$ECHO_C,;t t
++s,@ECHO_N@,$ECHO_N,;t t
++s,@ECHO_T@,$ECHO_T,;t t
++s,@LIBS@,$LIBS,;t t
++s,@SET_MAKE@,$SET_MAKE,;t t
++s,@CC@,$CC,;t t
++s,@CFLAGS@,$CFLAGS,;t t
++s,@LDFLAGS@,$LDFLAGS,;t t
++s,@CPPFLAGS@,$CPPFLAGS,;t t
++s,@ac_ct_CC@,$ac_ct_CC,;t t
++s,@EXEEXT@,$EXEEXT,;t t
++s,@OBJEXT@,$OBJEXT,;t t
++s,@CPP@,$CPP,;t t
++s,@EGREP@,$EGREP,;t t
++s,@AWK@,$AWK,;t t
++s,@STRIP@,$STRIP,;t t
++s,@CPP_MM@,$CPP_MM,;t t
++s,@OS_EXTRA_SRC@,$OS_EXTRA_SRC,;t t
++s,@OS_EXTRA_OBJ@,$OS_EXTRA_OBJ,;t t
++s,@VIMNAME@,$VIMNAME,;t t
++s,@EXNAME@,$EXNAME,;t t
++s,@VIEWNAME@,$VIEWNAME,;t t
++s,@line_break@,$line_break,;t t
++s,@dovimdiff@,$dovimdiff,;t t
++s,@dogvimdiff@,$dogvimdiff,;t t
++s,@compiledby@,$compiledby,;t t
++s,@vi_cv_path_mzscheme@,$vi_cv_path_mzscheme,;t t
++s,@MZSCHEME_SRC@,$MZSCHEME_SRC,;t t
++s,@MZSCHEME_OBJ@,$MZSCHEME_OBJ,;t t
++s,@MZSCHEME_PRO@,$MZSCHEME_PRO,;t t
++s,@MZSCHEME_LIBS@,$MZSCHEME_LIBS,;t t
++s,@MZSCHEME_CFLAGS@,$MZSCHEME_CFLAGS,;t t
++s,@vi_cv_path_perl@,$vi_cv_path_perl,;t t
++s,@vi_cv_perllib@,$vi_cv_perllib,;t t
++s,@shrpenv@,$shrpenv,;t t
++s,@PERL_SRC@,$PERL_SRC,;t t
++s,@PERL_OBJ@,$PERL_OBJ,;t t
++s,@PERL_PRO@,$PERL_PRO,;t t
++s,@PERL_CFLAGS@,$PERL_CFLAGS,;t t
++s,@PERL_LIBS@,$PERL_LIBS,;t t
++s,@vi_cv_path_python@,$vi_cv_path_python,;t t
++s,@PYTHON_CONFDIR@,$PYTHON_CONFDIR,;t t
++s,@PYTHON_LIBS@,$PYTHON_LIBS,;t t
++s,@PYTHON_GETPATH_CFLAGS@,$PYTHON_GETPATH_CFLAGS,;t t
++s,@PYTHON_CFLAGS@,$PYTHON_CFLAGS,;t t
++s,@PYTHON_SRC@,$PYTHON_SRC,;t t
++s,@PYTHON_OBJ@,$PYTHON_OBJ,;t t
++s,@vi_cv_path_tcl@,$vi_cv_path_tcl,;t t
++s,@TCL_SRC@,$TCL_SRC,;t t
++s,@TCL_OBJ@,$TCL_OBJ,;t t
++s,@TCL_PRO@,$TCL_PRO,;t t
++s,@TCL_CFLAGS@,$TCL_CFLAGS,;t t
++s,@TCL_LIBS@,$TCL_LIBS,;t t
++s,@vi_cv_path_ruby@,$vi_cv_path_ruby,;t t
++s,@RUBY_SRC@,$RUBY_SRC,;t t
++s,@RUBY_OBJ@,$RUBY_OBJ,;t t
++s,@RUBY_PRO@,$RUBY_PRO,;t t
++s,@RUBY_CFLAGS@,$RUBY_CFLAGS,;t t
++s,@RUBY_LIBS@,$RUBY_LIBS,;t t
++s,@WORKSHOP_SRC@,$WORKSHOP_SRC,;t t
++s,@WORKSHOP_OBJ@,$WORKSHOP_OBJ,;t t
++s,@NETBEANS_SRC@,$NETBEANS_SRC,;t t
++s,@NETBEANS_OBJ@,$NETBEANS_OBJ,;t t
++s,@SNIFF_SRC@,$SNIFF_SRC,;t t
++s,@SNIFF_OBJ@,$SNIFF_OBJ,;t t
++s,@xmkmfpath@,$xmkmfpath,;t t
++s,@X_CFLAGS@,$X_CFLAGS,;t t
++s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
++s,@X_LIBS@,$X_LIBS,;t t
++s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
++s,@X_LIB@,$X_LIB,;t t
++s,@GTK_CONFIG@,$GTK_CONFIG,;t t
++s,@GTK12_CONFIG@,$GTK12_CONFIG,;t t
++s,@PKG_CONFIG@,$PKG_CONFIG,;t t
++s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t
++s,@GTK_LIBS@,$GTK_LIBS,;t t
++s,@GTK_LIBNAME@,$GTK_LIBNAME,;t t
++s,@GNOME_LIBS@,$GNOME_LIBS,;t t
++s,@GNOME_LIBDIR@,$GNOME_LIBDIR,;t t
++s,@GNOME_INCLUDEDIR@,$GNOME_INCLUDEDIR,;t t
++s,@GNOME_CONFIG@,$GNOME_CONFIG,;t t
++s,@MOTIF_LIBNAME@,$MOTIF_LIBNAME,;t t
++s,@NARROW_PROTO@,$NARROW_PROTO,;t t
++s,@GUI_INC_LOC@,$GUI_INC_LOC,;t t
++s,@GUI_LIB_LOC@,$GUI_LIB_LOC,;t t
++s,@GUITYPE@,$GUITYPE,;t t
++s,@GUI_X_LIBS@,$GUI_X_LIBS,;t t
++s,@HANGULIN_SRC@,$HANGULIN_SRC,;t t
++s,@HANGULIN_OBJ@,$HANGULIN_OBJ,;t t
++s,@TAGPRG@,$TAGPRG,;t t
++s,@INSTALL_LANGS@,$INSTALL_LANGS,;t t
++s,@INSTALL_TOOL_LANGS@,$INSTALL_TOOL_LANGS,;t t
++s,@MSGFMT@,$MSGFMT,;t t
++s,@MAKEMO@,$MAKEMO,;t t
++s,@DEPEND_CFLAGS_FILTER@,$DEPEND_CFLAGS_FILTER,;t t
++s,@LIBOBJS@,$LIBOBJS,;t t
++s,@LTLIBOBJS@,$LTLIBOBJS,;t t
++CEOF
++
++_ACEOF
++
++  cat >>$CONFIG_STATUS <<\_ACEOF
++  # Split the substitutions into bite-sized pieces for seds with
++  # small command number limits, like on Digital OSF/1 and HP-UX.
++  ac_max_sed_lines=48
++  ac_sed_frag=1 # Number of current file.
++  ac_beg=1 # First line for current file.
++  ac_end=$ac_max_sed_lines # Line after last line for current file.
++  ac_more_lines=:
++  ac_sed_cmds=
++  while $ac_more_lines; do
++    if test $ac_beg -gt 1; then
++      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
++    else
++      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
++    fi
++    if test ! -s $tmp/subs.frag; then
++      ac_more_lines=false
++    else
++      # The purpose of the label and of the branching condition is to
++      # speed up the sed processing (if there are no `@' at all, there
++      # is no need to browse any of the substitutions).
++      # These are the two extra sed commands mentioned above.
++      (echo ':t
++  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
++      if test -z "$ac_sed_cmds"; then
++	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
++      else
++	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
++      fi
++      ac_sed_frag=`expr $ac_sed_frag + 1`
++      ac_beg=$ac_end
++      ac_end=`expr $ac_end + $ac_max_sed_lines`
++    fi
++  done
++  if test -z "$ac_sed_cmds"; then
++    ac_sed_cmds=cat
++  fi
++fi # test -n "$CONFIG_FILES"
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
++  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
++  case $ac_file in
++  - | *:- | *:-:* ) # input from stdin
++	cat >$tmp/stdin
++	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++  * )   ac_file_in=$ac_file.in ;;
++  esac
++
++  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
++  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$ac_file" : 'X\(//\)[^/]' \| \
++	 X"$ac_file" : 'X\(//\)$' \| \
++	 X"$ac_file" : 'X\(/\)' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++  	  /^X\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++  { if $as_mkdir_p; then
++    mkdir -p "$ac_dir"
++  else
++    as_dir="$ac_dir"
++    as_dirs=
++    while test ! -d "$as_dir"; do
++      as_dirs="$as_dir $as_dirs"
++      as_dir=`(dirname "$as_dir") 2>/dev/null ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++  	  /^X\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++    done
++    test ! -n "$as_dirs" || mkdir $as_dirs
++  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
++   { (exit 1); exit 1; }; }; }
++
++  ac_builddir=.
++
++if test "$ac_dir" != .; then
++  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++  # A "../" for each directory in $ac_dir_suffix.
++  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
++else
++  ac_dir_suffix= ac_top_builddir=
++fi
++
++case $srcdir in
++  .)  # No --srcdir option.  We are building in place.
++    ac_srcdir=.
++    if test -z "$ac_top_builddir"; then
++       ac_top_srcdir=.
++    else
++       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
++    fi ;;
++  [\\/]* | ?:[\\/]* )  # Absolute path.
++    ac_srcdir=$srcdir$ac_dir_suffix;
++    ac_top_srcdir=$srcdir ;;
++  *) # Relative path.
++    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
++    ac_top_srcdir=$ac_top_builddir$srcdir ;;
++esac
++
++# Do not use `cd foo && pwd` to compute absolute paths, because
++# the directories may not exist.
++case `pwd` in
++.) ac_abs_builddir="$ac_dir";;
++*)
++  case "$ac_dir" in
++  .) ac_abs_builddir=`pwd`;;
++  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
++  *) ac_abs_builddir=`pwd`/"$ac_dir";;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_builddir=${ac_top_builddir}.;;
++*)
++  case ${ac_top_builddir}. in
++  .) ac_abs_top_builddir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
++  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_srcdir=$ac_srcdir;;
++*)
++  case $ac_srcdir in
++  .) ac_abs_srcdir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
++  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
++  esac;;
++esac
++case $ac_abs_builddir in
++.) ac_abs_top_srcdir=$ac_top_srcdir;;
++*)
++  case $ac_top_srcdir in
++  .) ac_abs_top_srcdir=$ac_abs_builddir;;
++  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
++  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
++  esac;;
++esac
++
++
++
++  if test x"$ac_file" != x-; then
++    { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++    rm -f "$ac_file"
++  fi
++  # Let's still pretend it is `configure' which instantiates (i.e., don't
++  # use $as_me), people would be surprised to read:
++  #    /* config.h.  Generated by config.status.  */
++  if test x"$ac_file" = x-; then
++    configure_input=
++  else
++    configure_input="$ac_file.  "
++  fi
++  configure_input=$configure_input"Generated from `echo $ac_file_in |
++				     sed 's,.*/,,'` by configure."
++
++  # First look for the input files in the build tree, otherwise in the
++  # src tree.
++  ac_file_inputs=`IFS=:
++    for f in $ac_file_in; do
++      case $f in
++      -) echo $tmp/stdin ;;
++      [\\/$]*)
++	 # Absolute (can't be DOS-style, as IFS=:)
++	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++   { (exit 1); exit 1; }; }
++	 echo "$f";;
++      *) # Relative
++	 if test -f "$f"; then
++	   # Build tree
++	   echo "$f"
++	 elif test -f "$srcdir/$f"; then
++	   # Source tree
++	   echo "$srcdir/$f"
++	 else
++	   # /dev/null tree
++	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++   { (exit 1); exit 1; }; }
++	 fi;;
++      esac
++    done` || { (exit 1); exit 1; }
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++  sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s,@configure_input@,$configure_input,;t t
++s,@srcdir@,$ac_srcdir,;t t
++s,@abs_srcdir@,$ac_abs_srcdir,;t t
++s,@top_srcdir@,$ac_top_srcdir,;t t
++s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
++s,@builddir@,$ac_builddir,;t t
++s,@abs_builddir@,$ac_abs_builddir,;t t
++s,@top_builddir@,$ac_top_builddir,;t t
++s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
++" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
++  rm -f $tmp/stdin
++  if test x"$ac_file" != x-; then
++    mv $tmp/out $ac_file
++  else
++    cat $tmp/out
++    rm -f $tmp/out
++  fi
++
++done
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++#
++# CONFIG_HEADER section.
++#
++
++# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
++# NAME is the cpp macro being defined and VALUE is the value it is being given.
++#
++# ac_d sets the value in "#define NAME VALUE" lines.
++ac_dA='s,^\([	 ]*\)#\([	 ]*define[	 ][	 ]*\)'
++ac_dB='[	 ].*$,\1#\2'
++ac_dC=' '
++ac_dD=',;t'
++# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
++ac_uA='s,^\([	 ]*\)#\([	 ]*\)undef\([	 ][	 ]*\)'
++ac_uB='$,\1#\2define\3'
++ac_uC=' '
++ac_uD=',;t'
++
++for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
++  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
++  case $ac_file in
++  - | *:- | *:-:* ) # input from stdin
++	cat >$tmp/stdin
++	ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
++	ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
++  * )   ac_file_in=$ac_file.in ;;
++  esac
++
++  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++
++  # First look for the input files in the build tree, otherwise in the
++  # src tree.
++  ac_file_inputs=`IFS=:
++    for f in $ac_file_in; do
++      case $f in
++      -) echo $tmp/stdin ;;
++      [\\/$]*)
++	 # Absolute (can't be DOS-style, as IFS=:)
++	 test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++   { (exit 1); exit 1; }; }
++	 # Do quote $f, to prevent DOS paths from being IFS'd.
++	 echo "$f";;
++      *) # Relative
++	 if test -f "$f"; then
++	   # Build tree
++	   echo "$f"
++	 elif test -f "$srcdir/$f"; then
++	   # Source tree
++	   echo "$srcdir/$f"
++	 else
++	   # /dev/null tree
++	   { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
++echo "$as_me: error: cannot find input file: $f" >&2;}
++   { (exit 1); exit 1; }; }
++	 fi;;
++      esac
++    done` || { (exit 1); exit 1; }
++  # Remove the trailing spaces.
++  sed 's/[	 ]*$//' $ac_file_inputs >$tmp/in
++
++_ACEOF
++
++# Transform confdefs.h into two sed scripts, `conftest.defines' and
++# `conftest.undefs', that substitutes the proper values into
++# config.h.in to produce config.h.  The first handles `#define'
++# templates, and the second `#undef' templates.
++# And first: Protect against being on the right side of a sed subst in
++# config.status.  Protect against being in an unquoted here document
++# in config.status.
++rm -f conftest.defines conftest.undefs
++# Using a here document instead of a string reduces the quoting nightmare.
++# Putting comments in sed scripts is not portable.
++#
++# `end' is used to avoid that the second main sed command (meant for
++# 0-ary CPP macros) applies to n-ary macro definitions.
++# See the Autoconf documentation for `clear'.
++cat >confdef2sed.sed <<\_ACEOF
++s/[\\&,]/\\&/g
++s,[\\$`],\\&,g
++t clear
++: clear
++s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*\)\(([^)]*)\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
++t end
++s,^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
++: end
++_ACEOF
++# If some macros were called several times there might be several times
++# the same #defines, which is useless.  Nevertheless, we may not want to
++# sort them, since we want the *last* AC-DEFINE to be honored.
++uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
++sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
++rm -f confdef2sed.sed
++
++# This sed command replaces #undef with comments.  This is necessary, for
++# example, in the case of _POSIX_SOURCE, which is predefined and required
++# on some systems where configure will not decide to define it.
++cat >>conftest.undefs <<\_ACEOF
++s,^[	 ]*#[	 ]*undef[	 ][	 ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
++_ACEOF
++
++# Break up conftest.defines because some shells have a limit on the size
++# of here documents, and old seds have small limits too (100 cmds).
++echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
++echo '  if grep "^[	 ]*#[	 ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
++echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
++echo '  :' >>$CONFIG_STATUS
++rm -f conftest.tail
++while grep . conftest.defines >/dev/null
++do
++  # Write a limited-size here document to $tmp/defines.sed.
++  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
++  # Speed up: don't consider the non `#define' lines.
++  echo '/^[	 ]*#[	 ]*define/!b' >>$CONFIG_STATUS
++  # Work around the forget-to-reset-the-flag bug.
++  echo 't clr' >>$CONFIG_STATUS
++  echo ': clr' >>$CONFIG_STATUS
++  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
++  echo 'CEOF
++  sed -f $tmp/defines.sed $tmp/in >$tmp/out
++  rm -f $tmp/in
++  mv $tmp/out $tmp/in
++' >>$CONFIG_STATUS
++  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
++  rm -f conftest.defines
++  mv conftest.tail conftest.defines
++done
++rm -f conftest.defines
++echo '  fi # grep' >>$CONFIG_STATUS
++echo >>$CONFIG_STATUS
++
++# Break up conftest.undefs because some shells have a limit on the size
++# of here documents, and old seds have small limits too (100 cmds).
++echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
++rm -f conftest.tail
++while grep . conftest.undefs >/dev/null
++do
++  # Write a limited-size here document to $tmp/undefs.sed.
++  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
++  # Speed up: don't consider the non `#undef'
++  echo '/^[	 ]*#[	 ]*undef/!b' >>$CONFIG_STATUS
++  # Work around the forget-to-reset-the-flag bug.
++  echo 't clr' >>$CONFIG_STATUS
++  echo ': clr' >>$CONFIG_STATUS
++  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
++  echo 'CEOF
++  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
++  rm -f $tmp/in
++  mv $tmp/out $tmp/in
++' >>$CONFIG_STATUS
++  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
++  rm -f conftest.undefs
++  mv conftest.tail conftest.undefs
++done
++rm -f conftest.undefs
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++  # Let's still pretend it is `configure' which instantiates (i.e., don't
++  # use $as_me), people would be surprised to read:
++  #    /* config.h.  Generated by config.status.  */
++  if test x"$ac_file" = x-; then
++    echo "/* Generated by configure.  */" >$tmp/config.h
++  else
++    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
++  fi
++  cat $tmp/in >>$tmp/config.h
++  rm -f $tmp/in
++  if test x"$ac_file" != x-; then
++    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
++      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
++echo "$as_me: $ac_file is unchanged" >&6;}
++    else
++      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
++$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$ac_file" : 'X\(//\)[^/]' \| \
++	 X"$ac_file" : 'X\(//\)$' \| \
++	 X"$ac_file" : 'X\(/\)' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X"$ac_file" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++  	  /^X\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++      { if $as_mkdir_p; then
++    mkdir -p "$ac_dir"
++  else
++    as_dir="$ac_dir"
++    as_dirs=
++    while test ! -d "$as_dir"; do
++      as_dirs="$as_dir $as_dirs"
++      as_dir=`(dirname "$as_dir") 2>/dev/null ||
++$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++	 X"$as_dir" : 'X\(//\)[^/]' \| \
++	 X"$as_dir" : 'X\(//\)$' \| \
++	 X"$as_dir" : 'X\(/\)' \| \
++	 .     : '\(.\)' 2>/dev/null ||
++echo X"$as_dir" |
++    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
++  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
++  	  /^X\(\/\/\)$/{ s//\1/; q; }
++  	  /^X\(\/\).*/{ s//\1/; q; }
++  	  s/.*/./; q'`
++    done
++    test ! -n "$as_dirs" || mkdir $as_dirs
++  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
++echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
++   { (exit 1); exit 1; }; }; }
++
++      rm -f $ac_file
++      mv $tmp/config.h $ac_file
++    fi
++  else
++    cat $tmp/config.h
++    rm -f $tmp/config.h
++  fi
++done
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++
++# configure is writing to config.log, and then calls config.status.
++# config.status does its own redirection, appending to config.log.
++# Unfortunately, on DOS this fails, as config.log is still kept open
++# by configure, so config.status won't be able to write to it; its
++# output is simply discarded.  So we exec the FD to /dev/null,
++# effectively closing config.log, so it can be properly (re)opened and
++# appended to by config.status.  When coming back to configure, we
++# need to make the FD available again.
++if test "$no_create" != yes; then
++  ac_cs_success=:
++  ac_config_status_args=
++  test "$silent" = yes &&
++    ac_config_status_args="$ac_config_status_args --quiet"
++  exec 5>/dev/null
++  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
++  exec 5>>auto/config.log
++  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
++  # would make configure fail if this is the last instruction.
++  $ac_cs_success || { (exit 1); exit 1; }
++fi
++
++
+diff -Naur vim71.orig/src/configure.in vim71/src/configure.in
+--- vim71.orig/src/configure.in	2007-05-12 05:19:27.000000000 -0400
++++ vim71/src/configure.in	2007-06-18 17:24:35.000000000 -0400
+@@ -47,13 +47,6 @@
+   fi
+ fi
+ 
+-dnl If configure thinks we are cross compiling, there is probably something
+-dnl wrong with the CC or CFLAGS settings, give an understandable error message
+-if test "$cross_compiling" = yes; then
+-  AC_MSG_ERROR([cannot compile a simple program, check CC and CFLAGS
+-  (cross compiling doesn't work)])
+-fi
+-
+ dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
+ dnl But gcc 3.1 changed the meaning!  See near the end.
+ test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
+@@ -183,31 +176,6 @@
+ AC_SUBST(OS_EXTRA_SRC)
+ AC_SUBST(OS_EXTRA_OBJ)
+ 
+-dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
+-dnl Only when the directory exists and it wasn't there yet.
+-dnl For gcc don't do this when it is already in the default search path.
+-have_local_include=''
+-have_local_lib=''
+-if test "$GCC" = yes; then
+-  echo 'void f(){}' > conftest.c
+-  dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
+-  have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
+-  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
+-  rm -f conftest.c conftest.o
+-fi
+-if test -z "$have_local_lib" -a -d /usr/local/lib; then
+-  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
+-  if test "$tt" = "$LDFLAGS"; then
+-    LDFLAGS="$LDFLAGS -L/usr/local/lib"
+-  fi
+-fi
+-if test -z "$have_local_include" -a -d /usr/local/include; then
+-  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
+-  if test "$tt" = "$CPPFLAGS"; then
+-    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+-  fi
+-fi
+-
+ AC_MSG_CHECKING(--with-vim-name argument)
+ AC_ARG_WITH(vim-name, [  --with-vim-name=NAME    what to call the Vim executable],
+ 	VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
+@@ -1990,7 +1958,7 @@
+ AC_TRY_RUN([#include <ctype.h>
+ main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }],
+ 	AC_DEFINE(BROKEN_TOUPPER) AC_MSG_RESULT(bad),
+-	AC_MSG_RESULT(good), AC_MSG_ERROR(failed to compile test program))
++	AC_MSG_RESULT(good), AC_MSG_WARN(failed to compile test program))
+ 
+ AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
+ AC_TRY_COMPILE(, [printf("(" __DATE__ " " __TIME__ ")");],
+@@ -2211,7 +2179,8 @@
+ {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }],
+ 	  AC_MSG_RESULT([no -- we are in termcap land]),
+ 	  AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(TERMINFO),
+-	  AC_MSG_ERROR(failed to compile test program.))
++	  AC_MSG_WARN(failed to compile test program.)
++          AC_DEFINE(TERMINFO))
+ 
+ if test "x$olibs" != "x$LIBS"; then
+   AC_MSG_CHECKING(what tgetent() returns for an unknown terminal)
+@@ -2374,7 +2343,7 @@
+     fi
+ ],
+     AC_MSG_RESULT([can't determine - assume ptys are world accessable]),
+-    AC_MSG_ERROR(failed to compile test program))
++    AC_MSG_WARN(failed to compile test program))
+ rm -f conftest_grp
+ 
+ dnl Checks for library functions. ===================================
+@@ -2417,7 +2386,7 @@
+ 	AC_MSG_RESULT(it is usable),
+ 	AC_MSG_RESULT(it stinks)
+ 		AC_DEFINE(BAD_GETCWD),
+-	AC_MSG_ERROR(failed to compile test program))
++	AC_MSG_WARN(failed to compile test program))
+ 
+ dnl Check for functions in one big call, to reduce the size of configure
+ AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
+@@ -2441,13 +2410,20 @@
+ 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
+ 	AC_MSG_RESULT(no))
+ 
+-AC_MSG_CHECKING(whether stat() ignores a trailing slash)
++AC_CACHE_CHECK([whether stat() ignores a trailing slash],
++              [ac_cv_func_stat_ignores_trailing_slash],
+ AC_TRY_RUN(
+ [#include <sys/types.h>
+ #include <sys/stat.h>
+ main() {struct stat st;  exit(stat("configure/", &st) != 0); }],
+-	AC_MSG_RESULT(yes); AC_DEFINE(STAT_IGNORES_SLASH),
+-	AC_MSG_RESULT(no), AC_MSG_ERROR(failed to compile test program))
++       ac_cv_func_stat_ignores_trailing_slash=yes,
++       ac_cv_func_stat_ignores_trailing_slash=no,
++       ac_cv_func_stat_ignores_trailing_slash=no
++))
++
++if X"$ac_cv_func_stat_ignores_trailing_slash" = Xyes; then
++       AC_DEFINE(STAT_IGNORES_SLASH)
++fi
+ 
+ dnl Link with iconv for charset translation, if not found without library.
+ dnl check for iconv() requires including iconv.h
+@@ -2622,24 +2598,7 @@
+ 	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
+ 	AC_MSG_RESULT(not usable))
+ 
+-dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
+-dnl be printed with "%d", and avoids a warning for cross-compiling.
+-
+-AC_MSG_CHECKING(size of int)
+-AC_CACHE_VAL(ac_cv_sizeof_int,
+-	[AC_TRY_RUN([#include <stdio.h>
+-		main()
+-		{
+-		  FILE *f=fopen("conftestval", "w");
+-		  if (!f) exit(1);
+-		  fprintf(f, "%d\n", (int)sizeof(int));
+-		  exit(0);
+-		}],
+-	    ac_cv_sizeof_int=`cat conftestval`,
+-	    ac_cv_sizeof_int=0,
+-	    AC_MSG_ERROR(failed to compile test program))])
+-AC_MSG_RESULT($ac_cv_sizeof_int)
+-AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
++AC_CHECK_SIZEOF(int)
+ 
+ AC_MSG_CHECKING(whether memmove/bcopy/memcpy handle overlaps)
+ [bcopy_test_prog='
+@@ -2665,9 +2624,9 @@
+ 	AC_DEFINE(USEBCOPY) AC_MSG_RESULT(bcopy does),
+ 	AC_TRY_RUN([#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog],
+ 	    AC_DEFINE(USEMEMCPY) AC_MSG_RESULT(memcpy does), AC_MSG_RESULT(no),
+-	    AC_MSG_ERROR(failed to compile test program)),
+-	AC_MSG_ERROR(failed to compile test program)),
+-    AC_MSG_ERROR(failed to compile test program))
++	    AC_MSG_WARN(failed to compile test program)),
++	AC_MSG_WARN(failed to compile test program)),
++    AC_MSG_WARN(failed to compile test program))
+ 
+ dnl Check for multibyte locale functions
+ dnl Find out if _Xsetlocale() is supported by libX11.
+diff -Naur vim71.orig/src/configure.in.orig vim71/src/configure.in.orig
+--- vim71.orig/src/configure.in.orig	1969-12-31 19:00:00.000000000 -0500
++++ vim71/src/configure.in.orig	2007-05-12 05:19:27.000000000 -0400
+@@ -0,0 +1,2898 @@
++dnl configure.in: autoconf script for Vim
++
++dnl Process this file with autoconf 2.12 or 2.13 to produce "configure".
++dnl Should also work with autoconf 2.54 and later.
++
++AC_INIT(vim.h)
++AC_CONFIG_HEADER(auto/config.h:config.h.in)
++
++dnl Being able to run configure means the system is Unix (compatible).
++AC_DEFINE(UNIX)
++AC_PROG_MAKE_SET
++
++dnl Checks for programs.
++AC_PROG_CC	dnl required by almost everything
++AC_PROG_CPP	dnl required by header file checks
++AC_PROGRAM_EGREP dnl required by AC_EGREP_CPP
++AC_ISC_POSIX	dnl required by AC_C_CROSS
++AC_PROG_AWK	dnl required for "make html" in ../doc
++
++dnl Don't strip if we don't have it
++AC_CHECK_PROG(STRIP, strip, strip, :)
++
++dnl Check for extension of executables
++AC_EXEEXT
++
++dnl Set default value for CFLAGS if none is defined or it's empty
++if test -z "$CFLAGS"; then
++  CFLAGS="-O"
++  test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
++fi
++if test "$GCC" = yes; then
++  dnl method that should work for nearly all versions
++  gccversion=`"$CC" -dumpversion`
++  if test "x$gccversion" = "x"; then
++    dnl old method; fall-back for when -dumpversion doesn't work
++    gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[[^0-9]]*\([[0-9]]\.[[0-9.]]*\).*$/\1/g'`
++  fi
++  dnl version 4.0.1 was reported to cause trouble on Macintosh by Marcin Dalecki
++  if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
++    echo 'GCC [[34]].0.[[12]] has a bug in the optimizer, disabling "-O#"'
++    CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-O/'`
++  else
++    if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
++      echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
++      CFLAGS="$CFLAGS -fno-strength-reduce"
++    fi
++  fi
++fi
++
++dnl If configure thinks we are cross compiling, there is probably something
++dnl wrong with the CC or CFLAGS settings, give an understandable error message
++if test "$cross_compiling" = yes; then
++  AC_MSG_ERROR([cannot compile a simple program, check CC and CFLAGS
++  (cross compiling doesn't work)])
++fi
++
++dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
++dnl But gcc 3.1 changed the meaning!  See near the end.
++test "$GCC" = yes && CPP_MM=M; AC_SUBST(CPP_MM)
++
++if test -f ./toolcheck; then
++  AC_CHECKING(for buggy tools)
++  sh ./toolcheck 1>&AC_FD_MSG
++fi
++
++OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
++
++dnl Check for BeOS, which needs an extra source file
++AC_MSG_CHECKING(for BeOS)
++case `uname` in
++    BeOS)	OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
++		BEOS=yes; AC_MSG_RESULT(yes);;
++    *)		BEOS=no; AC_MSG_RESULT(no);;
++esac
++
++dnl If QNX is found, assume we don't want to use Xphoton
++dnl unless it was specifically asked for (--with-x)
++AC_MSG_CHECKING(for QNX)
++case `uname` in
++    QNX)	OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
++		test -z "$with_x" && with_x=no
++		QNX=yes; AC_MSG_RESULT(yes);;
++    *)		QNX=no; AC_MSG_RESULT(no);;
++esac
++
++dnl Check for Darwin and MacOS X
++dnl We do a check for MacOS X in the very beginning because there
++dnl are a lot of other things we need to change besides GUI stuff
++AC_MSG_CHECKING([for Darwin (Mac OS X)])
++if test "`(uname) 2>/dev/null`" = Darwin; then
++  AC_MSG_RESULT(yes)
++
++  AC_MSG_CHECKING(--disable-darwin argument)
++  AC_ARG_ENABLE(darwin,
++	  [  --disable-darwin        Disable Darwin (Mac OS X) support.],
++	  , [enable_darwin="yes"])
++  if test "$enable_darwin" = "yes"; then
++    AC_MSG_RESULT(no)
++    AC_MSG_CHECKING(if Darwin files are there)
++    if test -f os_macosx.c; then
++      AC_MSG_RESULT(yes)
++    else
++      AC_MSG_RESULT([no, Darwin support disabled])
++      enable_darwin=no
++    fi
++  else
++    AC_MSG_RESULT([yes, Darwin support excluded])
++  fi
++
++  AC_MSG_CHECKING(--with-mac-arch argument)
++  AC_ARG_WITH(mac-arch, [  --with-mac-arch=ARCH    current, intel, ppc or both],
++	MACARCH="$withval"; AC_MSG_RESULT($MACARCH),
++	MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH))
++
++  if test "x$MACARCH" = "xboth"; then
++    AC_MSG_CHECKING(for 10.4 universal SDK)
++    dnl There is a terrible inconsistency (but we appear to get away with it):
++    dnl $CFLAGS uses the 10.4u SDK library for the headers, while $CPPFLAGS
++    dnl doesn't, because "gcc -E" doesn't grok it.  That means the configure
++    dnl tests using the preprocessor are actually done with the wrong header
++    dnl files. $LDFLAGS is set at the end, because configure uses it together
++    dnl with $CFLAGS and we can only have one -sysroot argument.
++    save_cppflags="$CPPFLAGS"
++    save_cflags="$CFLAGS"
++    save_ldflags="$LDFLAGS"
++    CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
++    AC_TRY_LINK([ ], [ ],
++	AC_MSG_RESULT(found, will make universal binary),
++
++	AC_MSG_RESULT(not found)
++	CFLAGS="$save_cflags"
++	AC_MSG_CHECKING(if Intel architecture is supported)
++	CPPFLAGS="$CPPFLAGS -arch i386"
++	LDFLAGS="$save_ldflags -arch i386"
++	AC_TRY_LINK([ ], [ ],
++	    AC_MSG_RESULT(yes); MACARCH="intel",
++	    AC_MSG_RESULT(no, using PowerPC)
++		MACARCH="ppc"
++		CPPFLAGS="$save_cppflags -arch ppc"
++		LDFLAGS="$save_ldflags -arch ppc"))
++  elif test "x$MACARCH" = "xintel"; then
++    CPPFLAGS="$CPPFLAGS -arch intel"
++    LDFLAGS="$LDFLAGS -arch intel"
++  elif test "x$MACARCH" = "xppc"; then
++    CPPFLAGS="$CPPFLAGS -arch ppc"
++    LDFLAGS="$LDFLAGS -arch ppc"
++  fi
++
++  if test "$enable_darwin" = "yes"; then
++    MACOSX=yes
++    OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
++    OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
++    dnl TODO: use -arch i386 on Intel machines
++    CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
++    if test "x$MACARCH" = "xboth"; then
++      CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
++    else
++      CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
++    fi
++
++    dnl If Carbon is found, assume we don't want X11
++    dnl unless it was specifically asked for (--with-x)
++    dnl or Motif, Athena or GTK GUI is used.
++    AC_CHECK_HEADER(Carbon/Carbon.h, CARBON=yes)
++    if test "x$CARBON" = "xyes"; then
++      if test -z "$with_x" -a "X$enable_gui" != Xmotif -a "X$enable_gui" != Xathena -a "X$enable_gui" != Xgtk -a "X$enable_gui" != Xgtk2; then
++	with_x=no
++      fi
++    fi
++  fi
++
++  dnl Avoid a bug with -O2 with gcc 4.0.1.  Symptom: malloc() reports double
++  dnl free.  This happens in expand_filename(), because the optimizer swaps
++  dnl two blocks of code, both using "repl", that can't be swapped.
++  if test "$MACARCH" = "intel" -o "$MACARCH" = "both"; then
++    CFLAGS=`echo "$CFLAGS" | sed 's/-O[[23456789]]/-Oz/'`
++  fi
++
++else
++  AC_MSG_RESULT(no)
++fi
++
++AC_SUBST(OS_EXTRA_SRC)
++AC_SUBST(OS_EXTRA_OBJ)
++
++dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
++dnl Only when the directory exists and it wasn't there yet.
++dnl For gcc don't do this when it is already in the default search path.
++have_local_include=''
++have_local_lib=''
++if test "$GCC" = yes; then
++  echo 'void f(){}' > conftest.c
++  dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
++  have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
++  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
++  rm -f conftest.c conftest.o
++fi
++if test -z "$have_local_lib" -a -d /usr/local/lib; then
++  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
++  if test "$tt" = "$LDFLAGS"; then
++    LDFLAGS="$LDFLAGS -L/usr/local/lib"
++  fi
++fi
++if test -z "$have_local_include" -a -d /usr/local/include; then
++  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
++  if test "$tt" = "$CPPFLAGS"; then
++    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
++  fi
++fi
++
++AC_MSG_CHECKING(--with-vim-name argument)
++AC_ARG_WITH(vim-name, [  --with-vim-name=NAME    what to call the Vim executable],
++	VIMNAME="$withval"; AC_MSG_RESULT($VIMNAME),
++	VIMNAME="vim"; AC_MSG_RESULT(Defaulting to $VIMNAME))
++AC_SUBST(VIMNAME)
++AC_MSG_CHECKING(--with-ex-name argument)
++AC_ARG_WITH(ex-name, [  --with-ex-name=NAME     what to call the Ex executable],
++	EXNAME="$withval"; AC_MSG_RESULT($EXNAME),
++	EXNAME="ex"; AC_MSG_RESULT(Defaulting to ex))
++AC_SUBST(EXNAME)
++AC_MSG_CHECKING(--with-view-name argument)
++AC_ARG_WITH(view-name, [  --with-view-name=NAME   what to call the View executable],
++	VIEWNAME="$withval"; AC_MSG_RESULT($VIEWNAME),
++	VIEWNAME="view"; AC_MSG_RESULT(Defaulting to view))
++AC_SUBST(VIEWNAME)
++
++AC_MSG_CHECKING(--with-global-runtime argument)
++AC_ARG_WITH(global-runtime, [  --with-global-runtime=DIR    global runtime directory in 'runtimepath'],
++	AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(RUNTIME_GLOBAL, "$withval"),
++	AC_MSG_RESULT(no))
++
++AC_MSG_CHECKING(--with-modified-by argument)
++AC_ARG_WITH(modified-by, [  --with-modified-by=NAME       name of who modified a release version],
++	AC_MSG_RESULT($withval); AC_DEFINE_UNQUOTED(MODIFIED_BY, "$withval"),
++	AC_MSG_RESULT(no))
++
++dnl Check for EBCDIC stolen from the LYNX port to OS390 Unix
++AC_MSG_CHECKING(if character set is EBCDIC)
++AC_TRY_COMPILE([ ],
++[ /* TryCompile function for CharSet.
++   Treat any failure as ASCII for compatibility with existing art.
++   Use compile-time rather than run-time tests for cross-compiler
++   tolerance.  */
++#if '0'!=240
++make an error "Character set is not EBCDIC"
++#endif ],
++[ # TryCompile action if true
++cf_cv_ebcdic=yes ],
++[ # TryCompile action if false
++cf_cv_ebcdic=no])
++# end of TryCompile ])
++# end of CacheVal CvEbcdic
++AC_MSG_RESULT($cf_cv_ebcdic)
++case "$cf_cv_ebcdic" in  #(vi
++    yes)	AC_DEFINE(EBCDIC)
++		line_break='"\\n"'
++		;;
++    *)		line_break='"\\012"';;
++esac
++AC_SUBST(line_break)
++
++if test "$cf_cv_ebcdic" = "yes"; then
++dnl If we have EBCDIC we most likley have OS390 Unix, let's test it!
++AC_MSG_CHECKING(for OS/390 Unix)
++case `uname` in
++    OS/390)	OS390Unix="yes";
++		dnl If using cc the environment variable _CC_CCMODE must be
++		dnl set to "1", so that some compiler extensions are enabled.
++		dnl If using c89 the environment variable is named _CC_C89MODE.
++		dnl Note: compile with c89 never tested.
++		if test "$CC" = "cc"; then
++		  ccm="$_CC_CCMODE"
++		  ccn="CC"
++		else
++		  if test "$CC" = "c89"; then
++		    ccm="$_CC_C89MODE"
++		    ccn="C89"
++		  else
++		    ccm=1
++		  fi
++		fi
++		if test "$ccm" != "1"; then
++		  echo ""
++		  echo "------------------------------------------"
++		  echo " On OS/390 Unix, the environment variable"
++		  echo " __CC_${ccn}MODE must be set to \"1\"!"
++		  echo " Do:"
++		  echo "    export _CC_${ccn}MODE=1"
++		  echo " and then call configure again."
++		  echo "------------------------------------------"
++		  exit 1
++		fi
++		CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
++		AC_MSG_RESULT(yes)
++		;;
++    *)		OS390Unix="no";
++		AC_MSG_RESULT(no)
++		;;
++esac
++fi
++
++
++dnl Check user requested features.
++
++AC_MSG_CHECKING(--with-features argument)
++AC_ARG_WITH(features, [  --with-features=TYPE    tiny, small, normal, big or huge (default: normal)],
++	features="$withval"; AC_MSG_RESULT($features),
++	features="normal"; AC_MSG_RESULT(Defaulting to normal))
++
++dovimdiff=""
++dogvimdiff=""
++case "$features" in
++  tiny)		AC_DEFINE(FEAT_TINY) ;;
++  small)	AC_DEFINE(FEAT_SMALL) ;;
++  normal)	AC_DEFINE(FEAT_NORMAL) dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  big)		AC_DEFINE(FEAT_BIG) dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  huge)		AC_DEFINE(FEAT_HUGE) dovimdiff="installvimdiff";
++			dogvimdiff="installgvimdiff" ;;
++  *)		AC_MSG_RESULT([Sorry, $features is not supported]) ;;
++esac
++
++AC_SUBST(dovimdiff)
++AC_SUBST(dogvimdiff)
++
++AC_MSG_CHECKING(--with-compiledby argument)
++AC_ARG_WITH(compiledby, [  --with-compiledby=NAME  name to show in :version message],
++	compiledby="$withval"; AC_MSG_RESULT($withval),
++	compiledby=""; AC_MSG_RESULT(no))
++AC_SUBST(compiledby)
++
++AC_MSG_CHECKING(--disable-xsmp argument)
++AC_ARG_ENABLE(xsmp,
++	[  --disable-xsmp          Disable XSMP session management],
++	, enable_xsmp="yes")
++
++if test "$enable_xsmp" = "yes"; then
++  AC_MSG_RESULT(no)
++  AC_MSG_CHECKING(--disable-xsmp-interact argument)
++  AC_ARG_ENABLE(xsmp-interact,
++	  [  --disable-xsmp-interact Disable XSMP interaction],
++	  , enable_xsmp_interact="yes")
++  if test "$enable_xsmp_interact" = "yes"; then
++    AC_MSG_RESULT(no)
++    AC_DEFINE(USE_XSMP_INTERACT)
++  else
++    AC_MSG_RESULT(yes)
++  fi
++else
++  AC_MSG_RESULT(yes)
++fi
++
++dnl Check for MzScheme feature.
++AC_MSG_CHECKING(--enable-mzschemeinterp argument)
++AC_ARG_ENABLE(mzschemeinterp,
++	[  --enable-mzschemeinterp   Include MzScheme interpreter.], ,
++	[enable_mzschemeinterp="no"])
++AC_MSG_RESULT($enable_mzschemeinterp)
++
++if test "$enable_mzschemeinterp" = "yes"; then
++  dnl -- find the mzscheme executable
++  AC_SUBST(vi_cv_path_mzscheme)
++
++  AC_MSG_CHECKING(--with-plthome argument)
++  AC_ARG_WITH(plthome,
++	[  --with-plthome=PLTHOME   Use PLTHOME.],
++	with_plthome="$withval"; AC_MSG_RESULT($with_plthome),
++	with_plthome="";AC_MSG_RESULT("no"))
++
++  if test "X$with_plthome" != "X"; then
++       vi_cv_path_mzscheme_pfx="$with_plthome"
++  else
++    AC_MSG_CHECKING(PLTHOME environment var)
++    if test "X$PLTHOME" != "X"; then
++	AC_MSG_RESULT("$PLTHOME")
++	vi_cv_path_mzscheme_pfx="$PLTHOME"
++    else
++	AC_MSG_RESULT("not set")
++	dnl -- try to find MzScheme executable
++	AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme)
++
++	dnl resolve symbolic link, the executable is often elsewhere and there
++	dnl are no links for the include files.
++	if test "X$vi_cv_path_mzscheme" != "X"; then
++	  lsout=`ls -l $vi_cv_path_mzscheme`
++	  if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
++	    vi_cv_path_mzscheme=`echo "$lsout" | sed 's/.*-> \(.*\)/\1/'`
++	  fi
++	fi
++
++	if test "X$vi_cv_path_mzscheme" != "X"; then
++	    dnl -- find where MzScheme thinks it was installed
++	    AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx,
++	    [ vi_cv_path_mzscheme_pfx=`
++	    ${vi_cv_path_mzscheme} -evm \
++	    "(display (simplify-path		\
++	       (build-path (call-with-values	\
++		(lambda () (split-path (find-system-path (quote exec-file)))) \
++		(lambda (base name must-be-dir?) base)) (quote up))))"` ])
++	    dnl Remove a trailing slash.
++	    vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
++	fi
++    fi
++  fi
++
++  SCHEME_INC=
++  if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
++    AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include)
++    if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
++      AC_MSG_RESULT("yes")
++    else
++      AC_MSG_RESULT("no")
++      AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include)
++      if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
++	AC_MSG_RESULT("yes")
++	SCHEME_INC=/plt
++      else
++	AC_MSG_RESULT("no")
++	vi_cv_path_mzscheme_pfx=
++      fi
++    fi
++  fi
++
++  if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
++    if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
++      MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
++    else
++      MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
++      if test "$GCC" = yes; then
++	dnl Make Vim remember the path to the library.  For when it's not in
++	dnl $LD_LIBRARY_PATH.
++	MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib"
++      elif test "`(uname) 2>/dev/null`" = SunOS &&
++			       uname -r | grep '^5' >/dev/null; then
++	MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib"
++      fi
++    fi
++    if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
++      SCHEME_COLLECTS=lib/plt/
++    fi
++    MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC}   \
++      -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'"
++    MZSCHEME_SRC="if_mzsch.c"
++    MZSCHEME_OBJ="objects/if_mzsch.o"
++    MZSCHEME_PRO="if_mzsch.pro"
++    AC_DEFINE(FEAT_MZSCHEME)
++  fi
++  AC_SUBST(MZSCHEME_SRC)
++  AC_SUBST(MZSCHEME_OBJ)
++  AC_SUBST(MZSCHEME_PRO)
++  AC_SUBST(MZSCHEME_LIBS)
++  AC_SUBST(MZSCHEME_CFLAGS)
++fi
++
++
++AC_MSG_CHECKING(--enable-perlinterp argument)
++AC_ARG_ENABLE(perlinterp,
++	[  --enable-perlinterp     Include Perl interpreter.], ,
++	[enable_perlinterp="no"])
++AC_MSG_RESULT($enable_perlinterp)
++if test "$enable_perlinterp" = "yes"; then
++  AC_SUBST(vi_cv_path_perl)
++  AC_PATH_PROG(vi_cv_path_perl, perl)
++  if test "X$vi_cv_path_perl" != "X"; then
++    AC_MSG_CHECKING(Perl version)
++    if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
++     eval `$vi_cv_path_perl -V:usethreads`
++     if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
++       badthreads=no
++     else
++       if $vi_cv_path_perl -e 'require 5.6.0' >/dev/null 2>/dev/null; then
++	 eval `$vi_cv_path_perl -V:use5005threads`
++	 if test "X$use5005threads" = "XUNKNOWN" -o "X$use5005threads" = "Xundef"; then
++	   badthreads=no
++	 else
++	   badthreads=yes
++	   AC_MSG_RESULT(>>> Perl > 5.6 with 5.5 threads cannot be used <<<)
++	 fi
++       else
++	 badthreads=yes
++	 AC_MSG_RESULT(>>> Perl 5.5 with threads cannot be used <<<)
++       fi
++     fi
++     if test $badthreads = no; then
++      AC_MSG_RESULT(OK)
++      eval `$vi_cv_path_perl -V:shrpenv`
++      if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
++	shrpenv=""
++      fi
++      vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlibexp}'`
++      AC_SUBST(vi_cv_perllib)
++      dnl Remove "-fno-something", it breaks using cproto.
++      perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
++	      -e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//'`
++      dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
++      perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
++		sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
++			-e 's/-bE:perl.exp//' -e 's/-lc //'`
++      dnl Don't add perl lib to $LIBS: if it's not in LD_LIBRARY_PATH
++      dnl a test in configure may fail because of that.
++      perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
++		-e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
++
++      dnl check that compiling a simple program still works with the flags
++      dnl added for Perl.
++      AC_MSG_CHECKING([if compile and link flags for Perl are sane])
++      cflags_save=$CFLAGS
++      libs_save=$LIBS
++      ldflags_save=$LDFLAGS
++      CFLAGS="$CFLAGS $perlcppflags"
++      LIBS="$LIBS $perllibs"
++      LDFLAGS="$perlldflags $LDFLAGS"
++      AC_TRY_LINK(,[ ],
++	     AC_MSG_RESULT(yes); perl_ok=yes,
++	     AC_MSG_RESULT(no: PERL DISABLED); perl_ok=no)
++      CFLAGS=$cflags_save
++      LIBS=$libs_save
++      LDFLAGS=$ldflags_save
++      if test $perl_ok = yes; then
++	if test "X$perlcppflags" != "X"; then
++	  dnl remove -pipe and -Wxxx, it confuses cproto
++	  PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
++	fi
++	if test "X$perlldflags" != "X"; then
++	  LDFLAGS="$perlldflags $LDFLAGS"
++	fi
++	PERL_LIBS=$perllibs
++	PERL_SRC="auto/if_perl.c if_perlsfio.c"
++	PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o"
++	PERL_PRO="if_perl.pro if_perlsfio.pro"
++	AC_DEFINE(FEAT_PERL)
++      fi
++     fi
++    else
++      AC_MSG_RESULT(>>> too old; need Perl version 5.003_01 or later <<<)
++    fi
++  fi
++
++  if test "x$MACOSX" = "xyes"; then
++    dnl Mac OS X 10.2 or later
++    dir=/System/Library/Perl
++    darwindir=$dir/darwin
++    if test -d $darwindir; then
++      PERL=/usr/bin/perl
++    else
++      dnl Mac OS X 10.3
++      dir=/System/Library/Perl/5.8.1
++      darwindir=$dir/darwin-thread-multi-2level
++      if test -d $darwindir; then
++	PERL=/usr/bin/perl
++      fi
++    fi
++    if test -n "$PERL"; then
++      PERL_DIR="$dir"
++      PERL_CFLAGS="-DFEAT_PERL -I$darwindir/CORE"
++      PERL_OBJ="objects/if_perl.o objects/if_perlsfio.o $darwindir/auto/DynaLoader/DynaLoader.a"
++      PERL_LIBS="-L$darwindir/CORE -lperl"
++    fi
++  fi
++fi
++AC_SUBST(shrpenv)
++AC_SUBST(PERL_SRC)
++AC_SUBST(PERL_OBJ)
++AC_SUBST(PERL_PRO)
++AC_SUBST(PERL_CFLAGS)
++AC_SUBST(PERL_LIBS)
++
++AC_MSG_CHECKING(--enable-pythoninterp argument)
++AC_ARG_ENABLE(pythoninterp,
++	[  --enable-pythoninterp   Include Python interpreter.], ,
++	[enable_pythoninterp="no"])
++AC_MSG_RESULT($enable_pythoninterp)
++if test "$enable_pythoninterp" = "yes"; then
++  dnl -- find the python executable
++  AC_PATH_PROG(vi_cv_path_python, python)
++  if test "X$vi_cv_path_python" != "X"; then
++
++    dnl -- get its version number
++    AC_CACHE_CHECK(Python version,vi_cv_var_python_version,
++    [[vi_cv_var_python_version=`
++	    ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
++    ]])
++
++    dnl -- it must be at least version 1.4
++    AC_MSG_CHECKING(Python is 1.4 or better)
++    if ${vi_cv_path_python} -c \
++	"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
++    then
++      AC_MSG_RESULT(yep)
++
++      dnl -- find where python thinks it was installed
++      AC_CACHE_CHECK(Python's install prefix,vi_cv_path_python_pfx,
++      [ vi_cv_path_python_pfx=`
++	    ${vi_cv_path_python} -c \
++		"import sys; print sys.prefix"` ])
++
++      dnl -- and where it thinks it runs
++      AC_CACHE_CHECK(Python's execution prefix,vi_cv_path_python_epfx,
++      [ vi_cv_path_python_epfx=`
++	    ${vi_cv_path_python} -c \
++		"import sys; print sys.exec_prefix"` ])
++
++      dnl -- python's internal library path
++
++      AC_CACHE_VAL(vi_cv_path_pythonpath,
++      [ vi_cv_path_pythonpath=`
++	    unset PYTHONPATH;
++	    ${vi_cv_path_python} -c \
++		"import sys, string; print string.join(sys.path,':')"` ])
++
++      dnl -- where the Python implementation library archives are
++
++      AC_ARG_WITH(python-config-dir,
++	[  --with-python-config-dir=PATH  Python's config directory],
++	[ vi_cv_path_python_conf="${withval}" ] )
++
++      AC_CACHE_CHECK(Python's configuration directory,vi_cv_path_python_conf,
++      [
++	vi_cv_path_python_conf=
++	for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do
++	  for subdir in lib share; do
++	    d="${path}/${subdir}/python${vi_cv_var_python_version}/config"
++	    if test -d "$d" && test -f "$d/config.c"; then
++	      vi_cv_path_python_conf="$d"
++	    fi
++	  done
++	done
++      ])
++
++      PYTHON_CONFDIR="${vi_cv_path_python_conf}"
++
++      if test "X$PYTHON_CONFDIR" = "X"; then
++	AC_MSG_RESULT([can't find it!])
++      else
++
++	dnl -- we need to examine Python's config/Makefile too
++	dnl    see what the interpreter is built from
++	AC_CACHE_VAL(vi_cv_path_python_plibs,
++	[
++	    tmp_mkf="/tmp/Makefile-conf$$"
++	    cat ${PYTHON_CONFDIR}/Makefile - <<'eof' >${tmp_mkf}
++__:
++	@echo "python_MODLIBS='$(MODLIBS)'"
++	@echo "python_LIBS='$(LIBS)'"
++	@echo "python_SYSLIBS='$(SYSLIBS)'"
++	@echo "python_LINKFORSHARED='$(LINKFORSHARED)'"
++eof
++	    dnl -- delete the lines from make about Entering/Leaving directory
++	    eval "`cd ${PYTHON_CONFDIR} && make -f ${tmp_mkf} __ | sed '/ directory /d'`"
++	    rm -f ${tmp_mkf}
++	    if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
++		"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
++	      vi_cv_path_python_plibs="-framework Python"
++	    else
++	      if test "${vi_cv_var_python_version}" = "1.4"; then
++		  vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
++	      else
++		  vi_cv_path_python_plibs="-L${PYTHON_CONFDIR} -lpython${vi_cv_var_python_version}"
++	      fi
++	      vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_MODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
++	      dnl remove -ltermcap, it can conflict with an earlier -lncurses
++	      vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
++	    fi
++	])
++
++	PYTHON_LIBS="${vi_cv_path_python_plibs}"
++	if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then
++	  PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}"
++	else
++	  PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}"
++	fi
++	PYTHON_SRC="if_python.c"
++	dnl For Mac OSX 10.2 config.o is included in the Python library.
++	if test "x$MACOSX" = "xyes"; then
++	  PYTHON_OBJ="objects/if_python.o"
++	else
++	  PYTHON_OBJ="objects/if_python.o objects/py_config.o"
++	fi
++	if test "${vi_cv_var_python_version}" = "1.4"; then
++	   PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o"
++	fi
++	PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
++
++	dnl On FreeBSD linking with "-pthread" is required to use threads.
++	dnl _THREAD_SAFE must be used for compiling then.
++	dnl The "-pthread" is added to $LIBS, so that the following check for
++	dnl sigaltstack() will look in libc_r (it's there in libc!).
++	dnl Otherwise, when using GCC, try adding -pthread to $CFLAGS.  GCC
++	dnl will then define target-specific defines, e.g., -D_REENTRANT.
++	dnl Don't do this for Mac OSX, -pthread will generate a warning.
++	AC_MSG_CHECKING([if -pthread should be used])
++	threadsafe_flag=
++	thread_lib=
++	dnl if test "x$MACOSX" != "xyes"; then
++        if test "`(uname) 2>/dev/null`" != Darwin; then
++	  test "$GCC" = yes && threadsafe_flag="-pthread"
++	  if test "`(uname) 2>/dev/null`" = FreeBSD; then
++	    threadsafe_flag="-D_THREAD_SAFE"
++	    thread_lib="-pthread"
++	  fi
++	fi
++	libs_save_old=$LIBS
++	if test -n "$threadsafe_flag"; then
++	  cflags_save=$CFLAGS
++	  CFLAGS="$CFLAGS $threadsafe_flag"
++	  LIBS="$LIBS $thread_lib"
++	  AC_TRY_LINK(,[ ],
++	     AC_MSG_RESULT(yes); PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag",
++	     AC_MSG_RESULT(no); LIBS=$libs_save_old
++	     )
++	  CFLAGS=$cflags_save
++	else
++	  AC_MSG_RESULT(no)
++	fi
++
++	dnl check that compiling a simple program still works with the flags
++	dnl added for Python.
++	AC_MSG_CHECKING([if compile and link flags for Python are sane])
++	cflags_save=$CFLAGS
++	libs_save=$LIBS
++	CFLAGS="$CFLAGS $PYTHON_CFLAGS"
++	LIBS="$LIBS $PYTHON_LIBS"
++	AC_TRY_LINK(,[ ],
++	       AC_MSG_RESULT(yes); python_ok=yes,
++	       AC_MSG_RESULT(no: PYTHON DISABLED); python_ok=no)
++	CFLAGS=$cflags_save
++	LIBS=$libs_save
++	if test $python_ok = yes; then
++	  AC_DEFINE(FEAT_PYTHON)
++	else
++	  LIBS=$libs_save_old
++	  PYTHON_SRC=
++	  PYTHON_OBJ=
++	  PYTHON_LIBS=
++	  PYTHON_CFLAGS=
++	fi
++
++      fi
++    else
++      AC_MSG_RESULT(too old)
++    fi
++  fi
++fi
++AC_SUBST(PYTHON_CONFDIR)
++AC_SUBST(PYTHON_LIBS)
++AC_SUBST(PYTHON_GETPATH_CFLAGS)
++AC_SUBST(PYTHON_CFLAGS)
++AC_SUBST(PYTHON_SRC)
++AC_SUBST(PYTHON_OBJ)
++
++AC_MSG_CHECKING(--enable-tclinterp argument)
++AC_ARG_ENABLE(tclinterp,
++	[  --enable-tclinterp      Include Tcl interpreter.], ,
++	[enable_tclinterp="no"])
++AC_MSG_RESULT($enable_tclinterp)
++
++if test "$enable_tclinterp" = "yes"; then
++
++  dnl on FreeBSD tclsh is a silly script, look for tclsh8.[420]
++  AC_MSG_CHECKING(--with-tclsh argument)
++  AC_ARG_WITH(tclsh, [  --with-tclsh=PATH       which tclsh to use (default: tclsh8.0)],
++	tclsh_name="$withval"; AC_MSG_RESULT($tclsh_name),
++	tclsh_name="tclsh8.4"; AC_MSG_RESULT(no))
++  AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
++  AC_SUBST(vi_cv_path_tcl)
++
++  dnl when no specific version specified, also try 8.2 and 8.0
++  if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
++    tclsh_name="tclsh8.2"
++    AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
++  fi
++  if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then
++    tclsh_name="tclsh8.0"
++    AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
++  fi
++  dnl still didn't find it, try without version number
++  if test "X$vi_cv_path_tcl" = "X"; then
++    tclsh_name="tclsh"
++    AC_PATH_PROG(vi_cv_path_tcl, $tclsh_name)
++  fi
++  if test "X$vi_cv_path_tcl" != "X"; then
++    AC_MSG_CHECKING(Tcl version)
++    if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then
++      tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -`
++      AC_MSG_RESULT($tclver - OK);
++      tclloc=`echo 'set l [[info library]];set i [[string last lib $l]];incr i -2;puts [[string range $l 0 $i]]' | $vi_cv_path_tcl -`
++
++      AC_MSG_CHECKING(for location of Tcl include)
++      if test "x$MACOSX" != "xyes"; then
++	tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/include"
++      else
++	dnl For Mac OS X 10.3, use the OS-provided framework location
++	tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
++      fi
++      for try in $tclinc; do
++	if test -f "$try/tcl.h"; then
++	  AC_MSG_RESULT($try/tcl.h)
++	  TCL_INC=$try
++	  break
++	fi
++      done
++      if test -z "$TCL_INC"; then
++	AC_MSG_RESULT(<not found>)
++	SKIP_TCL=YES
++      fi
++      if test -z "$SKIP_TCL"; then
++	AC_MSG_CHECKING(for location of tclConfig.sh script)
++	if test "x$MACOSX" != "xyes"; then
++	  tclcnf=`echo $tclinc | sed s/include/lib/g`
++	else
++	  dnl For Mac OS X 10.3, use the OS-provided framework location
++	  tclcnf="/System/Library/Frameworks/Tcl.framework"
++	fi
++	for try in $tclcnf; do
++	  if test -f $try/tclConfig.sh; then
++	    AC_MSG_RESULT($try/tclConfig.sh)
++	    . $try/tclConfig.sh
++	    dnl use eval, because tcl 8.2 includes ${TCL_DBGX}
++	    TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
++	    dnl Use $TCL_DEFS for -D_THREAD_SAFE et al.  But only use the
++	    dnl "-D_ABC" items.  Watch out for -DFOO=long\ long.
++	    TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
++	    break
++	  fi
++	done
++	if test -z "$TCL_LIBS"; then
++	  AC_MSG_RESULT(<not found>)
++	  AC_MSG_CHECKING(for Tcl library by myself)
++	  tcllib=`echo $tclinc | sed s/include/lib/g`
++	  for ext in .so .a ; do
++	    for ver in "" $tclver ; do
++	      for try in $tcllib ; do
++		trylib=tcl$ver$ext
++		if test -f $try/lib$trylib ; then
++		  AC_MSG_RESULT($try/lib$trylib)
++		  TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
++		  if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++		    TCL_LIBS="$TCL_LIBS -R $try"
++		  fi
++		  break 3
++		fi
++	      done
++	    done
++	  done
++	  if test -z "$TCL_LIBS"; then
++	    AC_MSG_RESULT(<not found>)
++	    SKIP_TCL=YES
++	  fi
++	fi
++	if test -z "$SKIP_TCL"; then
++	  AC_DEFINE(FEAT_TCL)
++	  TCL_SRC=if_tcl.c
++	  TCL_OBJ=objects/if_tcl.o
++	  TCL_PRO=if_tcl.pro
++	  TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"
++	fi
++      fi
++    else
++      AC_MSG_RESULT(too old; need Tcl version 8.0 or later)
++    fi
++  fi
++fi
++AC_SUBST(TCL_SRC)
++AC_SUBST(TCL_OBJ)
++AC_SUBST(TCL_PRO)
++AC_SUBST(TCL_CFLAGS)
++AC_SUBST(TCL_LIBS)
++
++AC_MSG_CHECKING(--enable-rubyinterp argument)
++AC_ARG_ENABLE(rubyinterp,
++	[  --enable-rubyinterp     Include Ruby interpreter.], ,
++	[enable_rubyinterp="no"])
++AC_MSG_RESULT($enable_rubyinterp)
++if test "$enable_rubyinterp" = "yes"; then
++  AC_SUBST(vi_cv_path_ruby)
++  AC_PATH_PROG(vi_cv_path_ruby, ruby)
++  if test "X$vi_cv_path_ruby" != "X"; then
++    AC_MSG_CHECKING(Ruby version)
++    if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
++      AC_MSG_RESULT(OK)
++      AC_MSG_CHECKING(Ruby header files)
++      rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null`
++      if test "X$rubyhdrdir" != "X"; then
++	AC_MSG_RESULT($rubyhdrdir)
++	RUBY_CFLAGS="-I$rubyhdrdir"
++	rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'`
++	if test "X$rubylibs" != "X"; then
++	  RUBY_LIBS="$rubylibs"
++	fi
++	librubyarg=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["LIBRUBYARG"]])'`
++	if test -f "$rubyhdrdir/$librubyarg"; then
++	  librubyarg="$rubyhdrdir/$librubyarg"
++	else
++	  rubylibdir=`$vi_cv_path_ruby -r rbconfig -e 'print Config.expand(Config::CONFIG[["libdir"]])'`
++	  if test -f "$rubylibdir/$librubyarg"; then
++	    librubyarg="$rubylibdir/$librubyarg"
++	  elif test "$librubyarg" = "libruby.a"; then
++	    dnl required on Mac OS 10.3 where libruby.a doesn't exist
++	    librubyarg="-lruby"
++	  else
++	    librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print '$librubyarg'.gsub(/-L\./, %'-L#{Config.expand(Config::CONFIG[\"libdir\"])}')"`
++	  fi
++	fi
++
++	if test "X$librubyarg" != "X"; then
++	  RUBY_LIBS="$librubyarg $RUBY_LIBS"
++	fi
++	rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'`
++	if test "X$rubyldflags" != "X"; then
++	  LDFLAGS="$rubyldflags $LDFLAGS"
++	fi
++	RUBY_SRC="if_ruby.c"
++	RUBY_OBJ="objects/if_ruby.o"
++	RUBY_PRO="if_ruby.pro"
++	AC_DEFINE(FEAT_RUBY)
++      else
++	AC_MSG_RESULT(not found, disabling Ruby)
++      fi
++    else
++      AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later)
++    fi
++  fi
++fi
++AC_SUBST(RUBY_SRC)
++AC_SUBST(RUBY_OBJ)
++AC_SUBST(RUBY_PRO)
++AC_SUBST(RUBY_CFLAGS)
++AC_SUBST(RUBY_LIBS)
++
++AC_MSG_CHECKING(--enable-cscope argument)
++AC_ARG_ENABLE(cscope,
++	[  --enable-cscope         Include cscope interface.], ,
++	[enable_cscope="no"])
++AC_MSG_RESULT($enable_cscope)
++if test "$enable_cscope" = "yes"; then
++  AC_DEFINE(FEAT_CSCOPE)
++fi
++
++AC_MSG_CHECKING(--enable-workshop argument)
++AC_ARG_ENABLE(workshop,
++	[  --enable-workshop       Include Sun Visual Workshop support.], ,
++	[enable_workshop="no"])
++AC_MSG_RESULT($enable_workshop)
++if test "$enable_workshop" = "yes"; then
++  AC_DEFINE(FEAT_SUN_WORKSHOP)
++  WORKSHOP_SRC="workshop.c integration.c"
++  AC_SUBST(WORKSHOP_SRC)
++  WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
++  AC_SUBST(WORKSHOP_OBJ)
++  if test "${enable_gui-xxx}" = xxx; then
++    enable_gui=motif
++  fi
++fi
++
++AC_MSG_CHECKING(--disable-netbeans argument)
++AC_ARG_ENABLE(netbeans,
++	[  --disable-netbeans      Disable NetBeans integration support.],
++	, [enable_netbeans="yes"])
++if test "$enable_netbeans" = "yes"; then
++  AC_MSG_RESULT(no)
++  dnl On Solaris we need the socket and nsl library.
++  AC_CHECK_LIB(socket, socket)
++  AC_CHECK_LIB(nsl, gethostbyname)
++  AC_MSG_CHECKING(whether compiling netbeans integration is possible)
++  AC_TRY_LINK([
++#include <stdio.h>
++#include <stdlib.h>
++#include <stdarg.h>
++#include <fcntl.h>
++#include <netdb.h>
++#include <netinet/in.h>
++#include <errno.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++	/* Check bitfields */
++	struct nbbuf {
++	unsigned int  initDone:1;
++	ushort signmaplen;
++	};
++	    ], [
++		/* Check creating a socket. */
++		struct sockaddr_in server;
++		(void)socket(AF_INET, SOCK_STREAM, 0);
++		(void)htons(100);
++		(void)gethostbyname("microsoft.com");
++		if (errno == ECONNREFUSED)
++		  (void)connect(1, (struct sockaddr *)&server, sizeof(server));
++	    ],
++	AC_MSG_RESULT(yes),
++	AC_MSG_RESULT(no); enable_netbeans="no")
++else
++  AC_MSG_RESULT(yes)
++fi
++if test "$enable_netbeans" = "yes"; then
++  AC_DEFINE(FEAT_NETBEANS_INTG)
++  NETBEANS_SRC="netbeans.c"
++  AC_SUBST(NETBEANS_SRC)
++  NETBEANS_OBJ="objects/netbeans.o"
++  AC_SUBST(NETBEANS_OBJ)
++fi
++
++AC_MSG_CHECKING(--enable-sniff argument)
++AC_ARG_ENABLE(sniff,
++	[  --enable-sniff          Include Sniff interface.], ,
++	[enable_sniff="no"])
++AC_MSG_RESULT($enable_sniff)
++if test "$enable_sniff" = "yes"; then
++  AC_DEFINE(FEAT_SNIFF)
++  SNIFF_SRC="if_sniff.c"
++  AC_SUBST(SNIFF_SRC)
++  SNIFF_OBJ="objects/if_sniff.o"
++  AC_SUBST(SNIFF_OBJ)
++fi
++
++AC_MSG_CHECKING(--enable-multibyte argument)
++AC_ARG_ENABLE(multibyte,
++	[  --enable-multibyte      Include multibyte editing support.], ,
++	[enable_multibyte="no"])
++AC_MSG_RESULT($enable_multibyte)
++if test "$enable_multibyte" = "yes"; then
++  AC_DEFINE(FEAT_MBYTE)
++fi
++
++AC_MSG_CHECKING(--enable-hangulinput argument)
++AC_ARG_ENABLE(hangulinput,
++	[  --enable-hangulinput    Include Hangul input support.], ,
++	[enable_hangulinput="no"])
++AC_MSG_RESULT($enable_hangulinput)
++
++AC_MSG_CHECKING(--enable-xim argument)
++AC_ARG_ENABLE(xim,
++	[  --enable-xim            Include XIM input support.],
++	AC_MSG_RESULT($enable_xim),
++	[enable_xim="auto"; AC_MSG_RESULT(defaulting to auto)])
++dnl defining FEAT_XIM is delayed, so that it can be disabled for older GTK
++
++AC_MSG_CHECKING(--enable-fontset argument)
++AC_ARG_ENABLE(fontset,
++	[  --enable-fontset        Include X fontset output support.], ,
++	[enable_fontset="no"])
++AC_MSG_RESULT($enable_fontset)
++dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
++
++test -z "$with_x" && with_x=yes
++test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
++if test "$with_x" = no; then
++  AC_MSG_RESULT(defaulting to: don't HAVE_X11)
++else
++  dnl Do this check early, so that its failure can override user requests.
++
++  AC_PATH_PROG(xmkmfpath, xmkmf)
++
++  AC_PATH_XTRA
++
++  dnl On OS390Unix the X libraries are DLLs. To use them the code must
++  dnl be compiled with a special option.
++  dnl Also add SM, ICE and Xmu to X_EXTRA_LIBS.
++  if test "$OS390Unix" = "yes"; then
++    CFLAGS="$CFLAGS -W c,dll"
++    LDFLAGS="$LDFLAGS -W l,dll"
++    X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
++  fi
++
++  dnl On my HPUX system the X include dir is found, but the lib dir not.
++  dnl This is a desparate try to fix this.
++
++  if test -d "$x_includes" && test ! -d "$x_libraries"; then
++    x_libraries=`echo "$x_includes" | sed s/include/lib/`
++    AC_MSG_RESULT(Corrected X libraries to $x_libraries)
++    X_LIBS="$X_LIBS -L$x_libraries"
++    if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++      X_LIBS="$X_LIBS -R $x_libraries"
++    fi
++  fi
++
++  if test -d "$x_libraries" && test ! -d "$x_includes"; then
++    x_includes=`echo "$x_libraries" | sed s/lib/include/`
++    AC_MSG_RESULT(Corrected X includes to $x_includes)
++    X_CFLAGS="$X_CFLAGS -I$x_includes"
++  fi
++
++  dnl Remove "-I/usr/include " from X_CFLAGS, should not be needed.
++  X_CFLAGS="`echo $X_CFLAGS\  | sed 's%-I/usr/include %%'`"
++  dnl Remove "-L/usr/lib " from X_LIBS, should not be needed.
++  X_LIBS="`echo $X_LIBS\  | sed 's%-L/usr/lib %%'`"
++  dnl Same for "-R/usr/lib ".
++  X_LIBS="`echo $X_LIBS\  | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
++
++
++  dnl Check if the X11 header files are correctly installed. On some systems
++  dnl Xlib.h includes files that don't exist
++  AC_MSG_CHECKING(if X11 header files can be found)
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
++	AC_MSG_RESULT(yes),
++	AC_MSG_RESULT(no); no_x=yes)
++  CFLAGS=$cflags_save
++
++  if test "${no_x-no}" = yes; then
++    with_x=no
++  else
++    AC_DEFINE(HAVE_X11)
++    X_LIB="-lXt -lX11";
++    AC_SUBST(X_LIB)
++
++    ac_save_LDFLAGS="$LDFLAGS"
++    LDFLAGS="-L$x_libraries $LDFLAGS"
++
++    dnl Check for -lXdmcp (needed on SunOS 4.1.4)
++    dnl For HP-UX 10.20 it must be before -lSM -lICE
++    AC_CHECK_LIB(Xdmcp, _XdmcpAuthDoIt, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"],,
++		[-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp])
++
++    dnl Some systems need -lnsl -lsocket when testing for ICE.
++    dnl The check above doesn't do this, try here (again).  Also needed to get
++    dnl them after Xdmcp.  link.sh will remove them when not needed.
++    dnl Check for other function than above to avoid the cached value
++    AC_CHECK_LIB(ICE, IceOpenConnection,
++		  [X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"],, [$X_EXTRA_LIBS])
++
++    dnl Check for -lXpm (needed for some versions of Motif)
++    LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
++    AC_CHECK_LIB(Xpm, XpmCreatePixmapFromData, [X_PRE_LIBS="$X_PRE_LIBS -lXpm"],,
++		[-lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS])
++
++    dnl Check that the X11 header files don't use implicit declarations
++    AC_MSG_CHECKING(if X11 header files implicitly declare return values)
++    cflags_save=$CFLAGS
++    CFLAGS="$CFLAGS $X_CFLAGS -Werror"
++    AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
++	AC_MSG_RESULT(no),
++	CFLAGS="$CFLAGS -Wno-implicit-int"
++	AC_TRY_COMPILE([#include <X11/Xlib.h>], ,
++	    AC_MSG_RESULT(yes); cflags_save="$cflags_save -Wno-implicit-int",
++	    AC_MSG_RESULT(test failed)
++	)
++    )
++    CFLAGS=$cflags_save
++
++    LDFLAGS="$ac_save_LDFLAGS"
++
++  fi
++fi
++
++test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
++
++AC_MSG_CHECKING(--enable-gui argument)
++AC_ARG_ENABLE(gui,
++ [  --enable-gui[=OPTS]     X11 GUI [default=auto] [OPTS=auto/no/gtk/gtk2/gnome/gnome2/motif/athena/neXtaw/photon/carbon]], , enable_gui="auto")
++
++dnl Canonicalize the --enable-gui= argument so that it can be easily compared.
++dnl Do not use character classes for portability with old tools.
++enable_gui_canon=`echo "_$enable_gui" | \
++	sed 's/[[ _+-]]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
++
++dnl Skip everything by default.
++SKIP_GTK=YES
++SKIP_GTK2=YES
++SKIP_GNOME=YES
++SKIP_MOTIF=YES
++SKIP_ATHENA=YES
++SKIP_NEXTAW=YES
++SKIP_PHOTON=YES
++SKIP_CARBON=YES
++GUITYPE=NONE
++
++if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
++  SKIP_PHOTON=
++  case "$enable_gui_canon" in
++    no)		AC_MSG_RESULT(no GUI support)
++		SKIP_PHOTON=YES ;;
++    yes|"")	AC_MSG_RESULT(yes - automatic GUI support) ;;
++    auto)	AC_MSG_RESULT(auto - automatic GUI support) ;;
++    photon)	AC_MSG_RESULT(Photon GUI support) ;;
++    *)		AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
++		SKIP_PHOTON=YES ;;
++  esac
++
++elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
++  SKIP_CARBON=
++  case "$enable_gui_canon" in
++    no)		AC_MSG_RESULT(no GUI support)
++		SKIP_CARBON=YES ;;
++    yes|"")	AC_MSG_RESULT(yes - automatic GUI support) ;;
++    auto)	AC_MSG_RESULT(auto - automatic GUI support) ;;
++    carbon)	AC_MSG_RESULT(Carbon GUI support) ;;
++    *)		AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported])
++		SKIP_CARBON=YES ;;
++  esac
++
++else
++
++  case "$enable_gui_canon" in
++    no|none)	AC_MSG_RESULT(no GUI support) ;;
++    yes|""|auto)	AC_MSG_RESULT(yes/auto - automatic GUI support)
++		SKIP_GTK=
++		SKIP_GTK2=
++		SKIP_GNOME=
++		SKIP_MOTIF=
++		SKIP_ATHENA=
++		SKIP_NEXTAW=
++		SKIP_CARBON=;;
++    gtk)	AC_MSG_RESULT(GTK+ 1.x GUI support)
++		SKIP_GTK=;;
++    gtk2)	AC_MSG_RESULT(GTK+ 2.x GUI support)
++		SKIP_GTK=
++		SKIP_GTK2=;;
++    gnome)	AC_MSG_RESULT(GNOME 1.x GUI support)
++		SKIP_GNOME=
++		SKIP_GTK=;;
++    gnome2)	AC_MSG_RESULT(GNOME 2.x GUI support)
++		SKIP_GNOME=
++		SKIP_GTK=
++		SKIP_GTK2=;;
++    motif)	AC_MSG_RESULT(Motif GUI support)
++		SKIP_MOTIF=;;
++    athena)	AC_MSG_RESULT(Athena GUI support)
++		SKIP_ATHENA=;;
++    nextaw)	AC_MSG_RESULT(neXtaw GUI support)
++		SKIP_NEXTAW=;;
++    *)		AC_MSG_RESULT([Sorry, $enable_gui GUI is not supported]) ;;
++  esac
++
++fi
++
++if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
++  AC_MSG_CHECKING(whether or not to look for GTK)
++  AC_ARG_ENABLE(gtk-check,
++	[  --enable-gtk-check      If auto-select GUI, check for GTK [default=yes]],
++	, enable_gtk_check="yes")
++  AC_MSG_RESULT($enable_gtk_check)
++  if test "x$enable_gtk_check" = "xno"; then
++    SKIP_GTK=YES
++    SKIP_GNOME=YES
++  fi
++fi
++
++if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
++				-a "$enable_gui_canon" != "gnome2"; then
++  AC_MSG_CHECKING(whether or not to look for GTK+ 2)
++  AC_ARG_ENABLE(gtk2-check,
++	[  --enable-gtk2-check     If GTK GUI, check for GTK+ 2 [default=yes]],
++	, enable_gtk2_check="yes")
++  AC_MSG_RESULT($enable_gtk2_check)
++  if test "x$enable_gtk2_check" = "xno"; then
++    SKIP_GTK2=YES
++  fi
++fi
++
++if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
++				 -a "$enable_gui_canon" != "gnome2"; then
++  AC_MSG_CHECKING(whether or not to look for GNOME)
++  AC_ARG_ENABLE(gnome-check,
++	[  --enable-gnome-check    If GTK GUI, check for GNOME [default=no]],
++	, enable_gnome_check="no")
++  AC_MSG_RESULT($enable_gnome_check)
++  if test "x$enable_gnome_check" = "xno"; then
++    SKIP_GNOME=YES
++  fi
++fi
++
++if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
++  AC_MSG_CHECKING(whether or not to look for Motif)
++  AC_ARG_ENABLE(motif-check,
++	[  --enable-motif-check    If auto-select GUI, check for Motif [default=yes]],
++	, enable_motif_check="yes")
++  AC_MSG_RESULT($enable_motif_check)
++  if test "x$enable_motif_check" = "xno"; then
++    SKIP_MOTIF=YES
++  fi
++fi
++
++if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
++  AC_MSG_CHECKING(whether or not to look for Athena)
++  AC_ARG_ENABLE(athena-check,
++	[  --enable-athena-check   If auto-select GUI, check for Athena [default=yes]],
++	, enable_athena_check="yes")
++  AC_MSG_RESULT($enable_athena_check)
++  if test "x$enable_athena_check" = "xno"; then
++    SKIP_ATHENA=YES
++  fi
++fi
++
++if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
++  AC_MSG_CHECKING(whether or not to look for neXtaw)
++  AC_ARG_ENABLE(nextaw-check,
++	[  --enable-nextaw-check   If auto-select GUI, check for neXtaw [default=yes]],
++	, enable_nextaw_check="yes")
++  AC_MSG_RESULT($enable_nextaw_check);
++  if test "x$enable_nextaw_check" = "xno"; then
++    SKIP_NEXTAW=YES
++  fi
++fi
++
++if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
++  AC_MSG_CHECKING(whether or not to look for Carbon)
++  AC_ARG_ENABLE(carbon-check,
++	[  --enable-carbon-check   If auto-select GUI, check for Carbon [default=yes]],
++	, enable_carbon_check="yes")
++  AC_MSG_RESULT($enable_carbon_check);
++  if test "x$enable_carbon_check" = "xno"; then
++    SKIP_CARBON=YES
++  fi
++fi
++
++
++if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
++  AC_MSG_CHECKING(for Carbon GUI)
++  dnl already did the check, just give the message
++  AC_MSG_RESULT(yes);
++  GUITYPE=CARBONGUI
++  if test "$VIMNAME" = "vim"; then
++    VIMNAME=Vim
++  fi
++
++  dnl Default install directory is not /usr/local
++  if test x$prefix = xNONE; then
++    prefix=/Applications
++  fi
++
++  dnl Sorry for the hard coded default
++  datadir='${prefix}/Vim.app/Contents/Resources'
++
++  dnl skip everything else
++  SKIP_GTK=YES;
++  SKIP_GTK2=YES;
++  SKIP_GNOME=YES;
++  SKIP_MOTIF=YES;
++  SKIP_ATHENA=YES;
++  SKIP_NEXTAW=YES;
++  SKIP_PHOTON=YES;
++  SKIP_CARBON=YES
++fi
++
++dnl
++dnl Get the cflags and libraries from the gtk-config script
++dnl
++
++dnl define an autoconf function to check for a specified version of GTK, and
++dnl try to compile/link a GTK program.  this gets used once for GTK 1.1.16.
++dnl
++dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
++dnl Test for GTK, and define GTK_CFLAGS, GTK_LIBDIR and GTK_LIBS
++dnl
++AC_DEFUN(AM_PATH_GTK,
++[
++  if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
++  {
++    min_gtk_version=ifelse([$1], ,0.99.7,$1)
++    AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
++    no_gtk=""
++    if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
++	  && $PKG_CONFIG --exists gtk+-2.0; then
++    {
++      dnl We should be using PKG_CHECK_MODULES() instead of this hack.
++      dnl But I guess the dependency on pkgconfig.m4 is not wanted or
++      dnl something like that.
++      GTK_CFLAGS=`$PKG_CONFIG --cflags gtk+-2.0`
++      GTK_LIBDIR=`$PKG_CONFIG --libs-only-L gtk+-2.0`
++      GTK_LIBS=`$PKG_CONFIG --libs gtk+-2.0`
++      gtk_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
++      gtk_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
++      gtk_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
++    }
++    elif test "X$GTK_CONFIG" != "Xno"; then
++    {
++      GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags`
++      GTK_LIBDIR=
++      GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs`
++      gtk_major_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'`
++      gtk_minor_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'`
++      gtk_micro_version=`$GTK_CONFIG $gtk_config_args --version | \
++	     sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'`
++    }
++    else
++      no_gtk=yes
++    fi
++
++    if test "x$enable_gtktest" = "xyes" -a "x$no_gtk" = "x"; then
++    {
++      ac_save_CFLAGS="$CFLAGS"
++      ac_save_LIBS="$LIBS"
++      CFLAGS="$CFLAGS $GTK_CFLAGS"
++      LIBS="$LIBS $GTK_LIBS"
++
++      dnl
++      dnl Now check if the installed GTK is sufficiently new. (Also sanity
++      dnl checks the results of gtk-config to some extent
++      dnl
++      rm -f conf.gtktest
++      AC_TRY_RUN([
++#include <gtk/gtk.h>
++#include <stdio.h>
++
++int
++main ()
++{
++int major, minor, micro;
++char *tmp_version;
++
++system ("touch conf.gtktest");
++
++/* HP/UX 9 (%@#!) writes to sscanf strings */
++tmp_version = g_strdup("$min_gtk_version");
++if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
++   printf("%s, bad version string\n", "$min_gtk_version");
++   exit(1);
++ }
++
++if ((gtk_major_version > major) ||
++    ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
++    ((gtk_major_version == major) && (gtk_minor_version == minor) &&
++				     (gtk_micro_version >= micro)))
++{
++    return 0;
++}
++return 1;
++}
++],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
++      CFLAGS="$ac_save_CFLAGS"
++      LIBS="$ac_save_LIBS"
++    }
++    fi
++    if test "x$no_gtk" = x ; then
++      if test "x$enable_gtktest" = "xyes"; then
++	AC_MSG_RESULT(yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
++      else
++	AC_MSG_RESULT(found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version)
++      fi
++      ifelse([$2], , :, [$2])
++    else
++    {
++      AC_MSG_RESULT(no)
++      GTK_CFLAGS=""
++      GTK_LIBS=""
++      ifelse([$3], , :, [$3])
++    }
++    fi
++  }
++  else
++    GTK_CFLAGS=""
++    GTK_LIBS=""
++    ifelse([$3], , :, [$3])
++  fi
++  AC_SUBST(GTK_CFLAGS)
++  AC_SUBST(GTK_LIBS)
++  rm -f conf.gtktest
++])
++
++dnl ---------------------------------------------------------------------------
++dnl gnome
++dnl ---------------------------------------------------------------------------
++AC_DEFUN([GNOME_INIT_HOOK],
++[
++  AC_SUBST(GNOME_LIBS)
++  AC_SUBST(GNOME_LIBDIR)
++  AC_SUBST(GNOME_INCLUDEDIR)
++
++  AC_ARG_WITH(gnome-includes,
++    [  --with-gnome-includes=DIR Specify location of GNOME headers],
++    [CFLAGS="$CFLAGS -I$withval"]
++  )
++
++  AC_ARG_WITH(gnome-libs,
++    [  --with-gnome-libs=DIR   Specify location of GNOME libs],
++    [LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval]
++  )
++
++  AC_ARG_WITH(gnome,
++    [  --with-gnome            Specify prefix for GNOME files],
++    if test x$withval = xyes; then
++      want_gnome=yes
++      ifelse([$1], [], :, [$1])
++    else
++      if test "x$withval" = xno; then
++	want_gnome=no
++      else
++	want_gnome=yes
++	LDFLAGS="$LDFLAGS -L$withval/lib"
++	CFLAGS="$CFLAGS -I$withval/include"
++	gnome_prefix=$withval/lib
++      fi
++    fi,
++    want_gnome=yes)
++
++  if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
++  {
++    AC_MSG_CHECKING(for libgnomeui-2.0)
++    if $PKG_CONFIG --exists libgnomeui-2.0; then
++      AC_MSG_RESULT(yes)
++      GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
++      GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
++      GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
++
++      dnl On FreeBSD we need -pthread but pkg-config doesn't include it.
++      dnl This might not be the right way but it works for me...
++      AC_MSG_CHECKING(for FreeBSD)
++      if test "`(uname) 2>/dev/null`" = FreeBSD; then
++	AC_MSG_RESULT(yes, adding -pthread)
++	GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
++	GNOME_LIBS="$GNOME_LIBS -pthread"
++      else
++	AC_MSG_RESULT(no)
++      fi
++      $1
++    else
++      AC_MSG_RESULT(not found)
++      if test "x$2" = xfail; then
++	AC_MSG_ERROR(Could not find libgnomeui-2.0 via pkg-config)
++      fi
++    fi
++  }
++  elif test "x$want_gnome" = xyes; then
++  {
++    AC_PATH_PROG(GNOME_CONFIG,gnome-config,no)
++    if test "$GNOME_CONFIG" = "no"; then
++      no_gnome_config="yes"
++    else
++      AC_MSG_CHECKING(if $GNOME_CONFIG works)
++      if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
++	AC_MSG_RESULT(yes)
++	GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
++	GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
++	GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
++	$1
++      else
++	AC_MSG_RESULT(no)
++	no_gnome_config="yes"
++      fi
++    fi
++
++    if test x$exec_prefix = xNONE; then
++      if test x$prefix = xNONE; then
++	gnome_prefix=$ac_default_prefix/lib
++      else
++	gnome_prefix=$prefix/lib
++      fi
++    else
++      gnome_prefix=`eval echo \`echo $libdir\``
++    fi
++
++    if test "$no_gnome_config" = "yes"; then
++      AC_MSG_CHECKING(for gnomeConf.sh file in $gnome_prefix)
++      if test -f $gnome_prefix/gnomeConf.sh; then
++	AC_MSG_RESULT(found)
++	echo "loading gnome configuration from" \
++	  "$gnome_prefix/gnomeConf.sh"
++	. $gnome_prefix/gnomeConf.sh
++	$1
++      else
++	AC_MSG_RESULT(not found)
++	if test x$2 = xfail; then
++	  AC_MSG_ERROR(Could not find the gnomeConf.sh file that is generated by gnome-libs install)
++	fi
++      fi
++    fi
++  }
++  fi
++])
++
++AC_DEFUN([GNOME_INIT],[
++	GNOME_INIT_HOOK([],fail)
++])
++
++
++dnl ---------------------------------------------------------------------------
++dnl Check for GTK.  First checks for gtk-config, cause it needs that to get the
++dnl correct compiler flags.  Then checks for GTK 1.1.16.  If that fails, then
++dnl it checks for 1.0.6.  If both fail, then continue on for Motif as before...
++dnl ---------------------------------------------------------------------------
++if test -z "$SKIP_GTK"; then
++
++  AC_MSG_CHECKING(--with-gtk-prefix argument)
++  AC_ARG_WITH(gtk-prefix,[  --with-gtk-prefix=PFX   Prefix where GTK is installed (optional)],
++	gtk_config_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
++	gtk_config_prefix=""; AC_MSG_RESULT(no))
++
++  AC_MSG_CHECKING(--with-gtk-exec-prefix argument)
++  AC_ARG_WITH(gtk-exec-prefix,[  --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
++	gtk_config_exec_prefix="$withval"; AC_MSG_RESULT($gtk_config_prefix),
++	gtk_config_exec_prefix=""; AC_MSG_RESULT(no))
++
++  AC_MSG_CHECKING(--disable-gtktest argument)
++  AC_ARG_ENABLE(gtktest, [  --disable-gtktest       Do not try to compile and run a test GTK program],
++	, enable_gtktest=yes)
++  if test "x$enable_gtktest" = "xyes" ; then
++    AC_MSG_RESULT(gtk test enabled)
++  else
++    AC_MSG_RESULT(gtk test disabled)
++  fi
++
++  if test "x$gtk_config_prefix" != "x" ; then
++    gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
++    GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
++  fi
++  if test "x$gtk_config_exec_prefix" != "x" ; then
++    gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
++    GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
++  fi
++  if test "X$GTK_CONFIG" = "X"; then
++    AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
++    if test "X$GTK_CONFIG" = "Xno"; then
++      dnl Some distributions call it gtk12-config, annoying!
++      AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no)
++      GTK_CONFIG="$GTK12_CONFIG"
++    fi
++  else
++    AC_MSG_RESULT(Using GTK configuration program $GTK_CONFIG)
++  fi
++  if test "X$PKG_CONFIG" = "X"; then
++    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++  fi
++
++  if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
++    dnl First try finding version 2.2.0 or later.  The 2.0.x series has
++    dnl problems (bold fonts, --remote doesn't work).
++    if test "X$SKIP_GTK2" != "XYES"; then
++      AM_PATH_GTK(2.2.0,
++		  [GUI_LIB_LOC="$GTK_LIBDIR"
++		   GTK_LIBNAME="$GTK_LIBS"
++		  GUI_INC_LOC="$GTK_CFLAGS"], )
++      if test "x$GTK_CFLAGS" != "x"; then
++	SKIP_ATHENA=YES
++	SKIP_NEXTAW=YES
++	SKIP_MOTIF=YES
++	GUITYPE=GTK
++	AC_SUBST(GTK_LIBNAME)
++      fi
++    fi
++
++    dnl If there is no 2.2.0 or later try the 1.x.x series.  We require at
++    dnl least GTK 1.1.16.  1.0.6 doesn't work.  1.1.1 to 1.1.15
++    dnl were test versions.
++    if test "x$GUITYPE" != "xGTK"; then
++      SKIP_GTK2=YES
++      AM_PATH_GTK(1.1.16,
++		  [GTK_LIBNAME="$GTK_LIBS"
++		  GUI_INC_LOC="$GTK_CFLAGS"], )
++      if test "x$GTK_CFLAGS" != "x"; then
++	SKIP_ATHENA=YES
++	SKIP_NEXTAW=YES
++	SKIP_MOTIF=YES
++	GUITYPE=GTK
++	AC_SUBST(GTK_LIBNAME)
++      fi
++    fi
++  fi
++  dnl Give a warning if GTK is older than 1.2.3
++  if test "x$GUITYPE" = "xGTK"; then
++    if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
++	 -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
++      AC_MSG_RESULT(this GTK version is old; version 1.2.3 or later is recommended)
++    else
++    {
++      if test "0$gtk_major_version" -ge 2; then
++	AC_DEFINE(HAVE_GTK2)
++	if test "$gtk_minor_version" = 1 -a "0$gtk_micro_version" -ge 1 \
++		|| test "0$gtk_minor_version" -ge 2 \
++		|| test "0$gtk_major_version" -gt 2; then
++	  AC_DEFINE(HAVE_GTK_MULTIHEAD)
++	fi
++      fi
++      dnl
++      dnl if GTK exists, and it's not the 1.0.x series, then check for GNOME.
++      dnl
++      if test -z "$SKIP_GNOME"; then
++      {
++	GNOME_INIT_HOOK([have_gnome=yes])
++	if test x$have_gnome = xyes ; then
++	  AC_DEFINE(FEAT_GUI_GNOME)
++	  GUI_INC_LOC="$GUI_INC_LOC $GNOME_INCLUDEDIR"
++	  GTK_LIBNAME="$GTK_LIBNAME $GNOME_LIBDIR $GNOME_LIBS"
++	fi
++      }
++      fi
++    }
++    fi
++  fi
++fi
++
++dnl Check for Motif include files location.
++dnl The LAST one found is used, this makes the highest version to be used,
++dnl e.g. when Motif1.2 and Motif2.0 are both present.
++
++if test -z "$SKIP_MOTIF"; then
++  gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
++  dnl Remove "-I" from before $GUI_INC_LOC if it's there
++  GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
++
++  AC_MSG_CHECKING(for location of Motif GUI includes)
++  gui_includes="`echo $x_includes|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
++  GUI_INC_LOC=
++  for try in $gui_includes; do
++    if test -f "$try/Xm/Xm.h"; then
++      GUI_INC_LOC=$try
++    fi
++  done
++  if test -n "$GUI_INC_LOC"; then
++    if test "$GUI_INC_LOC" = /usr/include; then
++      GUI_INC_LOC=
++      AC_MSG_RESULT(in default path)
++    else
++      AC_MSG_RESULT($GUI_INC_LOC)
++    fi
++  else
++    AC_MSG_RESULT(<not found>)
++    SKIP_MOTIF=YES
++  fi
++fi
++
++dnl Check for Motif library files location.  In the same order as the include
++dnl files, to avoid a mixup if several versions are present
++
++if test -z "$SKIP_MOTIF"; then
++  AC_MSG_CHECKING(--with-motif-lib argument)
++  AC_ARG_WITH(motif-lib,
++  [  --with-motif-lib=STRING   Library for Motif ],
++  [ MOTIF_LIBNAME="${withval}" ] )
++
++  if test -n "$MOTIF_LIBNAME"; then
++    AC_MSG_RESULT($MOTIF_LIBNAME)
++    GUI_LIB_LOC=
++  else
++    AC_MSG_RESULT(no)
++
++    dnl Remove "-L" from before $GUI_LIB_LOC if it's there
++    GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
++
++    AC_MSG_CHECKING(for location of Motif GUI libs)
++    gui_libs="`echo $x_libraries|sed 's%/[^/][^/]*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC"
++    GUI_LIB_LOC=
++    for try in $gui_libs; do
++      for libtry in "$try"/libXm.a "$try"/libXm.so* "$try"/libXm.sl "$try"/libXm.dylib; do
++	if test -f "$libtry"; then
++	  GUI_LIB_LOC=$try
++	fi
++      done
++    done
++    if test -n "$GUI_LIB_LOC"; then
++      dnl Remove /usr/lib, it causes trouble on some systems
++      if test "$GUI_LIB_LOC" = /usr/lib; then
++	GUI_LIB_LOC=
++	AC_MSG_RESULT(in default path)
++      else
++	if test -n "$GUI_LIB_LOC"; then
++	  AC_MSG_RESULT($GUI_LIB_LOC)
++	  if test "`(uname) 2>/dev/null`" = SunOS &&
++					 uname -r | grep '^5' >/dev/null; then
++	    GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
++	  fi
++	fi
++      fi
++      MOTIF_LIBNAME=-lXm
++    else
++      AC_MSG_RESULT(<not found>)
++      SKIP_MOTIF=YES
++    fi
++  fi
++fi
++
++if test -z "$SKIP_MOTIF"; then
++  SKIP_ATHENA=YES
++  SKIP_NEXTAW=YES
++  GUITYPE=MOTIF
++  AC_SUBST(MOTIF_LIBNAME)
++fi
++
++dnl Check if the Athena files can be found
++
++GUI_X_LIBS=
++
++if test -z "$SKIP_ATHENA"; then
++  AC_MSG_CHECKING(if Athena header files can be found)
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  AC_TRY_COMPILE([
++#include <X11/Intrinsic.h>
++#include <X11/Xaw/Paned.h>], ,
++	AC_MSG_RESULT(yes),
++	AC_MSG_RESULT(no); SKIP_ATHENA=YES )
++  CFLAGS=$cflags_save
++fi
++
++if test -z "$SKIP_ATHENA"; then
++  GUITYPE=ATHENA
++fi
++
++if test -z "$SKIP_NEXTAW"; then
++  AC_MSG_CHECKING(if neXtaw header files can be found)
++  cflags_save=$CFLAGS
++  CFLAGS="$CFLAGS $X_CFLAGS"
++  AC_TRY_COMPILE([
++#include <X11/Intrinsic.h>
++#include <X11/neXtaw/Paned.h>], ,
++	AC_MSG_RESULT(yes),
++	AC_MSG_RESULT(no); SKIP_NEXTAW=YES )
++  CFLAGS=$cflags_save
++fi
++
++if test -z "$SKIP_NEXTAW"; then
++  GUITYPE=NEXTAW
++fi
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
++  dnl Prepend -I and -L to $GUI_INC_LOC and $GUI_LIB_LOC if not empty
++  dnl Avoid adding it when it twice
++  if test -n "$GUI_INC_LOC"; then
++    GUI_INC_LOC=-I"`echo $GUI_INC_LOC|sed 's%-I%%'`"
++  fi
++  if test -n "$GUI_LIB_LOC"; then
++    GUI_LIB_LOC=-L"`echo $GUI_LIB_LOC|sed 's%-L%%'`"
++  fi
++
++  dnl Check for -lXext and then for -lXmu
++  ldflags_save=$LDFLAGS
++  LDFLAGS="$X_LIBS $LDFLAGS"
++  AC_CHECK_LIB(Xext, XShapeQueryExtension, [GUI_X_LIBS="-lXext"],,
++		[-lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
++  dnl For Solaris we need -lw and -ldl before linking with -lXmu works.
++  AC_CHECK_LIB(w, wslen, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"],,
++		[$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
++  AC_CHECK_LIB(dl, dlsym, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"],,
++		[$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
++  AC_CHECK_LIB(Xmu, XmuCreateStippledPixmap, [GUI_X_LIBS="-lXmu $GUI_X_LIBS"],,
++		[$GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
++  if test -z "$SKIP_MOTIF"; then
++    AC_CHECK_LIB(Xp, XpEndJob, [GUI_X_LIBS="-lXp $GUI_X_LIBS"],,
++		[$GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS])
++  fi
++  LDFLAGS=$ldflags_save
++
++  dnl Execute xmkmf to figure out if -DNARROWPROTO is needed.
++  AC_MSG_CHECKING(for extra X11 defines)
++  NARROW_PROTO=
++  rm -fr conftestdir
++  if mkdir conftestdir; then
++    cd conftestdir
++    cat > Imakefile <<'EOF'
++acfindx:
++	@echo 'NARROW_PROTO="${PROTO_DEFINES}"'
++EOF
++    if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
++      eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
++    fi
++    cd ..
++    rm -fr conftestdir
++  fi
++  if test -z "$NARROW_PROTO"; then
++    AC_MSG_RESULT(no)
++  else
++    AC_MSG_RESULT($NARROW_PROTO)
++  fi
++  AC_SUBST(NARROW_PROTO)
++fi
++
++dnl Look for XSMP support - but don't necessarily restrict it to X11 GUIs
++dnl use the X11 include path
++if test "$enable_xsmp" = "yes"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++  AC_CHECK_HEADERS(X11/SM/SMlib.h)
++  CPPFLAGS=$cppflags_save
++fi
++
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_GTK"; then
++  dnl Check for X11/xpm.h and X11/Sunkeysym.h with the GUI include path
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++  AC_CHECK_HEADERS(X11/xpm.h X11/Sunkeysym.h)
++
++  dnl automatically disable XIM when XIMtext isn't in X11/Xlib.h
++  if test ! "$enable_xim" = "no"; then
++    AC_MSG_CHECKING(for XIMText in X11/Xlib.h)
++    AC_EGREP_CPP(XIMText, [#include <X11/Xlib.h>],
++		  AC_MSG_RESULT(yes),
++		  AC_MSG_RESULT(no; xim has been disabled); enable_xim = "no")
++  fi
++  CPPFLAGS=$cppflags_save
++
++  dnl automatically enable XIM when hangul input isn't enabled
++  if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
++		-a "x$GUITYPE" != "xNONE" ; then
++    AC_MSG_RESULT(X GUI selected; xim has been enabled)
++    enable_xim="yes"
++  fi
++fi
++
++if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++dnl Xmu/Editres.h may exist but can only be used after including Intrinsic.h
++  AC_MSG_CHECKING([for X11/Xmu/Editres.h])
++  AC_TRY_COMPILE([
++#include <X11/Intrinsic.h>
++#include <X11/Xmu/Editres.h>],
++		      [int i; i = 0;],
++	      AC_MSG_RESULT(yes)
++		      AC_DEFINE(HAVE_X11_XMU_EDITRES_H),
++	      AC_MSG_RESULT(no))
++  CPPFLAGS=$cppflags_save
++fi
++
++dnl Only use the Xm directory when compiling Motif, don't use it for Athena
++if test -z "$SKIP_MOTIF"; then
++  cppflags_save=$CPPFLAGS
++  CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++  AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
++		   Xm/UnhighlightT.h Xm/Notebook.h)
++
++  if test $ac_cv_header_Xm_XpmP_h = yes; then
++    dnl Solaris uses XpmAttributes_21, very annoying.
++    AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
++    AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
++	AC_MSG_RESULT(yes); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21),
++	AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
++	)
++  else
++    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
++  fi
++  CPPFLAGS=$cppflags_save
++fi
++
++if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
++  AC_MSG_RESULT(no GUI selected; xim has been disabled)
++  enable_xim="no"
++fi
++if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
++  AC_MSG_RESULT(no GUI selected; fontset has been disabled)
++  enable_fontset="no"
++fi
++if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
++  AC_MSG_RESULT(GTK+ 2 GUI selected; fontset has been disabled)
++  enable_fontset="no"
++fi
++
++if test -z "$SKIP_PHOTON"; then
++  GUITYPE=PHOTONGUI
++fi
++
++AC_SUBST(GUI_INC_LOC)
++AC_SUBST(GUI_LIB_LOC)
++AC_SUBST(GUITYPE)
++AC_SUBST(GUI_X_LIBS)
++
++if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
++  AC_MSG_ERROR([cannot use workshop without Motif])
++fi
++
++dnl defining FEAT_XIM and FEAT_XFONTSET is delayed, so that they can be disabled
++if test "$enable_xim" = "yes"; then
++  AC_DEFINE(FEAT_XIM)
++fi
++if test "$enable_fontset" = "yes"; then
++  AC_DEFINE(FEAT_XFONTSET)
++fi
++
++
++dnl ---------------------------------------------------------------------------
++dnl end of GUI-checking
++dnl ---------------------------------------------------------------------------
++
++
++dnl Only really enable hangul input when GUI and XFONTSET are available
++if test "$enable_hangulinput" = "yes"; then
++  if test "x$GUITYPE" = "xNONE"; then
++    AC_MSG_RESULT(no GUI selected; hangul input has been disabled)
++    enable_hangulinput=no
++  else
++    AC_DEFINE(FEAT_HANGULIN)
++    HANGULIN_SRC=hangulin.c
++    AC_SUBST(HANGULIN_SRC)
++    HANGULIN_OBJ=objects/hangulin.o
++    AC_SUBST(HANGULIN_OBJ)
++  fi
++fi
++
++dnl Checks for libraries and include files.
++
++AC_MSG_CHECKING(quality of toupper)
++AC_TRY_RUN([#include <ctype.h>
++main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }],
++	AC_DEFINE(BROKEN_TOUPPER) AC_MSG_RESULT(bad),
++	AC_MSG_RESULT(good), AC_MSG_ERROR(failed to compile test program))
++
++AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
++AC_TRY_COMPILE(, [printf("(" __DATE__ " " __TIME__ ")");],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
++	AC_MSG_RESULT(no))
++
++dnl Checks for header files.
++AC_CHECK_HEADER(elf.h, HAS_ELF=1)
++dnl AC_CHECK_HEADER(dwarf.h, SVR4=1)
++if test "$HAS_ELF" = 1; then
++  AC_CHECK_LIB(elf, main)
++fi
++
++AC_HEADER_DIRENT
++
++dnl check for standard headers, we don't use this in Vim but other stuff
++dnl in autoconf needs it
++AC_HEADER_STDC
++AC_HEADER_SYS_WAIT
++
++dnl If sys/wait.h is not found it might still exist but not be POSIX
++dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT)
++if test $ac_cv_header_sys_wait_h = no; then
++  AC_MSG_CHECKING([for sys/wait.h that defines union wait])
++  AC_TRY_COMPILE([#include <sys/wait.h>],
++			[union wait xx, yy; xx = yy],
++		AC_MSG_RESULT(yes)
++			AC_DEFINE(HAVE_SYS_WAIT_H)
++			AC_DEFINE(HAVE_UNION_WAIT),
++		AC_MSG_RESULT(no))
++fi
++
++AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
++	termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \
++	iconv.h langinfo.h unistd.h stropts.h errno.h \
++	sys/resource.h sys/systeminfo.h locale.h \
++	sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
++	poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
++	libgen.h util/debug.h util/msg18n.h frame.h \
++	sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h)
++
++dnl pthread_np.h may exist but can only be used after including pthread.h
++AC_MSG_CHECKING([for pthread_np.h])
++AC_TRY_COMPILE([
++#include <pthread.h>
++#include <pthread_np.h>],
++		      [int i; i = 0;],
++	      AC_MSG_RESULT(yes)
++		      AC_DEFINE(HAVE_PTHREAD_NP_H),
++	      AC_MSG_RESULT(no))
++
++AC_CHECK_HEADERS(strings.h)
++if test "x$MACOSX" = "xyes"; then
++  dnl The strings.h file on OS/X contains a warning and nothing useful.
++  AC_DEFINE(NO_STRINGS_WITH_STRING_H)
++else
++
++dnl Check if strings.h and string.h can both be included when defined.
++AC_MSG_CHECKING([if strings.h can be included after string.h])
++cppflags_save=$CPPFLAGS
++CPPFLAGS="$CPPFLAGS $X_CFLAGS"
++AC_TRY_COMPILE([
++#if defined(_AIX) && !defined(_AIX51) && !defined(_NO_PROTO)
++# define _NO_PROTO	/* like in os_unix.h, causes conflict for AIX (Winn) */
++			/* but don't do it on AIX 5.1 (Uribarri) */
++#endif
++#ifdef HAVE_XM_XM_H
++# include <Xm/Xm.h>	/* This breaks it for HP-UX 11 (Squassabia) */
++#endif
++#ifdef HAVE_STRING_H
++# include <string.h>
++#endif
++#if defined(HAVE_STRINGS_H)
++# include <strings.h>
++#endif
++		], [int i; i = 0;],
++		AC_MSG_RESULT(yes),
++		AC_DEFINE(NO_STRINGS_WITH_STRING_H)
++		AC_MSG_RESULT(no))
++CPPFLAGS=$cppflags_save
++fi
++
++dnl Checks for typedefs, structures, and compiler characteristics.
++AC_PROG_GCC_TRADITIONAL
++AC_C_CONST
++AC_TYPE_MODE_T
++AC_TYPE_OFF_T
++AC_TYPE_PID_T
++AC_TYPE_SIZE_T
++AC_TYPE_UID_T
++AC_HEADER_TIME
++AC_CHECK_TYPE(ino_t, long)
++AC_CHECK_TYPE(dev_t, unsigned)
++
++AC_MSG_CHECKING(for rlim_t)
++if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
++  AC_MSG_RESULT([(cached) $ac_cv_type_rlim_t])
++else
++  AC_EGREP_CPP(dnl
++changequote(<<,>>)dnl
++<<(^|[^a-zA-Z_0-9])rlim_t[^a-zA-Z_0-9]>>dnl
++changequote([,]),
++  [
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#ifdef HAVE_SYS_RESOURCE_H
++#include <sys/resource.h>
++#endif
++	  ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no)
++	  AC_MSG_RESULT($ac_cv_type_rlim_t)
++fi
++if test $ac_cv_type_rlim_t = no; then
++  cat >> confdefs.h <<\EOF
++#define rlim_t unsigned long
++EOF
++fi
++
++AC_MSG_CHECKING(for stack_t)
++if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
++  AC_MSG_RESULT([(cached) $ac_cv_type_stack_t])
++else
++  AC_EGREP_CPP(stack_t,
++  [
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#include <signal.h>
++	  ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no)
++	  AC_MSG_RESULT($ac_cv_type_stack_t)
++fi
++if test $ac_cv_type_stack_t = no; then
++  cat >> confdefs.h <<\EOF
++#define stack_t struct sigaltstack
++EOF
++fi
++
++dnl BSDI uses ss_base while others use ss_sp for the stack pointer.
++AC_MSG_CHECKING(whether stack_t has an ss_base field)
++AC_TRY_COMPILE([
++#include <sys/types.h>
++#if STDC_HEADERS
++#include <stdlib.h>
++#include <stddef.h>
++#endif
++#include <signal.h>
++#include "confdefs.h"
++			], [stack_t sigstk; sigstk.ss_base = 0; ],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SS_BASE),
++	AC_MSG_RESULT(no))
++
++olibs="$LIBS"
++AC_MSG_CHECKING(--with-tlib argument)
++AC_ARG_WITH(tlib, [  --with-tlib=library     terminal library to be used ],)
++if test -n "$with_tlib"; then
++  AC_MSG_RESULT($with_tlib)
++  LIBS="$LIBS -l$with_tlib"
++  AC_MSG_CHECKING(for linking with $with_tlib library)
++  AC_TRY_LINK([], [], AC_MSG_RESULT(OK), AC_MSG_ERROR(FAILED))
++  dnl Need to check for tgetent() below.
++  olibs="$LIBS"
++else
++  AC_MSG_RESULT([empty: automatic terminal library selection])
++  dnl  On HP-UX 10.10 termcap or termlib should be used instead of
++  dnl  curses, because curses is much slower.
++  dnl  Newer versions of ncurses are preferred over anything.
++  dnl  Older versions of ncurses have bugs, get a new one!
++  dnl  Digital Unix (OSF1) should use curses (Ronald Schild).
++  dnl  On SCO Openserver should prefer termlib (Roger Cornelius).
++  case "`uname -s 2>/dev/null`" in
++	OSF1|SCO_SV)	tlibs="ncurses curses termlib termcap";;
++	*)	tlibs="ncurses termlib termcap curses";;
++  esac
++  for libname in $tlibs; do
++    AC_CHECK_LIB(${libname}, tgetent,,)
++    if test "x$olibs" != "x$LIBS"; then
++      dnl It's possible that a library is found but it doesn't work
++      dnl e.g., shared library that cannot be found
++      dnl compile and run a test program to be sure
++      AC_TRY_RUN([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }],
++			  res="OK", res="FAIL", res="FAIL")
++      if test "$res" = "OK"; then
++	break
++      fi
++      AC_MSG_RESULT($libname library is not usable)
++      LIBS="$olibs"
++    fi
++  done
++  if test "x$olibs" = "x$LIBS"; then
++    AC_MSG_RESULT(no terminal library found)
++  fi
++fi
++
++if test "x$olibs" = "x$LIBS"; then
++  AC_MSG_CHECKING([for tgetent()])
++  AC_TRY_LINK([],
++      [char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");],
++	AC_MSG_RESULT(yes),
++	AC_MSG_ERROR([NOT FOUND!
++      You need to install a terminal library; for example ncurses.
++      Or specify the name of the library with --with-tlib.]))
++fi
++
++AC_MSG_CHECKING(whether we talk terminfo)
++AC_TRY_RUN([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main()
++{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }],
++	  AC_MSG_RESULT([no -- we are in termcap land]),
++	  AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(TERMINFO),
++	  AC_MSG_ERROR(failed to compile test program.))
++
++if test "x$olibs" != "x$LIBS"; then
++  AC_MSG_CHECKING(what tgetent() returns for an unknown terminal)
++  AC_TRY_RUN([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++main()
++{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }],
++	  AC_MSG_RESULT(zero); AC_DEFINE(TGETENT_ZERO_ERR, 0),
++	  AC_MSG_RESULT(non-zero),
++	  AC_MSG_ERROR(failed to compile test program.))
++fi
++
++AC_MSG_CHECKING(whether termcap.h contains ospeed)
++AC_TRY_LINK([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++			], [ospeed = 20000],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OSPEED),
++	[AC_MSG_RESULT(no)
++	AC_MSG_CHECKING(whether ospeed can be extern)
++	AC_TRY_LINK([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++extern short ospeed;
++			], [ospeed = 20000],
++		AC_MSG_RESULT(yes); AC_DEFINE(OSPEED_EXTERN),
++		AC_MSG_RESULT(no))]
++	)
++
++AC_MSG_CHECKING([whether termcap.h contains UP, BC and PC])
++AC_TRY_LINK([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++			], [if (UP == 0 && BC == 0) PC = 1],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_UP_BC_PC),
++	[AC_MSG_RESULT(no)
++	AC_MSG_CHECKING([whether UP, BC and PC can be extern])
++	AC_TRY_LINK([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++extern char *UP, *BC, PC;
++			], [if (UP == 0 && BC == 0) PC = 1],
++		AC_MSG_RESULT(yes); AC_DEFINE(UP_BC_PC_EXTERN),
++		AC_MSG_RESULT(no))]
++	)
++
++AC_MSG_CHECKING(whether tputs() uses outfuntype)
++AC_TRY_COMPILE([
++#ifdef HAVE_TERMCAP_H
++# include <termcap.h>
++#endif
++			], [extern int xx(); tputs("test", 1, (outfuntype)xx)],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_OUTFUNTYPE),
++	AC_MSG_RESULT(no))
++
++dnl On some SCO machines sys/select redefines struct timeval
++AC_MSG_CHECKING([whether sys/select.h and sys/time.h may both be included])
++AC_TRY_COMPILE([
++#include <sys/types.h>
++#include <sys/time.h>
++#include <sys/select.h>], ,
++	  AC_MSG_RESULT(yes)
++			AC_DEFINE(SYS_SELECT_WITH_SYS_TIME),
++	  AC_MSG_RESULT(no))
++
++dnl AC_DECL_SYS_SIGLIST
++
++dnl Checks for pty.c (copied from screen) ==========================
++AC_MSG_CHECKING(for /dev/ptc)
++if test -r /dev/ptc; then
++  AC_DEFINE(HAVE_DEV_PTC)
++  AC_MSG_RESULT(yes)
++else
++  AC_MSG_RESULT(no)
++fi
++
++AC_MSG_CHECKING(for SVR4 ptys)
++if test -c /dev/ptmx ; then
++  AC_TRY_LINK([], [ptsname(0);grantpt(0);unlockpt(0);],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SVR4_PTYS),
++	AC_MSG_RESULT(no))
++else
++  AC_MSG_RESULT(no)
++fi
++
++AC_MSG_CHECKING(for ptyranges)
++if test -d /dev/ptym ; then
++  pdir='/dev/ptym'
++else
++  pdir='/dev'
++fi
++dnl SCO uses ptyp%d
++AC_EGREP_CPP(yes,
++[#ifdef M_UNIX
++   yes;
++#endif
++	], ptys=`echo /dev/ptyp??`, ptys=`echo $pdir/pty??`)
++dnl if test -c /dev/ptyp19; then
++dnl ptys=`echo /dev/ptyp??`
++dnl else
++dnl ptys=`echo $pdir/pty??`
++dnl fi
++if test "$ptys" != "$pdir/pty??" ; then
++  p0=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\).$/\1/g' | sort -u | tr -d '\012'`
++  p1=`echo $ptys | tr ' ' '\012' | sed -e 's/^.*\(.\)$/\1/g'  | sort -u | tr -d '\012'`
++  AC_DEFINE_UNQUOTED(PTYRANGE0,"$p0")
++  AC_DEFINE_UNQUOTED(PTYRANGE1,"$p1")
++  AC_MSG_RESULT([$p0 / $p1])
++else
++  AC_MSG_RESULT([don't know])
++fi
++
++dnl    ****  pty mode/group handling ****
++dnl
++dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
++AC_MSG_CHECKING(default tty permissions/group)
++rm -f conftest_grp
++AC_TRY_RUN([
++#include <sys/types.h>
++#include <sys/stat.h>
++#include <stdio.h>
++main()
++{
++  struct stat sb;
++  char *x,*ttyname();
++  int om, m;
++  FILE *fp;
++
++  if (!(x = ttyname(0))) exit(1);
++  if (stat(x, &sb)) exit(1);
++  om = sb.st_mode;
++  if (om & 002) exit(0);
++  m = system("mesg y");
++  if (m == -1 || m == 127) exit(1);
++  if (stat(x, &sb)) exit(1);
++  m = sb.st_mode;
++  if (chmod(x, om)) exit(1);
++  if (m & 002) exit(0);
++  if (sb.st_gid == getgid()) exit(1);
++  if (!(fp=fopen("conftest_grp", "w")))
++    exit(1);
++  fprintf(fp, "%d\n", sb.st_gid);
++  fclose(fp);
++  exit(0);
++}
++],[
++    if test -f conftest_grp; then
++	ptygrp=`cat conftest_grp`
++	AC_MSG_RESULT([pty mode: 0620, group: $ptygrp])
++	AC_DEFINE(PTYMODE, 0620)
++	AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
++    else
++	AC_MSG_RESULT([ptys are world accessable])
++    fi
++],
++    AC_MSG_RESULT([can't determine - assume ptys are world accessable]),
++    AC_MSG_ERROR(failed to compile test program))
++rm -f conftest_grp
++
++dnl Checks for library functions. ===================================
++
++AC_TYPE_SIGNAL
++
++dnl find out what to use at the end of a signal function
++if test $ac_cv_type_signal = void; then
++  AC_DEFINE(SIGRETURN, [return])
++else
++  AC_DEFINE(SIGRETURN, [return 0])
++fi
++
++dnl check if struct sigcontext is defined (used for SGI only)
++AC_MSG_CHECKING(for struct sigcontext)
++AC_TRY_COMPILE([
++#include <signal.h>
++test_sig()
++{
++    struct sigcontext *scont;
++    scont = (struct sigcontext *)0;
++    return 1;
++} ], ,
++	  AC_MSG_RESULT(yes)
++		AC_DEFINE(HAVE_SIGCONTEXT),
++	  AC_MSG_RESULT(no))
++
++dnl tricky stuff: try to find out if getcwd() is implemented with
++dnl system("sh -c pwd")
++AC_MSG_CHECKING(getcwd implementation)
++AC_TRY_RUN([
++char *dagger[] = { "IFS=pwd", 0 };
++main()
++{
++  char buffer[500];
++  extern char **environ;
++  environ = dagger;
++  return getcwd(buffer, 500) ? 0 : 1;
++}],
++	AC_MSG_RESULT(it is usable),
++	AC_MSG_RESULT(it stinks)
++		AC_DEFINE(BAD_GETCWD),
++	AC_MSG_ERROR(failed to compile test program))
++
++dnl Check for functions in one big call, to reduce the size of configure
++AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
++	getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \
++	memset nanosleep opendir putenv qsort readlink select setenv \
++	setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
++	sigvec strcasecmp strerror strftime stricmp strncasecmp \
++	strnicmp strpbrk strtol tgetent towlower towupper iswupper \
++	usleep utime utimes)
++
++dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
++AC_MSG_CHECKING(for st_blksize)
++AC_TRY_COMPILE(
++[#include <sys/types.h>
++#include <sys/stat.h>],
++[	struct stat st;
++	int n;
++
++	stat("/", &st);
++	n = (int)st.st_blksize;],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
++	AC_MSG_RESULT(no))
++
++AC_MSG_CHECKING(whether stat() ignores a trailing slash)
++AC_TRY_RUN(
++[#include <sys/types.h>
++#include <sys/stat.h>
++main() {struct stat st;  exit(stat("configure/", &st) != 0); }],
++	AC_MSG_RESULT(yes); AC_DEFINE(STAT_IGNORES_SLASH),
++	AC_MSG_RESULT(no), AC_MSG_ERROR(failed to compile test program))
++
++dnl Link with iconv for charset translation, if not found without library.
++dnl check for iconv() requires including iconv.h
++dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it
++dnl has been installed.
++AC_MSG_CHECKING(for iconv_open())
++save_LIBS="$LIBS"
++LIBS="$LIBS -liconv"
++AC_TRY_LINK([
++#ifdef HAVE_ICONV_H
++# include <iconv.h>
++#endif
++    ], [iconv_open("fr", "to");],
++    AC_MSG_RESULT(yes; with -liconv); AC_DEFINE(HAVE_ICONV),
++    LIBS="$save_LIBS"
++    AC_TRY_LINK([
++#ifdef HAVE_ICONV_H
++# include <iconv.h>
++#endif
++	], [iconv_open("fr", "to");],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ICONV),
++	AC_MSG_RESULT(no)))
++
++
++AC_MSG_CHECKING(for nl_langinfo(CODESET))
++AC_TRY_LINK([
++#ifdef HAVE_LANGINFO_H
++# include <langinfo.h>
++#endif
++], [char *cs = nl_langinfo(CODESET);],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
++	AC_MSG_RESULT(no))
++
++dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
++dnl when -lacl works, also try to use -lattr (required for Debian).
++AC_MSG_CHECKING(--disable-acl argument)
++AC_ARG_ENABLE(acl,
++	[  --disable-acl           Don't check for ACL support.],
++	, [enable_acl="yes"])
++if test "$enable_acl" = "yes"; then
++AC_MSG_RESULT(no)
++AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"],
++	AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl"
++		  AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),)
++
++AC_MSG_CHECKING(for POSIX ACL support)
++AC_TRY_LINK([
++#include <sys/types.h>
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif
++acl_t acl;], [acl = acl_get_file("foo", ACL_TYPE_ACCESS);
++	acl_set_file("foo", ACL_TYPE_ACCESS, acl);
++	acl_free(acl);],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_POSIX_ACL),
++	AC_MSG_RESULT(no))
++
++AC_MSG_CHECKING(for Solaris ACL support)
++AC_TRY_LINK([
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif], [acl("foo", GETACLCNT, 0, NULL);
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SOLARIS_ACL),
++	AC_MSG_RESULT(no))
++
++AC_MSG_CHECKING(for AIX ACL support)
++AC_TRY_LINK([
++#ifdef HAVE_SYS_ACL_H
++# include <sys/acl.h>
++#endif
++#ifdef HAVE_SYS_ACCESS_H
++# include <sys/access.h>
++#endif
++#define _ALL_SOURCE
++
++#include <sys/stat.h>
++
++int aclsize;
++struct acl *aclent;], [aclsize = sizeof(struct acl);
++	aclent = (void *)malloc(aclsize);
++	statacl("foo", STX_NORMAL, aclent, aclsize);
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_AIX_ACL),
++	AC_MSG_RESULT(no))
++else
++  AC_MSG_RESULT(yes)
++fi
++
++AC_MSG_CHECKING(--disable-gpm argument)
++AC_ARG_ENABLE(gpm,
++	[  --disable-gpm           Don't use gpm (Linux mouse daemon).], ,
++	[enable_gpm="yes"])
++
++if test "$enable_gpm" = "yes"; then
++  AC_MSG_RESULT(no)
++  dnl Checking if gpm support can be compiled
++  AC_CACHE_CHECK([for gpm], vi_cv_have_gpm,
++	[olibs="$LIBS" ; LIBS="-lgpm"]
++	AC_TRY_LINK(
++	    [#include <gpm.h>
++	    #include <linux/keyboard.h>],
++	    [Gpm_GetLibVersion(NULL);],
++	    dnl Configure defines HAVE_GPM, if it is defined feature.h defines
++	    dnl FEAT_MOUSE_GPM if mouse support is included
++	    [vi_cv_have_gpm=yes],
++	    [vi_cv_have_gpm=no])
++	[LIBS="$olibs"]
++    )
++  if test $vi_cv_have_gpm = yes; then
++    LIBS="$LIBS -lgpm"
++    AC_DEFINE(HAVE_GPM)
++  fi
++else
++  AC_MSG_RESULT(yes)
++fi
++
++dnl rename needs to be checked separately to work on Nextstep with cc
++AC_MSG_CHECKING(for rename)
++AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
++	AC_MSG_RESULT(no))
++
++dnl sysctl() may exist but not the arguments we use
++AC_MSG_CHECKING(for sysctl)
++AC_TRY_COMPILE(
++[#include <sys/types.h>
++#include <sys/sysctl.h>],
++[	int mib[2], r;
++	size_t len;
++
++	mib[0] = CTL_HW;
++	mib[1] = HW_USERMEM;
++	len = sizeof(r);
++	(void)sysctl(mib, 2, &r, &len, (void *)0, (size_t)0);
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCTL),
++	AC_MSG_RESULT(not usable))
++
++dnl sysinfo() may exist but not be Linux compatible
++AC_MSG_CHECKING(for sysinfo)
++AC_TRY_COMPILE(
++[#include <sys/types.h>
++#include <sys/sysinfo.h>],
++[	struct sysinfo sinfo;
++	int t;
++
++	(void)sysinfo(&sinfo);
++	t = sinfo.totalram;
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO),
++	AC_MSG_RESULT(not usable))
++
++dnl struct sysinfo may have the mem_unit field or not
++AC_MSG_CHECKING(for sysinfo.mem_unit)
++AC_TRY_COMPILE(
++[#include <sys/types.h>
++#include <sys/sysinfo.h>],
++[	struct sysinfo sinfo;
++ 	sinfo.mem_unit = 1;
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSINFO_MEM_UNIT),
++	AC_MSG_RESULT(no))
++
++dnl sysconf() may exist but not support what we want to use
++AC_MSG_CHECKING(for sysconf)
++AC_TRY_COMPILE(
++[#include <unistd.h>],
++[	(void)sysconf(_SC_PAGESIZE);
++	(void)sysconf(_SC_PHYS_PAGES);
++	],
++	AC_MSG_RESULT(yes); AC_DEFINE(HAVE_SYSCONF),
++	AC_MSG_RESULT(not usable))
++
++dnl Our own version of AC_CHECK_SIZEOF(int); fixes a bug when sizeof() can't
++dnl be printed with "%d", and avoids a warning for cross-compiling.
++
++AC_MSG_CHECKING(size of int)
++AC_CACHE_VAL(ac_cv_sizeof_int,
++	[AC_TRY_RUN([#include <stdio.h>
++		main()
++		{
++		  FILE *f=fopen("conftestval", "w");
++		  if (!f) exit(1);
++		  fprintf(f, "%d\n", (int)sizeof(int));
++		  exit(0);
++		}],
++	    ac_cv_sizeof_int=`cat conftestval`,
++	    ac_cv_sizeof_int=0,
++	    AC_MSG_ERROR(failed to compile test program))])
++AC_MSG_RESULT($ac_cv_sizeof_int)
++AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
++
++AC_MSG_CHECKING(whether memmove/bcopy/memcpy handle overlaps)
++[bcopy_test_prog='
++main() {
++  char buf[10];
++  strcpy(buf, "abcdefghi");
++  mch_memmove(buf, buf + 2, 3);
++  if (strncmp(buf, "ababcf", 6))
++    exit(1);
++  strcpy(buf, "abcdefghi");
++  mch_memmove(buf + 2, buf, 3);
++  if (strncmp(buf, "cdedef", 6))
++    exit(1);
++  exit(0); /* libc version works properly.  */
++}']
++
++dnl Check for memmove() before bcopy(), makes memmove() be used when both are
++dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
++
++AC_TRY_RUN([#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog],
++    AC_DEFINE(USEMEMMOVE) AC_MSG_RESULT(memmove does),
++    AC_TRY_RUN([#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog],
++	AC_DEFINE(USEBCOPY) AC_MSG_RESULT(bcopy does),
++	AC_TRY_RUN([#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog],
++	    AC_DEFINE(USEMEMCPY) AC_MSG_RESULT(memcpy does), AC_MSG_RESULT(no),
++	    AC_MSG_ERROR(failed to compile test program)),
++	AC_MSG_ERROR(failed to compile test program)),
++    AC_MSG_ERROR(failed to compile test program))
++
++dnl Check for multibyte locale functions
++dnl Find out if _Xsetlocale() is supported by libX11.
++dnl Check if X_LOCALE should be defined.
++
++if test "$enable_multibyte" = "yes"; then
++  cflags_save=$CFLAGS
++  ldflags_save=$LDFLAGS
++  if test -n "$x_includes" ; then
++    CFLAGS="$CFLAGS -I$x_includes"
++    LDFLAGS="$X_LIBS $LDFLAGS -lX11"
++    AC_MSG_CHECKING(whether X_LOCALE needed)
++    AC_TRY_COMPILE([#include <X11/Xlocale.h>],,
++	AC_TRY_LINK_FUNC([_Xsetlocale], [AC_MSG_RESULT(yes)
++		AC_DEFINE(X_LOCALE)], AC_MSG_RESULT(no)),
++	AC_MSG_RESULT(no))
++  fi
++  CFLAGS=$cflags_save
++  LDFLAGS=$ldflags_save
++fi
++
++dnl Link with xpg4, it is said to make Korean locale working
++AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,)
++
++dnl Check how we can run ctags
++dnl --version for Exuberant ctags (preferred)
++dnl       Add --fields=+S to get function signatures for omni completion.
++dnl -t for typedefs (many ctags have this)
++dnl -s for static functions (Elvis ctags only?)
++dnl -v for variables. Dangerous, most ctags take this for 'vgrind style'.
++dnl -i+m to test for older Exuberant ctags
++AC_MSG_CHECKING(how to create tags)
++test -f tags && mv tags tags.save
++if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then
++  TAGPRG="ctags -I INIT+ --fields=+S"
++else
++  (eval etags	   /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags"
++  (eval etags -c   /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c"
++  (eval ctags	   /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags"
++  (eval ctags -t   /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -t"
++  (eval ctags -ts  /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -ts"
++  (eval ctags -tvs /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -tvs"
++  (eval ctags -i+m /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags -i+m"
++fi
++test -f tags.save && mv tags.save tags
++AC_MSG_RESULT($TAGPRG) AC_SUBST(TAGPRG)
++
++dnl Check how we can run man with a section number
++AC_MSG_CHECKING(how to run man with a section nr)
++MANDEF="man"
++(eval man -s 2 read) < /dev/null > /dev/null 2>&AC_FD_CC && MANDEF="man -s"
++AC_MSG_RESULT($MANDEF)
++if test "$MANDEF" = "man -s"; then
++  AC_DEFINE(USEMAN_S)
++fi
++
++dnl Check if gettext() is working and if it needs -lintl
++AC_MSG_CHECKING(--disable-nls argument)
++AC_ARG_ENABLE(nls,
++	[  --disable-nls           Don't support NLS (gettext()).], ,
++	[enable_nls="yes"])
++
++if test "$enable_nls" = "yes"; then
++  AC_MSG_RESULT(no)
++
++  INSTALL_LANGS=install-languages
++  AC_SUBST(INSTALL_LANGS)
++  INSTALL_TOOL_LANGS=install-tool-languages
++  AC_SUBST(INSTALL_TOOL_LANGS)
++
++  AC_CHECK_PROG(MSGFMT, msgfmt, msgfmt, )
++  AC_MSG_CHECKING([for NLS])
++  if test -f po/Makefile; then
++    have_gettext="no"
++    if test -n "$MSGFMT"; then
++      AC_TRY_LINK(
++	[#include <libintl.h>],
++	[gettext("Test");],
++	AC_MSG_RESULT([gettext() works]); have_gettext="yes",
++	  olibs=$LIBS
++	  LIBS="$LIBS -lintl"
++	  AC_TRY_LINK(
++	      [#include <libintl.h>],
++	      [gettext("Test");],
++	      AC_MSG_RESULT([gettext() works with -lintl]); have_gettext="yes",
++	      AC_MSG_RESULT([gettext() doesn't work]);
++	      LIBS=$olibs))
++    else
++      AC_MSG_RESULT([msgfmt not found - disabled]);
++    fi
++    if test $have_gettext = "yes"; then
++      AC_DEFINE(HAVE_GETTEXT)
++      MAKEMO=yes
++      AC_SUBST(MAKEMO)
++      dnl this was added in GNU gettext 0.10.36
++      AC_CHECK_FUNCS(bind_textdomain_codeset)
++      dnl _nl_msg_cat_cntr is required for GNU gettext
++      AC_MSG_CHECKING([for _nl_msg_cat_cntr])
++      AC_TRY_LINK(
++		[#include <libintl.h>
++		extern int _nl_msg_cat_cntr;],
++		[++_nl_msg_cat_cntr;],
++		AC_MSG_RESULT([yes]); AC_DEFINE(HAVE_NL_MSG_CAT_CNTR),
++		AC_MSG_RESULT([no]))
++    fi
++  else
++    AC_MSG_RESULT([no "po/Makefile" - disabled]);
++  fi
++else
++  AC_MSG_RESULT(yes)
++fi
++
++dnl Check for dynamic linking loader
++AC_CHECK_HEADER(dlfcn.h, DLL=dlfcn.h, [AC_CHECK_HEADER(dl.h, DLL=dl.h)])
++if test x${DLL} = xdlfcn.h; then
++  AC_DEFINE(HAVE_DLFCN_H, 1, [ Define if we have dlfcn.h. ])
++  AC_MSG_CHECKING([for dlopen()])
++  AC_TRY_LINK(,[
++		extern void* dlopen();
++		dlopen();
++      ],
++      AC_MSG_RESULT(yes);
++	      AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
++      AC_MSG_RESULT(no);
++	      AC_MSG_CHECKING([for dlopen() in -ldl])
++	      olibs=$LIBS
++	      LIBS="$LIBS -ldl"
++	      AC_TRY_LINK(,[
++				extern void* dlopen();
++				dlopen();
++		 ],
++		 AC_MSG_RESULT(yes);
++			  AC_DEFINE(HAVE_DLOPEN, 1, [ Define if we have dlopen() ]),
++		 AC_MSG_RESULT(no);
++			  LIBS=$olibs))
++  dnl ReliantUNIX has dlopen() in libc but everything else in libdl
++  dnl ick :-)
++  AC_MSG_CHECKING([for dlsym()])
++  AC_TRY_LINK(,[
++		extern void* dlsym();
++		dlsym();
++      ],
++      AC_MSG_RESULT(yes);
++	      AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
++      AC_MSG_RESULT(no);
++	      AC_MSG_CHECKING([for dlsym() in -ldl])
++	      olibs=$LIBS
++	      LIBS="$LIBS -ldl"
++	      AC_TRY_LINK(,[
++				extern void* dlsym();
++				dlsym();
++		 ],
++		 AC_MSG_RESULT(yes);
++			  AC_DEFINE(HAVE_DLSYM, 1, [ Define if we have dlsym() ]),
++		 AC_MSG_RESULT(no);
++			  LIBS=$olibs))
++elif test x${DLL} = xdl.h; then
++  AC_DEFINE(HAVE_DL_H, 1, [ Define if we have dl.h. ])
++  AC_MSG_CHECKING([for shl_load()])
++  AC_TRY_LINK(,[
++		extern void* shl_load();
++		shl_load();
++     ],
++     AC_MSG_RESULT(yes);
++	  AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
++     AC_MSG_RESULT(no);
++	  AC_MSG_CHECKING([for shl_load() in -ldld])
++	  olibs=$LIBS
++	  LIBS="$LIBS -ldld"
++	  AC_TRY_LINK(,[
++			extern void* shl_load();
++			shl_load();
++	     ],
++	     AC_MSG_RESULT(yes);
++		  AC_DEFINE(HAVE_SHL_LOAD, 1, [ Define if we have shl_load() ]),
++	     AC_MSG_RESULT(no);
++		  LIBS=$olibs))
++fi
++AC_CHECK_HEADERS(setjmp.h)
++
++if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
++  dnl -ldl must come after DynaLoader.a
++  if echo $LIBS | grep -e '-ldl' >/dev/null; then
++    LIBS=`echo $LIBS | sed s/-ldl//`
++    PERL_LIBS="$PERL_LIBS -ldl"
++  fi
++fi
++
++if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
++	&& test "x$GUITYPE" != "xCARBONGUI"; then
++  AC_MSG_CHECKING(whether we need -framework Carbon)
++  dnl check for MACOSX without Carbon GUI, but with FEAT_MBYTE
++  if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
++	|| test "x$features" = "xhuge"; then
++    LIBS="$LIBS -framework Carbon"
++    AC_MSG_RESULT(yes)
++  else
++    AC_MSG_RESULT(no)
++  fi
++fi
++if test "x$MACARCH" = "xboth"; then
++  LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
++fi
++
++dnl gcc 3.1 changed the meaning of -MM.  The only solution appears to be to
++dnl use "-isystem" instead of "-I" for all non-Vim include dirs.
++dnl But only when making dependencies, cproto and lint don't take "-isystem".
++dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow
++dnl the number before the version number.
++AC_MSG_CHECKING(for GCC 3 or later)
++DEPEND_CFLAGS_FILTER=
++if test "$GCC" = yes; then
++  gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'`
++  if test "$gccmajor" -gt "2"; then
++    DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'"
++  fi
++fi
++if test "$DEPEND_CFLAGS_FILTER" = ""; then
++  AC_MSG_RESULT(no)
++else
++  AC_MSG_RESULT(yes)
++fi
++AC_SUBST(DEPEND_CFLAGS_FILTER)
++
++dnl write output files
++AC_OUTPUT(auto/config.mk:config.mk.in)
++
++dnl vim: set sw=2 tw=78 fo+=l:
Index: patches/vim-7.1-fixes-1.patch
===================================================================
--- patches/vim-7.1-fixes-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
+++ patches/vim-7.1-fixes-1.patch	(revision 82ae3383bc7778eff9a72c94d128a43c1c51f05e)
@@ -0,0 +1,70 @@
+Submitted By: Joe Ciccone <jciccone@linuxfromscratch.org>
+Date: 06-17-2007
+Initial Package Version: 7.1
+Origin: Upstream
+Upstream Status: Applied
+Description: Contains all upstream patches up to 7.1.002
+
+diff -Naur vim71.orig/runtime/filetype.vim vim71/runtime/filetype.vim
+--- vim71.orig/runtime/filetype.vim	2007-06-17 11:49:56.000000000 -0400
++++ vim71/runtime/filetype.vim	2007-06-17 11:50:51.000000000 -0400
+@@ -1,7 +1,7 @@
+ " Vim support file to detect file types
+ "
+ " Maintainer:	Bram Moolenaar <Bram@vim.org>
+-" Last Change:	2007 May 10
++" Last Change:	2007 May 15
+ 
+ " Listen very carefully, I will say this only once
+ if exists("did_load_filetypes")
+@@ -1286,7 +1286,7 @@
+ au BufNewFile,BufRead *.it,*.ih			setf ppwiz
+ 
+ " Oracle Pro*C/C++
+-au BufNewFile,BufRead .pc			setf proc
++au BufNewFile,BufRead *.pc			setf proc
+ 
+ " Privoxy actions file
+ au BufNewFile,BufRead *.action			setf privoxy
+diff -Naur vim71.orig/src/gui_gtk.c vim71/src/gui_gtk.c
+--- vim71.orig/src/gui_gtk.c	2007-06-17 11:49:56.000000000 -0400
++++ vim71/src/gui_gtk.c	2007-06-17 11:50:48.000000000 -0400
+@@ -53,8 +53,8 @@
+ # ifdef bindtextdomain
+ #  undef bindtextdomain
+ # endif
+-# ifdef bindtextdomain_codeset
+-#  undef bindtextdomain_codeset
++# ifdef bind_textdomain_codeset
++#  undef bind_textdomain_codeset
+ # endif
+ # if defined(FEAT_GETTEXT) && !defined(ENABLE_NLS)
+ #  define ENABLE_NLS	/* so the texts in the dialog boxes are translated */
+diff -Naur vim71.orig/src/gui_gtk_x11.c vim71/src/gui_gtk_x11.c
+--- vim71.orig/src/gui_gtk_x11.c	2007-06-17 11:49:56.000000000 -0400
++++ vim71/src/gui_gtk_x11.c	2007-06-17 11:50:48.000000000 -0400
+@@ -36,8 +36,8 @@
+ # ifdef bindtextdomain
+ #  undef bindtextdomain
+ # endif
+-# ifdef bindtextdomain_codeset
+-#  undef bindtextdomain_codeset
++# ifdef bind_textdomain_codeset
++#  undef bind_textdomain_codeset
+ # endif
+ # if defined(FEAT_GETTEXT) && !defined(ENABLE_NLS)
+ #  define ENABLE_NLS	/* so the texts in the dialog boxes are translated */
+diff -Naur vim71.orig/src/version.c vim71/src/version.c
+--- vim71.orig/src/version.c	2007-06-17 11:49:56.000000000 -0400
++++ vim71/src/version.c	2007-06-17 11:50:51.000000000 -0400
+@@ -667,6 +667,10 @@
+ static int included_patches[] =
+ {   /* Add new patch number below this line */
+ /**/
++    2,
++/**/
++    1,
++/**/
+     0
+ };
+ 
