about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1999-05-13 02:10:32 -0400
committerThomas E. Dickey <dickey@invisible-island.net>1999-05-13 02:10:32 -0400
commit0bafa3a38906a8ffc183d758baa774d8b23a9fa4 (patch)
treeae40c4a9fa3a9dc049538d288ca3a2bc2fcf14da
parent169e8098be76947e6e1aa002052d9536dc9aa273 (diff)
downloadlynx-snapshots-0bafa3a38906a8ffc183d758baa774d8b23a9fa4.tar.gz
snapshot of project "lynx", label v2-8-2pre_3
-rw-r--r--CHANGES30
-rw-r--r--WWW/Library/Implementation/HTBTree.h5
-rw-r--r--WWW/Library/Implementation/HTCJK.h2
-rw-r--r--WWW/Library/Implementation/HTChunk.h3
-rw-r--r--WWW/Library/Implementation/HTDOS.h3
-rw-r--r--WWW/Library/Implementation/HTFile.c3
-rw-r--r--WWW/Library/Implementation/HTInit.h4
-rw-r--r--WWW/Library/Implementation/HTLex.h4
-rw-r--r--WWW/Library/Implementation/HTList.h2
-rw-r--r--WWW/Library/Implementation/HTMLDTD.c2
-rw-r--r--WWW/Library/Implementation/HTParse.h2
-rw-r--r--WWW/Library/Implementation/HTRules.h6
-rw-r--r--WWW/Library/Implementation/HTStream.h4
-rw-r--r--WWW/Library/Implementation/HTTCP.c2
-rw-r--r--WWW/Library/Implementation/HTTCP.h4
-rw-r--r--WWW/Library/Implementation/HTUU.h4
-rw-r--r--WWW/Library/Implementation/HTVMSUtils.h3
-rw-r--r--WWW/Library/Implementation/HTVMS_WaisProt.h6
-rw-r--r--WWW/Library/Implementation/HTVMS_WaisUI.h2
-rw-r--r--WWW/Library/Implementation/LYLeaks.h3
-rw-r--r--WWW/Library/Implementation/LYexit.h3
-rw-r--r--WWW/Library/Implementation/UCAux.h2
-rw-r--r--WWW/Library/Implementation/UCDefs.h2
-rw-r--r--WWW/Library/Implementation/UCMap.h2
-rw-r--r--WWW/Library/vms/descrip.mms2
-rw-r--r--WWW/Library/vms/libmake.com1
-rw-r--r--docs/OS-390.announce93
-rw-r--r--makefile.in2
-rw-r--r--src/GridText.c5
-rw-r--r--src/HTAlert.h2
-rw-r--r--src/HTML.c12
-rw-r--r--src/HTML.h1
-rw-r--r--src/HTSaveToFile.h3
-rw-r--r--src/LYCgi.h2
-rw-r--r--src/LYCharSets.h3
-rw-r--r--src/LYCharVals.h2
-rw-r--r--src/LYClean.h2
-rw-r--r--src/LYCookie.c5
-rw-r--r--src/LYCookie.h3
-rw-r--r--src/LYCurses.c2
-rw-r--r--src/LYCurses.h10
-rw-r--r--src/LYEdit.h2
-rw-r--r--src/LYHash.h2
-rw-r--r--src/LYKeymap.h2
-rw-r--r--src/LYLocal.c7
-rw-r--r--src/LYMainLoop.c6
-rw-r--r--src/LYMainLoop.h2
-rw-r--r--src/LYMap.h3
-rw-r--r--src/LYTraversal.h2
-rw-r--r--src/LYrcFile.c4
-rw-r--r--src/UCdomap.h3
-rw-r--r--userdefs.h4
52 files changed, 265 insertions, 25 deletions
diff --git a/CHANGES b/CHANGES
index f7f7ae1f..4f52fe4f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,36 @@
 Changes since Lynx 2.8 release
 ===============================================================================
 
+1999-05-12 (2.8.2pre.3)
+* add DEBUG_SOURCE_CACHE makefile flag so all documents will be cached in
+  SOURCE_CACHE mode, including local files.  Normally undef'ed so only http
+  served documents cached with sources -LP
+* in LYK_HISTORY, set newdoc.link = 1 so position at link #2 bypassing "recent
+  statusline messages" link -LP
+* comment out "partial_thres=" option in .lynxrc (it was coded so the changes
+  from lynx.cfg file could not be activated) -LP
+* add a sanity check to LYCurses.h to point out problems with the FANCY_CURSES
+  configure checks -TD
+* fix uninitialized pointer used in decoding of -term switch (patch by Sergey
+  Svishchev)
+* define _DECC_V4_SOURCE for VMS SOCKETSHR_TCP configuration, to fix conflict
+  with unistd.h versus non-POSIX prototypes in the other headers (report by
+  Andy Harper) -TD
+* ifdef'd includes for HTUtils.h to limit size of preprocessor listings with
+  DEC C; verify that all header files include definitions needed for their
+  contents -TD
+* add docs/OS-390.announce (Paul Gilmartin <pg@sweng.stortek.com>)
+* add fallback extern declaration for h_errno to HTTCP.c for systems that have
+  that variable but do not declare it (reported by Jean-Pierre Radley
+  <jpr@jpr.com> for SCO OpenServer 5.0.5) -BL
+* correct SortaSGML element info: SPAN can contain SPAN -KW
+* fix several small memory leaks (John Bley):
+  + minor (~ 7 bytes) leak in LYCookie.c
+  + leak in the warning message about invalid cookies
+  + obvious leak in do_readme
+  + small leak in dired_options (LYLocal.c)
+  + leak with -selective option in HTFile.c
+  + a few leaks and a minor cleanup in local_dired
 1999-05-08 (2.8.2pre.2)
 * substitute a few more free()s with FREE()s in files HTString.c and
   LYReadCFG.c (John Bley)
