about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES72
-rw-r--r--INSTALLATION27
-rw-r--r--LYMessages_en.h4
-rw-r--r--WWW/Library/Implementation/HTAccess.c4
-rw-r--r--WWW/Library/Implementation/HTAnchor.c21
-rw-r--r--WWW/Library/Implementation/HTAnchor.h7
-rw-r--r--WWW/Library/Implementation/HTFWriter.c2
-rw-r--r--WWW/Library/Implementation/HTFile.c2
-rw-r--r--WWW/Library/Implementation/HTFormat.c4
-rw-r--r--WWW/Library/Implementation/HTString.c62
-rw-r--r--WWW/Library/Implementation/HTString.h12
-rw-r--r--WWW/Library/Implementation/HTTCP.c4
-rw-r--r--WWW/Library/Implementation/HTTP.c9
-rw-r--r--WWW/Library/Implementation/HTTelnet.c2
-rw-r--r--WWW/Library/Implementation/tcp.h18
-rw-r--r--WWW/Library/djgpp/makefile.sla2
-rw-r--r--config.hin3
-rwxr-xr-xconfigure1231
-rw-r--r--configure.in31
-rw-r--r--lynx.cfg9
-rw-r--r--lynx.hlp1089
-rw-r--r--lynx.man2
-rw-r--r--makefile.in4
-rwxr-xr-xman2hlp.sh15
-rw-r--r--po/lynx.pot6
-rw-r--r--src/GridText.c264
-rw-r--r--src/HTAlert.c39
-rw-r--r--src/HTML.c40
-rw-r--r--src/LYCurses.h3
-rw-r--r--src/LYForms.c10
-rw-r--r--src/LYGlobalDefs.h2
-rw-r--r--src/LYLeaks.c2
-rw-r--r--src/LYLocal.c157
-rw-r--r--src/LYMain.c9
-rw-r--r--src/LYMainLoop.c14
-rw-r--r--src/LYOptions.c38
-rw-r--r--src/LYShowInfo.c10
-rw-r--r--src/LYStrings.c95
-rw-r--r--src/LYStrings.h4
-rw-r--r--src/LYUtils.c63
-rw-r--r--src/LYUtils.h7
-rw-r--r--src/LYrcFile.c4
-rw-r--r--src/makefile.dsl4
-rw-r--r--test/sgml.html1
-rw-r--r--test/unicode.html2
-rw-r--r--userdefs.h10
46 files changed, 2061 insertions, 1359 deletions
diff --git a/CHANGES b/CHANGES
index 9d5516c9..92dec26a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,78 @@
 Changes since Lynx 2.8 release
 ===============================================================================
 