diff --git a/WWW/Library/Implementation/HTBTree.h b/WWW/Library/Implementation/HTBTree.h
index 7cf5ea84..d4b2ac08 100644
--- a/WWW/Library/Implementation/HTBTree.h
+++ b/WWW/Library/Implementation/HTBTree.h
@@ -12,9 +12,10 @@
 #ifndef HTBTREE_H
 #define HTBTREE_H 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
-
+#endif
+ 
 /*
 
 Data structures
diff --git a/WWW/Library/Implementation/HTCJK.h b/WWW/Library/Implementation/HTCJK.h
index 7722f522..8765461d 100644
--- a/WWW/Library/Implementation/HTCJK.h
+++ b/WWW/Library/Implementation/HTCJK.h
@@ -11,7 +11,9 @@
 #ifndef HTCJK_H
 #define HTCJK_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
 **	STATUS CHANGE CODES
diff --git a/WWW/Library/Implementation/HTChunk.h b/WWW/Library/Implementation/HTChunk.h
index 20a5af17..e6cf19c8 100644
--- a/WWW/Library/Implementation/HTChunk.h
+++ b/WWW/Library/Implementation/HTChunk.h
@@ -10,7 +10,10 @@
 #ifndef HTCHUNK_H
 #define HTCHUNK_H 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+ 
 #include <UCMap.h>
 
 typedef struct {
diff --git a/WWW/Library/Implementation/HTDOS.h b/WWW/Library/Implementation/HTDOS.h
index ff2ba194..37a61386 100644
--- a/WWW/Library/Implementation/HTDOS.h
+++ b/WWW/Library/Implementation/HTDOS.h
@@ -3,6 +3,9 @@
 #ifndef HTDOS_H
 #define HTDOS_H
 
+#ifndef HTUTILS_H
+#include <HTUtils.h>
+#endif /* HTUTILS_H */
 
 /* PUBLIC                                                       HTDOS_wwwName()
 **              CONVERTS DOS Name into WWW Name
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 43910104..be5212bf 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -1468,6 +1468,7 @@ Bug removed thanks to joe@athena.mit.edu */
 	HTDisplayPartial();
 	fclose(fp);
     }