+1999-06-18 (2.8.3dev.2)
+* move some of the path-manipulation from the DJGPP dired change into new
+  functions LYisAbsPath, LYisRootPath and LYLastPathSep -TD
+* integrated patch adapted by DK from Igor B Poretsky <root@goga.energo.ru> for
+  dired support with DJGPP.  (Some corrections/rework by TD also - must
+  retest).  Some notes from DK:
+  + Since this is DJGPP based, it may be incompatible with a called program
+    that uses a WATCOM DOS extender.  I think I had this problem with a
+    precompiled binary for zip.  The current zip binary doesn't have this
+    problem.
+  + The key to making this work with DJGPP is the __sysflags = 0x501d in
+    LYMain.c, since this lets the system() call handle multiple commands on one
+    line and allows the cd command to work across disks.
+  + I didn't look at Igor's changes to LYMainLoop.c as regards to the HTUncache
+    calls.  He said he wasn't sure about this.
+  + This was tested with Info-Zip's zip and unzip, GNU tar, gzip, comp430d,
+    PKZIP, and PKUNZIP.  This was only tested when built with slang.  I don't
+    see where PDCurses is likely to cause a problem, however.
+  Problems:
+  + To make this work, I made lynx_edit_mode = TRUE in LYMainLoop.c.  This does
+    not seem to be the correct solution.  It seems that this should be handled
+    by the code in HTAccess.c, but I don't understand how this works.  If
+    lynx_edit_mode isn't true, the dired menu doesn't appear with the "f"
+    invocation of LYK_DIRED_MENU.
+  + I'll try to explain this briefly, but this bug is very reproducible.  If a
+    program is invoked from the dired menu which needs to interact with the
+    user, the system sometimes freezes and has to be rebooted.  For example, a
+    call to unzip a zip archive where the files already exist has zip ask if
+    the file should be overwritten.  If done initially after lynx is started,
+    no keystrokes are accepted and the system always hangs.  If, however, any
+    file has been moved or had its name changed via the dired menu, then the
+    above problem doesn't occur.  I have tried to see what changes after the
+    name change that fixes this problem, but I am stumped.  Gzip and unzip seem
+    to have this problem, but PKUNZIP doesn't.
+* correct most-recent LYNX_RELEASE_DATE (reported by KW) -TD
+* change touchline() call in LYOptions.c to touchwin() in case anyone wants to
+  compile with BSD 4.4 curses (reported by IC) -TD
+* modified ifdef for DECL_ERRNO to allow for errno to be a macro -TD
+* ifdef'd the extern declaration of h_errno in HTTCP.c in case that name is
+  also a macro, e.g., for threaded code (reported by Mike Gravitz
+  <ddavid@lamar.ColoState.EDU> on AIX 4.3.1.0) -TD
+* rename ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS to keep the names less than
+  31 characters, and add configure option --enable-change-exec to set the
+  ENABLE_OPTS_CHANGE_EXEC ifdef -TD
+* correct syntax of popup_choices() within
+  ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS ifdef (reported by IC) -KW
+* modified some message texts, mostly for consistency -KW
+* correct display of local file times in INFO screen -KW
+* add null-pointer checks for buf2 variable in
+  exit_immediately_with_error_message().  Invalid memory access happens if
+  access to startfile fails but first_file is not true -KW
+* change all ifdef's except on for VAX ultrix that use the presumed predefined
+  symbol 'unix' to 'UNIX', which the configure script sets.  Not all Unix
+  systems define this in their compiler -TD
+  From compiler warning on NetBSD 1.4 (report by JS):
+    deprecated symbol "unix" is no longer predefined
+* add experimental file-upload, ifdef'd with EXP_FILE_UPLOAD and configured
+  with --with-file-upload (adapted from patch by RP) -TD
+* document use of '|' pipes in PRINTER commands in lynx.cfg -TD
+* add shell script man2hlp.sh, used that to generate lynx.hlp from lynx.man -TD
+* SOURCE_CACHE:  source_cache_file and source_cache_chunk are now members of
+  HTParentAnchor (where they should belong, not HText nor mutable globals). 
+  Add one more parse setting member (verbose_img) to HText structure -LP
+* correct spelling of ifdef for reload_read_cfg() (reported by KW) -LP
+* minor docs tweaks -LP
+* test/{sgml.html, unicode.html} files were badly broken for tagsoup mode
+  (incorrect html: extra <pre>..</pre> were added inside PRE mode in dev26) -LP
+* fix back-slashes conversion for DOSPATH systems when expanding ~ to local
+  path (mostly affects information screen) -LP
+* correct default value for --disable-persistent-cookies configure option
+  (reported by HenSiong Tan <tan@stat.psu.edu>) -TD
+* uncomment --with-libjs configure option -TD
 1999-06-11 (2.8.3dev.1)
 (This is KW's patch, with minor corrections)
 * Key handling changes:
diff --git a/INSTALLATION b/INSTALLATION
index d81a8fa3..6e5a31ef 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -294,6 +294,10 @@ II. Compile instructions -- UNIX
 	Compiles-in an alternative list-page, bound to 'A' rather than 'l',
 	which always lists URLs rather than titles.
 
+  --enable-change-exec			(define ENABLE_OPTS_CHANGE_EXEC)
+  	Allow users to change the execution status within the options screen.
+	See EXEC_LINKS and EXEC_SCRIPTS.
+
   --enable-cgi-links			(define LYNXCGI_LINKS)
 	Allows lynx to access a cgi script directly without the need for
 	a http daemon.
@@ -325,6 +329,9 @@ II. Compile instructions -- UNIX
   --enable-find-leaks			(define LY_FIND_LEAKS)
 	Use this option to compile-in logic for testing memory leaks.
 
+  --enable-file-upload			(define EXP_FILE_UPLOAD)
+	Compile-in support for form-based file-upload.
+
   --enable-font-switch			(define EXP_CHARTRANS_AUTOSWITCH)
 	Allow Lynx to automatically change the Linux console state (switch
 	fonts) according to the current Display Character Set.  (Linux console
@@ -347,6 +354,7 @@ II. Compile instructions -- UNIX
 
   --enable-libjs			(define EXP_LIBJS)
   	Disabled by default; used for ifdef'ing JavaScript interface.
+	Currently dummy: no JavaScript support implemented in Lynx yet.
 
   --enable-nls
 	use Native Language Support (i.e., gettext).
@@ -356,8 +364,9 @@ II. Compile instructions -- UNIX
 	so that `z' will stop the `look-up' phase of a connection.
 
   --enable-prettysrc			(define USE_PSRC)
-	Use this option to compile-in support for colorizing the source
-	view of HTML pages.
+	Use this option to compile-in support for colorizing the source view of
+	HTML pages.  If compiled-in, new source view mode is available with
+	-prettysrc command line option.
 
   --enable-source-cache			(define SOURCE_CACHE)
 	Use this option to compile-in support for caching HTML pages locally,
@@ -409,13 +418,13 @@ II. Compile instructions -- UNIX
 	Use this option to configure with the socks5 library.
 
 	If you make a SOCKSified lynx, you may have trouble accessing FTP
-        servers.  Also, instead of SOCKSifying lynx for use behind a firewall,
-        you are better off if you make it normally, and set it up to use a
-        proxy server.  You can SOCKSify the proxy server, and it will handle
-        all clients, not just Lynx.  If your SOCKS server was compiled to use
-        the short version of Rbind, also include -DSHORTENED_RBIND in your
-        SITE_LYDEFS and SITE_DEFS.  If you do SOCKSify lynx, you can turn off
-        SOCKS proxy usage via a -nosocks command line switch.
+	servers.  Also, instead of SOCKSifying lynx for use behind a firewall,
+	you are better off if you make it normally, and set it up to use a
+	proxy server.  You can SOCKSify the proxy server, and it will handle
+	all clients, not just Lynx.  If your SOCKS server was compiled to use
+	the short version of Rbind, also include -DSHORTENED_RBIND in your
+	SITE_LYDEFS and SITE_DEFS.  If you do SOCKSify lynx, you can turn off
+	SOCKS proxy usage via a -nosocks command line switch.
 
   --with-zlib				(define USE_ZLIB)
 	Use zlib for decompression of some gzip files.
diff --git a/LYMessages_en.h b/LYMessages_en.h
index d357d5d8..e68d4f03 100644
--- a/LYMessages_en.h
+++ b/LYMessages_en.h
@@ -53,6 +53,10 @@
 #define MORE gettext("-- press space for next page --")
 
 /* Forms messages */
+#define FORM_LINK_FILE_UNM_MSG \
+ gettext("UNMODIFIABLE file entry field.  Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_FILE_MESSAGE \
+ gettext("(File entry field) Enter filename.  Use UP or DOWN arrows or tab to move off.")
 #define FORM_LINK_TEXT_MESSAGE \
  gettext("(Text entry field) Enter text.  Use UP or DOWN arrows or tab to move off.")
 #define FORM_LINK_TEXTAREA_MESSAGE \
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index 11dfc5ae..c5f8ef06 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -1356,7 +1356,7 @@ PUBLIC HTParentAnchor * HTHomeAnchor NOARGS
 	    StrAllocCopy(my_home_document, REMOTE_ADDRESS);
     }
 
-#ifdef unix
+#ifdef UNIX
     if (my_home_document == NULL) {
 	FILE * fp = NULL;
 	CONST char * home =  (CONST char*)getenv("HOME");
@@ -1377,7 +1377,7 @@ PUBLIC HTParentAnchor * HTHomeAnchor NOARGS
 	    FREE(my_home_document);
 	}
     }
-#endif /* unix */
+#endif /* UNIX */
     ref = HTParse((my_home_document ?
 		   my_home_document : (HTClientHost ?
 				     REMOTE_ADDRESS : LAST_RESORT)),
diff --git a/WWW/Library/Implementation/HTAnchor.c b/WWW/Library/Implementation/HTAnchor.c
index 22af2bfb..ba131155 100644
--- a/WWW/Library/Implementation/HTAnchor.c
+++ b/WWW/Library/Implementation/HTAnchor.c
@@ -21,6 +21,7 @@
 #include <UCAux.h>
 #include <UCMap.h>
 
+#include <LYUtils.h>
 #include <LYCharSets.h>
 #include <LYLeaks.h>
 
@@ -75,6 +76,10 @@ PRIVATE HTParentAnchor * HTParentAnchor_new NOARGS
     newAnchor->isISMAPScript = FALSE;	/* Lynx appends ?0,0 if TRUE. - FM */
     newAnchor->isHEAD = FALSE;		/* HEAD request if TRUE. - FM */
     newAnchor->safe = FALSE;		/* Safe. - FM */
+#ifdef SOURCE_CACHE
+    newAnchor->source_cache_file = NULL;
+    newAnchor->source_cache_chunk = NULL;
+#endif
     newAnchor->FileCache = NULL;	/* Path to a disk-cached copy. - FM */
     newAnchor->SugFname = NULL; 	/* Suggested filename. - FM */
     newAnchor->RevTitle = NULL; 	/* TITLE for a LINK with REV. - FM */
@@ -689,6 +694,22 @@ PUBLIC BOOL HTAnchor_delete ARGS1(
     FREE(me->bookmark);
     FREE(me->owner);
     FREE(me->RevTitle);
+#ifdef SOURCE_CACHE
+    /*
+     * Clean up the source cache, if any.
+     */
+    if (me->source_cache_file) {
+	CTRACE(tfp, "Removing source cache file %s\n",
+	       me->source_cache_file);
+	LYRemoveTemp(me->source_cache_file);
+	FREE(me->source_cache_file);
+    }
+    if (me->source_cache_chunk) {
+	CTRACE(tfp, "Removing memory source cache %p\n",
+	       (void *)me->source_cache_chunk);
+	HTChunkFree(me->source_cache_chunk);
+    }
+#endif
     if (me->FileCache) {
 	FILE *fd;
 	if ((fd = fopen(me->FileCache, "r")) != NULL) {
diff --git a/WWW/Library/Implementation/HTAnchor.h b/WWW/Library/Implementation/HTAnchor.h
index cb47e52e..ee0dcfef 100644
--- a/WWW/Library/Implementation/HTAnchor.h
+++ b/WWW/Library/Implementation/HTAnchor.h
@@ -15,6 +15,7 @@
 /* Version 1 of 24-Oct-1991 (JFG), written in C, browser-independent */
 
 #include <HTList.h>
+#include <HTChunk.h>
 #include <HTAtom.h>
 #include <UCDefs.h>
 
@@ -77,7 +78,11 @@ struct _HTParentAnchor {
   BOOL		isISMAPScript;	/* Script for clickable image map */
   BOOL		isHEAD;		/* Document is headers from a HEAD request */
   BOOL		safe;			/* Safe */
-  char *	FileCache;	/* Path to a disk-cached copy */
+#ifdef SOURCE_CACHE
+  char *	source_cache_file;
+  HTChunk *	source_cache_chunk;
+#endif
+  char *	FileCache;	/* Path to a disk-cached copy (see src/HTFWriter.c) */
   char *	SugFname;	/* Suggested filename */
   char *	cache_control;	/* Cache-Control */
   BOOL		no_cache;	/* Cache-Control, Pragma or META "no-cache"? */
diff --git a/WWW/Library/Implementation/HTFWriter.c b/WWW/Library/Implementation/HTFWriter.c
index 943e1a22..b101e95c 100644
--- a/WWW/Library/Implementation/HTFWriter.c
+++ b/WWW/Library/Implementation/HTFWriter.c
@@ -223,7 +223,7 @@ PUBLIC HTStream* HTSaveAndExecute ARGS3(
 	HTParentAnchor *,	anchor,	/* Not used */
 	HTStream *,		sink)	/* Not used */
 
-#ifdef unix
+#ifdef UNIX
 #define REMOVE_COMMAND "/bin/rm -f %s\n"
 #endif
 #ifdef VMS
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index f0b294e7..f8280243 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -1643,7 +1643,7 @@ PRIVATE int print_local_dir ARGS5(
 	if (status != HT_PARTIAL_CONTENT)
 	    _HTProgress (gettext("OK"));
 	else
-	    CTRACE(tfp, "Reading the directory interrupred by user\n");
+	    CTRACE(tfp, "Reading the directory interrupted by user\n");
 
 
 	/*
diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c
index f214b536..a45d7d0c 100644
--- a/WWW/Library/Implementation/HTFormat.c
+++ b/WWW/Library/Implementation/HTFormat.c
@@ -20,14 +20,14 @@ PUBLIC float HTMaxSecs = 1e10;		/* No effective limit */
 PUBLIC float HTMaxLength = 1e10;	/* No effective limit */
 PUBLIC long int HTMaxBytes  = 0;	/* No effective limit */
 
-#ifdef unix
+#ifdef UNIX
 #ifdef NeXT
 #define PRESENT_POSTSCRIPT "open %s; /bin/rm -f %s\n"
 #else
 #define PRESENT_POSTSCRIPT "(ghostview %s ; /bin/rm -f %s)&\n"
 			   /* Full pathname would be better! */
 #endif /* NeXT */
-#endif /* unix */
+#endif /* UNIX */
 
 #include <HTML.h>
 #include <HTMLDTD.h>
diff --git a/WWW/Library/Implementation/HTString.c b/WWW/Library/Implementation/HTString.c
index 90b6665b..039c0e64 100644
--- a/WWW/Library/Implementation/HTString.c
+++ b/WWW/Library/Implementation/HTString.c
@@ -890,3 +890,65 @@ PUBLIC void HTEndParam ARGS3(
     }
     CTRACE(tfp, "PARAM-END:%s\n", *result);
 }
+
+
+#ifdef EXP_FILE_UPLOAD
+/*	bstring Allocate and Concatenate
+*/
+
+/*	Allocate a new copy of a bstring, and returns it
+*/
+PUBLIC void HTSABCopy ARGS3(
+	bstring**,	dest,
+	CONST char *,	src,
+	int,		len)
+{
+    bstring *t;
+    CTRACE(tfp, "HTSABCopy(%p, %p, %d)\n", dest, src, len);
+    /* if we already have a bstring ** ... */
+    if (dest) {
+    	/* ... with a valid bstring *, free it ... */
+    	if (*dest) {
+	    FREE((*dest)->str);
+	    FREE(*dest);
+    	}
+	*dest = malloc(sizeof(bstring));
+	if (src) {
+	    CTRACE(tfp, "%% [%s]\n", src);
+	    t = (bstring*) malloc(sizeof(bstring));
+	    if (t == NULL)
+		outofmem(__FILE__, "HTSABCopy");
+	    t->str = (char *) malloc (len);
+	    if (t->str == NULL)
+		outofmem(__FILE__, "HTSABCopy");
+	    memcpy (t->str, src, len);
+	    t->len = len;
+	    *dest = t;
+	}
+    }
+}
+
+PUBLIC void HTSABCat ARGS3(
+	bstring **,	dest,
+	CONST char *,	src,
+	int,		len)
+{
+    bstring *t = *dest;
+    if (src) {
+	if (t) {
+	    int length = t->len;
+	    t->str = (char *)realloc(t->str, length + len);
+	} else {
+	    t = (bstring *)calloc(1, sizeof(*t));
+	    if (t == NULL)
+		outofmem(__FILE__, "HTSACat");
+	    t->str = (char *)malloc(len);
+	}
+	if (t->str == NULL)
+	    outofmem(__FILE__, "HTSACat");
+	memcpy (t->str + t->len, src, len);
+	t->len += len;
+	*dest = t;
+    }
+}
+#endif /* EXP_FILE_UPLOAD */
diff --git a/WWW/Library/Implementation/HTString.h b/WWW/Library/Implementation/HTString.h
index 2891b295..3190b88a 100644
--- a/WWW/Library/Implementation/HTString.h
+++ b/WWW/Library/Implementation/HTString.h
@@ -102,4 +102,16 @@ extern void HTEndParam PARAMS((char ** result, CONST char * command, int number)
 /* Force an option, with leading blanks, to be appended without quoting them */
 #define HTOptParam(result, command, number, parameter) HTSACat(result, parameter)
 
+/* Binary copy and concat */
+#ifdef EXP_FILE_UPLOAD
+
+typedef struct {
+	char *str;
+	int len;
+} bstring;
+
+extern void HTSABCopy PARAMS((bstring** dest, CONST char * src, int len));
+extern void HTSABCat PARAMS((bstring ** dest, CONST char * src, int len));
+#endif
+
 #endif /* HTSTRING_H */
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index fdc6b66a..a0f6948a 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -576,8 +576,10 @@ PRIVATE size_t fill_rehostent ARGS3(
 #define h_errno my_errno
 static int my_errno;
 #else /* we do HAVE_H_ERRNO: */
+#ifndef h_errno		/* there may be a macro as well as the extern data */
 extern int h_errno;
 #endif
+#endif
 
 /*	Resolve an internet hostname, like gethostbyname
 **	------------------------------------------------
@@ -1173,7 +1175,7 @@ PUBLIC int HTParseInet ARGS2(
     if ((port = strchr(host, ':')) != NULL) {
 	*port++ = 0;		/* Chop off port */
 	if (port[0] >= '0' && port[0] <= '9') {
-#ifdef unix
+#ifdef UNIX
 	    soc_in->sin_port = htons(atol(port));
 #else /* VMS: */
 #ifdef DECNET
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 05b3e89c..ab5b3bc7 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -185,6 +185,11 @@ try_again:
       goto done;
   }
 
+/* *sob*  All this needs to be converted to handle binary strings
+ * if we're going to be able to handle binary form uploads...
+ * This is a nice long function as well.  *sigh*  -RJP
+ */
+
   /*	Ask that node for the document,
   **	omitting the host name & anchor
   */
@@ -583,6 +588,10 @@ try_again:
 	if (!anAnchor->post_data)
 	  content_length = 0;
 	else
+/* 
+ * Ack!  This assumes non-binary data!  Icky!  
+ * 
+ */
 	  content_length = strlen (anAnchor->post_data);
 	sprintf (line, "Content-length: %d%c%c",
 		 content_length, CR, LF);
diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c
index 2d7f162b..43f148d3 100644
--- a/WWW/Library/Implementation/HTTelnet.c
+++ b/WWW/Library/Implementation/HTTelnet.c
@@ -166,7 +166,7 @@ PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 #endif
 
 /* Most unix machines suppport username only with rlogin */
-#if defined(unix) || defined(DOSPATH)
+#if defined(UNIX) || defined(DOSPATH)
 #ifndef TELNET_DONE
 
 #define FMT_RLOGIN "%s %s%s%s"
diff --git a/WWW/Library/Implementation/tcp.h b/WWW/Library/Implementation/tcp.h
index c9d05dfa..fe977bca 100644
--- a/WWW/Library/Implementation/tcp.h
+++ b/WWW/Library/Implementation/tcp.h
@@ -49,9 +49,9 @@ Default values
 #define SELECT                  /* Can handle >1 channel.               */
 #define GOT_SYSTEM              /* Can call shell with string           */
 
-#ifdef unix
+#ifdef UNIX
 #define GOT_PIPE
-#endif /* unix */
+#endif /* UNIX */
 
 #define INVSOC (-1)             /* Unix invalid socket */
 		/* NB: newer libwww has something different for Windows */
@@ -101,10 +101,6 @@ typedef struct sockaddr_in SockA;  /* See netinet/in.h */
 #define AIX
 #endif /* _AIX */
 
-#if defined(AIX) && !defined(unix)
-#define unix
-#endif /* AIX */
-
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
 #else
@@ -513,7 +509,11 @@ struct timeval {
 #include <sys/filio.h>
 #endif /* HAVE_SYS_FILIO_H */
 
-#ifdef DECL_ERRNO
+#if !defined(HAVE_LSTAT) && !defined(lstat)
+#define lstat(path,block) stat(path,block)
+#endif
+
+#if defined(DECL_ERRNO) && !defined(errno)
 extern int errno;
 #endif /* DECL_ERRNO */
 
@@ -598,10 +598,6 @@ typedef int pid_t;
 
 /*	Directory reading stuff - BSD or SYS V
 */
-#if defined(UNIX) && !defined(unix)
-#define unix
-#endif /* UNIX && !unix */
-
 #ifdef HAVE_CONFIG_H
 
 # ifdef HAVE_LIMITS_H
diff --git a/WWW/Library/djgpp/makefile.sla b/WWW/Library/djgpp/makefile.sla
index 67e3171a..aa45ac45 100644
--- a/WWW/Library/djgpp/makefile.sla
+++ b/WWW/Library/djgpp/makefile.sla
@@ -8,7 +8,7 @@ WWW_MACH = djgpp
 #ASIS_MACH = hardware/os
 
 CFLAGS = -O3 -DUSE_SLANG -DUSE_ZLIB -DDOSPATH -DNOUSERS -DDISP_PARTIAL \
--DSOURCE_CACHE -DUSE_PSRC \
+-DDIRED_SUPPORT -DSOURCE_CACHE -DUSE_PSRC \
 -I../Implementation \
 -I../../../djgpp/tcplib/include \
 -I../../../djgpp/tcplib/include/tcp \
diff --git a/config.hin b/config.hin
index 35793042..b61aaabf 100644
--- a/config.hin
+++ b/config.hin
@@ -26,11 +26,13 @@
 #undef DONT_TRACK_INTERNAL_LINKS /* CF_ARG_DISABLE(internal-links) */
 #undef EBCDIC			/* CF_EBCDIC */
 #undef ENABLE_NLS		/* defined if NLS is requested */
+#undef ENABLE_OPTS_CHANGE_EXEC	/* CF_ARG_ENABLE(change-exec) */
 #undef EXEC_LINKS		/* CF_ARG_ENABLE(exec-links) */
 #undef EXEC_SCRIPTS		/* CF_ARG_ENABLE(exec-scripts) */
 #undef EXP_ADDRLIST_PAGE	/* CF_ARG_ENABLE(addrlist-page) */
 #undef EXP_ALT_BINDINGS		/* CF_ARG_ENABLE(alt-bindings) */
 #undef EXP_CHARTRANS_AUTOSWITCH	/* CF_ARG_ENABLE(font-switch) */
+#undef EXP_FILE_UPLOAD		/* CF_ARG_ENABLE(file-upload) */
 #undef EXP_KEYBOARD_LAYOUT	/* CF_ARG_ENABLE(kbd-layout) */
 #undef EXP_LIBJS		/* CF_ARG_ENABLE(libjs) */
 #undef EXP_PERSISTENT_COOKIES	/* CF_ARG_ENABLE(persistent-cookies) */
@@ -191,7 +193,6 @@
 #undef const
 #endif
 
-/* FIXME:ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
 /* FIXME:DECLARE_WAIS_LOGFILES */
 /* FIXME:DGUX */
 /* FIXME:DGUX_OLD */
diff --git a/configure b/configure
index a850ae90..f98da77a 100755
--- a/configure
+++ b/configure
@@ -210,10 +210,12 @@ Experimental Options:
   --enable-addrlist-page  use experimental address-list page
   --enable-color-style    use optional/experimental color style
   --enable-default-colors enable use of default-colors (ncurses/slang)
+  --enable-file-upload    use experimental file-upload support
   --enable-kbd-layout     use experimental keyboard-layout support
-  --enable-prettysrc      colorize HTML source
 EOF
 cat <<EOF
+  --enable-libjs          use experimental JavaScript support (Mozilla libjs)
+  --enable-prettysrc      colorize HTML source
   --enable-source-cache   cache HTML source for parse mode changes
 Miscellaneous Options:
   --disable-alt-bindings  disable alternative line-edit bindings
@@ -222,12 +224,13 @@ Miscellaneous Options:
   --enable-externs        use external commands
   --enable-font-switch    use Linux setfont for character-translation
   --enable-cgi-links      support cgi links w/o a http daemon
+  --enable-change-exec    allow users to change exec options
   --enable-exec-links     allow lynx to execute programs accessed via a link
+EOF
+cat <<EOF
   --enable-exec-scripts   allow lynx to execute programs inferred from a link
   --enable-internal-links handle following links to same doc differently
   --enable-nsl-fork       fork NSL requests, allowing them to be aborted
-EOF
-cat <<EOF
   --enable-syslog         log URL requests via syslog
   --disable-persistent-cookies  disable persistent-cookie support
   --enable-underlines     underline links rather than using boldface
@@ -237,11 +240,11 @@ cat <<EOF
   --disable-gopher        disable GOPHER logic
   --disable-news          disable NEWS logic
   --disable-ftp           disable FTP logic
+EOF
+cat <<EOF
 Directory Editor Options:
   --disable-dired          disable optional directory-editor, DirEd
   --disable-dired-archive  disable dearchiving commands
-EOF
-cat <<EOF
   --disable-dired-override disable private keymaps
   --disable-dired-permit  disable chmod/attrib commands
   --disable-dired-xpermit disable chmod/attrib commands
@@ -253,6 +256,8 @@ cat <<EOF
   --disable-parent-dir-refs
                           disable "Up-to" links in directory listings
 EOF
+cat <<EOF
+EOF
     exit 0 ;;
 
   -host | --host | --hos | --ho)
@@ -620,7 +625,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:624: checking host system type" >&5
+echo "configure:629: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -675,7 +680,7 @@ test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && ec
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:679: checking for $ac_word" >&5
+echo "configure:684: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -705,7 +710,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:709: checking for $ac_word" >&5
+echo "configure:714: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -756,7 +761,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:760: checking for $ac_word" >&5
+echo "configure:765: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -788,7 +793,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:792: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:797: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -799,12 +804,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 803 "configure"
+#line 808 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -830,12 +835,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:834: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:839: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:839: checking whether we are using GNU C" >&5
+echo "configure:844: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -844,7 +849,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -863,7 +868,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:867: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:872: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -895,7 +900,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:899: checking how to run the C preprocessor" >&5
+echo "configure:904: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -910,13 +915,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 914 "configure"
+#line 919 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:920: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -927,13 +932,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 931 "configure"
+#line 936 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:942: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -944,13 +949,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 948 "configure"
+#line 953 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -974,10 +979,31 @@ else
 fi
 echo "$ac_t""$CPP" 1>&6
 
+echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
+echo "configure:984: checking whether ln -s works" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  rm -f conftestdata
+if ln -s X conftestdata 2>/dev/null
+then
+  rm -f conftestdata
+  ac_cv_prog_LN_S="ln -s"
+else
+  ac_cv_prog_LN_S=ln
+fi
+fi
+LN_S="$ac_cv_prog_LN_S"
+if test "$ac_cv_prog_LN_S" = "ln -s"; then
+  echo "$ac_t""yes" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:981: checking for $ac_word" >&5
+echo "configure:1007: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1005,7 +1031,7 @@ else
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:1009: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1035: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1043,7 +1069,7 @@ fi
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1047: checking for a BSD compatible install" >&5
+echo "configure:1073: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1100,7 +1126,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1104: checking for $ac_word" >&5
+echo "configure:1130: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1131,9 +1157,9 @@ done
 
 
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1135: checking for AIX" >&5
+echo "configure:1161: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1137 "configure"
+#line 1163 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -1155,7 +1181,7 @@ rm -f conftest*
 
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1159: checking for POSIXized ISC" >&5
+echo "configure:1185: checking for POSIXized ISC" >&5
 if test -d /etc/conf/kconfig.d &&
   grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
 then
@@ -1181,7 +1207,7 @@ fi
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:1185: checking if you want to see long compiling messages" >&5
+echo "configure:1211: checking if you want to see long compiling messages" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -1229,7 +1255,7 @@ fi
 
 
 echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6
-echo "configure:1233: checking if you want to check memory-leaks" >&5
+echo "configure:1259: checking if you want to check memory-leaks" >&5
 
 # Check whether --enable-find-leaks or --disable-find-leaks was given.
 if test "${enable_find_leaks+set}" = set; then
@@ -1253,7 +1279,7 @@ EOF
 
 
 echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6
-echo "configure:1257: checking if you want to enable debug-code" >&5
+echo "configure:1283: checking if you want to enable debug-code" >&5
 
 # Check whether --enable-debug or --disable-debug was given.
 if test "${enable_debug+set}" = set; then
@@ -1295,7 +1321,7 @@ else
 fi
 
 echo $ac_n "checking if you want to enable lynx trace code *recommended* ""... $ac_c" 1>&6
-echo "configure:1299: checking if you want to enable lynx trace code *recommended* " >&5
+echo "configure:1325: checking if you want to enable lynx trace code *recommended* " >&5
 
 # Check whether --enable-trace or --disable-trace was given.
 if test "${enable_trace+set}" = set; then
@@ -1321,7 +1347,7 @@ EOF
 if test -n "$GCC"
 then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:1325: checking if you want to turn on gcc warnings" >&5
+echo "configure:1351: checking if you want to turn on gcc warnings" >&5
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
@@ -1361,9 +1387,9 @@ EOF
 if test -n "$GCC"
 then
 	echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:1365: checking for gcc __attribute__ directives" >&5
+echo "configure:1391: checking for gcc __attribute__ directives" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 1367 "configure"
+#line 1393 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -1401,7 +1427,7 @@ EOF
 EOF
 			;;
 		esac
-		if { (eval echo configure:1405: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:1431: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
 			test -n "$verbose" && echo "$ac_t""... $cf_attribute" 1>&6
 			cat conftest.h >>confdefs.h
 #		else
@@ -1418,11 +1444,11 @@ fi
 if test -n "$GCC"
 then
 		cat > conftest.$ac_ext <<EOF
-#line 1422 "configure"
+#line 1448 "configure"
 int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; }
 EOF
 		echo "checking for gcc warning options" 1>&6
-echo "configure:1426: checking for gcc warning options" >&5
+echo "configure:1452: checking for gcc warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-W -Wall"
 	cf_warn_CONST=""
@@ -1440,7 +1466,7 @@ echo "configure:1426: checking for gcc warning options" >&5
 		Wstrict-prototypes $cf_warn_CONST
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:1444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:1470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
 			test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
 			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
 			test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
@@ -1458,12 +1484,12 @@ fi
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1462: checking for ANSI C header files" >&5
+echo "configure:1488: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1467 "configure"
+#line 1493 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1471,7 +1497,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1475: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -1488,7 +1514,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1492 "configure"
+#line 1518 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1506,7 +1532,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 1510 "configure"
+#line 1536 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1527,7 +1553,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1531 "configure"
+#line 1557 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1538,7 +1564,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:1542: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1562,12 +1588,12 @@ EOF
 fi
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1566: checking for working const" >&5
+echo "configure:1592: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1571 "configure"
+#line 1597 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1616,7 +1642,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:1620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1646: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1637,21 +1663,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1641: checking for inline" >&5
+echo "configure:1667: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 1648 "configure"
+#line 1674 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1655: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1677,12 +1703,12 @@ EOF
 esac
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1681: checking for off_t" >&5
+echo "configure:1707: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1686 "configure"
+#line 1712 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1710,12 +1736,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1714: checking for size_t" >&5
+echo "configure:1740: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1719 "configure"
+#line 1745 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1745,19 +1771,19 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1749: checking for working alloca.h" >&5
+echo "configure:1775: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1754 "configure"
+#line 1780 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:1761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1787: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -1778,12 +1804,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1782: checking for alloca" >&5
+echo "configure:1808: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1787 "configure"
+#line 1813 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -1811,7 +1837,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:1815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -1843,12 +1869,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1847: checking whether alloca needs Cray hooks" >&5
+echo "configure:1873: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1852 "configure"
+#line 1878 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -1873,12 +1899,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1877: checking for $ac_func" >&5
+echo "configure:1903: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1882 "configure"
+#line 1908 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1901,7 +1927,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -1928,7 +1954,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1932: checking stack direction for C alloca" >&5
+echo "configure:1958: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1936,7 +1962,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 1940 "configure"
+#line 1966 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -1955,7 +1981,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:1959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -1980,17 +2006,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1984: checking for $ac_hdr" >&5
+echo "configure:2010: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 1989 "configure"
+#line 2015 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2020: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2019,12 +2045,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2023: checking for $ac_func" >&5
+echo "configure:2049: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2028 "configure"
+#line 2054 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2047,7 +2073,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2077: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2072,7 +2098,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2076: checking for working mmap" >&5
+echo "configure:2102: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2080,7 +2106,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2084 "configure"
+#line 2110 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2220,7 +2246,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -2248,17 +2274,17 @@ unistd.h values.h sys/param.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2252: checking for $ac_hdr" >&5
+echo "configure:2278: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2257 "configure"
+#line 2283 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2262: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2288: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2288,12 +2314,12 @@ done
 __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2292: checking for $ac_func" >&5
+echo "configure:2318: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2297 "configure"
+#line 2323 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2316,7 +2342,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2345,12 +2371,12 @@ done
      for ac_func in stpcpy
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2349: checking for $ac_func" >&5
+echo "configure:2375: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2354 "configure"
+#line 2380 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2373,7 +2399,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2407,19 +2433,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2411: checking for LC_MESSAGES" >&5
+echo "configure:2437: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2416 "configure"
+#line 2442 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:2423: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -2440,7 +2466,7 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:2444: checking whether NLS is requested" >&5
+echo "configure:2470: checking whether NLS is requested" >&5
         
 # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
@@ -2461,7 +2487,7 @@ fi
 EOF
 
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:2465: checking whether included gettext is requested" >&5
+echo "configure:2491: checking whether included gettext is requested" >&5
       
 # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
@@ -2481,17 +2507,17 @@ fi
 
 	ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:2485: checking for libintl.h" >&5
+echo "configure:2511: checking for libintl.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2490 "configure"
+#line 2516 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2521: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2508,19 +2534,19 @@ fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:2512: checking for gettext in libc" >&5
+echo "configure:2538: checking for gettext in libc" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2517 "configure"
+#line 2543 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:2524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gettext_libc=yes
 else
@@ -2536,7 +2562,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
 
 	   if test "$gt_cv_func_gettext_libc" != "yes"; then
 	     echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:2540: checking for bindtextdomain in -lintl" >&5
+echo "configure:2566: checking for bindtextdomain in -lintl" >&5
 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2544,7 +2570,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2548 "configure"
+#line 2574 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2555,7 +2581,7 @@ int main() {
 bindtextdomain()
 ; return 0; }
 EOF
-if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2571,19 +2597,19 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:2575: checking for gettext in libintl" >&5
+echo "configure:2601: checking for gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2580 "configure"
+#line 2606 "configure"
 #include "confdefs.h"
 
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:2587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gettext_libintl=yes
 else
@@ -2611,7 +2637,7 @@ EOF
 	      # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2615: checking for $ac_word" >&5
+echo "configure:2641: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2645,12 +2671,12 @@ fi
 		for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2649: checking for $ac_func" >&5
+echo "configure:2675: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2654 "configure"
+#line 2680 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2673,7 +2699,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2700,7 +2726,7 @@ done
 		# Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2704: checking for $ac_word" >&5
+echo "configure:2730: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2736,7 +2762,7 @@ fi
 		# Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2740: checking for $ac_word" >&5
+echo "configure:2766: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2768,7 +2794,7 @@ else
 fi
 
 		cat > conftest.$ac_ext <<EOF
-#line 2772 "configure"
+#line 2798 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2776,7 +2802,7 @@ extern int _nl_msg_cat_cntr;
 			       return _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:2780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   CATOBJEXT=.gmo
 		   DATADIRNAME=share
@@ -2799,7 +2825,7 @@ fi
 
         if test "$CATOBJEXT" = "NONE"; then
 	  echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:2803: checking whether catgets can be used" >&5
+echo "configure:2829: checking whether catgets can be used" >&5
 	  
 # Check whether --with-catgets or --without-catgets was given.
 if test "${with_catgets+set}" = set; then
@@ -2813,7 +2839,7 @@ fi
 
 	  if test "$nls_cv_use_catgets" = "yes"; then
 	    	    echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:2817: checking for main in -li" >&5
+echo "configure:2843: checking for main in -li" >&5
 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2821,14 +2847,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-li  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2825 "configure"
+#line 2851 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:2832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2856,12 +2882,12 @@ else
 fi
 
 	    echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:2860: checking for catgets" >&5
+echo "configure:2886: checking for catgets" >&5
 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2865 "configure"
+#line 2891 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char catgets(); below.  */
@@ -2884,7 +2910,7 @@ catgets();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_catgets=yes"
 else
@@ -2906,7 +2932,7 @@ EOF
 	       # Extract the first word of "gencat", so it can be a program name with args.
 set dummy gencat; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2910: checking for $ac_word" >&5
+echo "configure:2936: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2942,7 +2968,7 @@ fi
 		 # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2946: checking for $ac_word" >&5
+echo "configure:2972: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2979,7 +3005,7 @@ fi
 		   # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2983: checking for $ac_word" >&5
+echo "configure:3009: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3014,7 +3040,7 @@ fi
 		 # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3018: checking for $ac_word" >&5
+echo "configure:3044: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3072,7 +3098,7 @@ fi
         # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3076: checking for $ac_word" >&5
+echo "configure:3102: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3106,7 +3132,7 @@ fi
         # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3110: checking for $ac_word" >&5
+echo "configure:3136: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3142,7 +3168,7 @@ fi
         # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3146: checking for $ac_word" >&5
+echo "configure:3172: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3232,7 +3258,7 @@ fi
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:3236: checking for catalogs to be installed" >&5
+echo "configure:3262: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
          case "$ALL_LINGUAS" in
@@ -3261,17 +3287,17 @@ echo "configure:3236: checking for catalogs to be installed" >&5
      if test "$CATOBJEXT" = ".cat"; then
        ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:3265: checking for linux/version.h" >&5
+echo "configure:3291: checking for linux/version.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3270 "configure"
+#line 3296 "configure"
 #include "confdefs.h"
 #include <linux/version.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3275: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3301: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3383,7 +3409,7 @@ SUB_MAKEFILE=
 use_our_messages=no
 if test -d $srcdir/po ; then
 echo $ac_n "checking if we should use included message-library""... $ac_c" 1>&6
-echo "configure:3387: checking if we should use included message-library" >&5
+echo "configure:3413: checking if we should use included message-library" >&5
 	
 # Check whether --enable-included-msgs or --disable-included-msgs was given.
 if test "${enable_included_msgs+set}" = set; then
@@ -3419,17 +3445,17 @@ elif test "$USE_NLS" = yes ; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3423: checking for $ac_hdr" >&5
+echo "configure:3449: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3428 "configure"
+#line 3454 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3433: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3499,7 +3525,7 @@ EOF
 fi
 
 echo $ac_n "checking if you want full utility pathnames""... $ac_c" 1>&6
-echo "configure:3503: checking if you want full utility pathnames" >&5
+echo "configure:3529: checking if you want full utility pathnames" >&5
 
 # Check whether --enable-full-paths or --disable-full-paths was given.
 if test "${enable_full_paths+set}" = set; then
@@ -3524,7 +3550,7 @@ EOF
 
 
 echo $ac_n "checking for system mailer""... $ac_c" 1>&6
-echo "configure:3528: checking for system mailer" >&5
+echo "configure:3554: checking for system mailer" >&5
 if eval "test \"`echo '$''{'cf_cv_SYSTEM_MAIL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3551,7 +3577,7 @@ EOF
 
 
 echo $ac_n "checking system mail flags""... $ac_c" 1>&6
-echo "configure:3555: checking system mail flags" >&5
+echo "configure:3581: checking system mail flags" >&5
 if eval "test \"`echo '$''{'cf_cv_system_mail_flags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3579,7 +3605,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "chmod", so it can be a program name with args.
 set dummy chmod; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3583: checking for $ac_word" >&5
+echo "configure:3609: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3614,7 +3640,7 @@ fi
 
 else
 	echo $ac_n "checking for chmod""... $ac_c" 1>&6
-echo "configure:3618: checking for chmod" >&5
+echo "configure:3644: checking for chmod" >&5
 	echo "$ac_t""$CHMOD" 1>&6
 	eval 'ac_cv_path_'CHMOD'="'chmod'"'
 fi
@@ -3656,7 +3682,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "compress", so it can be a program name with args.
 set dummy compress; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3660: checking for $ac_word" >&5
+echo "configure:3686: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_COMPRESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3691,7 +3717,7 @@ fi
 
 else
 	echo $ac_n "checking for compress""... $ac_c" 1>&6
-echo "configure:3695: checking for compress" >&5
+echo "configure:3721: checking for compress" >&5
 	echo "$ac_t""$COMPRESS" 1>&6
 	eval 'ac_cv_path_'COMPRESS'="'compress'"'
 fi
@@ -3733,7 +3759,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "cp", so it can be a program name with args.
 set dummy cp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3737: checking for $ac_word" >&5
+echo "configure:3763: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_COPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3768,7 +3794,7 @@ fi
 
 else
 	echo $ac_n "checking for cp""... $ac_c" 1>&6
-echo "configure:3772: checking for cp" >&5
+echo "configure:3798: checking for cp" >&5
 	echo "$ac_t""$COPY" 1>&6
 	eval 'ac_cv_path_'COPY'="'cp'"'
 fi
@@ -3810,7 +3836,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "gzip", so it can be a program name with args.
 set dummy gzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3814: checking for $ac_word" >&5
+echo "configure:3840: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3845,7 +3871,7 @@ fi
 
 else
 	echo $ac_n "checking for gzip""... $ac_c" 1>&6
-echo "configure:3849: checking for gzip" >&5
+echo "configure:3875: checking for gzip" >&5
 	echo "$ac_t""$GZIP" 1>&6
 	eval 'ac_cv_path_'GZIP'="'gzip'"'
 fi
@@ -3887,7 +3913,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "mkdir", so it can be a program name with args.
 set dummy mkdir; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3891: checking for $ac_word" >&5
+echo "configure:3917: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3922,7 +3948,7 @@ fi
 
 else
 	echo $ac_n "checking for mkdir""... $ac_c" 1>&6
-echo "configure:3926: checking for mkdir" >&5
+echo "configure:3952: checking for mkdir" >&5
 	echo "$ac_t""$MKDIR" 1>&6
 	eval 'ac_cv_path_'MKDIR'="'mkdir'"'
 fi
@@ -3964,7 +3990,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3968: checking for $ac_word" >&5
+echo "configure:3994: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3999,7 +4025,7 @@ fi
 
 else
 	echo $ac_n "checking for mv""... $ac_c" 1>&6
-echo "configure:4003: checking for mv" >&5
+echo "configure:4029: checking for mv" >&5
 	echo "$ac_t""$MV" 1>&6
 	eval 'ac_cv_path_'MV'="'mv'"'
 fi
@@ -4041,7 +4067,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4045: checking for $ac_word" >&5
+echo "configure:4071: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4076,7 +4102,7 @@ fi
 
 else
 	echo $ac_n "checking for rm""... $ac_c" 1>&6
-echo "configure:4080: checking for rm" >&5
+echo "configure:4106: checking for rm" >&5
 	echo "$ac_t""$RM" 1>&6
 	eval 'ac_cv_path_'RM'="'rm'"'
 fi
@@ -4118,7 +4144,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "tar", so it can be a program name with args.
 set dummy tar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4122: checking for $ac_word" >&5
+echo "configure:4148: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4153,7 +4179,7 @@ fi
 
 else
 	echo $ac_n "checking for tar""... $ac_c" 1>&6
-echo "configure:4157: checking for tar" >&5
+echo "configure:4183: checking for tar" >&5
 	echo "$ac_t""$TAR" 1>&6
 	eval 'ac_cv_path_'TAR'="'tar'"'
 fi
@@ -4195,7 +4221,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "touch", so it can be a program name with args.
 set dummy touch; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4199: checking for $ac_word" >&5
+echo "configure:4225: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TOUCH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4230,7 +4256,7 @@ fi
 
 else
 	echo $ac_n "checking for touch""... $ac_c" 1>&6
-echo "configure:4234: checking for touch" >&5
+echo "configure:4260: checking for touch" >&5
 	echo "$ac_t""$TOUCH" 1>&6
 	eval 'ac_cv_path_'TOUCH'="'touch'"'
 fi
@@ -4272,7 +4298,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "gunzip", so it can be a program name with args.
 set dummy gunzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4276: checking for $ac_word" >&5
+echo "configure:4302: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UNCOMPRESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4307,7 +4333,7 @@ fi
 
 else
 	echo $ac_n "checking for gunzip""... $ac_c" 1>&6
-echo "configure:4311: checking for gunzip" >&5
+echo "configure:4337: checking for gunzip" >&5
 	echo "$ac_t""$UNCOMPRESS" 1>&6
 	eval 'ac_cv_path_'UNCOMPRESS'="'gunzip'"'
 fi
@@ -4349,7 +4375,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "unzip", so it can be a program name with args.
 set dummy unzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4353: checking for $ac_word" >&5
+echo "configure:4379: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UNZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4384,7 +4410,7 @@ fi
 
 else
 	echo $ac_n "checking for unzip""... $ac_c" 1>&6
-echo "configure:4388: checking for unzip" >&5
+echo "configure:4414: checking for unzip" >&5
 	echo "$ac_t""$UNZIP" 1>&6
 	eval 'ac_cv_path_'UNZIP'="'unzip'"'
 fi
@@ -4426,7 +4452,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "bzip2", so it can be a program name with args.
 set dummy bzip2; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4430: checking for $ac_word" >&5
+echo "configure:4456: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BZIP2'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4461,7 +4487,7 @@ fi
 
 else
 	echo $ac_n "checking for bzip2""... $ac_c" 1>&6
-echo "configure:4465: checking for bzip2" >&5
+echo "configure:4491: checking for bzip2" >&5
 	echo "$ac_t""$BZIP2" 1>&6
 	eval 'ac_cv_path_'BZIP2'="'bzip2'"'
 fi
@@ -4503,7 +4529,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "uudecode", so it can be a program name with args.
 set dummy uudecode; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4507: checking for $ac_word" >&5
+echo "configure:4533: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UUDECODE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4538,7 +4564,7 @@ fi
 
 else
 	echo $ac_n "checking for uudecode""... $ac_c" 1>&6
-echo "configure:4542: checking for uudecode" >&5
+echo "configure:4568: checking for uudecode" >&5
 	echo "$ac_t""$UUDECODE" 1>&6
 	eval 'ac_cv_path_'UUDECODE'="'uudecode'"'
 fi
@@ -4580,7 +4606,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "zcat", so it can be a program name with args.
 set dummy zcat; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4584: checking for $ac_word" >&5
+echo "configure:4610: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_ZCAT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4615,7 +4641,7 @@ fi
 
 else
 	echo $ac_n "checking for zcat""... $ac_c" 1>&6
-echo "configure:4619: checking for zcat" >&5
+echo "configure:4645: checking for zcat" >&5
 	echo "$ac_t""$ZCAT" 1>&6
 	eval 'ac_cv_path_'ZCAT'="'zcat'"'
 fi
@@ -4657,7 +4683,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "zip", so it can be a program name with args.
 set dummy zip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4661: checking for $ac_word" >&5
+echo "configure:4687: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_ZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4692,7 +4718,7 @@ fi
 
 else
 	echo $ac_n "checking for zip""... $ac_c" 1>&6
-echo "configure:4696: checking for zip" >&5
+echo "configure:4722: checking for zip" >&5
 	echo "$ac_t""$ZIP" 1>&6
 	eval 'ac_cv_path_'ZIP'="'zip'"'
 fi
@@ -4734,7 +4760,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "telnet", so it can be a program name with args.
 set dummy telnet; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4738: checking for $ac_word" >&5
+echo "configure:4764: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TELNET'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4769,7 +4795,7 @@ fi
 
 else
 	echo $ac_n "checking for telnet""... $ac_c" 1>&6
-echo "configure:4773: checking for telnet" >&5
+echo "configure:4799: checking for telnet" >&5
 	echo "$ac_t""$TELNET" 1>&6
 	eval 'ac_cv_path_'TELNET'="'telnet'"'
 fi
@@ -4811,7 +4837,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "tn3270", so it can be a program name with args.
 set dummy tn3270; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4815: checking for $ac_word" >&5
+echo "configure:4841: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TN3270'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4846,7 +4872,7 @@ fi
 
 else
 	echo $ac_n "checking for tn3270""... $ac_c" 1>&6
-echo "configure:4850: checking for tn3270" >&5
+echo "configure:4876: checking for tn3270" >&5
 	echo "$ac_t""$TN3270" 1>&6
 	eval 'ac_cv_path_'TN3270'="'tn3270'"'
 fi
@@ -4888,7 +4914,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "rlogin", so it can be a program name with args.
 set dummy rlogin; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4892: checking for $ac_word" >&5
+echo "configure:4918: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_RLOGIN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4923,7 +4949,7 @@ fi
 
 else
 	echo $ac_n "checking for rlogin""... $ac_c" 1>&6
-echo "configure:4927: checking for rlogin" >&5
+echo "configure:4953: checking for rlogin" >&5
 	echo "$ac_t""$RLOGIN" 1>&6
 	eval 'ac_cv_path_'RLOGIN'="'rlogin'"'
 fi
@@ -4984,7 +5010,7 @@ EOF
 if test -z "$GCC" ; then
 	
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:4988: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:5014: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5008,7 +5034,7 @@ for cf_arg in "-DCC_HAS_PROTOS" \
 do
 	CFLAGS="$cf_save_CFLAGS $cf_arg"
 	cat > conftest.$ac_ext <<EOF
-#line 5012 "configure"
+#line 5038 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -5024,7 +5050,7 @@ int main() {
 	struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:5028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -5052,12 +5078,12 @@ fi
 
 fi
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5056: checking for working const" >&5
+echo "configure:5082: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5061 "configure"
+#line 5087 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -5106,7 +5132,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:5110: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -5148,7 +5174,7 @@ clix*)
 	# contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil) also
 	# references -lmalloc and -lbsd.
 	echo $ac_n "checking for strcmp in -lc_s""... $ac_c" 1>&6
-echo "configure:5152: checking for strcmp in -lc_s" >&5
+echo "configure:5178: checking for strcmp in -lc_s" >&5
 ac_lib_var=`echo c_s'_'strcmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5156,7 +5182,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5160 "configure"
+#line 5186 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5167,7 +5193,7 @@ int main() {
 strcmp()
 ; return 0; }
 EOF
-if { (eval echo configure:5171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5257,7 +5283,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5261: checking for $ac_word" >&5
+echo "configure:5287: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5302,17 +5328,17 @@ sony-newsos*)
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5306: checking for $ac_hdr" >&5
+echo "configure:5332: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5311 "configure"
+#line 5337 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5316: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5342: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5356,17 +5382,17 @@ ultrix*)
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5360: checking for $ac_hdr" >&5
+echo "configure:5386: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5365 "configure"
+#line 5391 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5404,16 +5430,16 @@ if test -n "$TRY_CFLAGS" ; then
 	cf_save_CFLAGS="$CFLAGS"
 	CFLAGS="$CFLAGS $TRY_CFLAGS"
 	echo $ac_n "checking if we should use compile options $TRY_CFLAGS""... $ac_c" 1>&6
-echo "configure:5408: checking if we should use compile options $TRY_CFLAGS" >&5
+echo "configure:5434: checking if we should use compile options $TRY_CFLAGS" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 5410 "configure"
+#line 5436 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 FILE *fp = stdin
 ; return 0; }
 EOF
-if { (eval echo configure:5417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -5431,7 +5457,7 @@ fi
 ### Look for network libraries first, since some functions (such as gethostname)
 ### are used in a lot of places.
 echo $ac_n "checking if you want socks library""... $ac_c" 1>&6
-echo "configure:5435: checking if you want socks library" >&5
+echo "configure:5461: checking if you want socks library" >&5
 if eval "test \"`echo '$''{'cf_cv_use_libsocks'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5451,7 +5477,7 @@ fi
 echo "$ac_t""$cf_cv_use_libsocks" 1>&6
 
 echo $ac_n "checking if you want socks5 library""... $ac_c" 1>&6
-echo "configure:5455: checking if you want socks5 library" >&5
+echo "configure:5481: checking if you want socks5 library" >&5
 if eval "test \"`echo '$''{'cf_cv_use_libsocks5'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5517,7 +5543,7 @@ cat >> confdefs.h <<\EOF
 EOF
 
 cat > conftest.$ac_ext <<EOF
-#line 5521 "configure"
+#line 5547 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5526,7 +5552,7 @@ int main() {
 	accept((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -5556,9 +5582,9 @@ cat >> confdefs.h <<\EOF
 EOF
 
 echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6
-echo "configure:5560: checking if the socks library uses socks4 prefix" >&5
+echo "configure:5586: checking if the socks library uses socks4 prefix" >&5
 cat > conftest.$ac_ext <<EOF
-#line 5562 "configure"
+#line 5588 "configure"
 #include "confdefs.h"
 
 #include <socks.h>
@@ -5567,7 +5593,7 @@ int main() {
 	Rinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define USE_SOCKS4_PREFIX 1
@@ -5579,14 +5605,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5583 "configure"
+#line 5609 "configure"
 #include "confdefs.h"
 #include <socks.h>
 int main() {
 SOCKSinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_use_socks4=no
 else
@@ -5655,7 +5681,7 @@ else
 	
 cf_test_netlibs=no
 echo $ac_n "checking for network libraries""... $ac_c" 1>&6
-echo "configure:5659: checking for network libraries" >&5
+echo "configure:5685: checking for network libraries" >&5
 if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5666,12 +5692,12 @@ cf_test_netlibs=yes
 for ac_func in gethostname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5670: checking for $ac_func" >&5
+echo "configure:5696: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5675 "configure"
+#line 5701 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5694,7 +5720,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5717,7 +5743,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:5721: checking for gethostname in -lnsl" >&5
+echo "configure:5747: checking for gethostname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5725,7 +5751,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5729 "configure"
+#line 5755 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5736,7 +5762,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:5740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5769,7 +5795,7 @@ else
 	
 		
 echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:5773: checking for gethostname in -lsocket" >&5
+echo "configure:5799: checking for gethostname in -lsocket" >&5
 ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5777,7 +5803,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5781 "configure"
+#line 5807 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5788,7 +5814,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:5792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5832,21 +5858,21 @@ done
 # FIXME:  sequent needs this library (i.e., -lsocket -linet -lnsl), but
 # I don't know the entrypoints - 97/7/22 TD
 echo $ac_n "checking for -linet""... $ac_c" 1>&6
-echo "configure:5836: checking for -linet" >&5
+echo "configure:5862: checking for -linet" >&5
 if eval "test \"`echo '$''{'ac_cv_lib_inet'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5843 "configure"
+#line 5869 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5850: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_inet=yes
 else
@@ -5869,12 +5895,12 @@ if test "$ac_cv_func_lsocket" != no ; then
 for ac_func in socket
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5873: checking for $ac_func" >&5
+echo "configure:5899: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5878 "configure"
+#line 5904 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5897,7 +5923,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5920,7 +5946,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:5924: checking for socket in -lsocket" >&5
+echo "configure:5950: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5928,7 +5954,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5932 "configure"
+#line 5958 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5939,7 +5965,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:5943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5972,7 +5998,7 @@ else
 	
 		
 echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
-echo "configure:5976: checking for socket in -lbsd" >&5
+echo "configure:6002: checking for socket in -lbsd" >&5
 ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5980,7 +6006,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5984 "configure"
+#line 6010 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5991,7 +6017,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:5995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6036,12 +6062,12 @@ fi
 for ac_func in gethostbyname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6040: checking for $ac_func" >&5
+echo "configure:6066: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6045 "configure"
+#line 6071 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6064,7 +6090,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6087,7 +6113,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:6091: checking for gethostbyname in -lnsl" >&5
+echo "configure:6117: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6095,7 +6121,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6099 "configure"
+#line 6125 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6106,7 +6132,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:6110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6147,12 +6173,12 @@ done
 for ac_func in strcasecmp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6151: checking for $ac_func" >&5
+echo "configure:6177: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6156 "configure"
+#line 6182 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6175,7 +6201,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6198,7 +6224,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:6202: checking for strcasecmp in -lresolv" >&5
+echo "configure:6228: checking for strcasecmp in -lresolv" >&5
 ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6206,7 +6232,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6210 "configure"
+#line 6236 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6217,7 +6243,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:6221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6263,13 +6289,13 @@ test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
 fi
 
 echo $ac_n "checking for inet_aton function""... $ac_c" 1>&6
-echo "configure:6267: checking for inet_aton function" >&5
+echo "configure:6293: checking for inet_aton function" >&5
 if eval "test \"`echo '$''{'cf_cv_have_inet_aton'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 6273 "configure"
+#line 6299 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6280,7 +6306,7 @@ int main() {
 inet_aton(0, (struct in_addr *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:6284: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_inet_aton=yes
 else
@@ -6300,13 +6326,13 @@ EOF
 
 else
     echo $ac_n "checking for inet_addr function""... $ac_c" 1>&6
-echo "configure:6304: checking for inet_addr function" >&5
+echo "configure:6330: checking for inet_addr function" >&5
 if eval "test \"`echo '$''{'cf_cv_have_inet_addr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 6310 "configure"
+#line 6336 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6317,7 +6343,7 @@ int main() {
 inet_addr(0)
 ; return 0; }
 EOF
-if { (eval echo configure:6321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6347: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_inet_addr=yes
 else
@@ -6332,7 +6358,7 @@ fi
 echo "$ac_t""$cf_cv_have_inet_addr" 1>&6
     if test "$cf_cv_have_inet_addr" = no ; then
 	echo $ac_n "checking for library with inet_addr""... $ac_c" 1>&6
-echo "configure:6336: checking for library with inet_addr" >&5
+echo "configure:6362: checking for library with inet_addr" >&5
 if eval "test \"`echo '$''{'cf_cv_lib_inet_addr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6342,7 +6368,7 @@ else
 	    do
 		LIBS="$cf_save_LIBS $cf_inetlib"
 		cat > conftest.$ac_ext <<EOF
-#line 6346 "configure"
+#line 6372 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6353,7 +6379,7 @@ int main() {
 inet_addr(0)
 ; return 0; }
 EOF
-if { (eval echo configure:6357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_lib_inet_addr=$cf_inetlib
 else
@@ -6380,7 +6406,7 @@ fi
 
 
 echo $ac_n "checking for screen type""... $ac_c" 1>&6
-echo "configure:6384: checking for screen type" >&5
+echo "configure:6410: checking for screen type" >&5
 if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6415,12 +6441,12 @@ case $cf_cv_screen in
 curses)
 	
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:6419: checking for initscr" >&5
+echo "configure:6445: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6424 "configure"
+#line 6450 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -6443,7 +6469,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -6464,7 +6490,7 @@ else
 case $host_os in #(vi
 freebsd*) #(vi
 	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:6468: checking for tgoto in -lmytinfo" >&5
+echo "configure:6494: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6472,7 +6498,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6476 "configure"
+#line 6502 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6483,7 +6509,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:6487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6506,7 +6532,7 @@ fi
 	;;
 hpux10.*)
 	echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
-echo "configure:6510: checking for initscr in -lcur_colr" >&5
+echo "configure:6536: checking for initscr in -lcur_colr" >&5
 ac_lib_var=`echo cur_colr'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6514,7 +6540,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcur_colr  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6518 "configure"
+#line 6544 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6525,7 +6551,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6549,7 +6575,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
-echo "configure:6553: checking for initscr in -lHcurses" >&5
+echo "configure:6579: checking for initscr in -lHcurses" >&5
 ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6557,7 +6583,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lHcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6561 "configure"
+#line 6587 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6568,7 +6594,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6617,12 +6643,12 @@ if test ".$ac_cv_func_initscr" != .yes ; then
 	# Check for library containing tgoto.  Do this before curses library
 	# because it may be needed to link the test-case for initscr.
 	echo $ac_n "checking for tgoto""... $ac_c" 1>&6
-echo "configure:6621: checking for tgoto" >&5
+echo "configure:6647: checking for tgoto" >&5
 if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6626 "configure"
+#line 6652 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char tgoto(); below.  */
@@ -6645,7 +6671,7 @@ tgoto();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_tgoto=yes"
 else
@@ -6666,7 +6692,7 @@ else
 		for cf_term_lib in termcap termlib unknown
 		do
 			echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
-echo "configure:6670: checking for tgoto in -l$cf_term_lib" >&5
+echo "configure:6696: checking for tgoto in -l$cf_term_lib" >&5
 ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6674,7 +6700,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_term_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6678 "configure"
+#line 6704 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6685,7 +6711,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:6689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6715: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6715,7 +6741,7 @@ fi
 	for cf_curs_lib in cursesX curses ncurses xcurses jcurses unknown
 	do
 		echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
-echo "configure:6719: checking for initscr in -l$cf_curs_lib" >&5
+echo "configure:6745: checking for initscr in -l$cf_curs_lib" >&5
 ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6723,7 +6749,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_curs_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6727 "configure"
+#line 6753 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -6734,7 +6760,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -6760,16 +6786,16 @@ fi
 	LIBS="-l$cf_curs_lib $cf_save_LIBS"
 	if test "$cf_term_lib" = unknown ; then
 		echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
-echo "configure:6764: checking if we can link with $cf_curs_lib library" >&5
+echo "configure:6790: checking if we can link with $cf_curs_lib library" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 6766 "configure"
+#line 6792 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -6783,16 +6809,16 @@ rm -f conftest*
 		test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
 	elif test "$cf_term_lib" != predefined ; then
 		echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
-echo "configure:6787: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+echo "configure:6813: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 6789 "configure"
+#line 6815 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:6796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=no
 else
@@ -6802,14 +6828,14 @@ else
   
 			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
 			cat > conftest.$ac_ext <<EOF
-#line 6806 "configure"
+#line 6832 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -6831,14 +6857,14 @@ fi
 
 	
 echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6
-echo "configure:6835: checking for curses performance tradeoff" >&5
+echo "configure:6861: checking for curses performance tradeoff" >&5
 if eval "test \"`echo '$''{'cf_cv_curs_performance'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cf_cv_curs_performance=no
     cat > conftest.$ac_ext <<EOF
-#line 6842 "configure"
+#line 6868 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -6852,11 +6878,11 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6856: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 6860 "configure"
+#line 6886 "configure"
 #include "confdefs.h"
 
 #define CURS_PERFORMANCE
@@ -6871,7 +6897,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6875: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6901: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_curs_performance=yes
 else
@@ -6896,13 +6922,13 @@ EOF
 ncurses)
 	
 echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6
-echo "configure:6900: checking for ncurses header file" >&5
+echo "configure:6926: checking for ncurses header file" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6906 "configure"
+#line 6932 "configure"
 #include "confdefs.h"
 #include <curses.h>
 int main() {
@@ -6919,7 +6945,7 @@ make an error
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6923: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6949: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_header=predefined
 else
@@ -7005,7 +7031,7 @@ done
 	;;
 esac
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:7009: checking for ncurses version" >&5
+echo "configure:7035: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7030,7 +7056,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:7034: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:7060: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -7039,7 +7065,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 7043 "configure"
+#line 7069 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7062,7 +7088,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:7066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -7087,7 +7113,7 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:7091: checking for Gpm_Open in -lgpm" >&5
+echo "configure:7117: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7095,7 +7121,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7099 "configure"
+#line 7125 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7106,7 +7132,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:7110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7122,7 +7148,7 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
-echo "configure:7126: checking for initscr in -lgpm" >&5
+echo "configure:7152: checking for initscr in -lgpm" >&5
 ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7130,7 +7156,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7134 "configure"
+#line 7160 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7141,7 +7167,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7172,7 +7198,7 @@ freebsd*)
 	# This is only necessary if you are linking against an obsolete
 	# version of ncurses (but it should do no harm, since it's static).
 	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:7176: checking for tgoto in -lmytinfo" >&5
+echo "configure:7202: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7180,7 +7206,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7184 "configure"
+#line 7210 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7191,7 +7217,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7219,12 +7245,12 @@ LIBS="$cf_ncurses_LIBS $LIBS"
 	cf_cv_have_lib_ncurses=no
 	cf_libdir=""
 	echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:7223: checking for initscr" >&5
+echo "configure:7249: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7228 "configure"
+#line 7254 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -7247,7 +7273,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7277: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -7267,17 +7293,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:7271: checking for initscr in -lncurses" >&5
+echo "configure:7297: checking for initscr in -lncurses" >&5
 		LIBS="-lncurses $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7274 "configure"
+#line 7300 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_ncurses=yes
@@ -7304,17 +7330,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/ncur
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lncurses in $cf_libdir""... $ac_c" 1>&6
-echo "configure:7308: checking for -lncurses in $cf_libdir" >&5
+echo "configure:7334: checking for -lncurses in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lncurses $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7311 "configure"
+#line 7337 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_ncurses=yes
@@ -7346,7 +7372,7 @@ esac
 
 if test -n "$cf_ncurses_LIBS" ; then
 	echo $ac_n "checking if we can link ncurses without $cf_ncurses_LIBS""... $ac_c" 1>&6
-echo "configure:7350: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
+echo "configure:7376: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
 		q=`echo $LIBS | sed -e 's/'$p' //' -e 's/'$p'$//'`
@@ -7355,14 +7381,14 @@ echo "configure:7350: checking if we can link ncurses without $cf_ncurses_LIBS"
 		fi
 	done
 	cat > conftest.$ac_ext <<EOF
-#line 7359 "configure"
+#line 7385 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:7366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 else
@@ -7379,20 +7405,20 @@ fi
 slang)
 	
 echo $ac_n "checking for slang header file""... $ac_c" 1>&6
-echo "configure:7383: checking for slang header file" >&5
+echo "configure:7409: checking for slang header file" >&5
 if eval "test \"`echo '$''{'cf_cv_slang_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 7389 "configure"
+#line 7415 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 printf("%s\n", SLANG_VERSION)
 ; return 0; }
 EOF
-if { (eval echo configure:7396: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7422: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_slang_header=predefined
 else
@@ -7474,24 +7500,24 @@ else
   
 cf_cv_termlib=none
 cat > conftest.$ac_ext <<EOF
-#line 7478 "configure"
+#line 7504 "configure"
 #include "confdefs.h"
 
 int main() {
 char *x=(char*)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:7485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 7488 "configure"
+#line 7514 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=tigetstr("")
 ; return 0; }
 EOF
-if { (eval echo configure:7495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7521: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_termlib=terminfo
 else
@@ -7513,7 +7539,7 @@ else
 # HP-UX 9.x terminfo has setupterm, but no tigetstr.
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tigetstr in -ltermlib""... $ac_c" 1>&6
-echo "configure:7517: checking for tigetstr in -ltermlib" >&5
+echo "configure:7543: checking for tigetstr in -ltermlib" >&5
 ac_lib_var=`echo termlib'_'tigetstr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7521,7 +7547,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7525 "configure"
+#line 7551 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7532,7 +7558,7 @@ int main() {
 tigetstr()
 ; return 0; }
 EOF
-if { (eval echo configure:7536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7555,7 +7581,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -ltermlib""... $ac_c" 1>&6
-echo "configure:7559: checking for tgoto in -ltermlib" >&5
+echo "configure:7585: checking for tgoto in -ltermlib" >&5
 ac_lib_var=`echo termlib'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7563,7 +7589,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7567 "configure"
+#line 7593 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7574,7 +7600,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7598,7 +7624,7 @@ fi
 if test "$cf_cv_termlib" = none; then
 	# allow curses library for broken AIX system.
 	echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
-echo "configure:7602: checking for initscr in -lcurses" >&5
+echo "configure:7628: checking for initscr in -lcurses" >&5
 ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7606,7 +7632,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7610 "configure"
+#line 7636 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7617,7 +7643,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7638,7 +7664,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:7642: checking for tgoto in -ltermcap" >&5
+echo "configure:7668: checking for tgoto in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7646,7 +7672,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7650 "configure"
+#line 7676 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7657,7 +7683,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7680,7 +7706,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:7684: checking for tgoto in -ltermcap" >&5
+echo "configure:7710: checking for tgoto in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7688,7 +7714,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7692 "configure"
+#line 7718 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7699,7 +7725,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7722,7 +7748,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -lncurses""... $ac_c" 1>&6
-echo "configure:7726: checking for tgoto in -lncurses" >&5
+echo "configure:7752: checking for tgoto in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7730,7 +7756,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7734 "configure"
+#line 7760 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7741,7 +7767,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7773,12 +7799,12 @@ fi
 
 cf_slang_LIBS2="$LIBS"
 echo $ac_n "checking for acos""... $ac_c" 1>&6
-echo "configure:7777: checking for acos" >&5
+echo "configure:7803: checking for acos" >&5
 if eval "test \"`echo '$''{'ac_cv_func_acos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7782 "configure"
+#line 7808 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char acos(); below.  */
@@ -7801,7 +7827,7 @@ acos();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7831: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_acos=yes"
 else
@@ -7820,7 +7846,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for acos in -lm""... $ac_c" 1>&6
-echo "configure:7824: checking for acos in -lm" >&5
+echo "configure:7850: checking for acos in -lm" >&5
 ac_lib_var=`echo m'_'acos | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7828,7 +7854,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm $LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7832 "configure"
+#line 7858 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7839,7 +7865,7 @@ int main() {
 acos()
 ; return 0; }
 EOF
-if { (eval echo configure:7843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7879,12 +7905,12 @@ fi
 	cf_cv_have_lib_slang=no
 	cf_libdir=""
 	echo $ac_n "checking for SLtt_get_screen_size""... $ac_c" 1>&6
-echo "configure:7883: checking for SLtt_get_screen_size" >&5
+echo "configure:7909: checking for SLtt_get_screen_size" >&5
 if eval "test \"`echo '$''{'ac_cv_func_SLtt_get_screen_size'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7888 "configure"
+#line 7914 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char SLtt_get_screen_size(); below.  */
@@ -7907,7 +7933,7 @@ SLtt_get_screen_size();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_SLtt_get_screen_size=yes"
 else
@@ -7927,17 +7953,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
-echo "configure:7931: checking for SLtt_get_screen_size in -lslang" >&5
+echo "configure:7957: checking for SLtt_get_screen_size in -lslang" >&5
 		LIBS="-lslang $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7934 "configure"
+#line 7960 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:7941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_slang=yes
@@ -7964,17 +7990,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/slan
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lslang in $cf_libdir""... $ac_c" 1>&6
-echo "configure:7968: checking for -lslang in $cf_libdir" >&5
+echo "configure:7994: checking for -lslang in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lslang $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7971 "configure"
+#line 7997 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:7978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_slang=yes
@@ -8005,7 +8031,7 @@ esac
 
 cf_slang_LIBS3="$LIBS"
 echo $ac_n "checking if we can link slang without termcap""... $ac_c" 1>&6
-echo "configure:8009: checking if we can link slang without termcap" >&5
+echo "configure:8035: checking if we can link slang without termcap" >&5
 if test -n "`echo $cf_slang_LIBS1 | sed -e 's/ //g'`" ; then
 	cf_exclude=`echo ".$cf_slang_LIBS2" | sed -e "s@$cf_slang_LIBS1@@" -e 's@^.@@'`
 else
@@ -8013,14 +8039,14 @@ else
 fi
 LIBS=`echo ".$cf_slang_LIBS3" | sed -e "s@$cf_exclude@@" -e 's@^.@@'`
 cat > conftest.$ac_ext <<EOF
-#line 8017 "configure"
+#line 8043 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:8024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -8040,7 +8066,7 @@ eval cf_libdir=$libdir
 cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$prefix/@ -e s@'^NONE/'@$ac_default_prefix/@`
 
 echo $ac_n "checking for location of config-file""... $ac_c" 1>&6
-echo "configure:8044: checking for location of config-file" >&5
+echo "configure:8070: checking for location of config-file" >&5
 LYNX_CFG_FILE=$cf_libdir/lynx.cfg
 cat >> confdefs.h <<EOF
 #define LYNX_CFG_FILE "$LYNX_CFG_FILE"
@@ -8050,12 +8076,12 @@ echo "$ac_t""$LYNX_CFG_FILE" 1>&6
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:8054: checking for ANSI C header files" >&5
+echo "configure:8080: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8059 "configure"
+#line 8085 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -8063,7 +8089,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8067: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8080,7 +8106,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 8084 "configure"
+#line 8110 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -8098,7 +8124,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 8102 "configure"
+#line 8128 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -8119,7 +8145,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 8123 "configure"
+#line 8149 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -8130,7 +8156,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:8134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -8154,12 +8180,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:8158: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:8184: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8163 "configure"
+#line 8189 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -8168,7 +8194,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:8172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -8193,12 +8219,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:8197: checking for $ac_hdr that defines DIR" >&5
+echo "configure:8223: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8202 "configure"
+#line 8228 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -8206,7 +8232,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:8210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -8231,7 +8257,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:8235: checking for opendir in -ldir" >&5
+echo "configure:8261: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8239,7 +8265,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8243 "configure"
+#line 8269 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8250,7 +8276,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:8254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8272,7 +8298,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:8276: checking for opendir in -lx" >&5
+echo "configure:8302: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8280,7 +8306,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8284 "configure"
+#line 8310 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -8291,7 +8317,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:8295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -8330,17 +8356,17 @@ for ac_hdr in \
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8334: checking for $ac_hdr" >&5
+echo "configure:8360: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8339 "configure"
+#line 8365 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8344: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8368,13 +8394,13 @@ done
 
 
 echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6
-echo "configure:8372: checking termio.h and termios.h" >&5
+echo "configure:8398: checking termio.h and termios.h" >&5
 if eval "test \"`echo '$''{'cf_cv_termio_and_termios'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 8378 "configure"
+#line 8404 "configure"
 #include "confdefs.h"
 
 #if HAVE_TERMIO_H
@@ -8387,7 +8413,7 @@ int main() {
 putchar (0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:8391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_termios=yes
 else
@@ -8410,17 +8436,17 @@ for ac_hdr in sys/wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8414: checking for $ac_hdr" >&5
+echo "configure:8440: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8419 "configure"
+#line 8445 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8424: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8450: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8457,17 +8483,17 @@ for ac_hdr in wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8461: checking for $ac_hdr" >&5
+echo "configure:8487: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8466 "configure"
+#line 8492 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8497,17 +8523,17 @@ for ac_hdr in waitstatus.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8501: checking for $ac_hdr" >&5
+echo "configure:8527: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8506 "configure"
+#line 8532 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8537: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8548,13 +8574,13 @@ fi
 
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:8552: checking for union wait" >&5
+echo "configure:8578: checking for union wait" >&5
 if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 8558 "configure"
+#line 8584 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -8565,7 +8591,7 @@ int x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:8569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_type_unionwait=no
 	 echo compiles ok w/o union wait 1>&5
@@ -8576,7 +8602,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 8580 "configure"
+#line 8606 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -8591,7 +8617,7 @@ union wait x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:8595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_type_unionwait=yes
 	 echo compiles ok with union wait and possibly macros too 1>&5
@@ -8618,20 +8644,20 @@ EOF
 if test $cf_cv_type_unionwait = yes; then
 
 	echo $ac_n "checking if union wait can be used as wait-arg""... $ac_c" 1>&6
-echo "configure:8622: checking if union wait can be used as wait-arg" >&5
+echo "configure:8648: checking if union wait can be used as wait-arg" >&5
 	if eval "test \"`echo '$''{'cf_cv_arg_union_wait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 		cat > conftest.$ac_ext <<EOF
-#line 8628 "configure"
+#line 8654 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; wait(&x)
 ; return 0; }
 EOF
-if { (eval echo configure:8635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_wait=yes
 else
@@ -8651,20 +8677,20 @@ EOF
 
 
 	echo $ac_n "checking if union wait can be used as waitpid-arg""... $ac_c" 1>&6
-echo "configure:8655: checking if union wait can be used as waitpid-arg" >&5
+echo "configure:8681: checking if union wait can be used as waitpid-arg" >&5
 	if eval "test \"`echo '$''{'cf_cv_arg_union_waitpid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 		cat > conftest.$ac_ext <<EOF
-#line 8661 "configure"
+#line 8687 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; waitpid(0, &x, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:8668: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8694: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_waitpid=yes
 else
@@ -8690,17 +8716,17 @@ for ac_hdr in stdarg.h varargs.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8694: checking for $ac_hdr" >&5
+echo "configure:8720: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8699 "configure"
+#line 8725 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8730: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8727,13 +8753,13 @@ fi
 done
 
 echo $ac_n "checking for standard varargs""... $ac_c" 1>&6
-echo "configure:8731: checking for standard varargs" >&5
+echo "configure:8757: checking for standard varargs" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_varargs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 8737 "configure"
+#line 8763 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDARG_H
@@ -8748,7 +8774,7 @@ int main() {
 return 0;} int foo(char *fmt,...){va_list args;va_start(args,fmt);va_end(args)
 ; return 0; }
 EOF
-if { (eval echo configure:8752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8778: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_varargs=yes
 else
@@ -8768,12 +8794,12 @@ EOF
 
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:8772: checking for uid_t in sys/types.h" >&5
+echo "configure:8798: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8777 "configure"
+#line 8803 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -8802,7 +8828,7 @@ EOF
 fi
 
 echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
-echo "configure:8806: checking type of array argument to getgroups" >&5
+echo "configure:8832: checking type of array argument to getgroups" >&5
 if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8810,7 +8836,7 @@ else
   ac_cv_type_getgroups=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8814 "configure"
+#line 8840 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Rendell for this test.  */
@@ -8835,7 +8861,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:8839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
     ac_cv_type_getgroups=gid_t
 else
@@ -8849,7 +8875,7 @@ fi
 
 if test $ac_cv_type_getgroups = cross; then
         cat > conftest.$ac_ext <<EOF
-#line 8853 "configure"
+#line 8879 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -8873,12 +8899,12 @@ EOF
 
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:8877: checking for pid_t" >&5
+echo "configure:8903: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8882 "configure"
+#line 8908 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -8906,12 +8932,12 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:8910: checking for uid_t in sys/types.h" >&5
+echo "configure:8936: checking for uid_t in sys/types.h" >&5
 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8915 "configure"
+#line 8941 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -8940,12 +8966,12 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:8944: checking for mode_t" >&5
+echo "configure:8970: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8949 "configure"
+#line 8975 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -8976,17 +9002,17 @@ fi
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:8980: checking for vfork.h" >&5
+echo "configure:9006: checking for vfork.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8985 "configure"
+#line 9011 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9016: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9011,18 +9037,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:9015: checking for working vfork" >&5
+echo "configure:9041: checking for working vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
   echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:9021: checking for vfork" >&5
+echo "configure:9047: checking for vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9026 "configure"
+#line 9052 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -9045,7 +9071,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vfork=yes"
 else
@@ -9067,7 +9093,7 @@ fi
 ac_cv_func_vfork_works=$ac_cv_func_vfork
 else
   cat > conftest.$ac_ext <<EOF
-#line 9071 "configure"
+#line 9097 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -9162,7 +9188,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:9166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_vfork_works=yes
 else
@@ -9186,13 +9212,13 @@ fi
 
 
 echo $ac_n "checking if we should use fcntl or ioctl""... $ac_c" 1>&6
-echo "configure:9190: checking if we should use fcntl or ioctl" >&5
+echo "configure:9216: checking if we should use fcntl or ioctl" >&5
 if eval "test \"`echo '$''{'cf_cv_fionbio'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9196 "configure"
+#line 9222 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9204,7 +9230,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:9208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fionbio=ioctl
 else
@@ -9213,7 +9239,7 @@ else
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9217 "configure"
+#line 9243 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9230,7 +9256,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:9234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fionbio=fcntl
 else
@@ -9253,20 +9279,20 @@ EOF
 
 
 echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6
-echo "configure:9257: checking for broken/missing definition of remove" >&5
+echo "configure:9283: checking for broken/missing definition of remove" >&5
 if eval "test \"`echo '$''{'cf_cv_baddef_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9263 "configure"
+#line 9289 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:9270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_baddef_remove=no
 else
@@ -9274,7 +9300,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9278 "configure"
+#line 9304 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 		int __unlink(name) { return unlink(name); } 
@@ -9282,7 +9308,7 @@ int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:9286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_baddef_remove=yes
 else
@@ -9306,13 +9332,13 @@ EOF
 
 
 echo $ac_n "checking for lstat""... $ac_c" 1>&6
-echo "configure:9310: checking for lstat" >&5
+echo "configure:9336: checking for lstat" >&5
 if eval "test \"`echo '$''{'ac_cv_func_lstat'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9316 "configure"
+#line 9342 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9321,7 +9347,7 @@ int main() {
 lstat(".", (struct stat *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:9325: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_lstat=yes
 else
@@ -9356,12 +9382,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9360: checking for $ac_func" >&5
+echo "configure:9386: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9365 "configure"
+#line 9391 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9384,7 +9410,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9414,12 +9440,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9418: checking for $ac_func" >&5
+echo "configure:9444: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9423 "configure"
+#line 9449 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9442,7 +9468,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9473,12 +9499,12 @@ for ac_func in strstr
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:9477: checking for $ac_func declaration" >&5
+echo "configure:9503: checking for $ac_func declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9482 "configure"
+#line 9508 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -9487,11 +9513,11 @@ extern	int	${ac_func}();
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9495 "configure"
+#line 9521 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -9500,7 +9526,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9504: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9530: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -9542,12 +9568,12 @@ for ac_func in getgrgid getgrnam
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:9546: checking for $ac_func declaration" >&5
+echo "configure:9572: checking for $ac_func declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9551 "configure"
+#line 9577 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -9558,11 +9584,11 @@ extern	int	${ac_func}();
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9566 "configure"
+#line 9592 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -9573,7 +9599,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9577: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -9615,13 +9641,13 @@ done
 
 
 echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6
-echo "configure:9619: checking if TRUE/FALSE are defined" >&5
+echo "configure:9645: checking if TRUE/FALSE are defined" >&5
 if eval "test \"`echo '$''{'cf_cv_bool_defs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9625 "configure"
+#line 9651 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -9630,7 +9656,7 @@ int main() {
 int x = TRUE, y = FALSE
 ; return 0; }
 EOF
-if { (eval echo configure:9634: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9660: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_bool_defs=yes
 else
@@ -9657,13 +9683,13 @@ fi
 
 
 echo $ac_n "checking if external errno is declared""... $ac_c" 1>&6
-echo "configure:9661: checking if external errno is declared" >&5
+echo "configure:9687: checking if external errno is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 9667 "configure"
+#line 9693 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDLIB_H
@@ -9676,7 +9702,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:9680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9706: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'errno'=yes'
 else
@@ -9707,13 +9733,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external errno exists""... $ac_c" 1>&6
-echo "configure:9711: checking if external errno exists" >&5
+echo "configure:9737: checking if external errno exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 9717 "configure"
+#line 9743 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -9723,7 +9749,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:9727: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval 'cf_cv_have_'errno'=yes'
 else
@@ -9755,20 +9781,20 @@ fi
 
 
 echo $ac_n "checking for setlocale()""... $ac_c" 1>&6
-echo "configure:9759: checking for setlocale()" >&5
+echo "configure:9785: checking for setlocale()" >&5
 if eval "test \"`echo '$''{'cf_cv_locale'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9765 "configure"
+#line 9791 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 setlocale(LC_ALL, "")
 ; return 0; }
 EOF
-if { (eval echo configure:9772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_locale=yes
 else
@@ -9789,13 +9815,13 @@ EOF
 
 
 echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6
-echo "configure:9793: checking if NGROUPS is defined" >&5
+echo "configure:9819: checking if NGROUPS is defined" >&5
 if eval "test \"`echo '$''{'cf_cv_ngroups'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9799 "configure"
+#line 9825 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -9809,7 +9835,7 @@ int main() {
 int x = NGROUPS
 ; return 0; }
 EOF
-if { (eval echo configure:9813: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=yes
 else
@@ -9817,7 +9843,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9821 "configure"
+#line 9847 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -9831,7 +9857,7 @@ int main() {
 int x = NGROUPS_MAX
 ; return 0; }
 EOF
-if { (eval echo configure:9835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9861: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=NGROUPS_MAX
 else
@@ -9865,13 +9891,13 @@ for cf_name in sys_nerr sys_errlist
 do
     
 echo $ac_n "checking if external $cf_name is declared""... $ac_c" 1>&6
-echo "configure:9869: checking if external $cf_name is declared" >&5
+echo "configure:9895: checking if external $cf_name is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_$cf_name'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 9875 "configure"
+#line 9901 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDLIB_H
@@ -9884,7 +9910,7 @@ int main() {
 long x = (long) $cf_name
 ; return 0; }
 EOF
-if { (eval echo configure:9888: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9914: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'$cf_name'=yes'
 else
@@ -9915,13 +9941,13 @@ fi
 # It's possible (for near-UNIX clones) that the data doesn't exist
 
 echo $ac_n "checking if external $cf_name exists""... $ac_c" 1>&6
-echo "configure:9919: checking if external $cf_name exists" >&5
+echo "configure:9945: checking if external $cf_name exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_$cf_name'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 9925 "configure"
+#line 9951 "configure"
 #include "confdefs.h"
 
 #undef $cf_name
@@ -9931,7 +9957,7 @@ int main() {
 $cf_name = 2
 ; return 0; }
 EOF
-if { (eval echo configure:9935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval 'cf_cv_have_'$cf_name'=yes'
 else
@@ -9964,13 +9990,13 @@ done
 
 
 echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6
-echo "configure:9968: checking if struct utmp is declared" >&5
+echo "configure:9994: checking if struct utmp is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_have_utmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 9974 "configure"
+#line 10000 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9979,7 +10005,7 @@ int main() {
 struct utmp x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:9983: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=yes
 else
@@ -9987,14 +10013,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9991 "configure"
+#line 10017 "configure"
 #include "confdefs.h"
 #include <utmpx.h>
 int main() {
 struct utmpx x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:9998: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=utmpx
 else
@@ -10022,13 +10048,13 @@ EOF
 
 
 echo $ac_n "checking if external h_errno exists""... $ac_c" 1>&6
-echo "configure:10026: checking if external h_errno exists" >&5
+echo "configure:10052: checking if external h_errno exists" >&5
 if eval "test \"`echo '$''{'cf_cv_have_h_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 10032 "configure"
+#line 10058 "configure"
 #include "confdefs.h"
 
 #undef h_errno
@@ -10038,7 +10064,7 @@ int main() {
 h_errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:10042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval 'cf_cv_have_'h_errno'=yes'
 else
@@ -10069,13 +10095,13 @@ fi
 
 
 echo $ac_n "checking if character set is EBCDIC""... $ac_c" 1>&6
-echo "configure:10073: checking if character set is EBCDIC" >&5
+echo "configure:10099: checking if character set is EBCDIC" >&5
 if eval "test \"`echo '$''{'cf_cv_ebcdic'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10079 "configure"
+#line 10105 "configure"
 #include "confdefs.h"
  
 int main() {
@@ -10088,7 +10114,7 @@ make an error "Character set is not EBCDIC"
 #endif 
 ; return 0; }
 EOF
-if { (eval echo configure:10092: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10118: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
    # TryCompile action if true
 cf_cv_ebcdic=yes 
@@ -10122,7 +10148,7 @@ esac
 if test $cf_cv_screen != slang ; then
 	
 echo $ac_n "checking if curses supports alternate-character set""... $ac_c" 1>&6
-echo "configure:10126: checking if curses supports alternate-character set" >&5
+echo "configure:10152: checking if curses supports alternate-character set" >&5
 if eval "test \"`echo '$''{'cf_cv_alt_char_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10130,7 +10156,7 @@ else
 for mapname in acs_map _acs_map
 do
 	cat > conftest.$ac_ext <<EOF
-#line 10134 "configure"
+#line 10160 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10139,7 +10165,7 @@ int main() {
 chtype x = $mapname['l']; $mapname['m'] = 0
 ; return 0; }
 EOF
-if { (eval echo configure:10143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_alt_char_set=$mapname
 	 break
@@ -10162,13 +10188,13 @@ EOF
 
 	
 echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6
-echo "configure:10166: checking if curses supports fancy attributes" >&5
+echo "configure:10192: checking if curses supports fancy attributes" >&5
 if eval "test \"`echo '$''{'cf_cv_fancy_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10172 "configure"
+#line 10198 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10181,7 +10207,7 @@ attrset(A_UNDERLINE|A_BOLD|A_REVERSE);
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fancy_curses=yes
 else
@@ -10201,7 +10227,7 @@ EOF
 
 
 	echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:10205: checking for ncurses version" >&5
+echo "configure:10231: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10226,7 +10252,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:10230: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:10256: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -10235,7 +10261,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 10239 "configure"
+#line 10265 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10258,7 +10284,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:10262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -10278,13 +10304,13 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6
 
 if test "$cf_cv_ncurses_version" != no ; then
 echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6
-echo "configure:10282: checking for obsolete/broken version of ncurses" >&5
+echo "configure:10308: checking for obsolete/broken version of ncurses" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 10288 "configure"
+#line 10314 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10298,7 +10324,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:10302: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10328: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -10323,13 +10349,13 @@ fi
 
 	
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:10327: checking if curses supports color attributes" >&5
+echo "configure:10353: checking if curses supports color attributes" >&5
 if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10333 "configure"
+#line 10359 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10344,7 +10370,7 @@ chtype x = COLOR_BLUE;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10374: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -10371,7 +10397,7 @@ fi
 
 	
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:10375: checking declaration of size-change" >&5
+echo "configure:10401: checking declaration of size-change" >&5
 if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10385,7 +10411,7 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 10389 "configure"
+#line 10415 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if HAVE_TERMIOS_H
@@ -10424,7 +10450,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
@@ -10456,20 +10482,20 @@ EOF
 
 	
 echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6
-echo "configure:10460: checking if ttytype is declared in curses library" >&5
+echo "configure:10486: checking if ttytype is declared in curses library" >&5
 if eval "test \"`echo '$''{'cf_cv_have_ttytype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 10466 "configure"
+#line 10492 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 char *x = &ttytype[1]; *x = 1
 ; return 0; }
 EOF
-if { (eval echo configure:10473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_ttytype=yes
 else
@@ -10497,12 +10523,12 @@ EOF
 	
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10501: checking for $ac_func" >&5
+echo "configure:10527: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 10506 "configure"
+#line 10532 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10525,7 +10551,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -10555,7 +10581,7 @@ fi
 
 
 echo $ac_n "checking if configuration info should be browsable""... $ac_c" 1>&6
-echo "configure:10559: checking if configuration info should be browsable" >&5
+echo "configure:10585: checking if configuration info should be browsable" >&5
 
 # Check whether --enable-config-info or --disable-config-info was given.
 if test "${enable_config_info+set}" = set; then
@@ -10579,7 +10605,7 @@ EOF
 
 
 echo $ac_n "checking if new-style forms-based options screen should be used""... $ac_c" 1>&6
-echo "configure:10583: checking if new-style forms-based options screen should be used" >&5
+echo "configure:10609: checking if new-style forms-based options screen should be used" >&5
 
 # Check whether --enable-forms-options or --disable-forms-options was given.
 if test "${enable_forms_options+set}" = set; then
@@ -10603,7 +10629,7 @@ EOF
 
 
 echo $ac_n "checking if old-style options menu should be used""... $ac_c" 1>&6
-echo "configure:10607: checking if old-style options menu should be used" >&5
+echo "configure:10633: checking if old-style options menu should be used" >&5
 
 # Check whether --enable-menu-options or --disable-menu-options was given.
 if test "${enable_menu_options+set}" = set; then
@@ -10627,7 +10653,7 @@ EOF
 
 
 echo $ac_n "checking if experimental address-list page should be used""... $ac_c" 1>&6
-echo "configure:10631: checking if experimental address-list page should be used" >&5
+echo "configure:10657: checking if experimental address-list page should be used" >&5
 
 # Check whether --enable-addrlist-page or --disable-addrlist-page was given.
 if test "${enable_addrlist_page+set}" = set; then
@@ -10651,7 +10677,7 @@ EOF
 
 
 echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6
-echo "configure:10655: checking if color-style code should be used" >&5
+echo "configure:10681: checking if color-style code should be used" >&5
 
 # Check whether --enable-color-style or --disable-color-style was given.
 if test "${enable_color_style+set}" = set; then
@@ -10699,7 +10725,7 @@ EOF
 	echo "$ac_t""yes" 1>&6
 
 	echo $ac_n "checking for location of style-sheet file""... $ac_c" 1>&6
-echo "configure:10703: checking for location of style-sheet file" >&5
+echo "configure:10729: checking for location of style-sheet file" >&5
 	LYNX_LSS_FILE=$cf_libdir/lynx.lss
 	cat >> confdefs.h <<EOF
 #define LYNX_LSS_FILE "$LYNX_LSS_FILE"
@@ -10717,7 +10743,7 @@ test ".$ac_cv_func_use_default_colors" = ".yes" && use_dft_colors=maybe
 
 if test "$use_dft_colors" != no ; then
 echo $ac_n "checking if you want to use default-colors""... $ac_c" 1>&6
-echo "configure:10721: checking if you want to use default-colors" >&5
+echo "configure:10747: checking if you want to use default-colors" >&5
 
 # Check whether --enable-default-colors or --disable-default-colors was given.
 if test "${enable_default_colors+set}" = set; then
@@ -10741,8 +10767,32 @@ EOF
 
 fi
 
+echo $ac_n "checking if experimental file-upload logic should be used""... $ac_c" 1>&6
+echo "configure:10772: checking if experimental file-upload logic should be used" >&5
+
+# Check whether --enable-file-upload or --disable-file-upload was given.
+if test "${enable_file_upload+set}" = set; then
+  enableval="$enable_file_upload"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    use_file_upload=$enableval 
+  else
+    use_file_upload=no
+  fi
+else
+  enableval=no 
+  use_file_upload=no
+  
+fi
+
+echo "$ac_t""$use_file_upload" 1>&6
+test $use_file_upload != no && cat >> confdefs.h <<\EOF
+#define EXP_FILE_UPLOAD 1
+EOF
+
+
 echo $ac_n "checking if experimental keyboard-layout logic should be used""... $ac_c" 1>&6
-echo "configure:10746: checking if experimental keyboard-layout logic should be used" >&5
+echo "configure:10796: checking if experimental keyboard-layout logic should be used" >&5
 
 # Check whether --enable-kbd-layout or --disable-kbd-layout was given.
 if test "${enable_kbd_layout+set}" = set; then
@@ -10765,9 +10815,32 @@ test $use_kbd_layout != no && cat >> confdefs.h <<\EOF
 EOF
 
 
+echo $ac_n "checking if experimental JavaScript support should be used""... $ac_c" 1>&6
+echo "configure:10820: checking if experimental JavaScript support should be used" >&5
+
+# Check whether --enable-libjs or --disable-libjs was given.
+if test "${enable_libjs+set}" = set; then
+  enableval="$enable_libjs"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    use_libjs=$enableval 
+  else
+    use_libjs=no
+  fi
+else
+  enableval=no 
+  use_libjs=no
+  
+fi
+
+echo "$ac_t""$use_libjs" 1>&6
+test $use_libjs != no && cat >> confdefs.h <<\EOF
+#define EXP_LIBJS 1
+EOF
+
 
 echo $ac_n "checking if html source should be colorized""... $ac_c" 1>&6
-echo "configure:10771: checking if html source should be colorized" >&5
+echo "configure:10844: checking if html source should be colorized" >&5
 
 # Check whether --enable-prettysrc or --disable-prettysrc was given.
 if test "${enable_prettysrc+set}" = set; then
@@ -10791,7 +10864,7 @@ EOF
 
 
 echo $ac_n "checking if source caching should be used""... $ac_c" 1>&6
-echo "configure:10795: checking if source caching should be used" >&5
+echo "configure:10868: checking if source caching should be used" >&5
 
 # Check whether --enable-source-cache or --disable-source-cache was given.
 if test "${enable_source_cache+set}" = set; then
@@ -10818,7 +10891,7 @@ EOF
 
 
 echo $ac_n "checking if alternative line-edit bindings should be used""... $ac_c" 1>&6
-echo "configure:10822: checking if alternative line-edit bindings should be used" >&5
+echo "configure:10895: checking if alternative line-edit bindings should be used" >&5
 
 # Check whether --enable-alt-bindings or --disable-alt-bindings was given.
 if test "${enable_alt_bindings+set}" = set; then
@@ -10842,7 +10915,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use extended HTML DTD logic""... $ac_c" 1>&6
-echo "configure:10846: checking if you want to use extended HTML DTD logic" >&5
+echo "configure:10919: checking if you want to use extended HTML DTD logic" >&5
 
 # Check whether --enable-extended-dtd or --disable-extended-dtd was given.
 if test "${enable_extended_dtd+set}" = set; then
@@ -10866,7 +10939,7 @@ EOF
 
 
 echo $ac_n "checking if partial-display should be used""... $ac_c" 1>&6
-echo "configure:10870: checking if partial-display should be used" >&5
+echo "configure:10943: checking if partial-display should be used" >&5
 
 # Check whether --enable-partial or --disable-partial was given.
 if test "${enable_partial+set}" = set; then
@@ -10890,7 +10963,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use external commands""... $ac_c" 1>&6
-echo "configure:10894: checking if you want to use external commands" >&5
+echo "configure:10967: checking if you want to use external commands" >&5
 
 # Check whether --enable-externs or --disable-externs was given.
 if test "${enable_externs+set}" = set; then
@@ -10914,7 +10987,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use setfont support""... $ac_c" 1>&6
-echo "configure:10918: checking if you want to use setfont support" >&5
+echo "configure:10991: checking if you want to use setfont support" >&5
 
 # Check whether --enable-font-switch or --disable-font-switch was given.
 if test "${enable_font_switch+set}" = set; then
@@ -10938,7 +11011,7 @@ EOF
 
 
 echo $ac_n "checking if you want cgi-link support""... $ac_c" 1>&6
-echo "configure:10942: checking if you want cgi-link support" >&5
+echo "configure:11015: checking if you want cgi-link support" >&5
 
 # Check whether --enable-cgi-links or --disable-cgi-links was given.
 if test "${enable_cgi_links+set}" = set; then
@@ -10956,8 +11029,27 @@ fi
 
 echo "$ac_t""$enableval" 1>&6
 
+echo $ac_n "checking if you want change-exec support""... $ac_c" 1>&6
+echo "configure:11034: checking if you want change-exec support" >&5
+
+# Check whether --enable-change-exec or --disable-change-exec was given.
+if test "${enable_change_exec+set}" = set; then
+  enableval="$enable_change_exec"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    cat >> confdefs.h <<\EOF
+#define ENABLE_OPTS_CHANGE_EXEC 1
+EOF
+ 
+  fi
+else
+  enableval=no   
+fi
+
+echo "$ac_t""$enableval" 1>&6
+
 echo $ac_n "checking if you want exec-links support""... $ac_c" 1>&6
-echo "configure:10961: checking if you want exec-links support" >&5
+echo "configure:11053: checking if you want exec-links support" >&5
 
 # Check whether --enable-exec-links or --disable-exec-links was given.
 if test "${enable_exec_links+set}" = set; then
@@ -10976,7 +11068,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if you want exec-scripts support""... $ac_c" 1>&6
-echo "configure:10980: checking if you want exec-scripts support" >&5
+echo "configure:11072: checking if you want exec-scripts support" >&5
 
 # Check whether --enable-exec-scripts or --disable-exec-scripts was given.
 if test "${enable_exec_scripts+set}" = set; then
@@ -10995,7 +11087,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if you want internal-links feature""... $ac_c" 1>&6
-echo "configure:10999: checking if you want internal-links feature" >&5
+echo "configure:11091: checking if you want internal-links feature" >&5
 
 # Check whether --enable-internal-links or --disable-internal-links was given.
 if test "${enable_internal_links+set}" = set; then
@@ -11019,7 +11111,7 @@ EOF
 
 
 echo $ac_n "checking if you want to fork NSL requests""... $ac_c" 1>&6
-echo "configure:11023: checking if you want to fork NSL requests" >&5
+echo "configure:11115: checking if you want to fork NSL requests" >&5
 
 # Check whether --enable-nsl-fork or --disable-nsl-fork was given.
 if test "${enable_nsl_fork+set}" = set; then
@@ -11043,7 +11135,7 @@ EOF
 
 
 echo $ac_n "checking if you want to log URL requests via syslog""... $ac_c" 1>&6
-echo "configure:11047: checking if you want to log URL requests via syslog" >&5
+echo "configure:11139: checking if you want to log URL requests via syslog" >&5
 
 # Check whether --enable-syslog or --disable-syslog was given.
 if test "${enable_syslog+set}" = set; then
@@ -11067,19 +11159,19 @@ EOF
 
 
 echo $ac_n "checking if persistent-cookie logic should be used""... $ac_c" 1>&6
-echo "configure:11071: checking if persistent-cookie logic should be used" >&5
+echo "configure:11163: checking if persistent-cookie logic should be used" >&5
 
 # Check whether --enable-persistent-cookies or --disable-persistent-cookies was given.
 if test "${enable_persistent_cookies+set}" = set; then
   enableval="$enable_persistent_cookies"
-  test "$enableval" != yes && enableval=no
-  if test "$enableval" != "no" ; then
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
     use_filed_cookies=$enableval 
   else
     use_filed_cookies=yes
   fi
 else
-  enableval=no 
+  enableval=yes 
   use_filed_cookies=yes
   
 fi
@@ -11091,7 +11183,7 @@ EOF
 
 
 echo $ac_n "checking if you want to underline links""... $ac_c" 1>&6
-echo "configure:11095: checking if you want to underline links" >&5
+echo "configure:11187: checking if you want to underline links" >&5
 
 # Check whether --enable-underlines or --disable-underlines was given.
 if test "${enable_underlines+set}" = set; then
@@ -11115,7 +11207,7 @@ EOF
 
 
 echo $ac_n "checking if help files should be gzip'ed""... $ac_c" 1>&6
-echo "configure:11119: checking if help files should be gzip'ed" >&5
+echo "configure:11211: checking if help files should be gzip'ed" >&5
 
 # Check whether --enable-gzip-help or --disable-gzip-help was given.
 if test "${enable_gzip_help+set}" = set; then
@@ -11144,7 +11236,7 @@ fi
 
 
 echo $ac_n "checking if you want to use zlib for decompression of some gzip files""... $ac_c" 1>&6
-echo "configure:11148: checking if you want to use zlib for decompression of some gzip files" >&5
+echo "configure:11240: checking if you want to use zlib for decompression of some gzip files" >&5
 
 # Check whether --with-zlib or --without-zlib was given.
 if test "${with_zlib+set}" = set; then
@@ -11161,12 +11253,12 @@ if test ".$use_zlib" != ".no" ; then
 	cf_cv_have_lib_z=no
 	cf_libdir=""
 	echo $ac_n "checking for gzopen""... $ac_c" 1>&6
-echo "configure:11165: checking for gzopen" >&5
+echo "configure:11257: checking for gzopen" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gzopen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 11170 "configure"
+#line 11262 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gzopen(); below.  */
@@ -11189,7 +11281,7 @@ gzopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gzopen=yes"
 else
@@ -11209,17 +11301,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6
-echo "configure:11213: checking for gzopen in -lz" >&5
+echo "configure:11305: checking for gzopen in -lz" >&5
 		LIBS="-lz $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 11216 "configure"
+#line 11308 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:11223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_z=yes
@@ -11246,17 +11338,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/z"
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lz in $cf_libdir""... $ac_c" 1>&6
-echo "configure:11250: checking for -lz in $cf_libdir" >&5
+echo "configure:11342: checking for -lz in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lz $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 11253 "configure"
+#line 11345 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:11260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_z=yes
@@ -11292,7 +11384,7 @@ EOF
 fi
 
 echo $ac_n "checking if you want to exclude FINGER code""... $ac_c" 1>&6
-echo "configure:11296: checking if you want to exclude FINGER code" >&5
+echo "configure:11388: checking if you want to exclude FINGER code" >&5
 
 # Check whether --enable-finger or --disable-finger was given.
 if test "${enable_finger+set}" = set; then
@@ -11316,7 +11408,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude GOPHER code""... $ac_c" 1>&6
-echo "configure:11320: checking if you want to exclude GOPHER code" >&5
+echo "configure:11412: checking if you want to exclude GOPHER code" >&5
 
 # Check whether --enable-gopher or --disable-gopher was given.
 if test "${enable_gopher+set}" = set; then
@@ -11340,7 +11432,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude NEWS code""... $ac_c" 1>&6
-echo "configure:11344: checking if you want to exclude NEWS code" >&5
+echo "configure:11436: checking if you want to exclude NEWS code" >&5
 
 # Check whether --enable-news or --disable-news was given.
 if test "${enable_news+set}" = set; then
@@ -11364,7 +11456,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude FTP code""... $ac_c" 1>&6
-echo "configure:11368: checking if you want to exclude FTP code" >&5
+echo "configure:11460: checking if you want to exclude FTP code" >&5
 
 # Check whether --enable-ftp or --disable-ftp was given.
 if test "${enable_ftp+set}" = set; then
@@ -11393,7 +11485,7 @@ EOF
 # All DirEd functions that were enabled on compilation can be disabled
 # or modified at run time via DIRED_MENU symbols in lynx.cfg.
 echo $ac_n "checking if directory-editor code should be used""... $ac_c" 1>&6
-echo "configure:11397: checking if directory-editor code should be used" >&5
+echo "configure:11489: checking if directory-editor code should be used" >&5
 
 # Check whether --enable-dired or --disable-dired was given.
 if test "${enable_dired+set}" = set; then
@@ -11419,7 +11511,7 @@ EOF
 
 
 	echo $ac_n "checking if you wish to allow extracting from archives via DirEd""... $ac_c" 1>&6
-echo "configure:11423: checking if you wish to allow extracting from archives via DirEd" >&5
+echo "configure:11515: checking if you wish to allow extracting from archives via DirEd" >&5
 	
 # Check whether --enable-dired-archive or --disable-dired-archive was given.
 if test "${enable_dired_archive+set}" = set; then
@@ -11438,7 +11530,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow users to redefine DirEd keys""... $ac_c" 1>&6
-echo "configure:11442: checking if you wish to allow users to redefine DirEd keys" >&5
+echo "configure:11534: checking if you wish to allow users to redefine DirEd keys" >&5
 	
 # Check whether --enable-dired-override or --disable-dired-override was given.
 if test "${enable_dired_override+set}" = set; then
@@ -11464,7 +11556,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow permissions commands via DirEd""... $ac_c" 1>&6
-echo "configure:11468: checking if you wish to allow permissions commands via DirEd" >&5
+echo "configure:11560: checking if you wish to allow permissions commands via DirEd" >&5
 	
 # Check whether --enable-dired-permit or --disable-dired-permit was given.
 if test "${enable_dired_permit+set}" = set; then
@@ -11490,7 +11582,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow executable-permission commands via DirEd""... $ac_c" 1>&6
-echo "configure:11494: checking if you wish to allow executable-permission commands via DirEd" >&5
+echo "configure:11586: checking if you wish to allow executable-permission commands via DirEd" >&5
 	
 # Check whether --enable-dired-xpermit or --disable-dired-xpermit was given.
 if test "${enable_dired_xpermit+set}" = set; then
@@ -11509,7 +11601,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow "tar" commands from DirEd""... $ac_c" 1>&6
-echo "configure:11513: checking if you wish to allow "tar" commands from DirEd" >&5
+echo "configure:11605: checking if you wish to allow "tar" commands from DirEd" >&5
 	
 # Check whether --enable-dired-tar or --disable-dired-tar was given.
 if test "${enable_dired_tar+set}" = set; then
@@ -11535,7 +11627,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow "uudecode" commands from DirEd""... $ac_c" 1>&6
-echo "configure:11539: checking if you wish to allow "uudecode" commands from DirEd" >&5
+echo "configure:11631: checking if you wish to allow "uudecode" commands from DirEd" >&5
 	
 # Check whether --enable-dired-uudecode or --disable-dired-uudecode was given.
 if test "${enable_dired_uudecode+set}" = set; then
@@ -11561,7 +11653,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow "zip" and "unzip" commands from DirEd""... $ac_c" 1>&6
-echo "configure:11565: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
+echo "configure:11657: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
 	
 # Check whether --enable-dired-zip or --disable-dired-zip was given.
 if test "${enable_dired_zip+set}" = set; then
@@ -11587,7 +11679,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow "gzip" and "gunzip" commands from DirEd""... $ac_c" 1>&6
-echo "configure:11591: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
+echo "configure:11683: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
 	
 # Check whether --enable-dired-gzip or --disable-dired-gzip was given.
 if test "${enable_dired_gzip+set}" = set; then
@@ -11614,7 +11706,7 @@ fi
 fi
 
 echo $ac_n "checking if you want long-directory listings""... $ac_c" 1>&6
-echo "configure:11618: checking if you want long-directory listings" >&5
+echo "configure:11710: checking if you want long-directory listings" >&5
 
 # Check whether --enable-long-list or --disable-long-list was given.
 if test "${enable_long_list+set}" = set; then
@@ -11640,7 +11732,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6
-echo "configure:11644: checking if parent-directory references are permitted" >&5
+echo "configure:11736: checking if parent-directory references are permitted" >&5
 
 # Check whether --enable-parent-dir-refs or --disable-parent-dir-refs was given.
 if test "${enable_parent_dir_refs+set}" = set; then
@@ -11660,7 +11752,7 @@ echo "$ac_t""$enableval" 1>&6
 
 
 echo $ac_n "checking if we can include termio.h with curses""... $ac_c" 1>&6
-echo "configure:11664: checking if we can include termio.h with curses" >&5
+echo "configure:11756: checking if we can include termio.h with curses" >&5
 if eval "test \"`echo '$''{'cf_cv_termio_and_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -11669,7 +11761,7 @@ else
     CFLAGS="$CFLAGS -DHAVE_CONFIG_H -I. -I${srcdir-.} -I${srcdir-.}/src -I${srcdir-.}/WWW/Library/Implementation"
     touch lynx_cfg.h
     cat > conftest.$ac_ext <<EOF
-#line 11673 "configure"
+#line 11765 "configure"
 #include "confdefs.h"
 
 #include <LYCurses.h>
@@ -11678,7 +11770,7 @@ int main() {
 putchar(0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:11682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_curses=yes
 else
@@ -11862,6 +11954,7 @@ s%@host_vendor@%$host_vendor%g
 s%@host_os@%$host_os%g
 s%@CC@%$CC%g
 s%@CPP@%$CPP%g
+s%@LN_S@%$LN_S%g
 s%@RANLIB@%$RANLIB%g
 s%@SET_MAKE@%$SET_MAKE%g
 s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
diff --git a/configure.in b/configure.in
index e2560f6c..80cbb0a6 100644
--- a/configure.in
+++ b/configure.in
@@ -22,6 +22,7 @@ dnl --------------------------------------------------------------------------
 
 AC_PROG_CC
 AC_PROG_CPP
+AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_PROG_MAKE_SET
 AC_PROG_INSTALL
@@ -618,6 +619,14 @@ AC_MSG_RESULT($use_dft_colors)
 test $use_dft_colors = "yes" && AC_DEFINE(USE_DEFAULT_COLORS)
 fi
 
+AC_MSG_CHECKING(if experimental file-upload logic should be used)
+CF_ARG_ENABLE(file-upload,
+[  --enable-file-upload    use experimental file-upload support],
+	[use_file_upload=$enableval],
+	[use_file_upload=no])
+AC_MSG_RESULT($use_file_upload)
+test $use_file_upload != no && AC_DEFINE(EXP_FILE_UPLOAD)
+
 AC_MSG_CHECKING(if experimental keyboard-layout logic should be used)
 CF_ARG_ENABLE(kbd-layout,
 [  --enable-kbd-layout     use experimental keyboard-layout support],
@@ -626,13 +635,13 @@ CF_ARG_ENABLE(kbd-layout,
 AC_MSG_RESULT($use_kbd_layout)
 test $use_kbd_layout != no && AC_DEFINE(EXP_KEYBOARD_LAYOUT)
 
-dnl AC_MSG_CHECKING(if experimental JavaScript support should be used)
-dnl CF_ARG_ENABLE(libjs,
-dnl [  --enable-libjs          use experimental JavaScript support (Mozilla libjs)],
-dnl 	[use_libjs=$enableval],
-dnl 	[use_libjs=no])
-dnl AC_MSG_RESULT($use_libjs)
-dnl test $use_libjs != no && AC_DEFINE(EXP_LIBJS)
+AC_MSG_CHECKING(if experimental JavaScript support should be used)
+CF_ARG_ENABLE(libjs,
+[  --enable-libjs          use experimental JavaScript support (Mozilla libjs)],
+	[use_libjs=$enableval],
+	[use_libjs=no])
+AC_MSG_RESULT($use_libjs)
+test $use_libjs != no && AC_DEFINE(EXP_LIBJS)
 
 AC_MSG_CHECKING(if html source should be colorized)
 CF_ARG_ENABLE(prettysrc,
@@ -703,6 +712,12 @@ CF_ARG_ENABLE(cgi-links,
 	[AC_DEFINE(LYNXCGI_LINKS)])
 AC_MSG_RESULT($enableval)
 
+AC_MSG_CHECKING(if you want change-exec support)
+CF_ARG_ENABLE(change-exec,
+[  --enable-change-exec    allow users to change exec options],
+	[AC_DEFINE(ENABLE_OPTS_CHANGE_EXEC)])
+AC_MSG_RESULT($enableval)
+
 AC_MSG_CHECKING(if you want exec-links support)
 CF_ARG_ENABLE(exec-links,
 [  --enable-exec-links     allow lynx to execute programs accessed via a link],
@@ -740,7 +755,7 @@ AC_MSG_RESULT($use_syslog)
 test $use_syslog = yes && AC_DEFINE(SYSLOG_REQUESTED_URLS)
 
 AC_MSG_CHECKING(if persistent-cookie logic should be used)
-CF_ARG_ENABLE(persistent-cookies,
+CF_ARG_DISABLE(persistent-cookies,
 [  --disable-persistent-cookies  disable persistent-cookie support],
 	[use_filed_cookies=$enableval],
 	[use_filed_cookies=yes])
diff --git a/lynx.cfg b/lynx.cfg
index f4c6691e..8a1adf93 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -1141,8 +1141,11 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #              the 1st %s in the command will be replaced
 #              by the temporary filename used by Lynx;
 #              a 2nd %s will be replaced by a filename of your choice,
-#              for which Lynx will prompt, offering a suggestion;
-#              if the command format of your printer/downloader requires
+#              for which Lynx will prompt, offering a suggestion.
+#              On Unix, which has pipes, you may use a '|' as the first
+#              character of the command, and Lynx will open a pipe to
+#              the command.
+#              If the command format of your printer/downloader requires
 #              a different layout, you will need to use a script
 #              (see the last 2 download examples below).
 # <option>     TRUE : the printer/downloader will always be ENABLED,
@@ -2034,7 +2037,7 @@ MINIMAL_COMMENTS:TRUE
 # For invoking the command use the EXTERN key.  By default it is mapped
 # to '.' (if the feature is enabled), see the KEYMAP section above.
 #
-# EXTERNAL:ftp:wget %s &:TRUE
+#EXTERNAL:ftp:wget %s &:TRUE
 
 # CERN-style rules, EXPERIMENTAL  -  URL-specific rules
 #
diff --git a/lynx.hlp b/lynx.hlp
index c70e7fb7..61ba8b64 100644
--- a/lynx.hlp
+++ b/lynx.hlp
@@ -1,549 +1,622 @@
 1 LYNX
- NAME
- lynx - a general purpose distributed information browser for the World
- Wide Web
+2 NAME
+       lynx  -  a general purpose distributed information browser
+       for the World Wide Web
 
 2 SYNOPSIS
-     Lynx [options] [path or URL]
+       lynx [options] [path or URL]
 
-     use "lynx -help" to display a complete list of current options.
+       use "lynx -help" to display a  complete  list  of  current
+       options.
 
 2 DESCRIPTION
- Lynx is a fully-featured World Wide Web (WWW) client for users running
- cursor-addressable, character-cell display devices (e.g., vt100 terminals,
- vt100 emulators running on PCs or Macs, or any other "curses-oriented"
- display). It will display hypertext markup language (HTML) documents con-
- taining links to files residing on the local system, as well as files
- residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP
- servers.  Current versions of Lynx run on Unix, VMS, Windows95/NT,
- 386DOS and OS/2 EMX.
-
- Lynx can be used to access information on the World Wide Web, or to build
- information systems intended primarily for local access.  For example, Lynx
- has been used to build several Campus Wide Information Systems (CWIS).  In
- addition, Lynx can be used to build systems isolated within a single LAN.
+       Lynx  is  a fully-featured World Wide Web (WWW) client for
+       users running cursor-addressable,  character-cell  display
+       devices (e.g., vt100 terminals, vt100 emulators running on
+       Windows  95/NT  or  Macintoshes,  or  any  other  "curses-
+       oriented"  display).   It  will  display  hypertext markup
+       language  (HTML)  documents  containing  links  to   files
+       residing on the local system, as well as files residing on
+       remote systems running Gopher, HTTP, FTP, WAIS,  and  NNTP
+       servers.   Current  versions  of  Lynx  run  on Unix, VMS,
+       Windows 95/NT, 386DOS and OS/2 EMX.
+
+       Lynx can be used to access information on the  World  Wide
+       Web,  or  to  build information systems intended primarily
+       for local access.  For example,  Lynx  has  been  used  to
+       build  several Campus Wide Information Systems (CWIS).  In
+       addition, Lynx can  be  used  to  build  systems  isolated
+       within a single LAN.
 
 2 OPTIONS
- At start up, Lynx will load any local file or remote URL specified at
- the command line.  For help with URLs, press "?" or "h" while running
- Lynx.  Then follow the link titled, "Help on URLs."
+       At  start  up, Lynx will load any local file or remote URL
+       specified at the command line.  For help with URLs,  press
+       "?"   or  "H"  while  running  Lynx.  Then follow the link
+       titled, "Help on URLs."
+
+       -      If the argument is only '-', then Lynx  expects  to
+              receive the arguments from stdin.  This is to allow
+              for the potentially very long command line that can
+              be  associated  with  the  -get_data  or -post_data
+              arguments (see below).  It  can  also  be  used  to
+              avoid  having sensitive information in the invoking
+              command line  (which  would  be  visible  to  other
+              processes  on  most  systems),  especially when the
+              -auth or -pauth options are used.
+
+       -accept_all_cookies
+              accept all cookies.
+
+       -anonymous
+              apply restrictions for anonymous account, see  also
+              -restrictions.
+
+       -assume_charset=ID:MIMEname
+              charset for documents that don't specify it.
+
+       -assume_local_charset=ID:MIMEname
+              charset assumed for local files.
+
+       -assume_unrec_charset=MIMEname
+              use this instead of unrecognized charsets.
+
+       -auth=ID:PASSWD
+              set  authorization  ID  and  password for protected
+              documents at  startup.   Be  sure  to  protect  any
+              script files which use this switch.
+
+       -base  prepend  a  request  URL  comment  and  BASE tag to
+              text/html outputs for -source dumps.
+
+       -blink forces high intensity bg colors for color mode,  if
+              available  and  supported  by  the  terminal.  Lynx
+              needs to be compiled with  the  slang  library  for
+              this flag.
+
+       -book  use  the  bookmark  page  as  the  startfile.   The
+              default or command line startfile is still set  for
+              the  Main  screen  command, and will be used if the
+              bookmark page is unavailable or blank.
 
-  -
-       If the argument is only '-', then Lynx expects to receive
-       arguments from stdin.  This is to allow for the potentially
-       very long command line that can be associated with the
-       -get_data or -post_data arguments (see below).  Encase it
-       in double-quotes ("-").
+       -buried_news
+              toggles  scanning  of  news  articles  for   buried
+              references,  and  converts them to news links.  Not
+              recommended because  email  addresses  enclosed  in
+              angle  brackets  will  be  converted  to false news
+              links, and uuencoded messages can be trashed.
 
-  -accept_all_cookies
-       accept all cookies.
+       -cache=NUMBER
+              set the NUMBER of documents cached in memory.   The
+              default is 10.
 
-  -anonymous
-       apply restrictions for anonymous account, see also -restrictions.
+       -case  enable case-sensitive string searching.
 
-  -assume_charset=MIMEname
-       charset for documents that don't specify it.
+       -cfg=FILENAME
+              specifies  a Lynx configuration file other than the
+              default lynx.cfg.
 
-  -assume_local_charset=MIMEname
-       charset assumed for local files.
+       -child exit on left-arrow in startfile, and  disable  save
+              to disk.
 
-  -assume_unrec_charset=MIMEname
-       use this instead of unrecognized charsets.
+       -color forces  color mode on, if available.  Default color
+              control sequences  which  work  for  many  terminal
+              types   are  assumed  if  the  terminal  capability
+              description does not specify how to  handle  color.
+              Lynx  needs  to  be compiled with the slang library
+              for this flag, it  is  equivalent  to  setting  the
+              COLORTERM  environment variable.  (If color support
 
-  -auth=ID:PASSWD
-       set authorization ID and password for protected documents
-       at startup.  Be sure to protect any script files which use
-       this switch.
+              is  instead  provided  by  a  color-capable  curses
+              library like ncurses, Lynx relies completely on the
+              terminal description  to  determine  whether  color
+              mode  is  possible, and this flag is not needed and
+              thus  unavailable.)   A   saved   show_color=always
+              setting  found in a .lynxrc file at startup has the
+              same effect.  A saved  show_color=always  found  in
+              .lynxrc on startup is overridden by this flag.
 
-  -base
-       prepend a request URL comment and BASE tag to text/html
-       outputs for -source dumps.
+       -cookies
+              toggles handling of Set-Cookie headers.
 
-  -blink
-       forces high intensity bg colors for color mode, if available
-       and supported by the terminal.
-       Lynx needs to be compiled with the slang library for this flag.
+       -cookie_file=FILENAME
+              specifies a file to use to store cookies.
 
-  -book
-       use the bookmark page as the startfile.  The default or command
-       line startfile is still set for the Main screen command, and will
-       be used if the bookmark page is unavailable or blank.
+       -core  toggles forced core dumps on fatal errors.
 
-  -buried_news
-       toggles scanning of news articles for buried references, and
-       converts them to news links.  Not recommended because email
-       addresses enclosed in angle brackets will be converted to
-       false news links, and uuencoded messages can be trashed.
+       -crawl with  -traversal, output each page to a file.  with
+              -dump, format output as  with  -traversal,  but  to
+              stdout.
 
-  -cache=NUMBER
-       set the NUMBER of documents cached in memory.  The default is 10.
+       -debug_partial
+              incremental display stages with MessageSecs delay
 
-  -case
-       enable case-sensitive string searching.
+       -display=DISPLAY
+              set the display variable for X rexec-ed programs.
 
-  -cfg=FILENAME
-       specifies a Lynx configuration file other than the default lynx.cfg.
+       -dump  dumps  the formatted output of the default document
+              or one specified on the command  line  to  standard
+              output.  This can be used in the following way:
 
-  -child
-       exit on left-arrow in startfile, and disable save to disk.
+              lynx -dump http://www.crl.com/~subir/lynx.html
 
-  -color
-       forces color mode on, if available.  Default color control sequences
-       which work for many terminal types are assumed if the terminal
-       capability description does not specify how to handle color.
-       Lynx needs to be compiled with the slang library for this flag.
-       A saved show_color=always setting found in a .lynxrc file at
-       startup has the same effect.  A saved show_color=always found
-       in .lynxrc on startup is overridden by this flag.
+       -editor=EDITOR
+              enable   external   editing,  using  the  specified
+              EDITOR. (vi, ed, emacs, etc.)
 
-  -cookies
-       toggles handling of Set-Cookie headers.
+       -emacskeys
+              enable emacs-like key movement.
 
-  -cookie_file=FILENAME
-       specifies a file to use to store cookies.
+       -enable_scrollback
+              toggles   compatibility   with    comm    programs'
+              scrollback  keys  (may  be  incompatible  with some
+              curses packages).
 
-  -crawl
-       with -traversal, output each page to a file.
-       with -dump, format output as with -traversal, but to stdout.
+       -error_file=FILE
+              define a file where Lynx will  report  HTTP  access
+              codes.
 
-  -debug_partial
-      incremental display stages with MessageSecs delay
+       -exec  enable   local   program  execution  (normally  not
+              configured).
 
-  -display=DISPLAY
-       set the display variable for X rexec-ed programs.
+       -fileversions
+              include  all  versions  of  files  in   local   VMS
+              directory listings.
 
-  -dump
-       dumps the formatted output of the default document or one specified
-       on the command line to standard out.  This can be used in the
-       following way:
-           lynx -dump http://www.crl.com/~subir/lynx.html
+       -force_html
+              forces  the  first  document  to  be interpreted as
+              HTML.
 
-  -editor=EDITOR
-       enable edit mode using the specified EDITOR. (vi, ed, emacs, etc.)
+       -force_secure
+              toggles forcing of the secure flag for SSL cookies.
 
-  -emacskeys
-       enable emacs-like key movement.
+       -forms_options
+              toggles the style of options (menu or forms).
 
-  -enable_scrollback
-       toggles compatibility with comm programs' scrollback keys
-       (may be incompatible with some curses packages).
+       -from  toggles transmissions of From headers.
 
-  -error_file=FILE
-       define a file where Lynx will report HTTP access codes.
+       -ftp   disable ftp access.
 
-  -exec
-       enable local program execution (normally not configured).
+       -get_data
+              send form data from stdin using GET method and dump
+              results.
 
-  -fileversions
-       include all versions of files in local VMS directory listings.
+       -head  send a HEAD request for the mime headers.
 
-  -force_html
-       forces the first document to be interpreted as HTML.
+       -help  print the Lynx command syntax usage message.
 
-  -force_secure
-       toggles forcing of the secure flag for SSL cookies.
+       -hiddenlinks=[option]
+              control the display of hidden links.
 
-  -forms_options
-       toggles the style of options (menu or forms).
+              merge hidden links show up as bracketed numbers and
+              are  numbered  together  with  other  links  in the
+              sequence of their occurrence in the document.
 
-  -from
-       toggles transmissions of From headers.
+              listonly hidden  links  are  shown  only  on  L)ist
+              screens and listings generated by -dump or from the
+              P)rint menu, but appear separately at  the  end  of
+              those lists.  This is the default behavior.
 
-  -ftp
-       disable ftp access.
+              ignore hidden links do not appear even in listings.
 
-  -get_data
-       send form data from stdin using GET method and dump results.
+       -historical
+              toggles use of '>' or '-->'  as  a  terminator  for
+              comments.
 
-  -head
-       send a HEAD request for the mime headers.
+       -homepage=URL
+              set homepage separate from start page.
 
-  -help
-       print the Lynx command syntax usage message.
+       -image_links
+              toggles inclusion of links for all images.
 
-  -hiddenlinks=[option]
-       control the display of hidden links.
+       -index=URL
+              set the default index file to the specified URL.
 
-       + merge
-         hidden links show up as bracketed numbers and are numbered together
-         with other links in the sequence of their occurrence in the document.
+       -ismap toggles  inclusion  of ISMAP links when client-side
+              MAPs are present.
 
-       + listonly
-         hidden links are shown only on L)ist screens and listings generated by
-         -dump or from the P)rint menu, but appear separately at the end of
-         those lists.  This is the default behavior.
+       -link=NUMBER
+              starting  count  for  lnk#.dat  files  produced  by
+              -crawl.
 
-       + ignore
-         hidden links do not appear even in listings.
+       -localhost
+              disable URLs that point to remote hosts.
 
-  -historical
-       toggles use of '>' or '-->' as a terminator for comments.
+       -locexec
+              enable  local  program  execution  from local files
+              only (if Lynx was  compiled  with  local  execution
+              enabled).
 
-  -homepage=URL
-       set homepage separate from start page.
+       -mime_header
+              prints  the MIME header of a fetched document along
+              with its source.
 
-  -image_links
-       toggles inclusion of links for all images.
+       -minimal
+              toggles minimal versus valid comment parsing.
 
-  -index=URL
-       set the default index file to the specified URL.
+       -newschunksize=NUMBER
+              number of articles in chunked news listings.
 
-  -ismap
-       toggles inclusion of ISMAP links when client-side
-       MAPs are present.
+       -newsmaxchunk=NUMBER
+              maximum news articles in listings before  chunking.
 
-  -link=NUMBER
-       starting count for lnk#.dat files produced by -crawl.
+       -nobrowse
+              disable directory browsing.
 
-  -localhost
-       disable URLs that point to remote hosts.
+       -nocc  disable  Cc:  prompts  for self copies of mailings.
+              Note that this does not disable any CCs  which  are
+              incorporated within a mailto URL or form ACTION.
 
-  -locexec
-       enable local program execution from local files only (if
-       Lynx was compiled with local execution enabled).
+       -nocolor
+              force   color   mode   off,   overriding   terminal
+              capabilities  and  any  -color   flags,   COLORTERM
+              variable, and saved .lynxrc settings.
 
-  -mime_header
-       prints the MIME header of a fetched document along with its
-       source.
+       -noexec
+              disable local program execution. (DEFAULT)
 
-  -minimal
-       toggles minimal versus valid comment parsing.
+       -nofilereferer
+              disable  transmissions  of Referer headers for file
+              URLs.
 
-  -newschunksize=NUMBER
-       number of articles in chunked news listings.
+       -nolist
+              disable the link list feature in dumps.
 
-  -newsmaxchunk=NUMBER
-       maximum news articles in listings before chunking.
+       -nolog disable  mailing  of  error  messages  to  document
+              owners.
 
-  -nobrowse
-       disable directory browsing.
+       -nonrestarting_sigwinch
+              This  flag  is  not  available on all systems, Lynx
+              needs to be compiled with  HAVE_SIGACTION  defined.
+              If  available,  this  flag  may cause Lynx to react
+              more immediately to window changes when run  within
+              an xterm.
 
-  -nocc
-       disable Cc: prompts for self copies of mailings.  Note
-       that this does not disable any CCs which are incorporated
-       within a mailto URL or form ACTION.
+       -nopause
+              disable forced pauses for statusline messages.
 
-  -nocolor
-       force color mode off, overriding terminal capabilities and any
-       -color flags, COLORTERM variable, and saved .lynxrc settings.
+       -noprint
+              disable most print functions.
 
-  -noexec
-       disable local program execution. (DEFAULT)
+       -noredir
+              prevents automatic redirection and prints a message
+              with a link to the new URL.
 
-  -nofilereferer
-       disable transmissions of Referer headers for file URLs.
+       -noreferer
+              disable transmissions of Referer headers.
 
-  -nolist
-       disable the link list feature in dumps.
+       -nosocks
+              disable SOCKS proxy usage by a SOCKSified Lynx.
 
-  -nolog
-       disable mailing of error messages to document owners.
+       -nostatus
+              disable the retrieval status messages.
 
-  -nopause
-       disable forced pauses for statusline messages.
+       -number_links
+              force numbering of links.
 
-  -noprint
-       disable most print functions.
+       -partial
+              toggles display partial pages while loading.
 
-  -noredir
-       prevents automatic redirection and prints a message with a
-       link to the new URL.
+       partial_thres=NUMBER
+              number of lines to render before repainting display
+              with partial-display logic
 
-  -noreferer
-       disable transmissions of Referer headers.
+       -pauth=ID:PASSWD
+              set  authorization  ID and password for a protected
+              proxy server at startup.  Be sure  to  protect  any
+              script files which use this switch.
 
-  -nosocks
-       disable SOCKS proxy usage by a SOCKSified Lynx.
+       -popup toggles  handling  of  single-choice SELECT options
+              via popup windows or as lists of radio buttons.
 
-  -nostatus
-       disable the retrieval status messages.
+       -post_data
+              send form data from stdin  using  POST  method  and
+              dump results.
 
-  -number_links
-       force numbering of links.
+       -preparsed
+              show  HTML  source  preparsed  and reformatted when
+              used with -source or in source view.
 
-  -partial
-       display partial pages while loading.
+       -prettysrc
+              show HTML source view  with  lexical  elements  and
+              tags in color.
 
-  -partial_thres=NUMBER
-       number of lines to render before repainting display
-       with partial-display logic
+       -print enable print functions. (default)
 
-  -pauth=ID:PASSWD
-       set authorization ID and password for a protected proxy
-       server at startup.  Be sure to protect any script files
-       which use this switch.
+       -pseudo_inlines
+              toggles pseudo-ALTs for inlines with no ALT string.
 
-  -popup
-       toggles handling of single-choice SELECT options via
-       popup windows or as lists of radio buttons.
+       -raw   toggles  default   setting   of   8-bit   character
+              translations  or CJK mode for the startup character
+              set.
 
-  -post_data
-       send form data from stdin using POST method and dump results.
+       -realm restricts access to URLs in the starting realm.
 
-  -preparsed
-       show HTML source preparsed and reformatted when used with -source
-       or in source view.
+       -reload
+              flushes the cache on a proxy server (only the first
+              document affected).
 
-  -print
-       enable print functions. (default)
+       -restrictions=[option][,option][,option]...
+              allows   a   list   of   services  to  be  disabled
+              selectively.  The following list is printed  if  no
+              options are specified.
 
-  -pseudo_inlines
-       toggles pseudo-ALTs for inlines with no ALT string.
+              all - restricts all options listed below.
 
-  -raw
-       toggles default setting of 8-bit character translations
-       or CJK mode for the startup character set.
+              bookmark  -  disallow  changing the location of the
+              bookmark file.
 
-  -realm
-       restricts access to URLs in the starting realm.
+              bookmark_exec - disallow execution  links  via  the
+              bookmark file.
 
-  -reload
-       flushes the cache on a proxy server
-       (only the first document affected).
+              change_exec_perms  -  disallow changing the eXecute
+              permission  on  files  (but  still  allow  it   for
+              directories) when local file management is enabled.
 
-  -restrictions=[option][,,option]...
-       allows a list of services to be disabled selectively.  The following
-       list is printed if no options are specified.
+              default - same as command line  option  -anonymous.
+              Disables default services for anonymous users.  Set
+              to  all  restricted,  except  for:   inside_telnet,
+              outside_telnet,       inside_ftp,      outside_ftp,
+              inside_rlogin,     outside_rlogin,     inside_news,
+              outside_news, telnet_port, jump, mail, print, exec,
+              and goto.  The  settings  for  these,  as  well  as
+              additional   goto  restrictions  for  specific  URL
+              schemes that are also  applied,  are  derived  from
+              definitions within userdefs.h.
 
-       all - restricts all options listed below.
+              dired_support - disallow local file management.
 
-       bookmark - disallow changing the location of the bookmark file.
+              disk_save - disallow saving to disk in the download
+              and print menus.
 
-       bookmark_exec - disallow execution links via the bookmark file.
+              dotfiles - disallow  access  to,  or  creation  of,
+              hidden (dot) files.
 
-       change_exec_perms - disallow changing the eXecute permission on
-           files (but still allow it for directories) when local file
-           management is enabled.
+              download   -   disallow  some  downloaders  in  the
+              download   menu   (does   not    imply    disk_save
+              restriction).
 
-       default - same as command line option -anonymous.  Disables default
-           services for anonymous users.  Set to all restricted, except
-           for:  inside_telnet, outside_telnet, inside_ftp, outside_ftp,
-           inside_rlogin, outside_rlogin, inside_news, outside_news,
-           telnet_port, jump, mail, print, exec, and goto.  The settings
-           for these, as well as additional goto restrictions for
-           specific URL schemes that are also applied, are derived
-           from definitions within userdefs.h.
+              editor - disallow external editing.
+              exec - disable execution scripts.
 
-       dired_support - disallow local file management.
+              exec_frozen  -  disallow the user from changing the
+              local execution option.
 
-       disk_save - disallow saving to disk in the download and print
-           menus.
+              externals - disallow some "EXTERNAL"  configuration
+              lines  if  support  for  passing  URLs  to external
+              applications (with the EXTERN command) is  compiled
+              in.
 
-       download - disallow some downloaders in the download menu (does
-           not imply disk_save restriction).
+              file_url  -  disallow  using G)oto, served links or
+              bookmarks for file: URLs.
 
-       editor - disallow external editing.
+              goto - disable the 'g' (goto) command.
 
-       exec - disable execution scripts.
+              inside_ftp - disallow ftps for people  coming  from
+              inside your domain (utmp required for selectivity).
 
-       exec_frozen - disallow the user from changing the local execution
-           option.
+              inside_news -  disallow  USENET  news  posting  for
+              people   coming   from  inside  your  domain  (utmp
+              required for selectivity).
 
-       file_url - disallow using G)oto, served links or bookmarks for
-           file: URLs.
+              inside_rlogin - disallow rlogins for people  coming
+              from   inside   your   domain  (utmp  required  for
+              selectivity).
 
-       goto - disable the 'g' (goto) command.
+              inside_telnet - disallow telnets for people  coming
+              from   inside   your   domain  (utmp  required  for
+              selectivity).
 
-       inside_ftp - disallow ftps for people coming from inside your domain
-           (utmp required for selectivity).
+              jump - disable the 'j' (jump) command.
 
-       inside_news - disallow USENET news reading and posting for people
-           coming from inside our domain (utmp required for selectivity).
-           This restriction applies to "news", "nntp", "newspost", and
-           "newsreply" URLs, but not to "snews", "snewspost", or
-           "snewsreply" in case they are supported.
+              multibook - disallow multiple bookmarks.
 
-       inside_rlogin - disallow rlogins for people coming from inside your
-           domain (utmp required for selectivity).
+              mail - disallow mail.
 
-       inside_telnet - disallow telnets for people coming from inside your
-           domain (utmp required for selectivity).
+              news_post - disallow USENET News posting.
 
-       jump - disable the 'j' (jump) command.
+              options_save - disallow saving options in  .lynxrc.
 
-       multibook - disallow multiple bookmark files.
+              outside_ftp  - disallow ftps for people coming from
+              outside   your   domain    (utmp    required    for
+              selectivity).
 
-       mail - disallow mail.
+              outside_news  -  disallow  USENET  news reading and
+              posting for people coming from outside your  domain
+              (utmp  required for selectivity).  This restriction
+              applies  to   "news",   "nntp",   "newspost",   and
+              "newsreply"  URLs, but not to "snews", "snewspost",
+              or "snewsreply" in case they are supported.
 
-       news_post - disallow USENET News posting.
+              outside_rlogin - disallow rlogins for people coming
+              from   outside   your  domain  (utmp  required  for
+              selectivity).
 
-       options_save - disallow saving options in .lynxrc.
+              outside_telnet - disallow telnets for people coming
+              from   outside   your  domain  (utmp  required  for
+              selectivity).
 
-       outside_ftp - disallow ftps for people coming from outside your
-           domain (utmp required for selectivity).
+              print - disallow most print options.
 
-       outside_news - disallow USENET news posting for people coming from
-           outside your domain (utmp required for selectivity).
-           This restriction applies to "news", "nntp", "newspost", and
-           "newsreply" URLs, but not to "snews", "snewspost", or
-           "snewsreply" in case they are supported.
+              shell - disallow  shell  escapes  and  lynxexec  or
+              lynxprog G)oto's.
 
-       outside_rlogin - disallow rlogins for people coming from outside your
-           domain (utmp required for selectivity).
+              suspend  -  disallow  Unix  Control-Z suspends with
+              escape to shell.
 
-       outside_telnet - disallow telnets for people coming from outside your
-           domain (utmp required for selectivity).
+              telnet_port - disallow specifying a port in  telnet
+              G)oto's.
 
-       print - disallow most print options.
+              useragent  -  disallow  modifications  of the User-
+              Agent header.
 
-       shell - disallow shell escapes and lynxexec or lynxprog G)oto's.
+       -resubmit_posts
+              toggles forced resubmissions  (no-cache)  of  forms
+              with  method  POST when the documents they returned
+              are sought with the PREV_DOC command  or  from  the
+              History List.
 
-       suspend - disallow Unix Control-Z suspends with escape to shell.
+       -rlogin
+              disable recognition of rlogin commands.
 
-       telnet_port - disallow specifying a port in telnet G)oto's.
+       -selective
+              require .www_browsable files to browse directories.
 
-       useragent - disallow modifications of the User-Agent header.
+       -show_cursor
+              If enabled the cursor will not  be  hidden  in  the
+              right hand corner but will instead be positioned at
+              the start of the  currently  selected  link.   Show
+              cursor   is   the   default   for  systems  without
+              FANCY_CURSES     capabilities.      The     default
+              configuration  can  be  changed  in  userdefs.h  or
+              lynx.cfg.  The  command  line  switch  toggles  the
+              default.
 
-  -resubmit_posts
-       toggles forced resubmissions (no-cache) of forms with
-       method POST when the documents they returned are sought
-       with the PREV_DOC command or from the History List.
+       -soft_dquotes
+              toggles  emulation  of  the old Netscape and Mosaic
+              bug  which  treated  '>'  as  a  co-terminator  for
+              double-quotes and tags.
 
-  -rlogin
-       disable recognition of rlogin commands.
+       -source
+              works  the  same  as  dump  but outputs HTML source
+              instead of formatted text.
 
-  -selective
-       require .www_browsable files to browse directories.
+       -stack_dump
+              disable SIGINT cleanup handler
 
-  -show_cursor
-       If enabled the cursor will not be hidden in the right hand corner
-       but will instead be positioned at the start of the currently
-       selected link.  Show cursor is the default for systems without
-       FANCY_CURSES capabilities.  The default configuration can be
-       changed in userdefs.h or lynx.cfg.  The command line switch
-       toggles the default.
+       -startfile_ok
+              allow  non-http   startfile   and   homepage   with
+              -validate.
 
-  -soft_dquotes
-       toggles emulation of the old Netscape and Mosaic bug which
-       treated '>' as a co-terminator for double-quotes and tags.
+       -tagsoup
+              initialize  parser,  using Tag Soup DTD rather than
+              SortaSGML.
 
-  -source
-       works the same as dump but outputs HTML source instead of formatted
-       text.
+       -telnet
+              disable recognition of telnet commands.
 
-  -stack_dump
-       disable SIGINT cleanup handler
+       -term=TERM
+              tell Lynx  what  terminal  type  to  assume  it  is
+              talking   to.   (This  may  be  useful  for  remote
+              execution, when, for example, Lynx  connects  to  a
+              remote  TCP/IP  port  that starts a script that, in
+              turn, starts another Lynx process.)
 
-  -startfile_ok
-       allow non-http startfile and homepage with -validate.
+       -tlog  toggles between using a Lynx Trace Log  and  stderr
+              for trace output from the session.
 
-  -tagsoup
-       initialize parser, using Tag Soup DTD rather than SortaSGML.
+       -trace turns  on  Lynx  trace  mode.  Destination of trace
+              output depends on -tlog.
 
-  -telnet
-       disable recognition of telnet commands.
-
-  -term=TERM
-       tell Lynx what terminal type to assume it's talking to.  (This may be
-       useful for remote execution, when, for example, Lynx connects to a
-       remote TCP/IP port that starts a script that, in turn, starts another
-       Lynx process.)
-
-  -tlog
-       toggles use of a Lynx Trace Log for the current session.
-
-  -trace
-       turns on Lynx trace mode.  Destination of trace output depends
-       on -tlog.
-
-  -traversal
-       traverse all http links derived from startfile.  When used with
-       -crawl, each link that begins with the same string as startfile
-       is output to a file, intended for indexing.  See CRAWL.announce
-       for more information.
-
-  -underscore
-       toggles use of _underline_ format in dumps.
-
-  -use_mouse
-       turn on xterm mouse support.
-       Clicking the left mouse button on a link traverses it.
-       Clicking the right mouse button pops back.
-       Click in the first line of a page to scroll up.
-       Click in the last line of a page to scroll down.
-       Lynx must be compiled with ncurses or slang to support this feature.
-
-  -useragent=Name
-       set alternate Lynx User-Agent header.
-
-  -validate
-       accept only http URLs (for validation).  Complete security
-       restrictions also are implemented.
-
-  -verbose
-       taggles [LINK], [IMAGE] and [INLINE] comments
-       with filenames of these images.
-
-  -version
-       print version information.
-
-  -vikeys
-       enable vi-like key movement.
-
-  -width=NUMBER
-       number of columns for formatting of dumps, default is 80.
+       -traversal
+              traverse all http  links  derived  from  startfile.
+              When  used  with -crawl, each link that begins with
+              the same string as startfile is output to  a  file,
+              intended for indexing.  See CRAWL.announce for more
+              information.
+
+       -underscore
+              toggles use of _underline_ format in dumps.
+
+       -use_mouse
+              turn on mouse support, if available.  Clicking  the
+              left mouse button on a link traverses it.  Clicking
+              the right mouse button pops back.  Click on the top
+              line  to  scroll  up.   Click on the bottom line to
+              scroll down.  The first few positions  in  the  top
+              and  bottom  line  may invoke additional functions.
+              Lynx must be compiled  with  ncurses  or  slang  to
+              support this feature.  If ncurses is used, clicking
+              the middle mouse button  pops  up  a  simple  menu.
+              Mouse  clicks  may only work reliably while Lynx is
+              idle waiting for input.
+
+       -useragent=Name
+              set alternate Lynx User-Agent header.
+
+       -validate
+              accept only http URLs (for  validation).   Complete
+              security restrictions also are implemented.
+
+       -verbose
+              taggles  [LINK], [IMAGE] and [INLINE] comments with
+              filenames of these images.
+
+       -version
+              print version information.
+
+       -vikeys
+              enable vi-like key movement.
+
+       -width=NUMBER
+              number of columns for formatting of dumps,  default
+              is 80.
 
 2 COMMANDS
- o Use Up arrow and Down arrow to scroll through hypertext links.
- o Right arrow or Return will follow a highlighted hypertext link.
- o Left Arrow will retreat from a link.
- o Type "H" or "?" for online help and descriptions of key-stroke commands.
- o Type "K" for a complete list of the current key-stroke command mappings.
+       o  Use Up arrow and Down arrow to scroll through hypertext
+       links.
+       o  Right  arrow  or  Return  will  follow  a   highlighted
+       hypertext link.
+       o Left Arrow will retreat from a link.
+       o Type "H" or "?" for online help and descriptions of key-
+       stroke commands.
+       o Type "K" for a complete list of the  current  key-stroke
+       command mappings.
 
 2 ENVIRONMENT
-       In addition to various  "standard"  environment  variables
-       such  as HOME, PATH, USER, DISPLAY, TMPDIR, etc, Lynx uti-
-       lizes several Lynx-specific environment variables, if they
-       exist.
+       In  addition  to  various "standard" environment variables
+       such as HOME,  PATH,  USER,  DISPLAY,  TMPDIR,  etc,  Lynx
+       utilizes  several  Lynx-specific environment variables, if
+       they exist.
 
-       Others  may be created or modified by Lynx to pass data to
-       an external program, or  for  other  reasons.   These  are
+       Others may be created or modified by Lynx to pass data  to
+       an  external  program,  or  for  other reasons.  These are
        listed separately below.
 
-       See  also the sections on SIMULATED CGI SUPPORT and NATIVE
+       See also the sections on SIMULATED CGI SUPPORT and  NATIVE
        LANGUAGE SUPPORT, below.
 
        Note:  Not all environment variables apply to all types of
-       platforms  supported by Lynx, though most do.  Feedback on
+       platforms supported by Lynx, though most do.  Feedback  on
        platform dependencies is solicited.
 
        Environment Variables Used By Lynx:
 
-       COLORTERM           If set, color capability for the  ter-
-                           minal  is  forced  on at startup time.
-                           The actual value assigned to the vari-
-                           able  is  ignored.   This  variable is
+       COLORTERM           If   set,  color  capability  for  the
+                           terminal is forced on at startup time.
+                           The   actual  value  assigned  to  the
+                           variable is ignored.  This variable is
                            only  meaningful  if  Lynx  was  built
-                           using    the   slang   screen-handling
+                           using   the   slang    screen-handling
                            library.
 
-       LYNX_CFG            This variable, if set,  will  override
-                           the  default  location and name of the
-                           global configuration  file  (normally,
+       LYNX_CFG            This  variable,  if set, will override
+                           the default location and name  of  the
+                           global  configuration  file (normally,
                            lynx.cfg)  that  was  defined  by  the
                            LYNX_CFG_FILE    constant    in    the
-                           userdefs.h  file, during installation.
-                           See  the  userdefs.h  file  for   more
+                           userdefs.h file, during  installation.
+                           See   the  userdefs.h  file  for  more
                            information.
 
-       LYNX_LSS            This  variable,  if set, specifies the
+       LYNX_LSS            This variable, if set,  specifies  the
                            location of the default Lynx character
                            style  sheet  file.   [Currently  only
-                           meaningful if  Lynx  was  built  using
+                           meaningful  if  Lynx  was  built using
                            experimental color style support.]
 
-       LYNX_SAVE_SPACE     This  variable,  if set, will override
+       LYNX_SAVE_SPACE     This variable, if set,  will  override
                            the  default  path  prefix  for  files
-                           saved  to  disk that is defined in the
-                           lynx.cfg SAVE_SPACE:  statement.   See
-                           the  lynx.cfg  file  for more informa-
-                           tion.
+                           saved to disk that is defined  in  the
+                           lynx.cfg  SAVE_SPACE:  statement.  See
+                           the    lynx.cfg    file    for    more
+                           information.
 
-       LYNX_TEMP_SPACE     This variable, if set,  will  override
-                           the  default path prefix for temporary
-                           files that was defined during  instal-
-                           lation,  as well as any value that may
-                           be assigned to the TMPDIR variable.
+       LYNX_TEMP_SPACE     This  variable,  if set, will override
+                           the default path prefix for  temporary
+                           files    that   was   defined   during
+                           installation, as  well  as  any  value
+                           that  may  be  assigned  to the TMPDIR
+                           variable.
 
        MAIL                This variable  specifies  the  default
                            inbox Lynx will check for new mail, if
@@ -553,11 +626,11 @@
        NEWS_ORGANIZATION   This  variable,  if  set, provides the
                            string  used  in   the   Organization:
                            header  of  USENET  news postings.  It
-                           will override the setting of the ORGA-
-                           NIZATION  environment  variable, if it
-                           is also set (and, on  UNIX,  the  con-
-                           tents of an /etc/organization file, if
-                           present).
+                           will  override  the  setting  of   the
+                           ORGANIZATION  environment variable, if
+                           it is also  set  (and,  on  UNIX,  the
+                           contents of an /etc/organization file,
+                           if present).
 
        NNTPSERVER          If set, this  variable  specifies  the
                            default  NNTP server that will be used
@@ -572,30 +645,31 @@
 
        PROTOCOL_proxy      Lynx supports the use of proxy servers
                            that  can act as firewall gateways and
+
                            caching servers.  They are  preferable
                            to  the  older  gateway  servers  (see
-                           WWW_access_GATEWAY, below).  Each pro-
-                           tocol   used   by  Lynx,  (http,  ftp,
+                           WWW_access_GATEWAY,   below).     Each
+                           protocol  used  by  Lynx,  (http, ftp,
                            gopher, etc), can be mapped separately
                            by  setting  environment  variables of
                            the  form  PROTOCOL_proxy  (literally:
                            http_proxy,  ftp_proxy,  gopher_proxy,
                            etc),                               to
-                             "http://some.server.dom:port/".
-                           See Lynx Users Guide for additional
+                           "http://some.server.dom:port/".    See
+                           Lynx  Users   Guide   for   additional
                            details and examples.
 
-       WWW_access_GATEWAY  Lynx still  supports  use  of  gateway
-                           servers,  with  the  servers specified
+       WWW_access_GATEWAY  Lynx  still  supports  use  of gateway
+                           servers, with  the  servers  specified
                            via   "WWW_access_GATEWAY"   variables
-                           (where  "access" is lower case and can
+                           (where "access" is lower case and  can
                            be "http", "ftp", "gopher" or "wais"),
                            however most gateway servers have been
-                           discontinued.  Note that  you  do  not
-                           include  a  terminal '/' for gateways,
-                           but do for proxies specified by PROTO-
-                           COL_proxy  environment variables.  See
-                           Lynx Users Guide for details.
+                           discontinued.   Note  that  you do not
+                           include a terminal '/'  for  gateways,
+                           but   do   for  proxies  specified  by
+                           PROTOCOL_proxy environment  variables.
+                           See Lynx Users Guide for details.
 
        WWW_HOME            This  variable,  if set, will override
                            the default startup URL  specified  in
@@ -607,8 +681,8 @@
                            p(rint) function, to the Date:  string
                            seen  in  the  document's "Information
                            about" page (= cmd), if  any.   It  is
-                           created  for  use  by an external pro-
-                           gram,  as  defined   in   a   lynx.cfg
+                           created   for   use   by  an  external
+                           program,  as  defined  in  a  lynx.cfg
                            PRINTER: definition statement.  If the
                            field does not exist for the document,
                            the  variable  is set to a null string
@@ -616,56 +690,58 @@
 
        LYNX_PRINT_LASTMOD  This  variable  is  set  by  the  Lynx
                            p(rint)  function,  to  the  Last Mod:
-                           string seen in the document's  "Infor-
-                           mation  about"  page  (= cmd), if any.
-                           It is created for use by  an  external
-                           program,  as  defined  in  a  lynx.cfg
-                           PRINTER: definition statement.  If the
-                           field does not exist for the document,
-                           the variable is set to a  null  string
-                           under UNIX, or "No LastMod" under VMS.
+                           string   seen   in   the    document's
+                           "Information  about"  page (= cmd), if
+                           any.  It is  created  for  use  by  an
+                           external  program,  as  defined  in  a
+                           lynx.cfg      PRINTER:      definition
+                           statement.   If  the  field  does  not
+                           exist for the document,  the  variable
+                           is set to a null string under UNIX, or
+                           "No LastMod" under VMS.
 
        LYNX_PRINT_TITLE    This  variable  is  set  by  the  Lynx
                            p(rint)  function,  to  the  Linkname:
-                           string seen in the document's  "Infor-
-                           mation  about"  page  (= cmd), if any.
-                           It is created for use by  an  external
-                           program,  as  defined  in  a  lynx.cfg
-                           PRINTER: definition statement.  If the
-                           field does not exist for the document,
-                           the variable is set to a  null  string
-                           under UNIX, or "No Title" under VMS.
+                           string   seen   in   the    document's
+                           "Information  about"  page (= cmd), if
+                           any.  It is  created  for  use  by  an
+                           external  program,  as  defined  in  a
+                           lynx.cfg      PRINTER:      definition
+                           statement.   If  the  field  does  not
+                           exist for the document,  the  variable
+                           is set to a null string under UNIX, or
+                           "No Title" under VMS.
 
        LYNX_PRINT_URL      This  variable  is  set  by  the  Lynx
-                           p(rint) function, to the  URL:  string
-                           seen  in  the  document's "Information
-                           about" page (= cmd), if  any.   It  is
-                           created  for  use  by an external pro-
-                           gram,  as  defined   in   a   lynx.cfg
+                           p(rint)  function,  to the URL: string
+                           seen in  the  document's  "Information
+                           about"  page  (=  cmd), if any.  It is
+                           created  for  use   by   an   external
+                           program,  as  defined  in  a  lynx.cfg
                            PRINTER: definition statement.  If the
                            field does not exist for the document,
-                           the  variable  is set to a null string
+                           the variable is set to a  null  string
                            under UNIX, or "No URL" under VMS.
 
-       LYNX_VERSION        This variable is always set  by  Lynx,
+       LYNX_VERSION        This  variable  is always set by Lynx,
                            and may be used by an external program
-                           to determine  if  it  was  invoked  by
-                           Lynx.   See  also  the comments in the
+                           to  determine  if  it  was  invoked by
+                           Lynx.  See also the  comments  in  the
                            distribution's  sample  mailcap  file,
                            for notes on usage in such a file.
 
-       TERM                Normally,  this  variable  is  used by
-                           Lynx to determine  the  terminal  type
-                           being  used  to invoke Lynx.  If, how-
-                           ever, it is unset at startup time  (or
-                           has  the  value  "unknown"), or if the
-                           -term command-line option is used (see
-                           OPTIONS  section above), Lynx will set
-                           or modify its value to the user speci-
-                           fied  terminal type (for the Lynx exe-
-                           cution   environment).     Note:    If
-                           set/modified  by  Lynx,  the values of
-                           the LINES and/or  COLUMNS  environment
+       TERM                Normally, this  variable  is  used  by
+                           Lynx  to  determine  the terminal type
+                           being  used  to  invoke   Lynx.    If,
+                           however,  it  is unset at startup time
+                           (or has the value  "unknown"),  or  if
+                           the  -term command-line option is used
+                           (see OPTIONS section above), Lynx will
+                           set  or  modify  its value to the user
+                           specified terminal type (for the  Lynx
+                           execution   environment).    Note:  If
+                           set/modified by Lynx,  the  values  of
+                           the  LINES  and/or COLUMNS environment
                            variables may also be changed.
 
 2 SIMULATED CGI SUPPORT
@@ -674,8 +750,8 @@
        http daemon.
 
        When executing such "lynxcgi scripts"  (if  enabled),  the
-       following  variables may be set for simulating a CGI envi-
-       ronment:
+       following  variables  may  be  set  for  simulating  a CGI
+       environment:
 
        CONTENT_LENGTH
 
@@ -717,9 +793,9 @@
 2 NATIVE LANGUAGE SUPPORT
        If  configured and installed with Native Language Support,
        Lynx will display status and other messages in your  local
-       language.   See the file ABOUT_NLS in the source distribu-
-       tion, or at your local  GNU  site,  for  more  information
-       about internationalization.
+       language.    See   the   file   ABOUT_NLS  in  the  source
+       distribution,  or  at  your  local  GNU  site,  for   more
+       information about internationalization.
 
        The  following  environment variables may be used to alter
        default settings:
@@ -733,9 +809,9 @@
 
        LANGUAGE            This  variable,  if set, will override
                            the default message language.  This is
-                           a GNU extension that has higher prior-
-                           ity for setting  the  message  catalog
-                           than LANG or LC_ALL.
+                           a   GNU   extension  that  has  higher
+                           priority  for  setting   the   message
+                           catalog than LANG or LC_ALL.
 
        LC_ALL              and
 
@@ -743,9 +819,9 @@
                            notion of native  language  formatting
                            style.  They are POSIXly correct.
 
-       LINGUAS             This variable, if set prior to config-
-                           uration,  limits  the  installed  lan-
-                           guages  to  specific  values.  It is a
+       LINGUAS             This   variable,   if   set  prior  to
+                           configuration,  limits  the  installed
+                           languages to specific values.  It is a
                            space-separated  list  of   two-letter
                            codes.  Currently, it is hard-coded to
                            a wish list.
@@ -754,63 +830,68 @@
                            path prefix for message catalogs.
 
 2 NOTES
- This is the Lynx v2.8.2 Release
+       This is the Lynx v2.8.2 Release
 
- If you wish to contribute to the further development of Lynx, subscribe
- to our mailing list.  Send email to <majordomo@sig.net> with
- "subscribe lynx-dev" as the only line in the body of your
- message.
+       If  you  wish  to contribute to the further development of
+       Lynx, subscribe  to  our  mailing  list.   Send  email  to
+       <majordomo@sig.net>  with "subscribe lynx-dev" as the only
+       line in the body of your message.
 
- Send bug reports, comments, suggestions to <lynx-dev@sig.net>
- after subscribing.
+       Send  bug  reports,  comments,   suggestions   to   <lynx-
+       dev@sig.net> after subscribing.
 
- Unsubscribe by sending email to <majordomo@sig.net> with
- "unsubscribe lynx-dev" as the only line in the body of your message.
- Do not send the unsubscribe message to the lynx-dev list, itself.
+       Unsubscribe  by  sending email to <majordomo@sig.net> with
+       "unsubscribe lynx-dev" as the only line  in  the  body  of
+       your  message.  Do not send the unsubscribe message to the
+       lynx-dev list, itself.
 
 2 SEE ALSO
-       catgets(3),   curses(3),  environ(7),  execve(2),  ftp(1),
-       gettext(GNU),  localeconv(3),  ncurses(3),   setlocale(3),
+       catgets(3),  curses(3),  environ(7),  execve(2),   ftp(1),
+       gettext(GNU),   localeconv(3),  ncurses(3),  setlocale(3),
        slang(?), termcap(5), terminfo(5), wget(GNU)
 
-       Note  that  man page availability and section numbering is
-       somewhat platform dependent, and may vary from  the  above
+       Note that man page availability and section  numbering  is
+       somewhat  platform  dependent, and may vary from the above
        references.
 
-       A  section  shown as (GNU), is intended to denote that the
-       topic may be available via an info page, instead of a  man
-       page  (ie, try "info subject", rather than "man subject").
+       A section shown as (GNU), is intended to denote  that  the
+       topic  may be available via an info page, instead of a man
+       page (ie, try "info subject", rather than "man  subject").
 
-       A section shown as (?) denotes that documentation  on  the
-       topic exists, but is not part of an established documenta-
-       tion retrieval system (see the distribution files  associ-
-       ated  with the topic, or contact your System Administrator
+       A  section  shown as (?) denotes that documentation on the
+       topic exists, but is not part of an established documentation
+       retrieval system (see the distribution files associated
+       with the topic, or contact your System  Administrator
        for further information).
 
 2 ACKNOWLEDGMENTS
- Lynx has incorporated code from a variety of sources along the way.
- The earliest versions of Lynx included code from Earl Fogel of Computing
- Services at the University of Saskatchewan, who implemented HYPERREZ
- in the Unix environment.  HYPERREZ was developed by Niel Larson of
- Think.com and served as the model for the early versions of Lynx.
- Those versions also incorporated libraries from the Unix Gopher clients
- developed at the University of Minnesota, and the later versions of
- Lynx rely on the WWW client library code developed by Tim Berners-Lee
- and the WWW community.  Also a special thanks to Foteos Macrides who
- ported much of Lynx to VMS and did or organized most of its development
- since the departures of Lou Montulli and Garrett Blythe from the
- University of Kansas in the summer of 1994 through the release
- of v2.7.2, and to everyone on the net who has contributed to Lynx's
- development either directly (through patches, comments or bug reports)
- or indirectly (through inspiration and development of other systems).
+       Lynx has incorporated code from a variety of sources along
+       the way.  The earliest versions of Lynx included code from
+       Earl  Fogel  of  Computing  Services  at the University of
+       Saskatchewan, who implemented HYPERREZ in the  Unix  envi-
+       ronment.    HYPERREZ  was  developed  by  Niel  Larson  of
+       Think.com and served as the model for the  early  versions
+       of  Lynx.  Those versions also incorporated libraries from
+       the Unix Gopher clients developed  at  the  University  of
+       Minnesota,  and the later versions of Lynx rely on the WWW
+       client library code developed by Tim Berners-Lee  and  the
+       WWW  community.   Also a special thanks to Foteos Macrides
+       who ported much of Lynx to VMS and did or  organized  most
+       of  its  development  since the departures of Lou Montulli
+       and Garrett Blythe from the University of  Kansas  in  the
+       summer  of  1994 through the release of v2.7.2, and to ev-
+       eryone on the net who has contributed to  Lynx's  develop-
+       ment either directly (through patches, comments or bug re-
+       ports) or indirectly (through inspiration and  development
+       of other systems).
 
 2 AUTHORS
- Lou Montulli, Garrett Blythe, Craig Lavender, Michael Grobe, Charles Rezac
- Academic Computing Services
- University of Kansas
- Lawrence, Kansas 66047
-
- Foteos Macrides
- Worcester Foundation for Biomedical Research
- Shrewsbury, Massachusetts 01545
-
+       Lou  Montulli,  Garrett  Blythe,  Craig  Lavender, Michael
+       Grobe, Charles Rezac
+       Academic Computing Services
+       University of Kansas
+       Lawrence, Kansas 66047
+
+       Foteos Macrides
+       Worcester Foundation for Biomedical Research
+       Shrewsbury, Massachusetts 01545
diff --git a/lynx.man b/lynx.man
index d644885d..db725455 100644
--- a/lynx.man
+++ b/lynx.man
@@ -312,7 +312,7 @@ disable the retrieval status messages.
 force numbering of links.
 .TP
 .B -partial
-display partial pages while loading.
+toggles display partial pages while loading.
 .TP
 .B partial_thres\fR=\fINUMBER
 number of lines to render before repainting display
diff --git a/makefile.in b/makefile.in
index 614b1690..1a2db48c 100644
--- a/makefile.in
+++ b/makefile.in
@@ -26,10 +26,10 @@ INSTALL_DATA	= @INSTALL_DATA@
 
 ## This is the version which we are developing (or, upon release, make this
 ## the same).  Use no dots in the name, since it must work on VMS and MS-DOS.
-VERSION		= 2-8-2
+VERSION		= 2-8-3
 
 ##this is the name of the directory the lynx source code is in.
-##(e.g., lynx2-8-2, not the full path)
+##(e.g., lynx2-8-3, not the full path)
 lynxdir= lynx$(VERSION)
 lynxname= lynx$(VERSION)
 
diff --git a/man2hlp.sh b/man2hlp.sh
new file mode 100755
index 00000000..d522bc57
--- /dev/null
+++ b/man2hlp.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+# This script uses rman (Rosetta Man), which complements TkMan, to strip
+# nroff headers from a manpage file, and format the result into a VMS help
+# file.
+for name in $*
+do
+	NAME=`echo $name |sed -e 's/\.man$/.1/'`
+	(echo 1 `echo $NAME | sed -e 's/\..*$//' | tr '[a-z]' '[A-Z]'` ; \
+	(echo '.hy 0'; cat $name) |\
+	nroff -Tascii -man |\
+	rman -n$NAME |\
+	sed	-e 's/^[1-9].*$//' \
+		-e 's/^\([A-Z]\)/2 \1/' |\
+	uniq)
+done
diff --git a/po/lynx.pot b/po/lynx.pot
index cdd31be8..4f62ae2f 100644
--- a/po/lynx.pot
+++ b/po/lynx.pot
@@ -87,6 +87,12 @@ msgstr ""
 msgid "(Text entry field) Enter text.  Use UP or DOWN arrows or tab to move off."
 msgstr ""
 
+msgid "UNMODIFIABLE file entry field.  Use UP or DOWN arrows or tab to move off."
+msgstr ""
+
+msgid "(File entry field) Enter filename.  Use UP or DOWN arrows or tab to move off."
+msgstr ""
+
 #. #define FORM_LINK_TEXTAREA_MESSAGE
 #: LYMessages.c:59
 msgid "(Textarea) Enter text. Use UP/DOWN arrows or TAB to move off (^Ve for editor)."
diff --git a/src/GridText.c b/src/GridText.c
index 957a8a3d..174b29cd 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -120,8 +120,6 @@ PUBLIC BOOLEAN underline_on = OFF;
 PUBLIC BOOLEAN bold_on      = OFF;
 
 #ifdef SOURCE_CACHE
-PUBLIC char * source_cache_filename = NULL;
-PUBLIC HTChunk * source_cache_chunk = NULL;
 PUBLIC int LYCacheSource = SOURCE_CACHE_NONE;
 PUBLIC BOOLEAN from_source_cache = FALSE;  /* mutable */
 #endif
@@ -187,13 +185,12 @@ struct _HText {
 	HTParentAnchor *	node_anchor;
 #ifdef SOURCE_CACHE
 #undef	lines			/* FIXME */
-	char *			source_cache_file;
-	HTChunk *		source_cache_chunk;
 	/*
 	 * Parse settings when this HText was generated.
 	 */
 	BOOLEAN			clickable_images;
 	BOOLEAN			pseudo_inline_alts;
+	BOOLEAN			verbose_img;
 	BOOLEAN			raw_mode;
 	BOOLEAN			historical_comments;
 	BOOLEAN			minimal_comments;
@@ -516,24 +513,11 @@ PUBLIC HText *	HText_new ARGS1(
     self->tabs = NULL;
 #ifdef SOURCE_CACHE
     /*
-     * Yes, this is a Gross And Disgusting Hack(TM), I know...
-     */
-    self->source_cache_file = NULL;
-    if (LYCacheSource == SOURCE_CACHE_FILE && source_cache_filename) {
-      StrAllocCopy(self->source_cache_file, source_cache_filename);
-      FREE(source_cache_filename);
-    }
-    self->source_cache_chunk = NULL;
-    if (LYCacheSource == SOURCE_CACHE_MEMORY && source_cache_chunk) {
-	self->source_cache_chunk = source_cache_chunk;
-	source_cache_chunk = NULL;
-    }
-
-    /*
      * Remember the parse settings.
      */
     self->clickable_images = clickable_images;
     self->pseudo_inline_alts = pseudo_inline_alts;
+    self->verbose_img = verbose_img;
     self->raw_mode = LYUseDefaultRawMode;
     self->historical_comments = historical_comments;
     self->minimal_comments = minimal_comments;
@@ -792,23 +776,6 @@ PUBLIC void HText_free ARGS1(
 	    HTMainAnchor = NULL;
     }
 
-#ifdef SOURCE_CACHE
-    /*
-     * Clean up the source cache, if any.
-     */
-    if (self->source_cache_file) {
-	CTRACE(tfp, "Removing source cache file %s\n",
-	       self->source_cache_file);
-	LYRemoveTemp(self->source_cache_file);
-	FREE(self->source_cache_file);
-    }
-    if (self->source_cache_chunk) {
-	CTRACE(tfp, "Removing memory source cache %p\n",
-	       (void *)self->source_cache_chunk);
-	HTChunkFree(self->source_cache_chunk);
-    }
-#endif
-
     FREE(self);
 }
 
@@ -2122,9 +2089,9 @@ PRIVATE void split_line ARGS2(
 		    (previous->styles[spare - 1].direction == ABS_ON &&
 		     previous->styles[spare - 2].direction == ABS_OFF)
 		       )) {
-	       /*
-		*  Skip pairs of adjacent ON/OFF or OFF/ON changes.
-		*/
+	        /*
+		 *  Skip pairs of adjacent ON/OFF or OFF/ON changes.
+		 */
 	    spare -= 2;
 	} else if (spare && !previous->styles[spare - 1].direction) {
 	    /*
@@ -3765,8 +3732,8 @@ PUBLIC void HText_trimHightext ARGS2(
     if (!text)
 	return;
 
-    CTRACE(tfp,"Gridtext: Entering HText_trimHightext %s\n",
-	       final ? "(final)" : "(partial)");
+    CTRACE(tfp, "Gridtext: Entering HText_trimHightext %s\n",
+	        final ? "(final)" : "(partial)");
 
     /*
      *  Get the first line.
@@ -6171,7 +6138,7 @@ PUBLIC void HTuncache_current_document NOARGS
 		FREE(htmain_anchor->UCStages);
 	    }
 	}
-	CTRACE(tfp, "\rHTuncache.. freeing document for '%s'%s\n",
+	CTRACE(tfp, "\nHTuncache.. freeing document for '%s'%s\n",
 			    ((htmain_anchor &&
 			      htmain_anchor->address) ?
 			       htmain_anchor->address : "unknown anchor"),
@@ -6191,30 +6158,30 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 {
     BOOLEAN ok = FALSE;
 
-    if (!HTMainText || LYCacheSource == SOURCE_CACHE_NONE ||
+    if (!HTMainAnchor || LYCacheSource == SOURCE_CACHE_NONE ||
 	(LYCacheSource == SOURCE_CACHE_FILE &&
-	 !HTMainText->source_cache_file) ||
+	!HTMainAnchor->source_cache_file) ||
 	(LYCacheSource == SOURCE_CACHE_MEMORY &&
-	 !HTMainText->source_cache_chunk))
+	!HTMainAnchor->source_cache_chunk))
 	return FALSE;
 
-    if (LYCacheSource == SOURCE_CACHE_FILE && HTMainText->source_cache_file) {
+    if (LYCacheSource == SOURCE_CACHE_FILE && HTMainAnchor->source_cache_file) {
 	FILE * fp;
 	HTFormat format;
 	int ret;
 
 	CTRACE(tfp, "Reparsing source cache file %s\n",
-	       HTMainText->source_cache_file);
+	      HTMainAnchor->source_cache_file);
 
 	/*
 	 * This is more or less copied out of HTLoadFile(), except we don't
 	 * get a content encoding.  This may be overkill.  -dsb
 	 */
-	if (HTMainText->node_anchor->content_type) {
-	    format = HTAtom_for(HTMainText->node_anchor->content_type);
+	if (HTMainAnchor->content_type) {
+	   format = HTAtom_for(HTMainAnchor->content_type);
 	} else {
-	    format = HTFileFormat(HTMainText->source_cache_file, NULL, NULL);
-	    format = HTCharsetFormat(format, HTMainText->node_anchor,
+	   format = HTFileFormat(HTMainAnchor->source_cache_file, NULL, NULL);
+	   format = HTCharsetFormat(format, HTMainAnchor,
 					     UCLYhndl_for_unspec);
 	    /* not UCLYhndl_HTFile_for_unspec - we are talking about remote
 	     * documents...
@@ -6222,17 +6189,10 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	}
 	CTRACE(tfp, "  Content type is \"%s\"\n", format->name);
 
-	/*
-	 * Pass the source cache filename on to the next HText.  Mark it
-	 * NULL here so that it won't get deleted by HText_free().
-	 */
-	source_cache_filename = HTMainText->source_cache_file;
-	HTMainText->source_cache_file = NULL;
-
-	fp = fopen(source_cache_filename, "r");
+	fp = fopen(HTMainAnchor->source_cache_file, "r");
 	if (!fp) {
-	    CTRACE(tfp, "  Cannot read file %s\n", source_cache_filename);
-	    FREE(source_cache_filename);
+	   CTRACE(tfp, "  Cannot read file %s\n", HTMainAnchor->source_cache_file);
+	   FREE(HTMainAnchor->source_cache_file);
 	    return FALSE;
 	}
 #ifdef DISP_PARTIAL
@@ -6245,22 +6205,19 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	     */
 	    HTAlert(RELOADING_FORM);
 	}
-	ret = HTParseFile(format, HTOutputFormat, HTMainText->node_anchor,
+	ret = HTParseFile(format, HTOutputFormat, HTMainAnchor,
 			  fp, NULL);
 	fclose(fp);
 	ok = (ret == HT_LOADED);
-	if (!ok) {
-	    FREE(source_cache_filename);
-	}
     }
 
     if (LYCacheSource == SOURCE_CACHE_MEMORY &&
-	HTMainText->source_cache_chunk) {
+	HTMainAnchor->source_cache_chunk) {
 	HTFormat format = WWW_HTML;
 	int ret;
 
 	CTRACE(tfp, "Reparsing from source memory cache %p\n",
-	       (void *)HTMainText->source_cache_chunk);
+		    (void *)HTMainAnchor->source_cache_chunk);
 
 	/*
 	 * This is only done to make things aligned with SOURCE_CACHE_NONE and
@@ -6270,17 +6227,10 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	 * user-visible benefits, seems just '=' Info Page will show source's
 	 * effective charset as "(assumed)".
 	 */
-	format = HTCharsetFormat(format, HTMainText->node_anchor,
+	format = HTCharsetFormat(format, HTMainAnchor,
 					 UCLYhndl_for_unspec);
 	/* not UCLYhndl_HTFile_for_unspec - we are talking about remote documents... */
 
-	/*
-	 * Pass the source cache HTChunk on to the next HText.  Clear it
-	 * here so that it won't get deleted by HText_free().
-	 */
-	source_cache_chunk = HTMainText->source_cache_chunk;
-	HTMainText->source_cache_chunk = NULL;
-
 #ifdef DISP_PARTIAL
 	display_partial = display_partial_flag;  /* restore */
 	Newline_partial = Newline;  /* initialize */
@@ -6291,13 +6241,9 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	     */
 	    HTAlert(RELOADING_FORM);
 	}
-	ret = HTParseMem(format, HTOutputFormat, HTMainText->node_anchor,
-			 source_cache_chunk, NULL);
+	ret = HTParseMem(format, HTOutputFormat, HTMainAnchor,
+			HTMainAnchor->source_cache_chunk, NULL);
 	ok = (ret == HT_LOADED);
-	if (!ok) {
-	    HTChunkFree(source_cache_chunk);
-	    source_cache_chunk = NULL;
-	}
     }
 
     CTRACE(tfp, "Reparse %s\n", (ok ? "succeeded" : "failed"));
@@ -6311,17 +6257,17 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 
 PUBLIC BOOLEAN HTcan_reparse_document NOARGS
 {
-    if (!HTMainText || LYCacheSource == SOURCE_CACHE_NONE ||
+    if (!HTMainAnchor || LYCacheSource == SOURCE_CACHE_NONE ||
 	(LYCacheSource == SOURCE_CACHE_FILE &&
-	 !HTMainText->source_cache_file) ||
+	!HTMainAnchor->source_cache_file) ||
 	(LYCacheSource == SOURCE_CACHE_MEMORY &&
-	 !HTMainText->source_cache_chunk))
+	!HTMainAnchor->source_cache_chunk))
 	return FALSE;
 
-    if (LYCacheSource == SOURCE_CACHE_FILE && HTMainText->source_cache_file) {
+    if (LYCacheSource == SOURCE_CACHE_FILE && HTMainAnchor->source_cache_file) {
 	FILE * fp;
 
-	fp = fopen(HTMainText->source_cache_file, "r");
+	fp = fopen(HTMainAnchor->source_cache_file, "r");
 	if (!fp) {
 	    return FALSE;
 	}
@@ -6330,7 +6276,7 @@ PUBLIC BOOLEAN HTcan_reparse_document NOARGS
     }
 
     if (LYCacheSource == SOURCE_CACHE_MEMORY &&
-	HTMainText->source_cache_chunk) {
+	HTMainAnchor->source_cache_chunk) {
 	return TRUE;
     }
 
@@ -6353,11 +6299,11 @@ PUBLIC BOOLEAN HTdocument_settings_changed NOARGS
      * Annoying Hack(TM):  If we don't have a source cache, we can't
      * reparse anyway, so pretend the settings haven't changed.
      */
-    if (!HTMainText || LYCacheSource == SOURCE_CACHE_NONE ||
+    if (!HTMainAnchor || !HTMainText || LYCacheSource == SOURCE_CACHE_NONE ||
 	(LYCacheSource == SOURCE_CACHE_FILE &&
-	 !HTMainText->source_cache_file) ||
+	!HTMainAnchor->source_cache_file) ||
 	(LYCacheSource == SOURCE_CACHE_MEMORY &&
-	 !HTMainText->source_cache_chunk))
+	!HTMainAnchor->source_cache_chunk))
 	return FALSE;
 
     if (TRACE) {
@@ -6369,6 +6315,9 @@ PUBLIC BOOLEAN HTdocument_settings_changed NOARGS
 	trace_setting_change("PSEUDO_INLINE_ALTS",
 			     HTMainText->pseudo_inline_alts,
 			     pseudo_inline_alts);
+	trace_setting_change("VERBOSE_IMG",
+			    HTMainText->verbose_img,
+			    verbose_img);
 	trace_setting_change("RAW_MODE", HTMainText->raw_mode,
 			     LYUseDefaultRawMode);
 	trace_setting_change("HISTORICAL_COMMENTS",
@@ -6387,6 +6336,7 @@ PUBLIC BOOLEAN HTdocument_settings_changed NOARGS
 
     return (HTMainText->clickable_images != clickable_images ||
 	    HTMainText->pseudo_inline_alts != pseudo_inline_alts ||
+	   HTMainText->verbose_img != verbose_img ||
 	    HTMainText->raw_mode != LYUseDefaultRawMode ||
 	    HTMainText->historical_comments != historical_comments ||
 	    HTMainText->minimal_comments != minimal_comments ||
@@ -7535,6 +7485,7 @@ PUBLIC int HText_beginInput ARGS3(
 	    f->type = F_RANGE_TYPE;
 	} else if (!strcasecomp(I->type,"file")) {
 	    f->type = F_FILE_TYPE;
+	    CTRACE(tfp, "ok, got a file uploader\n");
 	} else if (!strcasecomp(I->type,"keygen")) {
 	    f->type = F_KEYGEN_TYPE;
 	} else {
@@ -7683,7 +7634,9 @@ PUBLIC int HText_beginInput ARGS3(
 	 *  for types that are not yet implemented.
 	 */
 	case F_HIDDEN_TYPE:
+#ifndef EXP_FILE_UPLOAD
 	case F_FILE_TYPE:
+#endif
 	case F_RANGE_TYPE:
 	case F_KEYGEN_TYPE:
 	    a->number = 0;
@@ -8295,6 +8248,15 @@ PUBLIC int HText_SubmitForm ARGS4(
 			}
 			break;
 		    }
+
+#ifdef EXP_FILE_UPLOAD
+		case F_FILE_TYPE:
+		    CTRACE(tfp, "I'd submit %s (from %s), but you've not finished it\n", form_ptr->value, form_ptr->name);
+		    name_used = (form_ptr->name ? form_ptr->name : "");
+		    val_used = (form_ptr->value ? form_ptr->value : "");
+ 		    break;
+#endif
+ 
 		    /*  fall through  */
 		case F_RADIO_TYPE:
 		case F_CHECKBOX_TYPE:
@@ -8495,6 +8457,86 @@ PUBLIC int HText_SubmitForm ARGS4(
 		case F_RESET_TYPE:
 		    break;
 
+#ifdef EXP_FILE_UPLOAD
+		case F_FILE_TYPE:
+		{
+		    int cdisp_name_startpos = 0;
+		    FILE *fd;
+		    int bytes;
+		    char buffer[257];
+
+		    CTRACE(tfp, "Ok, about to convert %s to mime/thingy\n", form_ptr->value);
+		    if (first_one) {
+			if (Boundary) {
+			    HTSprintf(&query, "--%s\r\n", Boundary);
+			}
+			first_one = FALSE;
+		    } else {
+			if (PlainText) {
+			    HTSprintf(&query, "\n");
+			} else if (SemiColon) {
+			    HTSprintf(&query, ";");
+			} else if (Boundary) {
+			    HTSprintf(&query, "\r\n--%s\r\n", Boundary);
+			} else {
+			    HTSprintf(&query, "&");
+			}
+		    }
+
+		    if (PlainText) {
+			StrAllocCopy(escaped1, name_used);
+		    } else if (Boundary) {
+			StrAllocCopy(escaped1,
+				"Content-Disposition: form-data; name=");
+			cdisp_name_startpos = strlen(escaped1);
+			StrAllocCat(escaped1, name_used);
+			StrAllocCat(escaped1, "; filename=\"");
+			StrAllocCat(escaped1, val_used); 
+			StrAllocCat(escaped1, "\"");
+			if (MultipartContentType) {
+			    StrAllocCat(escaped1, MultipartContentType);
+			    StrAllocCat(escaped1, "\r\nContent-Transfer-Encoding: base64");
+			}
+			StrAllocCat(escaped1, "\r\n\r\n");
+		    } else {
+			escaped1 = HTEscapeSP(name_used, URL_XALPHAS);
+		    }
+
+		    if ((fd = fopen(val_used, "rb")) == 0) {
+			/* We can't open the file, what do we do? */
+			HTAlert("Can't open file for uploading");
+			return 0;
+		    }
+		    StrAllocCopy(escaped2, "");
+		    while ((bytes = fread(buffer, sizeof(char), 45, fd)) != 0) {
+			char base64buf[128];
+			base64_encode(base64buf, buffer, bytes);
+			StrAllocCat(escaped2, base64buf);
+		    }
+		    if (ferror(fd)) {
+			/* We got an error reading the file, what do we do? */
+			HTAlert("Short read from file, problem?");
+			fclose(fd);
+			return 0;
+		    }
+		    fclose(fd);
+		    /* we need to modify the mime-type here */
+
+		    /* Argh.  We need counted-length strings here */
+		    HTSprintf(&query,
+				   "%s%s%s%s%s",
+				   escaped1,
+				   (Boundary ? "" : "="),
+				   (PlainText ? "\n" : ""),
+					escaped2,
+				   ((PlainText && *escaped2) ?
+							 "\n" : ""));
+		    FREE(escaped1);
+		    FREE(escaped2);
+		}
+		break;
+#endif /* EXP_FILE_UPLOAD */
+
 		case F_SUBMIT_TYPE:
 		case F_TEXT_SUBMIT_TYPE:
 		case F_IMAGE_SUBMIT_TYPE:
@@ -8830,6 +8872,8 @@ PUBLIC int HText_SubmitForm ARGS4(
 	StrAllocCopy(query, "");
     }
     FREE(previous_blanks);
+	
+    CTRACE(tfp, "QUERY (%d) >> \n%s\n", strlen(query), query);
 
     if (submit_item->submit_method == URL_MAIL_METHOD) {
 	HTUserMsg2(gettext("Submitting %s"), submit_item->submit_action);
@@ -8959,7 +9003,7 @@ PUBLIC BOOLEAN HText_HaveUserChangedForms NOARGS
     TextAnchor * anchor_ptr;
 
     if (HTMainText == 0)
-       return FALSE;
+	return FALSE;
 
     /*
      *  Go through list of anchors to check if any value was changed.
@@ -9904,23 +9948,23 @@ PRIVATE void update_subsequent_anchors ARGS4(
 		if ((anchor->number - n) == start_tag)
 		    break;
 
-	        /*** A HANG (infinite loop) *has* occurred here, with */
-	        /*** the values of anchor and anchor->next being the  */
-	        /*** the same, OR with anchor->number "magically" and */
-	        /*** suddenly taking on an anchor-pointer-like value. */
-	        /***                                                  */
-	        /*** The same code and same doc have both passed and  */
-	        /*** failed at different times, which indicates some  */
-	        /*** sort of content/html dependency, or some kind of */
-	        /*** a "race" condition, but I'll be damned if I can  */
-	        /*** find it after tons of CTRACE's, printf()'s, gdb  */
-	        /*** breakpoints and watchpoints, etc.                */
-	        /***                                                  */
-	        /*** I have added a hang detector (with error msg and */
-	        /*** beep) here, to break the loop and warn the user, */
-	        /*** until it can be isolated and fixed.              */
-	        /***                                                  */
-	        /*** [One UGLY intermittent .. gak ..!  02/22/99 KED] */
+		/*** A HANG (infinite loop) *has* occurred here, with */
+		/*** the values of anchor and anchor->next being the  */
+		/*** the same, OR with anchor->number "magically" and */
+		/*** suddenly taking on an anchor-pointer-like value. */
+		/***                                                  */
+		/*** The same code and same doc have both passed and  */
+		/*** failed at different times, which indicates some  */
+		/*** sort of content/html dependency, or some kind of */
+		/*** a "race" condition, but I'll be damned if I can  */
+		/*** find it after tons of CTRACE's, printf()'s, gdb  */
+		/*** breakpoints and watchpoints, etc.                */
+		/***                                                  */
+		/*** I have added a hang detector (with error msg and */
+		/*** beep) here, to break the loop and warn the user, */
+		/*** until it can be isolated and fixed.              */
+		/***                                                  */
+		/*** [One UGLY intermittent .. gak ..!  02/22/99 KED] */
 
 		hang++;
 		if ((anchor == anchor->next) || (hang >= hang_detect))
@@ -10284,7 +10328,7 @@ PUBLIC void HText_ExpandTextarea ARGS2(
 	    !strcmp (anchor_ptr->input_field->name, areaname))   {
 
 	    if (firstanchor)
-	        firstanchor = FALSE;
+		firstanchor = FALSE;
 
 	    end_anchor = anchor_ptr;
 
@@ -10312,7 +10356,7 @@ PUBLIC void HText_ExpandTextarea ARGS2(
     }
 
     CTRACE(tfp, "GridText: %d blank line(s) added to TEXTAREA name=|%s|\n",
-	        newlines, areaname);
+		newlines, areaname);
 
     /*
      *	We need to adjust various things in all anchor bearing lines
@@ -10849,7 +10893,7 @@ PUBLIC void redraw_lines_of_link ARGS1(
 PUBLIC void HTMark_asSource NOARGS
 {
     if (HTMainText)
-        HTMainText->source = TRUE;
+	HTMainText->source = TRUE;
 }
 #endif
 
diff --git a/src/HTAlert.c b/src/HTAlert.c
index eae16bd7..4889f719 100644
--- a/src/HTAlert.c
+++ b/src/HTAlert.c
@@ -473,7 +473,7 @@ PUBLIC BOOL HTConfirmCookie ARGS4(
 	CONST char *,	value)
 {
     domain_entry *de;
-    int ch, namelen, valuelen, space_free;
+    int ch;
 
     if ((de = (domain_entry *)dp) == NULL)
 	return FALSE;
@@ -511,26 +511,27 @@ PUBLIC BOOL HTConfirmCookie ARGS4(
 	if (de->bv == REJECT_ALWAYS)
 	    return FALSE;
     }
-    space_free = (((LYcols - 1)
-	       - strlen(ADVANCED_COOKIE_CONFIRMATION))
-	       - strlen(server));
-    if (space_free < 0)
-	space_free = 0;
-    namelen = strlen(name);
-    valuelen = strlen(value);
-    if ((namelen + valuelen) > space_free) {
-	/*
-	**  Argh... there isn't enough space on our single line for
-	**  the whole cookie.  Reduce them both by a percentage.
-	**  This should be smarter.
-	*/
-        int percentage;  /* no float */
-        percentage = (100 * space_free) / (namelen + valuelen);
-        namelen = (percentage * namelen) / 100;
-        valuelen = (percentage * valuelen) / 100;
-    }
     if(!LYAcceptAllCookies) {
+	int namelen, valuelen, space_free, percentage;
 	char *message = 0;
+
+	space_free = (((LYcols - 1)
+		   - strlen(ADVANCED_COOKIE_CONFIRMATION))
+		   - strlen(server));
+	if (space_free < 0)
+	    space_free = 0;
+	namelen = strlen(name);
+	valuelen = strlen(value);
+	if ((namelen + valuelen) > space_free) {
+	    /*
+	    **  Argh... there isn't enough space on our single line for
+	    **  the whole cookie.  Reduce them both by a percentage.
+	    **  This should be smarter.
+	    */
+	    percentage = (100 * space_free) / (namelen + valuelen);
+	    namelen = (percentage * namelen) / 100;
+	    valuelen = (percentage * valuelen) / 100;
+	}
 	HTSprintf(&message, ADVANCED_COOKIE_CONFIRMATION,
 		 server, namelen, name, valuelen, value);
 	_statusline(message);
diff --git a/src/HTML.c b/src/HTML.c
index 2f036c9d..36143414 100644
--- a/src/HTML.c
+++ b/src/HTML.c
@@ -4615,6 +4615,7 @@ PRIVATE void HTML_start_element ARGS6(
 		} else if (!strcasecomp(I.type, "file")) {
 		    if (present[HTML_INPUT_ACCEPT])
 			I.accept = value[HTML_INPUT_ACCEPT];
+#ifdef EXP_FILE_UPLOAD
 		    /*
 		     *	Not yet implemented.
 		     */
@@ -4627,12 +4628,14 @@ PRIVATE void HTML_start_element ARGS6(
 			HText_appendCharacter(me->text,
 					      LY_UNDERLINE_END_CHAR);
 		    }
+#else 
+		    CTRACE(tfp, "Attempting to fake as: %s\n", I.type);
+#endif /* EXP_FILE_UPLOAD */
 #ifdef NOTDEFINED
 		    if (me->inFORM)
 			HText_DisableCurrentForm();
 #endif /* NOTDEFINED */
 		    CTRACE(tfp, "HTML: Ignoring TYPE=\"file\"\n");
-		    break;
 
 		} else if (!strcasecomp(I.type, "button")) {
 		    /*
@@ -4662,6 +4665,8 @@ PRIVATE void HTML_start_element ARGS6(
 		 */
 	    }
 
+	    CTRACE(tfp, "Ok, we're trying [%s]\n", I.type);
+
 	    /*
 	     *	Check for an unclosed TEXTAREA.
 	     */
@@ -4774,6 +4779,8 @@ PRIVATE void HTML_start_element ARGS6(
 		}
 		FREE(href);
 	    }
+	    CTRACE(tfp, "2.Ok, we're trying [%s] (present=%p)\n", I.type, present);
+	    /* text+file don't go in here */
 	    if ((UseALTasVALUE == TRUE) ||
 		(present && present[HTML_INPUT_VALUE] &&
 		 value[HTML_INPUT_VALUE] && *value[HTML_INPUT_VALUE])) {
@@ -4793,13 +4800,20 @@ PRIVATE void HTML_start_element ARGS6(
 		    HTMLSetCharacterHandling(current_char_set);
 		}
 
+		CTRACE(tfp, "3.Ok, we're trying [%s]\n", I.type);
 		if (!I.type)
 		    me->UsePlainSpace = TRUE;
 		else if (!strcasecomp(I.type, "text") ||
+#ifdef EXP_FILE_UPLOAD
+			 !strcasecomp(I.type, "file") ||
+#endif
 			 !strcasecomp(I.type, "submit") ||
 			 !strcasecomp(I.type, "image") ||
-			 !strcasecomp(I.type, "reset"))
+			 !strcasecomp(I.type, "reset")) {
+		    CTRACE(tfp, "normal field type: %s\n", I.type);
 		    me->UsePlainSpace = TRUE;
+		}
+
 		StrAllocCopy(I_value,
 			     ((UseALTasVALUE == TRUE) ?
 				value[HTML_INPUT_ALT] :
@@ -4807,6 +4821,7 @@ PRIVATE void HTML_start_element ARGS6(
 		if (me->UsePlainSpace && !me->HiddenValue) {
 		    I.value_cs = current_char_set;
 		}
+	    CTRACE(tfp, "4.Ok, we're trying [%s]\n", I.type);
 		TRANSLATE_AND_UNESCAPE_ENTITIES6(
 		    &I_value,
 		    ATTR_CS_IN,
@@ -4895,6 +4910,9 @@ PRIVATE void HTML_start_element ARGS6(
 		I.md = value[HTML_INPUT_MD];
 
 	    chars = HText_beginInput(me->text, me->inUnderline, &I);
+#ifndef EXP_FILE_UPLOAD
+	    CTRACE(tfp, "I.%s have %d chars, or something\n", I.type, chars);
+#endif
 	    /*
 	     *	Submit and reset buttons have values which don't change,
 	     *	so HText_beginInput() sets I.value to the string which
@@ -4967,6 +4985,9 @@ PRIVATE void HTML_start_element ARGS6(
 		}
 		HText_setIgnoreExcess(me->text, TRUE);
 	    }
+#ifndef EXP_FILE_UPLOAD
+	    CTRACE(tfp, "I.%s, %d\n", I.type, IsSubmitOrReset);
+#endif
 	    if (IsSubmitOrReset == FALSE) {
 		/*
 		 *  This is not a submit or reset button,
@@ -7764,9 +7785,9 @@ PRIVATE HTStream* CacheThru_new ARGS2(
     stream->actions = target->isa;
 
     if (LYCacheSource == SOURCE_CACHE_FILE) {
-	if (source_cache_filename) {
+	if (anchor->source_cache_file) {
 	    CTRACE(tfp, "Reusing source cache file %s\n",
-		   source_cache_filename);
+		   anchor->source_cache_file);
 	    FREE(stream);
 	    return target;
 	}
@@ -7784,25 +7805,22 @@ PRIVATE HTStream* CacheThru_new ARGS2(
 	    return target;
 	}
 
-	/*
-	 * Yes, this is a Gross And Disgusting Hack(TM), I know...
-	 */
-	StrAllocCopy(source_cache_filename, filename);
+	StrAllocCopy(anchor->source_cache_file, filename);
 
 	CTRACE(tfp, "Caching source for URL %s in file %s\n",
 	       HTAnchor_address((HTAnchor *)anchor), filename);
     }
 
     if (LYCacheSource == SOURCE_CACHE_MEMORY) {
-	if (source_cache_chunk) {
+	if (anchor->source_cache_chunk) {
 	    CTRACE(tfp, "Reusing source memory cache %p\n",
-		   (void *)source_cache_chunk);
+		   (void *)anchor->source_cache_chunk);
 	    FREE(stream);
 	    return target;
 	}
 
 	/* I think this is right... */
-	source_cache_chunk = stream->chunk = HTChunkCreate(128);
+	anchor->source_cache_chunk = stream->chunk = HTChunkCreate(128);
 	CTRACE(tfp, "Caching source for URL %s in memory cache %p\n",
 	       HTAnchor_address((HTAnchor *)anchor), (void *)stream->chunk);
 
diff --git a/src/LYCurses.h b/src/LYCurses.h
index bf0dc014..5505e9ca 100644
--- a/src/LYCurses.h
+++ b/src/LYCurses.h
@@ -25,9 +25,6 @@
 #endif /* FALSE */
 
 #ifdef USE_SLANG
-#if defined(UNIX) && !defined(unix)
-#define unix
-#endif /* UNIX && !unix */
 #include <slang.h>
 
 #else /* Using curses: */
diff --git a/src/LYForms.c b/src/LYForms.c
index 36f06b7f..2f12576f 100644
--- a/src/LYForms.c
+++ b/src/LYForms.c
@@ -175,6 +175,7 @@ PUBLIC int change_form_link ARGS7(
 	    }
 	    break;
 
+	case F_FILE_TYPE:
 	case F_TEXT_TYPE:
 	case F_TEXTAREA_TYPE:
 	case F_PASSWORD_TYPE:
@@ -373,6 +374,9 @@ PRIVATE int form_getstr ARGS2(
 			statusline(FORM_LINK_TEXT_SUBMIT_MESSAGE);
 		    }
 		    break;
+		case F_FILE_TYPE:
+		    statusline(FORM_LINK_FILE_MESSAGE);
+		    break;
 		case F_TEXT_TYPE:
 		    statusline(FORM_LINK_TEXT_MESSAGE);
 		    break;
@@ -1779,6 +1783,12 @@ PUBLIC void show_formlink_statusline ARGS1(
 	else
 	    statusline(FORM_LINK_RESET_MESSAGE);
 	break;
+    case F_FILE_TYPE:
+	if (form->disabled == YES)
+	    statusline(FORM_LINK_FILE_UNM_MSG);
+	else
+	    statusline(FORM_LINK_FILE_MESSAGE);
+	break;
     case F_TEXT_TYPE:
 	if (form->disabled == YES)
 	    statusline(FORM_LINK_TEXT_UNM_MSG);
diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h
index e1d9e92f..91923705 100644
--- a/src/LYGlobalDefs.h
+++ b/src/LYGlobalDefs.h
@@ -266,8 +266,6 @@ extern BOOLEAN historical_comments;
 extern BOOLEAN minimal_comments;
 extern BOOLEAN soft_dquotes;
 #ifdef SOURCE_CACHE
-extern char * source_cache_filename;
-extern HTChunk * source_cache_chunk;
 extern BOOLEAN from_source_cache; /* mutable */
 extern int LYCacheSource;
 #define SOURCE_CACHE_NONE	0
diff --git a/src/LYLeaks.c b/src/LYLeaks.c
index 504954a3..70c8d8a1 100644
--- a/src/LYLeaks.c
+++ b/src/LYLeaks.c
@@ -116,7 +116,7 @@ PUBLIC void LYLeaks NOARGS
 	    fprintf(Fp_leakagesink, "%s\t%p\n",
 		    gettext("Pointer:"),
 		    ALp_head->vp_Alloced);
-	    fprintf(Fp_leakagesink, "%s:\t",
+	    fprintf(Fp_leakagesink, "%s\t",
 		    gettext("Contains:"));
 	    for (i_counter = 0;
 		 i_counter < ALp_head->st_Bytes &&
diff --git a/src/LYLocal.c b/src/LYLocal.c
index 04a85fa2..df254292 100644
--- a/src/LYLocal.c
+++ b/src/LYLocal.c
@@ -70,6 +70,18 @@
 
 #include <LYLeaks.h>
 
+#undef USE_COMPRESS
+
+#ifdef __DJGPP__
+#define EXT_TAR_GZ ".tgz"
+#define EXT_TAR_Z  ".taz"
+#define EXT_Z      ".z"
+#else
+#define EXT_TAR_GZ ".tar.gz"
+#define EXT_TAR_Z  ".tar.Z"
+#define EXT_Z      ".Z"
+#endif
+
 PRIVATE int LYExecv PARAMS((
 	char *		path,
 	char ** 	argv,
@@ -133,8 +145,10 @@ struct dired_menu {
 "(of current selection)", "LYNXDIRED://MODIFY_NAME%p",		NULL },
 { DE_DIR,	      "", "Modify Directory Name",
 "(of current selection)", "LYNXDIRED://MODIFY_NAME%p",		NULL },
+#ifdef S_IFLNK
 { DE_SYMLINK,	      "", "Modify Name",
 "(of selected symbolic link)", "LYNXDIRED://MODIFY_NAME%p",	NULL },
+#endif  /* S_IFLNK */
 
 #ifdef OK_PERMIT
 { DE_FILE,	      "", "Modify File Permissions",
@@ -147,15 +161,19 @@ struct dired_menu {
 "(of selected file)"	, "LYNXDIRED://MODIFY_LOCATION%p",	NULL },
 { DE_DIR,	      "", "Change Location",
 "(of selected directory)", "LYNXDIRED://MODIFY_LOCATION%p",	NULL },
+#ifdef S_IFLNK
 { DE_SYMLINK,	      "", "Change Location",
 "(of selected symbolic link)", "LYNXDIRED://MODIFY_LOCATION%p", NULL },
+#endif /* S_IFLNK */
 
 { DE_FILE,	      "", "Remove File",
    "(current selection)", "LYNXDIRED://REMOVE_SINGLE%p",	NULL },
 { DE_DIR,	      "", "Remove Directory",
    "(current selection)", "LYNXDIRED://REMOVE_SINGLE%p",	NULL },
+#ifdef S_IFLNK
 { DE_SYMLINK,	      "", "Remove Symbolic Link",
    "(current selection)", "LYNXDIRED://REMOVE_SINGLE%p",	NULL },
+#endif /* S_IFLNK */
 
 #if defined(OK_UUDECODE) && !defined(ARCHIVE_ONLY)
 { DE_FILE,	      "", "UUDecode",
@@ -163,7 +181,7 @@ struct dired_menu {
 #endif /* OK_UUDECODE && !ARCHIVE_ONLY */
 
 #if defined(OK_TAR) && !defined(ARCHIVE_ONLY)
-{ DE_FILE,	".tar.Z", "Expand",
+{ DE_FILE,	EXT_TAR_Z, "Expand",
    "(current selection)", "LYNXDIRED://UNTAR_Z%p",		NULL },
 #endif /* OK_TAR && !ARCHIVE_ONLY */
 
@@ -176,7 +194,7 @@ struct dired_menu {
 #endif /* OK_TAR && OK_GZIP && !ARCHIVE_ONLY */
 
 #ifndef ARCHIVE_ONLY
-{ DE_FILE,	    ".Z", "Uncompress",
+{ DE_FILE,	   EXT_Z, "Uncompress",
    "(current selection)", "LYNXDIRED://DECOMPRESS%p",		NULL },
 #endif /* ARCHIVE_ONLY */
 
@@ -205,6 +223,11 @@ struct dired_menu {
       "(using GNU gzip)", "LYNXDIRED://TAR_GZ%p",		NULL },
 #endif /* OK_TAR && OK_GZIP */
 
+#if defined(OK_TAR) && defined(USE_COMPRESS)
+{ DE_DIR,	      "", "Tar and compress",
+      "(using compress)", "LYNXDIRED://TAR_Z%p",		NULL },
+#endif /* OK_TAR && USE_COMPRESS */
+
 #ifdef OK_ZIP
 { DE_DIR,	      "", "Package and compress",
 	   "(using zip)", "LYNXDIRED://ZIP%p",			NULL },
@@ -360,7 +383,7 @@ PRIVATE BOOLEAN remove_tagged NOARGS
     if (HTList_isEmpty(tagged))  /* should never happen */
 	return 0;
 
-    ans = HTConfirm(gettext("Remove all tagged files and directories "));
+    ans = HTConfirm(gettext("Remove all tagged files and directories?"));
 
     count = 0;
     tag = tagged;
@@ -588,10 +611,10 @@ PRIVATE BOOLEAN modify_name ARGS1(
 	/*
 	 *  Do not allow the user to also change the location at this time.
 	 */
-	if (strchr(tmpbuf, '/') != NULL) {
-	    HTAlert(gettext("Illegal character \"/\" found! Request ignored."));
+	if (LYLastPathSep(tmpbuf) != 0) {
+	    HTAlert(gettext("Illegal character (path-separator) found! Request ignored."));
 	} else if (strlen(tmpbuf) &&
-		   (cp = strrchr(testpath, '/')) != NULL) {
+		   (cp = LYLastPathSep(testpath)) != NULL) {
 	    strcpy(savepath,testpath);
 	    *(++cp) = '\0';
 	    strcpy(newpath,testpath);
@@ -657,16 +680,16 @@ PRIVATE BOOLEAN modify_location ARGS1(
 	    strcat(newpath, (tmpbuf + 1));
 	    strcpy(tmpbuf, newpath);
 	}
-	if (!LYIsPathSep(tmpbuf[0])) {
-	    if ((cp = strrchr(newpath,'/')) != NULL) {
+	if (LYisAbsPath(tmpbuf)) {
+	    strcpy(newpath,tmpbuf);
+	} else {
+	    if ((cp = LYLastPathSep(newpath)) != NULL) {
 		*++cp = '\0';
 		strcat(newpath,tmpbuf);
 	    } else {
-		HTAlert(gettext("Unexpected failure - unable to find trailing \"/\""));
+		HTAlert(gettext("Unexpected failure - unable to find trailing path separator"));
 		return 0;
 	    }
-	} else {
-	    strcpy(newpath,tmpbuf);
 	}
 
 	/*
@@ -903,7 +926,7 @@ PRIVATE BOOLEAN remove_single ARGS1(
     /*
      *	Locate the filename portion of the path.
      */
-    if ((cp = strrchr(testpath, '/')) != NULL) {
+    if ((cp = LYLastPathSep(testpath)) != NULL) {
 	++cp;
     } else {
 	cp = testpath;
@@ -913,23 +936,23 @@ PRIVATE BOOLEAN remove_single ARGS1(
 	/*** Course, it's probably broken for screen sizes other 80, too     ***/
 	if (strlen(cp) < 37) {
 	    HTSprintf0(&tmpbuf,
-		       gettext("Remove '%s' and all of its contents: "), cp);
+		       gettext("Remove '%s' and all of its contents?"), cp);
 	} else {
 	    HTSprintf0(&tmpbuf,
-		       gettext("Remove directory and all of its contents: "));
+		       gettext("Remove directory and all of its contents?"));
 	}
     } else if (S_ISREG(dir_info.st_mode)) {
 	if (strlen(cp) < 60) {
-	    HTSprintf0(&tmpbuf, gettext("Remove file '%s': "), cp);
+	    HTSprintf0(&tmpbuf, gettext("Remove file '%s'?"), cp);
 	} else {
-	    HTSprintf0(&tmpbuf, gettext("Remove file: "));
+	    HTSprintf0(&tmpbuf, gettext("Remove file?"));
 	}
 #ifdef S_IFLNK
     } else if (S_ISLNK(dir_info.st_mode)) {
 	if (strlen(cp) < 50) {
-	    HTSprintf0(&tmpbuf, gettext("Remove symbolic link '%s': "), cp);
+	    HTSprintf0(&tmpbuf, gettext("Remove symbolic link '%s'?"), cp);
 	} else {
-	    HTSprintf0(&tmpbuf, gettext("Remove symbolic link: "));
+	    HTSprintf0(&tmpbuf, gettext("Remove symbolic link?"));
 	}
 #endif
     } else {
@@ -1319,17 +1342,46 @@ PRIVATE char * DirectoryOf ARGS1(
 	char *,		pathname)
 {
     char *result = 0;
+    char *result1 = 0;
     char *leaf;
 
     StrAllocCopy(result, pathname);
     leaf = LYPathLeaf(result);
     if (leaf != result) {
 	*leaf = '\0';
-	LYTrimPathSep(result);
+	if (!LYisRootPath(result))
+	    LYTrimPathSep(result);
+	result1 = wwwName(result);
+	StrAllocCopy (result, result1);
     }
     return result;
 }
 
+#ifdef __DJGPP__
+/*  Convert filenames to acceptable 8+3 names when necessary
+*/
+PRIVATE char * LYonedot ARGS1(
+	char *,		line)
+{
+    char *dot;
+    if (pathconf (line, _PC_NAME_MAX) <= 12) {
+	for (;;) {
+	    if ((dot = strrchr(line, '.')) == 0
+	     || LYLastPathSep(dot) != 0) {
+		break;
+	    } else if (strlen(dot) == 1) {
+		*dot = 0;
+	    } else {
+		*dot = '_';
+	    }
+	}
+    }
+    return(line);
+}
+#else
+#define LYonedot(path) path
+#endif /*  __DJGPP__ */
+
 /*
  *  Perform file management operations for LYNXDIRED URL's.
  *  Attempt to be consistent.  These are (pseudo) URLs - i.e., they should
@@ -1360,6 +1412,16 @@ PUBLIC int local_dired ARGS1(
     HTUnEscape(line);	/* _file_ (not URL) syntax, for those functions
 			   that need it.  Don't forget to FREE it. */
 
+#ifdef __DJGPP__
+    if (!strncmp(line, "LYNXDIRED://", 12)) {
+	char *s;
+	int i;
+	s = strchr(&line[12], '/');
+	if (s != NULL)
+	    for(i = 0; s[i] != 0; i++)
+		s[i] = s[i+1];
+    }
+#endif /* __DJGPP__ */
     if (!strncmp(line, "LYNXDIRED://NEW_FILE", 20)) {
 	if (create_file(&line[20]) > 0)
 	    LYforce_no_cache = TRUE;
@@ -1417,7 +1479,7 @@ PUBLIC int local_dired ARGS1(
 	    LYforce_no_cache = TRUE;
     } else {
 	LYTrimPathSep(line);
-	if (strrchr(line, '/') == NULL) {
+	if (LYLastPathSep(line) == NULL) {
 	    FREE(line);
 	    return 0;
 	}
@@ -1445,21 +1507,21 @@ PUBLIC int local_dired ARGS1(
 # ifndef ARCHIVE_ONLY
 #  ifdef OK_GZIP
 	} else if (!strncmp(line, "LYNXDIRED://UNTAR_GZ", 20)) {
-#define FMT_UNTAR_GZ "%s -qdc %s | (cd %s; %s -xf -)"
+#define FMT_UNTAR_GZ "cd %s; %s -qdc %s |  %s -xf -"
 	    dirname = DirectoryOf(line+20);
-	    HTAddParam(&buffer, FMT_UNTAR_GZ, 1, GZIP_PATH);
-	    HTAddParam(&buffer, FMT_UNTAR_GZ, 2, line+20);
-	    HTAddParam(&buffer, FMT_UNTAR_GZ, 3, dirname);
+	    HTAddParam(&buffer, FMT_UNTAR_GZ, 1, dirname);
+	    HTAddParam(&buffer, FMT_UNTAR_GZ, 2, GZIP_PATH);
+	    HTAddParam(&buffer, FMT_UNTAR_GZ, 3, line+20);
 	    HTAddParam(&buffer, FMT_UNTAR_GZ, 4, TAR_PATH);
 	    HTEndParam(&buffer, FMT_UNTAR_GZ, 4);
 #  endif /* OK_GZIP */
 
 	} else if (!strncmp(line, "LYNXDIRED://UNTAR_Z", 19)) {
-#define FMT_UNTAR_Z "%s %s | (cd %s; %s -xf -)"
+#define FMT_UNTAR_Z "cd %s; %s %s |  %s -xf -"
 	    dirname = DirectoryOf(line+19);
-	    HTAddParam(&buffer, FMT_UNTAR_Z, 1, ZCAT_PATH);
-	    HTAddParam(&buffer, FMT_UNTAR_Z, 2, line+19);
-	    HTAddParam(&buffer, FMT_UNTAR_Z, 3, dirname);
+	    HTAddParam(&buffer, FMT_UNTAR_Z, 1, dirname);
+	    HTAddParam(&buffer, FMT_UNTAR_Z, 2, ZCAT_PATH);
+	    HTAddParam(&buffer, FMT_UNTAR_Z, 3, line+19);
 	    HTAddParam(&buffer, FMT_UNTAR_Z, 4, TAR_PATH);
 	    HTEndParam(&buffer, FMT_UNTAR_Z, 4);
 
@@ -1474,34 +1536,34 @@ PUBLIC int local_dired ARGS1(
 
 # ifdef OK_GZIP
 	} else if (!strncmp(line, "LYNXDIRED://TAR_GZ", 18)) {
-#define FMT_TAR_GZ "(cd %s; %s -cf - %s) | %s -qc >%s/%s.tar.gz"
+#define FMT_TAR_GZ "cd %s; %s -cf - %s | %s -qc >%s%s"
 	    dirname = DirectoryOf(line+18);
 	    HTAddParam(&buffer, FMT_TAR_GZ, 1, dirname);
 	    HTAddParam(&buffer, FMT_TAR_GZ, 2, TAR_PATH);
 	    HTAddParam(&buffer, FMT_TAR_GZ, 3, LYPathLeaf(line+18));
 	    HTAddParam(&buffer, FMT_TAR_GZ, 4, GZIP_PATH);
-	    HTAddParam(&buffer, FMT_TAR_GZ, 5, dirname);
-	    HTAddParam(&buffer, FMT_TAR_GZ, 6, LYPathLeaf(line+18));
+	    HTAddParam(&buffer, FMT_TAR_GZ, 5, LYonedot(LYPathLeaf(line+18)));
+	    HTAddParam(&buffer, FMT_TAR_GZ, 6, EXT_TAR_GZ);
 	    HTEndParam(&buffer, FMT_TAR_GZ, 6);
 # endif /* OK_GZIP */
 
 	} else if (!strncmp(line, "LYNXDIRED://TAR_Z", 17)) {
-#define FMT_TAR_Z "(cd %s; %s -cf - %s) | %s >%s/%s.tar.Z"
+#define FMT_TAR_Z "cd %s; %s -cf - %s | %s >%s%s"
 	    dirname = DirectoryOf(line+17);
 	    HTAddParam(&buffer, FMT_TAR_Z, 1, dirname);
 	    HTAddParam(&buffer, FMT_TAR_Z, 2, TAR_PATH);
 	    HTAddParam(&buffer, FMT_TAR_Z, 3, LYPathLeaf(line+17));
 	    HTAddParam(&buffer, FMT_TAR_Z, 4, COMPRESS_PATH);
-	    HTAddParam(&buffer, FMT_TAR_Z, 5, dirname);
-	    HTAddParam(&buffer, FMT_TAR_Z, 6, LYPathLeaf(line+17));
+	    HTAddParam(&buffer, FMT_TAR_Z, 5, LYonedot(LYPathLeaf(line+17)));
+	    HTAddParam(&buffer, FMT_TAR_Z, 6, EXT_TAR_Z);
 	    HTEndParam(&buffer, FMT_TAR_Z, 6);
 
 	} else if (!strncmp(line, "LYNXDIRED://TAR", 15)) {
-#define FMT_TAR "(cd %s; %s -cf %s.tar %s)"
+#define FMT_TAR "cd %s; %s -cf %s.tar %s"
 	    dirname = DirectoryOf(line+15);
 	    HTAddParam(&buffer, FMT_TAR, 1, dirname);
 	    HTAddParam(&buffer, FMT_TAR, 2, TAR_PATH);
-	    HTAddParam(&buffer, FMT_TAR, 3, LYPathLeaf(line+15));
+	    HTAddParam(&buffer, FMT_TAR, 3, LYonedot(LYPathLeaf(line+15)));
 	    HTAddParam(&buffer, FMT_TAR, 4, LYPathLeaf(line+15));
 	    HTEndParam(&buffer, FMT_TAR, 4);
 #endif /* OK_TAR */
@@ -1527,7 +1589,7 @@ PUBLIC int local_dired ARGS1(
 	    dirname = DirectoryOf(line+15);
 	    HTAddParam(&buffer, FMT_ZIP, 1, dirname);
 	    HTAddParam(&buffer, FMT_ZIP, 2, ZIP_PATH);
-	    HTAddParam(&buffer, FMT_ZIP, 3, line+15);
+	    HTAddParam(&buffer, FMT_ZIP, 3, LYonedot(LYPathLeaf(line+15)));
 	    HTAddParam(&buffer, FMT_ZIP, 4, LYPathLeaf(line+15));
 	    HTEndParam(&buffer, FMT_ZIP, 4);
 #ifndef ARCHIVE_ONLY
@@ -1756,7 +1818,7 @@ PRIVATE char *get_filename ARGS3(
     }
 
     if (no_dotfiles || !show_dotfiles) {
-	cp = strrchr(buf, '/'); /* find last slash */
+	cp = LYLastPathSep(buf); /* find last slash */
 	if (cp)
 	    cp += 1;
 	else
@@ -1889,8 +1951,10 @@ PUBLIC void add_menu_item ARGS1(
 	new->cond = DE_DIR;
     } else if (strcasecomp(str, "file") == 0) {
 	new->cond = DE_FILE;
+#ifdef S_IFLNK
     } else if (strcasecomp(str, "link") == 0) {
 	new->cond = DE_SYMLINK;
+#endif /* S_IFLNK */
     }
 
     /*
@@ -1962,7 +2026,7 @@ PRIVATE char * render_item ARGS6(
 			*BP_INC = *cp++;
 		    break;
 		case 'f':
-		    cp = strrchr(path, '/');
+		    cp = LYLastPathSep(path);
 		    if (cp)
 			cp++;
 		    else
@@ -2020,7 +2084,7 @@ PRIVATE char * render_item ARGS6(
 #endif /* DIRED_SUPPORT */
 
 /*
- *  Execute DIRED command.
+ *  Execute DIRED command, return -1 or 0 on failure, 1 success.
  */
 PRIVATE int LYExecv ARGS3(
 	char *, 	path,
@@ -2032,7 +2096,16 @@ PRIVATE int LYExecv ARGS3(
     return(0);
 #else
     int rc;
+    int n;
     char *tmpbuf = 0;
+#ifdef __DJGPP__
+    stop_curses();
+    HTSprintf(&tmpbuf, "%s", path);
+    for (n = 1; argv[n] != 0; n++)
+	HTSprintf(&tmpbuf, " %s", argv[n]);
+    HTSprintf(&tmpbuf, "\n");
+    rc = LYSystem(tmpbuf) ? 0 : 1;
+#else
     pid_t pid;
 #ifdef HAVE_TYPE_UNIONWAIT
     union wait wstatus;
@@ -2041,7 +2114,6 @@ PRIVATE int LYExecv ARGS3(
 #endif
 
     if (TRACE) {
-	int n;
 	CTRACE(tfp, "LYExecv path='%s'\n", path);
 	for (n = 0; argv[n] != 0; n++)
 	    CTRACE(tfp, "argv[%d] = '%s'\n", n, argv[n]);
@@ -2049,7 +2121,7 @@ PRIVATE int LYExecv ARGS3(
 
     rc = 1;		/* It will work */
     stop_curses();
-    pid = fork();	/* fork and execute rm */
+    pid = fork();	/* fork and execute command */
     switch (pid) {
 	case -1:
 	    HTSprintf(&tmpbuf, gettext("Unable to %s due to system error!"), msg);
@@ -2086,6 +2158,7 @@ PRIVATE int LYExecv ARGS3(
 		rc = 0;
 	    }
     }
+#endif /* __DJGPP__ */
 
     if (rc == 0) {
 	/*
diff --git a/src/LYMain.c b/src/LYMain.c
index cc85ece3..e422853b 100644
--- a/src/LYMain.c
+++ b/src/LYMain.c
@@ -718,6 +718,7 @@ PUBLIC int main ARGS2(
     atexit(reset_break);
     dbug_init();
     sock_init();
+    __system_flags = 0x501D;
 #endif
 
     /*
@@ -1841,7 +1842,7 @@ PUBLIC int main ARGS2(
 	if (persistent_cookies)
 	    LYStoreCookies(LYCookieFile);
 #endif /* EXP_PERSISTENT_COOKIES */
-	cleanup_files();
+	cleanup_files();	/* if someone starts with LYNXfoo: page */
 	exit_immediately(status);
     } else {
 	/*
@@ -1911,7 +1912,7 @@ PUBLIC void reload_read_cfg NOARGS
      *  that gets automatically set for -anonymous and -validate
      *  (and whether it applies for -anonymous can be made installer-
      *  configurable in the usual way at the bottom of userdefs.h). - kw
-     *  
+     *
      */
     if (no_option_save) {
 	/* current logic requires(?) that saving user preferences is
@@ -1930,7 +1931,7 @@ PUBLIC void reload_read_cfg NOARGS
 
     {
 	/* set few safe flags: */
-#ifdef PERSISTENT_COOKIES
+#ifdef EXP_PERSISTENT_COOKIES
 	BOOLEAN persistent_cookies_flag = persistent_cookies;
 	char * LYCookieFile_flag = LYCookieFile;
 #endif
@@ -1968,7 +1969,7 @@ PUBLIC void reload_read_cfg NOARGS
 		 * a major problem: file paths
 		 * like lynx_save_space, LYCookieFile etc.
 		 */
-#ifdef PERSISTENT_COOKIES
+#ifdef EXP_PERSISTENT_COOKIES
 	/* restore old settings */
 	 if (persistent_cookies != persistent_cookies_flag) {
 	     persistent_cookies = persistent_cookies_flag;
diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c
index f3e5835e..51cfb467 100644
--- a/src/LYMainLoop.c
+++ b/src/LYMainLoop.c
@@ -3500,7 +3500,7 @@ new_cmd:  /*
 		    psrc_view = FALSE;	/* we get here if link is not internal */
 #endif
 
-#ifdef DIRED_SUPPORT
+#if defined(DIRED_SUPPORT) && !defined(__DJGPP__)
 		    if (lynx_edit_mode) {
 			  HTuncache_current_document();
 			  /*
@@ -3511,7 +3511,7 @@ new_cmd:  /*
 			  HTUnEscapeSome(newdoc.address,"/");
 			  strip_trailing_slash(newdoc.address);
 		    }
-#endif /* DIRED_SUPPORT */
+#endif /* DIRED_SUPPORT  && !__DJGPP__ */
 		    if (!strncmp(curdoc.address, "LYNXCOOKIE:", 11)) {
 			HTuncache_current_document();
 		    }
@@ -5172,6 +5172,9 @@ if (!LYUseFormsOptions) {
 	    /*
 	     *	Don't do if not allowed or already viewing the menu.
 	     */
+#ifdef __DJGPP__
+	    lynx_edit_mode = TRUE;
+#endif /* __DJGPP__ */
 	    if (lynx_edit_mode && !no_dired_support &&
 		strcmp(curdoc.address, LYDiredFileURL) &&
 		strcmp((curdoc.title ? curdoc.title : ""),
@@ -6435,19 +6438,20 @@ PRIVATE void exit_immediately_with_error_message ARGS2(
     if (state == NOT_FOUND)
     {
 	HTSprintf0(&buf, "%s\n%s %s\n",
-		   buf2,
+		   buf2 ? buf2 : "",
 		   gettext("lynx: Can't access startfile"),
 		   /*
 		    * hack: if we fail in HTAccess.c
 		    * avoid duplicating URL, oh.
 		    */
-		   strstr(buf2, gettext("Can't Access")) ? "" : startfile);
+		   (buf2 && strstr(buf2, gettext("Can't Access"))) ?
+							       "" : startfile);
     }
 
     if (state == NULLFILE)
     {
 	HTSprintf0(&buf, "%s\n%s\n%s\n",
-		   buf2,
+		   buf2 ? buf2 : "",
 		   gettext("lynx: Start file could not be found or is not text/html or text/plain"),
 		   gettext("      Exiting..."));
     }
diff --git a/src/LYOptions.c b/src/LYOptions.c
index 06c7663f..560b29e8 100644
--- a/src/LYOptions.c
+++ b/src/LYOptions.c
@@ -158,9 +158,9 @@ PRIVATE void addlbl ARGS1(CONST char *, text)
 
 PUBLIC void LYoptions NOARGS
 {
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
     int itmp;
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
     int response, ch;
     /*
      *	If the user changes the display we need memory to put it in.
@@ -176,7 +176,7 @@ PUBLIC void LYoptions NOARGS
     BOOL use_assume_charset, old_use_assume_charset;
 
 #ifdef DIRED_SUPPORT
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
     if (LYlines < 24) {
 	HTAlert(OPTION_SCREEN_NEEDS_24);
 	return;
@@ -186,9 +186,9 @@ PUBLIC void LYoptions NOARGS
 	HTAlert(OPTION_SCREEN_NEEDS_23);
 	return;
     }
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 #else
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
     if (LYlines < 23) {
 	HTAlert(OPTION_SCREEN_NEEDS_23);
 	return;
@@ -198,7 +198,7 @@ PUBLIC void LYoptions NOARGS
 	HTAlert(OPTION_SCREEN_NEEDS_22);
 	return;
     }
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 #endif /* DIRED_SUPPORT */
 
     term_options = FALSE;
@@ -422,7 +422,7 @@ draw_options:
     addlbl("user (A)gent                 : ");
     addstr((LYUserAgent && *LYUserAgent) ? LYUserAgent : "NONE");
 
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
     move(L_Exec, 5);
     addlbl("local e(X)ecution links      : ");
 #ifndef NEVER_ALLOW_REMOTE_EXEC
@@ -433,7 +433,7 @@ draw_options:
     addstr(local_exec_on_local_files ? "FOR LOCAL FILES ONLY" :
 				       "ALWAYS OFF          ");
 #endif /* !NEVER_ALLOW_REMOTE_EXEC */
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
     move(LYlines-3, 2);
     addstr(SELECT_SEGMENT);
@@ -1594,7 +1594,7 @@ draw_options:
 		response = ' ';
 		break;
 
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
 	    case 'x':	/* Change local exec restriction. */
 	    case 'X':
 		if (exec_frozen && !LYSelectPopups) {
@@ -1634,7 +1634,8 @@ draw_options:
 		    itmp = popup_choice(itmp,
 					L_Exec, -1,
 					choices,
-					0, (exec_frozen ? TRUE : FALSE));
+					0, (exec_frozen ? TRUE : FALSE),
+					FALSE);
 #if defined(VMS) || defined(USE_SLANG)
 		    move(L_Exec, COL_OPTION_VALUES);
 		    clrtoeol();
@@ -1678,7 +1679,7 @@ draw_options:
 #endif /* !VMS || USE_SLANG */
 		}
 		break;
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
 	    case '>':	/* Save current options to RC file. */
 		if (!no_option_save) {
@@ -3177,8 +3178,7 @@ restore_popup_statusline:
     }
     FREE(popup_status_msg);
 #ifndef USE_SLANG
-    /* added touchline() - kw 19990513 */
-    touchline(stdscr, top, bottom - top);
+    touchwin(stdscr);
     delwin(form_window);
 #ifdef NCURSES
     LYsubwindow(0);
@@ -3246,7 +3246,7 @@ static char * x_display_string		= "display";
 static char * editor_string		= "editor";
 static char * emacs_keys_string		= "emacs_keys";
 
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
 #define EXEC_ALWAYS 2
 #define EXEC_LOCAL  1
 #define EXEC_NEVER  0
@@ -3258,7 +3258,7 @@ static OptValues exec_links_values[]	= {
 	{ EXEC_ALWAYS,	"ALWAYS ON",		"ALWAYS ON" },
 #endif
 	{ 0, 0, 0 }};
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
 #ifdef EXP_KEYBOARD_LAYOUT
 static char * kblayout_string		= "kblayout";
@@ -3634,7 +3634,7 @@ PUBLIC int postoptions ARGS1(
 	}
 
 	/* Execution links: SELECT */
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
 	if (!strcmp(data[i].tag, exec_links_string)
 	 && GetOptValues(exec_links_values, data[i].value, &code)) {
 #ifndef NEVER_ALLOW_REMOTE_EXEC
@@ -3642,7 +3642,7 @@ PUBLIC int postoptions ARGS1(
 #endif /* !NEVER_ALLOW_REMOTE_EXEC */
 	    local_exec_on_local_files = (code == EXEC_LOCAL);
 	}
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
 	/* Keypad Mode: SELECT */
 	if (!strcmp(data[i].tag, keypad_mode_string)) {
@@ -4432,7 +4432,7 @@ PRIVATE int gen_options ARGS1(
     }
 
     /* Execution links: SELECT */
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
     PutLabel(fp0, gettext("Execution links"));
     BeginSelect(fp0, exec_links_string);
 #ifndef NEVER_ALLOW_REMOTE_EXEC
@@ -4449,7 +4449,7 @@ PRIVATE int gen_options ARGS1(
 	       exec_links_values);
 #endif /* !NEVER_ALLOW_REMOTE_EXEC */
     EndSelect(fp0);
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
     /*
      * Headers transferred to remote server
diff --git a/src/LYShowInfo.c b/src/LYShowInfo.c
index e324623f..56340c16 100644
--- a/src/LYShowInfo.c
+++ b/src/LYShowInfo.c
@@ -150,7 +150,7 @@ PUBLIC int showinfo ARGS4(
 #endif
 	    name = HTAA_UidToName(dir_info.st_uid);
 	    if (*name)
-		fprintf(fp0, "   <em>%s</em>  %s\n", gettext("Name of owner"), name);
+		fprintf(fp0, "   <em>%s</em>  %s\n", gettext("Name of owner:"), name);
 	    name = HTAA_GidToName (dir_info.st_gid);
 	    if (*name)
 		fprintf(fp0, "      <em>%s</em>  %s\n", gettext("Group name:"), name);
@@ -162,13 +162,13 @@ PUBLIC int showinfo ARGS4(
 	     *	Include date and time information.
 	     */
 	    cp = ctime(&dir_info.st_ctime);
-	    fprintf(fp0, "   <em>%s</em>  %s", cp, gettext("Creation date:"));
+	    fprintf(fp0, "   <em>%s</em>  %s", gettext("Creation date:"), cp);
 
 	    cp = ctime(&dir_info.st_mtime);
-	    fprintf(fp0, "   <em>%s</em>  %s", cp, gettext("Last modified:"));
+	    fprintf(fp0, "   <em>%s</em>  %s", gettext("Last modified:"), cp);
 
 	    cp = ctime(&dir_info.st_atime);
-	    fprintf(fp0, "   <em>%s</em>  %s\n", cp, gettext("Last accessed:"));
+	    fprintf(fp0, "   <em>%s</em>  %s\n", gettext("Last accessed:"), cp);
 
 	    fprintf(fp0, "   %s\n", gettext("Access Permissions"));
 	    fprintf(fp0, "      <em>%s</em>  ", gettext("Owner:"));
@@ -323,7 +323,7 @@ PUBLIC int showinfo ARGS4(
 		  HTisDocumentSource() ?
 				  gettext("source") : gettext("normal")),
 		 (doc->safe ? gettext(", safe") : ""),
-		 (doc->internal_link ? gettext(", internal link") : "")
+		 (doc->internal_link ? gettext(", via internal link") : "")
 	    );
 #ifdef ADVANCED_INFO
     if (LYInfoAdvanced) {
diff --git a/src/LYStrings.c b/src/LYStrings.c
index 4e736f4f..5fa74a85 100644
--- a/src/LYStrings.c
+++ b/src/LYStrings.c
@@ -3448,3 +3448,98 @@ PUBLIC char *LYSafeGets ARGS2(
 	*src = result;
     return result;
 }
+
+#ifdef EXP_FILE_UPLOAD
+static char basis_64[] =
+   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+
+#define B64_LINE       76
+
+#if 0
+#define XX 255	/* illegal base64 char */
+#define EQ 254	/* padding */
+static unsigned char index_64[256] = {
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,62, XX,XX,XX,63,
+    52,53,54,55, 56,57,58,59, 60,61,XX,XX, XX,EQ,XX,XX,
+    XX, 0, 1, 2,  3, 4, 5, 6,  7, 8, 9,10, 11,12,13,14,
+    15,16,17,18, 19,20,21,22, 23,24,25,XX, XX,XX,XX,XX,
+    XX,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40,
+    41,42,43,44, 45,46,47,48, 49,50,51,XX, XX,XX,XX,XX,
+
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+    XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX, XX,XX,XX,XX,
+};
+
+#define GETC(str,len)  (len > 0 ? len--,*str++ : EOF)
+#define INVALID_B64(c) (index_64[(unsigned char)c] == XX)
+#endif
+
+PUBLIC void base64_encode ARGS3(
+    char *,	dest,
+    char *,	src,
+    int,	len)
+{
+    int rlen;   /* length of result string */
+    unsigned char c1, c2, c3;
+    char *eol, *r, *str;
+    int eollen;
+    int chunk;
+
+    str = src;
+    eol = "\n";
+    eollen = 1;
+
+    /* calculate the length of the result */
+    rlen = (len+2) / 3 * 4;	/* encoded bytes */
+    if (rlen) {
+	/* add space for EOL */
+	rlen += ((rlen-1) / B64_LINE + 1) * eollen;
+    }
+
+    /* allocate a result buffer */
+    r = dest;
+
+    /* encode */
+    for (chunk=0; len > 0; len -= 3, chunk++) {
+	if (chunk == (B64_LINE/4)) {
+	    char *c = eol;
+	    char *e = eol + eollen;
+	    while (c < e)
+		*r++ = *c++;
+	    chunk = 0;
+	}
+	c1 = *str++;
+	c2 = *str++;
+	*r++ = basis_64[c1>>2];
+	*r++ = basis_64[((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4)];
+	if (len > 2) {
+	    c3 = *str++;
+	    *r++ = basis_64[((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6)];
+	    *r++ = basis_64[c3 & 0x3F];
+	} else if (len == 2) {
+	    *r++ = basis_64[(c2 & 0xF) << 2];
+	    *r++ = '=';
+	} else { /* len == 1 */
+	    *r++ = '=';
+	    *r++ = '=';
+	}
+    }
+    if (rlen) {
+	/* append eol to the result string */
+	char *c = eol;
+	char *e = eol + eollen;
+	while (c < e)
+	    *r++ = *c++;
+    }
+    *r = '\0';  /* every SV in perl should be NUL-terminated */
+}
+
+#endif /* EXP_FILE_UPLOAD */
diff --git a/src/LYStrings.h b/src/LYStrings.h
index 4333b760..33e38a67 100644
--- a/src/LYStrings.h
+++ b/src/LYStrings.h
@@ -77,6 +77,10 @@ extern char * SNACat PARAMS((
 
 extern char *LYSafeGets PARAMS((char ** src, FILE * fp));
 
+#ifdef EXP_FILE_UPLOAD
+extern void base64_encode PARAMS((char * dest, char * src, int len));
+#endif
+
 /* values for LYgetch */
 /* The following are lynxkeycodes, not to be confused with
    lynxactioncodes (LYK_*) to which they are often mapped.
diff --git a/src/LYUtils.c b/src/LYUtils.c
index f2ecb7fc..157cef47 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -2326,6 +2326,41 @@ PUBLIC int HTCheckForInterrupt NOARGS
 }
 
 /*
+ * Check if the given filename looks like it's an absolute pathname, i.e.,
+ * references a directory.
+ */
+PUBLIC BOOLEAN LYisAbsPath ARGS1(
+	char *,		path)
+{
+    BOOLEAN result;
+#ifdef DOSPATH
+    result = (LYIsPathSep(path[0])
+     || (isalpha(path[0])
+      && (path[1] == ':')
+       && LYIsPathSep(path[2])));
+#else
+    result = (LYIsPathSep(path[0]));
+#endif /* __DJGPP__ */
+    return result;
+}
+
+/*
+ * Check if the given filename is the root path, e.g., "/" on Unix.
+ */
+PUBLIC BOOLEAN LYisRootPath ARGS1(
+	char *,		path)
+{
+#ifdef DOSPATH
+    if (strlen(path) == 3
+     && isalpha(path[0])
+     && path[1] == ':'
+     && LYIsPathSep(path[2]))
+    	return TRUE;
+#endif
+    return ((strlen(path) == 1) && LYIsPathSep(path[0]));
+}
+
+/*
  *  A file URL for a remote host is an obsolete ftp URL.
  *  Return YES only if we're certain it's a local file. - FM
  */
@@ -4210,7 +4245,7 @@ have_VMS_URL:
 	    /*
 	     *	On Unix, convert '~' to Home_Dir().
 	     */
-	    StrAllocCat(*AllocatedString, Home_Dir());
+	    StrAllocCat(*AllocatedString, wwwName(Home_Dir()));
 	    if ((cp = strchr(old_string, '/')) != NULL) {
 		/*
 		 *  Append rest of path, if present, skipping "user" if
@@ -4415,11 +4450,7 @@ have_VMS_URL:
 	     *	Has a Home_Dir() reference.  Handle it
 	     *	as if there weren't a lead slash. - FM
 	     */
-#ifdef VMS
-	    StrAllocCat(*AllocatedString, HTVMS_wwwName((char *)Home_Dir()));
-#else
-	    StrAllocCat(*AllocatedString, Home_Dir());
-#endif /* VMS */
+	    StrAllocCat(*AllocatedString, wwwName(Home_Dir()));
 	    if ((cp = strchr((old_string + 1), '/')) != NULL) {
 		/*
 		 *  Append rest of path, if present, skipping "user" if
@@ -6490,7 +6521,7 @@ PUBLIC void LYAddPathSep ARGS1(
  * to it.  This only applies to local filesystems.
  */
 PUBLIC void LYAddPathSep0 ARGS1(
-	char *,	path)
+	char *,		path)
 {
     size_t len;
 
@@ -6502,6 +6533,22 @@ PUBLIC void LYAddPathSep0 ARGS1(
 }
 
 /*
+ * Check if a given string contains a path separator
+ */
+PUBLIC char * LYLastPathSep ARGS1(
+	char *,		path)
+{
+    char *result;
+#ifdef DOSPATH
+    if ((result = strrchr(path, '\\')) == 0)
+	result = strrchr(path, '/');
+#else
+    result = strrchr(path, '/');
+#endif
+    return result;
+}
+
+/*
  * Trim a trailing path-separator to avoid confusing other programs when we concatenate
  * to it.  This only applies to HTML paths.
  */
@@ -6576,7 +6623,7 @@ PUBLIC int LYCopyFile ARGS2(
 }
 
 /*
- * Invoke a shell command
+ * Invoke a shell command, return nonzero on error.
  */
 PUBLIC int LYSystem ARGS1(
 	char *,	command)
diff --git a/src/LYUtils.h b/src/LYUtils.h
index 482adc97..8a8608f3 100644
--- a/src/LYUtils.h
+++ b/src/LYUtils.h
@@ -56,11 +56,14 @@ extern BOOLEAN LYAddSchemeForURL PARAMS((char **AllocatedString, char *default_s
 extern BOOLEAN LYCachedTemp PARAMS((char *result, char **cached));
 extern BOOLEAN LYCanDoHEAD PARAMS((CONST char *address));
 extern BOOLEAN LYExpandHostForURL PARAMS((char **AllocatedString, char *prefix_list, char *suffix_list));
+extern BOOLEAN LYFixCursesOnForAccess PARAMS((CONST char* addr, CONST char* physical));
 extern BOOLEAN LYPathOffHomeOK PARAMS((char *fbuffer, size_t fbuffer_size));
 extern BOOLEAN LYValidateFilename PARAMS((char * result, char * given));
+extern BOOLEAN LYisAbsPath PARAMS((char *path));
 extern BOOLEAN LYisLocalAlias PARAMS((char *filename));
 extern BOOLEAN LYisLocalFile PARAMS((char *filename));
 extern BOOLEAN LYisLocalHost PARAMS((char *filename));
+extern BOOLEAN LYisRootPath PARAMS((char *path));
 extern BOOLEAN inlocaldomain NOPARAMS;
 extern CONST char *Home_Dir NOPARAMS;
 extern FILE *LYAppendToTxtFile PARAMS((char * name));
@@ -70,6 +73,7 @@ extern FILE *LYOpenScratch PARAMS((char *result, CONST char *prefix));
 extern FILE *LYOpenTemp PARAMS((char *result, CONST char *suffix, CONST char *mode));
 extern FILE *LYReopenTemp PARAMS((char *name));
 extern char *Current_Dir PARAMS((char * pathname));
+extern char *LYLastPathSep PARAMS((char *path));
 extern char *LYPathLeaf PARAMS((char * pathname));
 extern char *LYSysShell NOPARAMS;
 extern char *LYgetXDisplay NOPARAMS;
@@ -83,8 +87,6 @@ extern int LYOpenInternalPage PARAMS((FILE **fp0, char **newfile));
 extern int LYSystem PARAMS((char *command));
 extern int LYValidateOutput PARAMS((char * filename));
 extern int is_url PARAMS((char *filename));
-extern void LYFixCursesOn PARAMS((CONST char* reason));
-extern BOOLEAN LYFixCursesOnForAccess PARAMS((CONST char* addr, CONST char* physical));
 extern int number2arrows PARAMS((int number));
 extern time_t LYmktime PARAMS((char *string, BOOL absolute));
 extern void BeginInternalPage PARAMS((FILE *fp0, char *Title, char *HelpURL));
@@ -105,6 +107,7 @@ extern void LYConvertToURL PARAMS((char **AllocatedString, int fixit));
 extern void LYDoCSI PARAMS((char *url, CONST char *comment, char **csi));
 extern void LYEnsureAbsoluteURL PARAMS((char **href, CONST char *name, int fixit));
 extern void LYFakeZap PARAMS((BOOL set));
+extern void LYFixCursesOn PARAMS((CONST char* reason));
 extern void LYLocalFileToURL PARAMS((char **target, CONST char *source));
 extern void LYLocalhostAliases_free NOPARAMS;
 extern void LYRemoveTemp PARAMS((char *name));
diff --git a/src/LYrcFile.c b/src/LYrcFile.c
index 2a81edd6..efe6b22e 100644
--- a/src/LYrcFile.c
+++ b/src/LYrcFile.c
@@ -480,7 +480,7 @@ PUBLIC void read_rc NOPARAMS
 #endif /* DISP_PARTIAL */
 #endif /* NOTUSED */
 
-#ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+#ifdef ENABLE_OPTS_CHANGE_EXEC
 	/*
 	 *  Local execution mode - all links.
 	 */
@@ -501,7 +501,7 @@ PUBLIC void read_rc NOPARAMS
 		local_exec_on_local_files = TRUE;
 	    else
 		local_exec_on_local_files=FALSE;
-#endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+#endif /* ENABLE_OPTS_CHANGE_EXEC */
 
 	} else if (FIND_KEYWORD(cp, "verbose_images")) {
 	   cp = SkipEquals(cp);
diff --git a/src/makefile.dsl b/src/makefile.dsl
index 0be75cd2..326fa90c 100644
--- a/src/makefile.dsl
+++ b/src/makefile.dsl
@@ -11,8 +11,12 @@ LYStyle.o LYHash.o LYPrettySrc.o
 

 CFLAGS= $(MCFLAGS) $(INTLFLAGS) -I. -I.. $(SLANGINC)

 

+# comment this line to suppress DIRED support

+DIRED_DEFS = -DDIRED_SUPPORT -DOK_UUDECODE -DOK_TAR -DOK_GZIP -DOK_ZIP

+

 CC = gcc

 MCFLAGS = -O2 -DDISP_PARTIAL -DUSE_ZLIB -DUSE_EXTERNALS \

+$(DIRED_DEFS) \

 -DSOURCE_CACHE -DUSE_PSRC \

 -DUSE_SLANG -DDJGPP_KEYHANDLER -DACCESS_AUTH -DNO_CUSERID \

 -DNOUSERS -DDOSPATH -DNO_TTYTYPE -DNO_UTMP -I../WWW/Library/Implementation \

diff --git a/test/sgml.html b/test/sgml.html
index 551a20cd..da3b0277 100644
--- a/test/sgml.html
+++ b/test/sgml.html
@@ -38,7 +38,6 @@ original comment:
 # The contents of this table are drawn from various sources, and
 # are in the public domain.
 #
-</pre>
 <!-- Changes:
 +   {"euro",    0x20AC},  /* EURO SIGN                                     */
     {"loz",     0x25CA},  /* LOZENGE                                       */
diff --git a/test/unicode.html b/test/unicode.html
index 43ebeef3..07ca28c1 100644
--- a/test/unicode.html
+++ b/test/unicode.html
@@ -13,7 +13,6 @@
 
 original comment:
 
-<pre>
 # Author: John Cowan &lt;cowan@ccil.org&gt;
 # Date: 25 July 1997
 #
@@ -39,7 +38,6 @@ original comment:
 # The contents of this table are drawn from various sources, and
 # are in the public domain.
 #
-</pre>
 <!-- Changes:
 +   {"euro",    0x20AC},  /* EURO SIGN                                     */
 
diff --git a/userdefs.h b/userdefs.h
index da5c5d02..ab114091 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1001,11 +1001,11 @@
 #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
 
 /**********
- * if ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
+ * if ENABLE_OPTS_CHANGE_EXEC
  * is defined then the user will be able to change
  * the execution status within the options screen.
  */
-/* #define ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
+/* #define ENABLE_OPTS_CHANGE_EXEC */
 
 /**********
  * if NEVER_ALLOW_REMOTE_EXEC is defined then local execution of
@@ -1255,15 +1255,15 @@
  * the version definition with the Project Version on checkout.  Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8.3dev.1"
+#define LYNX_VERSION "2.8.3dev.2"
 #define LYNX_WWW_HOME "http://lynx.browser.org/"
 #define LYNX_WWW_DIST "http://www.slcc.edu/lynx/current/"
 #define LYNX_RELEASE FALSE
 /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
-#define LYNX_DATE "Fri, 11 Jun 1999 03:34:08 -0600"
+#define LYNX_DATE "Fri, 18 Jun 1999 15:54:46 -0600"
 #define LYNX_DATE_OFF 5		/* truncate the automatically-generated date */
 #define LYNX_DATE_LEN 11	/* truncate the automatically-generated date */
-#define LYNX_RELEASE_DATE "1998"
+#define LYNX_RELEASE_DATE "1999"
 
 #ifndef MAXINT
 #define MAXINT 2147483647	/* max integer */