+    FREE(readme_file_name);
 }
 
 PRIVATE int print_local_dir ARGS5(
@@ -1949,6 +1950,7 @@ PUBLIC int HTLoadFile ARGS4(
 		if (HTStat(enable_file_name, &stat_info) == -1) {
 		    FREE(filename);
 		    FREE(nodename);
+		    FREE(enable_file_name);
 		    return HTLoadError(sink, 403, DISALLOWED_SELECTIVE_ACCESS);
 		}
 	    }
@@ -2324,6 +2326,7 @@ PUBLIC int HTLoadFile ARGS4(
 		    if (stat(enable_file_name, &file_info) != 0) {
 			FREE(localname);
 			FREE(nodename);
+			FREE(enable_file_name);
 			return HTLoadError(sink, 403, DISALLOWED_SELECTIVE_ACCESS);
 		    }
 		}
diff --git a/WWW/Library/Implementation/HTInit.h b/WWW/Library/Implementation/HTInit.h
index 4785f3e8..cedbb25c 100644
--- a/WWW/Library/Implementation/HTInit.h
+++ b/WWW/Library/Implementation/HTInit.h
@@ -14,8 +14,10 @@
 #ifndef HTINIT_H
 #define HTINIT_H 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 extern void HTFormatInit NOPARAMS;
 extern void HTPreparsedFormatInit NOPARAMS;
 extern void HTFileInit NOPARAMS;
diff --git a/WWW/Library/Implementation/HTLex.h b/WWW/Library/Implementation/HTLex.h
index 6997b8f7..f0b6875e 100644
--- a/WWW/Library/Implementation/HTLex.h
+++ b/WWW/Library/Implementation/HTLex.h
@@ -5,8 +5,10 @@
 #ifndef HTLEX_H
 #define HTLEX_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 typedef enum {
     LEX_NONE,		/* Internally used      */
     LEX_EOF,		/* End of file          */
diff --git a/WWW/Library/Implementation/HTList.h b/WWW/Library/Implementation/HTList.h
index a66253fd..e3ba6a0f 100644
--- a/WWW/Library/Implementation/HTList.h
+++ b/WWW/Library/Implementation/HTList.h
@@ -7,7 +7,9 @@
 #ifndef HTLIST_H
 #define HTLIST_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 typedef struct _HTList HTList;
 
diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c
index fe2f55b4..58e6c235 100644
--- a/WWW/Library/Implementation/HTMLDTD.c
+++ b/WWW/Library/Implementation/HTMLDTD.c
@@ -1301,7 +1301,7 @@ static attr ulist_attr[] = {			/* UL attributes */
  /* { "SMALL"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
 #define T_SMALL 	0x0001, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x00001,0x00014
  /* { "SPAN"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
-#define T_SPAN		0x0002, 0x0B04F,0x0FFFF,0x2778F,0x77FBF,0x80003,0x00000
+#define T_SPAN		0x0002, 0x8B04F,0x8FFFF,0xA778F,0xF7FBF,0x80003,0x00000
  /* { "SPOT"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_EMPTY }, */
 #define T_SPOT		0x0008, 0x00000,0x00000,0x3FFF7,0x3FFF7,0x00008,0x00001
  /* { "STRIKE"	, gen_attr,	HTML_GEN_ATTRIBUTES,	SGML_MIXED }, */
diff --git a/WWW/Library/Implementation/HTParse.h b/WWW/Library/Implementation/HTParse.h
index 2c27c238..2f3c522c 100644
--- a/WWW/Library/Implementation/HTParse.h
+++ b/WWW/Library/Implementation/HTParse.h
@@ -8,7 +8,9 @@
 #ifndef HTPARSE_H
 #define HTPARSE_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
 **  The following are flag bits which may be ORed together to form
diff --git a/WWW/Library/Implementation/HTRules.h b/WWW/Library/Implementation/HTRules.h
index 61a90a4f..fce782f8 100644
--- a/WWW/Library/Implementation/HTRules.h
+++ b/WWW/Library/Implementation/HTRules.h
@@ -18,8 +18,10 @@
 #ifndef HTRULE_H
 #define HTRULE_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 typedef enum _HTRuleOp {
         HT_Invalid,
         HT_Map,
@@ -140,4 +142,4 @@ extern int HTLoadRules PARAMS((CONST char * filename));
  */
 
 #endif /* NO_RULES */
-#endif /* HTUtils.h */
+#endif /* HTRULE_H */
diff --git a/WWW/Library/Implementation/HTStream.h b/WWW/Library/Implementation/HTStream.h
index d2025274..dd18e40b 100644
--- a/WWW/Library/Implementation/HTStream.h
+++ b/WWW/Library/Implementation/HTStream.h
@@ -13,8 +13,10 @@
 #ifndef HTSTREAM_H
 #define HTSTREAM_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 typedef struct _HTStream HTStream;
 
 /*
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index f791f188..3dade594 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -575,6 +575,8 @@ PRIVATE size_t fill_rehostent ARGS3(
 #undef  h_errno
 #define h_errno my_errno
 static int my_errno;
+#else /* we do HAVE_H_ERRNO: */
+extern int h_errno;
 #endif
 
 /*	Resolve an internet hostname, like gethostbyname
diff --git a/WWW/Library/Implementation/HTTCP.h b/WWW/Library/Implementation/HTTCP.h
index e532cbb8..4e43ed27 100644
--- a/WWW/Library/Implementation/HTTCP.h
+++ b/WWW/Library/Implementation/HTTCP.h
@@ -7,8 +7,10 @@
 #ifndef HTTCP_H
 #define HTTCP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 /*      Produce a string for an internet address
 **      ---------------------------------------
 **
diff --git a/WWW/Library/Implementation/HTUU.h b/WWW/Library/Implementation/HTUU.h
index 8aa48fd6..2cff5292 100644
--- a/WWW/Library/Implementation/HTUU.h
+++ b/WWW/Library/Implementation/HTUU.h
@@ -11,8 +11,10 @@
 #ifndef HTUU_H
 #define HTUU_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
-
+#endif
+ 
 PUBLIC int HTUU_encode PARAMS((unsigned char *bufin,
                                unsigned int nbytes,
                                char *bufcoded));
diff --git a/WWW/Library/Implementation/HTVMSUtils.h b/WWW/Library/Implementation/HTVMSUtils.h
index 25fd5adb..c5bcb666 100644
--- a/WWW/Library/Implementation/HTVMSUtils.h
+++ b/WWW/Library/Implementation/HTVMSUtils.h
@@ -5,7 +5,10 @@
 #ifndef HTVMSUTIL_H
 #define HTVMSUTIL_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+ 
 #include <HTAnchor.h>
 
 extern BOOL HTVMSFileVersions;	/* Include version numbers in listing? */
diff --git a/WWW/Library/Implementation/HTVMS_WaisProt.h b/WWW/Library/Implementation/HTVMS_WaisProt.h
index 1b2329b1..feea3264 100644
--- a/WWW/Library/Implementation/HTVMS_WaisProt.h
+++ b/WWW/Library/Implementation/HTVMS_WaisProt.h
@@ -31,7 +31,10 @@
 #ifndef _H_WAIS_protocol_
 #define _H_WAIS_protocol_
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <HTVMS_WaisUI.h>
 
 /*----------------------------------------------------------------------*/
@@ -345,7 +348,10 @@ void CSTFreeWAISTextQuery PARAMS(( any* query));
 #ifndef WMESSAGE_H
 #define WMESSAGE_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+ 
 #include <HTVMS_WaisUI.h>
 
 typedef struct wais_header {
diff --git a/WWW/Library/Implementation/HTVMS_WaisUI.h b/WWW/Library/Implementation/HTVMS_WaisUI.h
index caa5d892..150e108d 100644
--- a/WWW/Library/Implementation/HTVMS_WaisUI.h
+++ b/WWW/Library/Implementation/HTVMS_WaisUI.h
@@ -8,7 +8,9 @@
 #ifndef HTVMSWAIS_H
 #define HTVMSWAIS_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 void	log_write PARAMS((char *));
 
diff --git a/WWW/Library/Implementation/LYLeaks.h b/WWW/Library/Implementation/LYLeaks.h
index 19fc69f4..5ecf8e67 100644
--- a/WWW/Library/Implementation/LYLeaks.h
+++ b/WWW/Library/Implementation/LYLeaks.h
@@ -41,7 +41,10 @@
 /*
 **  Required includes
 */
+
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
 **	Constant defines
diff --git a/WWW/Library/Implementation/LYexit.h b/WWW/Library/Implementation/LYexit.h
index 4723344b..235b3e0b 100644
--- a/WWW/Library/Implementation/LYexit.h
+++ b/WWW/Library/Implementation/LYexit.h
@@ -19,7 +19,10 @@
 /*
  *	Required includes
  */
+
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
  *	Constant defines
diff --git a/WWW/Library/Implementation/UCAux.h b/WWW/Library/Implementation/UCAux.h
index 3b1df229..50cdf9ba 100644
--- a/WWW/Library/Implementation/UCAux.h
+++ b/WWW/Library/Implementation/UCAux.h
@@ -1,7 +1,9 @@
 #ifndef UCAUX_H
 #define UCAUX_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 extern BOOL UCCanUniTranslateFrom PARAMS((int from));
 extern BOOL UCCanTranslateUniTo PARAMS((int to));
diff --git a/WWW/Library/Implementation/UCDefs.h b/WWW/Library/Implementation/UCDefs.h
index c4413a60..53c3a807 100644
--- a/WWW/Library/Implementation/UCDefs.h
+++ b/WWW/Library/Implementation/UCDefs.h
@@ -3,7 +3,9 @@
 #ifndef UCDEFS_H
 #define UCDEFS_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 typedef struct _LYUCcharset {
     int UChndl;  	/* -1 for "old" charsets, >= 0 for chartrans tables */
diff --git a/WWW/Library/Implementation/UCMap.h b/WWW/Library/Implementation/UCMap.h
index 0ca58290..80ee73e7 100644
--- a/WWW/Library/Implementation/UCMap.h
+++ b/WWW/Library/Implementation/UCMap.h
@@ -1,7 +1,9 @@
 #ifndef UCMAP_H
 #define UCMAP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 typedef long UCode_t;
 
diff --git a/WWW/Library/vms/descrip.mms b/WWW/Library/vms/descrip.mms
index 3b8c3f7f..6bbdaaba 100644
--- a/WWW/Library/vms/descrip.mms
+++ b/WWW/Library/vms/descrip.mms
@@ -134,7 +134,7 @@ CFLAGS = $(DEBUGFLAGS) /Define = ($(EXTRADEFINES), CMU_TCP) $(INCLUDES)
 .ifdef SOCKETSHR_TCP
 TCP = SOCKETSHR_TCP
 .ifdef DEC_C
-CFLAGS = /decc/Prefix=All $(DEBUGFLAGS) $(DCFLAGS) /Define=($(EXTRADEFINES), SOCKETSHR_TCP)
+CFLAGS = /decc/Prefix=All $(DEBUGFLAGS) $(DCFLAGS) /Define=($(EXTRADEFINES), _DECC_V4_SOURCE, SOCKETSHR_TCP)
 .else
 CFLAGS = $(DEBUGFLAGS) /Define = ($(EXTRADEFINES), SOCKETSHR_TCP) $(INCLUDES)
 .endif
diff --git a/WWW/Library/vms/libmake.com b/WWW/Library/vms/libmake.com
index 7329b0d4..d0bd31ee 100644
--- a/WWW/Library/vms/libmake.com
+++ b/WWW/Library/vms/libmake.com
@@ -64,6 +64,7 @@ $ if agent .eq. 5 .or. p1 .eqs. "SOCKETSHR_TCP" then transport = "SOCKETSHR_TCP"
 $ if agent .eq. 6 .or. p1 .eqs. "TCPWARE" then transport = "TCPWARE"
 $ if agent .eq. 7 .or. p1 .eqs. "DECNET" then transport = "DECNET"
 $!
+$ if transport .eqs. "SOCKETSHR_TCP" then extra = extra + ",_DECC_V4_SOURCE"
 $ if transport .eqs. "TCPWARE" then extra = extra + ",UCX"
 $!
 $!	Compiler options can be specified here.  If there was
diff --git a/docs/OS-390.announce b/docs/OS-390.announce
new file mode 100644
index 00000000..6eac7d25
--- /dev/null
+++ b/docs/OS-390.announce
@@ -0,0 +1,93 @@
+This document suggests steps to install Lynx on OS/390 systems.
+
+========================================================================
+o Download the archive file lynx2-8-2.tar.Z in BINARY from the site
+  where you found this announcement or from a site listed at
+  http://lynx.browser.org/
+
+o Unpack with:
+
+	uncompress <lynx2-8-2.tar.Z | pax -rv -o to=IBM-1047
+
+  The "-o to=IBM-1047" is needed to convert the ASCII archive
+  to EBCDIC.  You must not download as a text file; the conversion
+  must be performed after the uncompress.
+
+========================================================================
+o Alternatively, download the PKZIPped archive lynx2-8-2.zip in BINARY.
+
+o Unpack with:
+
+	unzip -a lynx2.8.2.zip
+
+  The "-a" is needed to convert the ASCII archive
+  to EBCDIC.  (unzip is not shipped with OS/390.  You can
+  obtain it from:
+
+   Linkname: OS/390 UNIX - Tools and Toys
+	URL: http://www.s390.ibm.com/unix/bpxa1ty1.html
+
+   Linkname: Info-ZIP zip and unzip
+	URL: http://www.s390.ibm.com/ftp/os390/oe/port/infozip-os390.tar.Z
+  )
+
+========================================================================
+o Run the configure script:
+
+	mkdir -p ./OS390/.
+	cd       ./OS390
+	rm -f config.cache
+	CC=c89 CFLAGS="-D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" \
+	    ../lynx2-8-2/configure
+
+  The definitions select the ANSI C compiler (c89) and options
+  to select the right header file directories.  You may also
+  find it useful to set the installation directories with
+  the --prefix=, --libdir=, and --exec_prefix= options.
+
+========================================================================
+o Build Lynx
+
+	gmake
+
+  (I have been unable to build Lynx with IBM's make.  gmake is not
+  shipped with OS/390.  You may obtain gmake from:
+
+   Linkname: Mortice Kern Systems (MKS) Inc. - S/390 ®
+	     OpenEdition--GNU Utilities
+	URL: http://www.mks.com/s390/gnu/index.htm
+
+   Linkname: Other
+	URL: http://www.mks.com/s390/gnu/register.htm
+  )
+
+========================================================================
+o Test Lynx:
+
+	./lynx -cfg=../lynx2-8-2/lynx.cfg \
+	    ../lynx2-8-2/lynx_help/lynx_help_main.html
+
+========================================================================
+o Install Lynx:
+
+	gmake install
+	gmake install-help
+	gmake install-doc
+
+========================================================================
+REMAINING PROBLEMS:
+
+	3270-type terminals are not supported. This is probably a
+	permanent restriction since curses support for 3270s is
+	unlikely to appear.
+
+	URL schemes other than HTTP:, FTP:, and FILE: are untested
+	and likely not to work.
+
+	Some character entities are not rendered correctly.
+
+	The Download command converts binary files from ASCII to EBCDIC.
+	This can be undone by a download filter in lynx.cfg.
+
+Paul Gilmartin
+pg@sweng.stortek.com
diff --git a/makefile.in b/makefile.in
index 72b85c3d..3742c604 100644
--- a/makefile.in
+++ b/makefile.in
@@ -217,7 +217,7 @@ help:
 
 ##Miscellaneous actions
 clean:
-	rm -f WWW/Library/*/*.[aob]
+	rm -f WWW/Library/*/*.[aoib]
 	rm -f WWW/Library/*/.created
 	cd src && $(MAKE) clean
 @MSG_DIR_MAKE@	rm -f LYMessages.c
diff --git a/src/GridText.c b/src/GridText.c
index 43cf525f..edaca017 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -6269,11 +6269,6 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	}
     }
 
-    /*
-     * I have no idea what this does, but it seems to be necessary... -dsb
-     */
-    LYUCPopAssumed();
-
     CTRACE(tfp, "Reparse %s\n", (ok ? "succeeded" : "failed"));
 
     if (ok)  {
diff --git a/src/HTAlert.h b/src/HTAlert.h
index 97026647..f9559036 100644
--- a/src/HTAlert.h
+++ b/src/HTAlert.h
@@ -8,7 +8,9 @@
 #ifndef HTALERT_H
 #define HTALERT_H 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 #define ALERT_PREFIX_LEN 5
 
diff --git a/src/HTML.c b/src/HTML.c
index b78d5ac0..13e572e9 100644
--- a/src/HTML.c
+++ b/src/HTML.c
@@ -7734,19 +7734,25 @@ PRIVATE HTStream* CacheThru_new ARGS2(
 {
     char filename[LY_MAXPATH];
     HTStream *stream = NULL;
-/*    HTProtocol *p = (HTProtocol *)anchor->protocol; */
+    HTProtocol *p = (HTProtocol *)anchor->protocol;
 
     /*
      * Neatly and transparently vanish if source caching is disabled.
      */
     if (LYCacheSource == SOURCE_CACHE_NONE)
 	return target;
-/*
+
+#ifndef DEBUG_SOURCE_CACHE
+    /*  Only remote HTML documents may benefits from HTreparse_document(), */
+    /*  oh, assume http protocol:                                          */
     if (strcmp(p->name, "http") != 0) {
 	CTRACE(tfp, "Protocol is \"%s\"; not caching\n", p->name);
 	return target;
     }
-*/
+#else
+    /* all HTStreams will be cached */
+#endif
+
     stream = (HTStream *) malloc(sizeof(*stream));
     if (!stream)
 	outofmem(__FILE__, "CacheThru_new");
diff --git a/src/HTML.h b/src/HTML.h
index 22caa7b7..69074324 100644
--- a/src/HTML.h
+++ b/src/HTML.h
@@ -10,6 +10,7 @@
 #ifndef HTUTILS_H
 #include <HTUtils.h>
 #endif /* HTUTILS_H */
+
 #include <UCDefs.h>
 #include <UCAux.h>
 #include <HTAnchor.h>
diff --git a/src/HTSaveToFile.h b/src/HTSaveToFile.h
index 4374f7a4..995a01f3 100644
--- a/src/HTSaveToFile.h
+++ b/src/HTSaveToFile.h
@@ -1,7 +1,10 @@
 #ifndef HTSAVETOFILE_H
 #define HTSAVETOFILE_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <HTStream.h>
 #include <HTFormat.h>
 
diff --git a/src/LYCgi.h b/src/LYCgi.h
index b0e1cd63..c800c4db 100644
--- a/src/LYCgi.h
+++ b/src/LYCgi.h
@@ -1,7 +1,9 @@
 #ifndef LYCGI_H
 #define LYCGI_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 extern void add_lynxcgi_environment PARAMS((CONST char *variable_name));
 
diff --git a/src/LYCharSets.h b/src/LYCharSets.h
index b5a889f7..5d35ee40 100644
--- a/src/LYCharSets.h
+++ b/src/LYCharSets.h
@@ -1,7 +1,10 @@
 #ifndef LYCHARSETS_H
 #define LYCHARSETS_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <UCDefs.h>
 
 #ifndef UCMAP_H
diff --git a/src/LYCharVals.h b/src/LYCharVals.h
index 2b985cce..18da1245 100644
--- a/src/LYCharVals.h
+++ b/src/LYCharVals.h
@@ -1,7 +1,9 @@
 #ifndef LYCHARVALS_H
 #define LYCHARVALS_H 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
  * Use integer values for character constants rather than '\octal' form, since
diff --git a/src/LYClean.h b/src/LYClean.h
index f19d08e3..08460408 100644
--- a/src/LYClean.h
+++ b/src/LYClean.h
@@ -1,7 +1,9 @@
 #ifndef LYCLEAN_H
 #define LYCLEAN_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 #ifdef VMS
 extern BOOLEAN HadVMSInterrupt;
diff --git a/src/LYCookie.c b/src/LYCookie.c
index a4ede1d3..9792e533 100644
--- a/src/LYCookie.c
+++ b/src/LYCookie.c
@@ -338,6 +338,8 @@ PRIVATE void store_cookie ARGS3(
 			    co = NULL;
 			    FREE(msg);
 			    return;
+			} else {
+			    FREE(msg);
 			}
 		}
 	}
@@ -2284,7 +2286,10 @@ PRIVATE int LYHandleCookies ARGS4 (
 			     *	Delete it if confirmed. - FM
 			     */
 			    if (HTConfirm(DELETE_COOKIE_CONFIRMATION) == FALSE)
+			    {
+				FREE(lynxID);
 				return(HT_NO_DATA);
+			    }
 			    HTList_removeObject(de->cookie_list, co);
 			    freeCookie(co);
 			    co = NULL;
diff --git a/src/LYCookie.h b/src/LYCookie.h
index 104e44cc..b811e371 100644
--- a/src/LYCookie.h
+++ b/src/LYCookie.h
@@ -1,7 +1,10 @@
 #ifndef LYCOOKIES_H
 #define LYCOOKIES_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <HTList.h>
 
 typedef enum {ACCEPT_ALWAYS, REJECT_ALWAYS, QUERY_USER, FROM_FILE} behaviour;
diff --git a/src/LYCurses.c b/src/LYCurses.c
index df255d2d..a8a8c641 100644
--- a/src/LYCurses.c
+++ b/src/LYCurses.c
@@ -1058,7 +1058,7 @@ PUBLIC BOOLEAN setup ARGS1(
 PUBLIC BOOLEAN setup ARGS1(
 	char *, 	terminal)
 {
-    char *term_putenv;
+    char *term_putenv = NULL;
     char *buffer = NULL;
     char *cp;
 #if defined(HAVE_SIZECHANGE) && !defined(USE_SLANG) && defined(NOTDEFINED)
diff --git a/src/LYCurses.h b/src/LYCurses.h
index 74b9688c..bf0dc014 100644
--- a/src/LYCurses.h
+++ b/src/LYCurses.h
@@ -1,7 +1,9 @@
 #ifndef LYCURSES_H
 #define LYCURSES_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 /*
  * The simple color scheme maps the 8 combinations of bold/underline/reverse
@@ -343,6 +345,14 @@ extern int  lynx_chg_color PARAMS((int, int, int));
 
 #else /* Not FANCY_CURSES: */
 
+#ifdef COLOR_CURSES
+#undef COLOR_CURSES
+Error FANCY_CURSES
+There is a problem with the configuration.  We expect to have FANCY_CURSES
+defined when COLOR_CURSES is defined, since we build on the attributes used in
+FANCY_CURSES.  Check your config.log to see why the FANCY_CURSES test failed.
+#endif
+
 /*
  *  We only have [w]standout() and [w]standin(),
  *  so we'll use them synonymously for bold and
diff --git a/src/LYEdit.h b/src/LYEdit.h
index 3eaa0e73..84fec84a 100644
--- a/src/LYEdit.h
+++ b/src/LYEdit.h
@@ -1,7 +1,9 @@
 #ifndef LYEDIT_H
 #define LYEDIT_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 extern int edit_current_file PARAMS((char *newfile, int cur, int lineno));
 
diff --git a/src/LYHash.h b/src/LYHash.h
index 0d562cff..d12e4406 100644
--- a/src/LYHash.h
+++ b/src/LYHash.h
@@ -1,7 +1,9 @@
 #if !defined(_LYHASH_H_)
 #define _LYHASH_H_ 1
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 struct _hashbucket {
 	char *name; /* name of this item */
diff --git a/src/LYKeymap.h b/src/LYKeymap.h
index 774a9823..c7e3b634 100644
--- a/src/LYKeymap.h
+++ b/src/LYKeymap.h
@@ -1,7 +1,9 @@
 #ifndef LYKEYMAP_H
 #define LYKEYMAP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 extern BOOLEAN LYisNonAlnumKeyname PARAMS((int ch, int key_name));
 extern char *key_for_func PARAMS((int func));
diff --git a/src/LYLocal.c b/src/LYLocal.c
index 1b41f350..04a85fa2 100644
--- a/src/LYLocal.c
+++ b/src/LYLocal.c
@@ -1345,7 +1345,7 @@ PUBLIC int local_dired ARGS1(
 {
     char *line_url;    /* will point to doc's address, which is a URL */
     char *line = NULL; /* same as line_url, but HTUnEscaped, will be alloced */
-    char *tp;
+    char *tp = NULL;
     char *tmpbuf = NULL;
     char *buffer = NULL;
     char *dirname = NULL;
@@ -1360,7 +1360,6 @@ PUBLIC int local_dired ARGS1(
     HTUnEscape(line);	/* _file_ (not URL) syntax, for those functions
 			   that need it.  Don't forget to FREE it. */
 
-    tp = NULL;
     if (!strncmp(line, "LYNXDIRED://NEW_FILE", 20)) {
 	if (create_file(&line[20]) > 0)
 	    LYforce_no_cache = TRUE;
@@ -1370,6 +1369,7 @@ PUBLIC int local_dired ARGS1(
     } else if (!strncmp(line, "LYNXDIRED://INSTALL_SRC", 23)) {
 	local_install(NULL, &line[23], &tp);
 	StrAllocCopy(doc->address, tp);
+	FREE(tp);
 	FREE(line);
 	return 0;
     } else if (!strncmp(line, "LYNXDIRED://INSTALL_DEST", 24)) {
@@ -1393,6 +1393,7 @@ PUBLIC int local_dired ARGS1(
 	     */
 	    StrAllocCopy(doc->address, tp);
 	FREE(line);
+	FREE(tp);
 	return 0;
     } else if (!strncmp(line, "LYNXDIRED://PERMIT_LOCATION", 27)) {
 	permit_location(&line_url[27], NULL, &tp);
@@ -1570,6 +1571,7 @@ PUBLIC int local_dired ARGS1(
     FREE(tmpbuf);
     FREE(buffer);
     FREE(line);
+    FREE(tp);
     LYpop(doc);
     return 0;
 }
@@ -1609,6 +1611,7 @@ PUBLIC int dired_options ARGS2(
     cp = HTpartURL_toFile(doc->address);
     strcpy(dir, cp);
     LYTrimPathSep(dir);
+    FREE(cp);
 
     if (doc->link > -1 && doc->link < (nlinks+1)) {
 	cp = HTfullURL_toFile(links[doc->link].lname);
diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c
index 0997b953..685b82ab 100644
--- a/src/LYMainLoop.c
+++ b/src/LYMainLoop.c
@@ -1267,6 +1267,11 @@ try_again:
 	     *	to Newline, so we get a redraw.
 	     */
 	    curdoc.line = -1;
+
+	    /*
+	     * I have no idea what this does, but it seems to be necessary... -dsb
+	     */
+	    LYUCPopAssumed();
 	}
 #endif
 
@@ -2778,6 +2783,7 @@ new_cmd:  /*
 		newdoc.isHEAD = FALSE;
 		newdoc.safe = FALSE;
 		newdoc.internal_link = FALSE;
+		newdoc.link = 1; /*@@@ bypass "recent statusline messages" link */
 		FREE(curdoc.address);  /* so it doesn't get pushed */
 
 		refresh_screen = TRUE;
diff --git a/src/LYMainLoop.h b/src/LYMainLoop.h
index 33dd0bd7..4b9b562f 100644
--- a/src/LYMainLoop.h
+++ b/src/LYMainLoop.h
@@ -1,7 +1,9 @@
 #ifndef LYMAINLOOP_H
 #define LYMAINLOOP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
 
 #define TEXTAREA_EXPAND_SIZE  5
 #define AUTOGROW
diff --git a/src/LYMap.h b/src/LYMap.h
index 0ce31797..077347a8 100644
--- a/src/LYMap.h
+++ b/src/LYMap.h
@@ -1,7 +1,10 @@
 #ifndef LYMAP_H
 #define LYMAP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <HTList.h>
 #include <HTAnchor.h>
 
diff --git a/src/LYTraversal.h b/src/LYTraversal.h
index e6cb01bb..052570d3 100644
--- a/src/LYTraversal.h
+++ b/src/LYTraversal.h
@@ -3,7 +3,9 @@
 #ifndef TRAVERSAL_H
 #define TRAVERSAL_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>            /* BOOL, PARAMS, ARGS */
+#endif
 
 extern BOOLEAN lookup PARAMS((char * target));
 extern void add_to_table PARAMS((char * target));
diff --git a/src/LYrcFile.c b/src/LYrcFile.c
index 50c5409d..2a81edd6 100644
--- a/src/LYrcFile.c
+++ b/src/LYrcFile.c
@@ -467,6 +467,7 @@ PUBLIC void read_rc NOPARAMS
 		user_mode = NOVICE_MODE;
 	    }
 
+#ifdef NOTUSED
 #ifdef DISP_PARTIAL
 	/*
 	 *  Partial display logic--set the threshold # of lines before
@@ -477,6 +478,7 @@ PUBLIC void read_rc NOPARAMS
 	    if (atoi(cp) != 0)
 		partial_threshold = atoi(cp);
 #endif /* DISP_PARTIAL */
+#endif /* NOTUSED */
 
 #ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
 	/*
@@ -854,6 +856,7 @@ enabled.\n\
 	       ((keypad_mode == LINKS_ARE_NUMBERED) ? "LINKS_ARE_NUMBERED" :
 				      "LINKS_AND_FORM_FIELDS_ARE_NUMBERED")));
 
+#ifdef NOTUSED
 #ifdef DISP_PARTIAL
     /*
      *  Partial display threshold
@@ -867,6 +870,7 @@ partial_thres=-1 would use the entire screensize\n\
 "));
     fprintf(fp, "partial_thres=%d\n\n", partial_threshold);
 #endif /* DISP_PARTIAL */
+#endif /* NOTUSED */
 
     /*
      *  Line edit mode.
diff --git a/src/UCdomap.h b/src/UCdomap.h
index 0b501f42..76b56841 100644
--- a/src/UCdomap.h
+++ b/src/UCdomap.h
@@ -1,7 +1,10 @@
 #ifndef UCDOMAP_H
 #define UCDOMAP_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif
+
 #include <UCkd.h>
 
 /*
diff --git a/userdefs.h b/userdefs.h
index bdcce877..4698c8e3 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1244,12 +1244,12 @@
  * the version definition with the Project Version on checkout.  Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8.2pre.2"
+#define LYNX_VERSION "2.8.2pre.3"
 #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 "Sat, 08 May 1999 11:46:28 -0600"
+#define LYNX_DATE "Wed, 12 May 1999 20:06:05 -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"