about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES11
-rw-r--r--INSTALLATION22
-rw-r--r--WWW/Library/Implementation/HTMLDTD.c118
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--lynx_help/Lynx_users_guide.html4
-rw-r--r--lynx_help/keystrokes/option_help.html38
-rw-r--r--lynx_help/keystrokes/visited_help.html9
-rw-r--r--po/lynx.pot58
-rw-r--r--src/LYOptions.c86
-rw-r--r--userdefs.h4
11 files changed, 211 insertions, 143 deletions
diff --git a/CHANGES b/CHANGES
index 66adf107..149e080a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,17 @@
 Changes since Lynx 2.8 release
 ===============================================================================
 
+2000-04-22 (2.8.3pre.8)
+* update option_help.html to describe the Visited Pages settings -TD
+* correct order of body_attr[] and button_attr[] in HTMLDTD.c -TD
+* correction for IMG attributes in HTMLDTD.c -KW
+* tweak form-based options menu:  General Preferencies now has User Mode,
+  Editor, Searching type and Cookies (suggested by PW).  Correct misspelled
+  gettext'ed message, introduced in pre.7 -LP, DK
+* note in configure --help and INSTALLATION that color-style is implemented
+  for various curses libraries but not slang -TD
+* add a note to INSTALLATION describing how to disable the telnet application
+  when configuring Lynx -TD
 2000-04-19 (2.8.3pre.7)
 * move initialization of WATT-32 "sock_init()" code in LYMain.c so it precedes
   Lynx's code to setup SIGINT handler, since WATT-32 installs a SIGINT handler
diff --git a/INSTALLATION b/INSTALLATION
index 4b78b55f..a7cfb9b4 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -266,6 +266,14 @@ II. Compile instructions -- UNIX
 	bzip2, uudecode, zcat, zip, telnet, tn3270, rlogin.  (Not all of them
 	are used on all systems or in all configurations.)
 
+	This option makes Lynx simpler to install, but potentially less secure,
+	since the commands are then set in the user's $PATH.  All of these
+	commands may also be overridden individually by setting environment
+	variables before configuring.  For example, you can disable the telnet
+	command by doing this:
+
+		setenv TELNET /bin/false
+
   --disable-included-msgs
 	Do not use included messages, for i18n support.  If NLS support is
 	requested, the configure script will otherwise use the messages in the
@@ -326,7 +334,8 @@ II. Compile instructions -- UNIX
 
   --enable-color-style			(define USE_COLOR_STYLE)
   	Use this option to enable optional and *experimental* color style.
-	(Also defines USE_HASH, LINKEDSTYLES)
+	This is implemented for curses (if it supports color), ncurses and
+	PDCurses, but not slang.  (Also defines USE_HASH, LINKEDSTYLES)
 
   --enable-debug			(The symbol DEBUG is always defined.)
         Use this option to compile-in support for debugging.
@@ -464,6 +473,10 @@ II. Compile instructions -- UNIX
 	--with-screen=ncurses		(define NCURSES)
 	--with-screen=slang		(define USE_SLANG)
 
+	Note that some systems may have a default curses library which
+	does not support color, while on others, ncurses is installed as
+	the curses library.
+
   --with-socks				(define SOCKS)
 	Use this option to configure with the socks library.
 
@@ -509,6 +522,13 @@ II. Compile instructions -- UNIX
 		the configure script) you may have to specify these via
 		the $LIBS variable.
 
+    Lynx has compiled-in the pathnames of various programs which it executes.
+    Normally the full pathnames are given, rather than the program name
+    alone.  These may be preset in the environment by the capitalized version,
+    e.g., INSTALL for "install".  The corresponding internal definitions
+    are suffixed "_PATH", e.g., "INSTALL_PATH".
+
+
 -- 1997/7/27 - T. Dickey <dickey@clark.net>
 
 1e. Examples
diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c
index 5f60ba1c..3b9d9353 100644
--- a/WWW/Library/Implementation/HTMLDTD.c
+++ b/WWW/Library/Implementation/HTMLDTD.c
@@ -157,7 +157,7 @@ static CONST char* entities[] = {
 # define T(t) /*nothing*/
 #endif
 
-static attr a_attr[] = {			/* Anchor attributes */
+static attr a_attr[] = {		/* Anchor attributes */
 	{ "ACCESSKEY"     T(N) },
 	{ "CHARSET"       T(N) },
 	{ "CLASS"         T(c) },
@@ -186,7 +186,7 @@ static attr a_attr[] = {			/* Anchor attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr address_attr[] = {			/* ADDRESS attributes */
+static attr address_attr[] = {		/* ADDRESS attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -198,7 +198,7 @@ static attr address_attr[] = {			/* ADDRESS attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr applet_attr[] = {			/* APPLET attributes */
+static attr applet_attr[] = {		/* APPLET attributes */
 	{ "ALIGN"         T(N) },
 	{ "ALT"           T(N) },
 	{ "CLASS"         T(c) },
@@ -219,7 +219,7 @@ static attr applet_attr[] = {			/* APPLET attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr area_attr[] = {			/* AREA attributes */
+static attr area_attr[] = {		/* AREA attributes */
 	{ "ALT"           T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -241,14 +241,14 @@ static attr area_attr[] = {			/* AREA attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr base_attr[] = {			/* BASE attributes */
+static attr base_attr[] = {		/* BASE attributes */
 	{ "HREF"          T(h) },
 	{ "TARGET"        T(N) },
 	{ "TITLE"         T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr bgsound_attr[] = {			/* BGSOUND attributes */
+static attr bgsound_attr[] = {		/* BGSOUND attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -261,7 +261,7 @@ static attr bgsound_attr[] = {			/* BGSOUND attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr body_attr[] = {			/* BODY attributes */
+static attr body_attr[] = {		/* BODY attributes */
 	{ "ALINK"         T(N) },
 	{ "BACKGROUND"    T(h) },
 	{ "BGCOLOR"       T(N) },
@@ -274,13 +274,13 @@ static attr body_attr[] = {			/* BODY attributes */
 	{ "ONLOAD"        T(N) },
 	{ "ONUNLOAD"      T(N) },
 	{ "STYLE"         T(N) },
-	{ "TITLE"         T(N) },
 	{ "TEXT"          T(N) },
+	{ "TITLE"         T(N) },
 	{ "VLINK"         T(N) },
 	{ 0               T(N) } /* Terminate list */
 };
 
-static attr bodytext_attr[] = {			/* BODYTEXT attributes */
+static attr bodytext_attr[] = {		/* BODYTEXT attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DATA"          T(N) },
@@ -298,7 +298,7 @@ static attr bodytext_attr[] = {			/* BODYTEXT attributes */
 	{ 0               T(N) } /* Terminate list */
 };
 
-static attr bq_attr[] = {			/* BQ (BLOCKQUOTE) attributes */
+static attr bq_attr[] = {		/* BQ (BLOCKQUOTE) attributes */
 	{ "CITE"          T(h) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -311,7 +311,7 @@ static attr bq_attr[] = {			/* BQ (BLOCKQUOTE) attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr button_attr[] = {			/* BUTTON attributes */
+static attr button_attr[] = {		/* BUTTON attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -319,8 +319,8 @@ static attr button_attr[] = {			/* BUTTON attributes */
 	{ "ID"            T(i) },
 	{ "LANG"          T(N) },
 	{ "NAME"          T(N) },
-	{ "ONFOCUS"       T(N) },
 	{ "ONBLUR"        T(N) },
+	{ "ONFOCUS"       T(N) },
 	{ "STYLE"         T(N) },
 	{ "TABINDEX"      T(N) },
 	{ "TITLE"         T(N) },
@@ -329,7 +329,7 @@ static attr button_attr[] = {			/* BUTTON attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr caption_attr[] = {			/* CAPTION attributes */
+static attr caption_attr[] = {		/* CAPTION attributes */
 	{ "ACCESSKEY"     T(N) },
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
@@ -359,7 +359,7 @@ static attr col_attr[] = {		/* COL and COLGROUP attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr credit_attr[] = {			/* CREDIT attributes */
+static attr credit_attr[] = {		/* CREDIT attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -370,7 +370,7 @@ static attr credit_attr[] = {			/* CREDIT attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr div_attr[] = {			/* DIV attributes */
+static attr div_attr[] = {		/* DIV attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -382,7 +382,7 @@ static attr div_attr[] = {			/* DIV attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr embed_attr[] = {			/* EMBED attributes */
+static attr embed_attr[] = {		/* EMBED attributes */
 	{ "ALIGN"         T(N) },	/* (including, for now, those from FIG and IMG) */
 	{ "ALT"           T(N) },
 	{ "BORDER"        T(N) },
@@ -407,7 +407,7 @@ static attr embed_attr[] = {			/* EMBED attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr fig_attr[] = {			/* FIG attributes */
+static attr fig_attr[] = {		/* FIG attributes */
 	{ "ALIGN"         T(N) },
 	{ "BORDER"        T(N) },
 	{ "CLASS"         T(c) },
@@ -428,7 +428,7 @@ static attr fig_attr[] = {			/* FIG attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr fieldset_attr[] = {			/* FIELDSET attributes */
+static attr fieldset_attr[] = {		/* FIELDSET attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -439,7 +439,7 @@ static attr fieldset_attr[] = {			/* FIELDSET attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr fn_attr[] = {			/* FN attributes */
+static attr fn_attr[] = {		/* FN attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -450,7 +450,7 @@ static attr fn_attr[] = {			/* FN attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr font_attr[] = {			/* FONT attributes */
+static attr font_attr[] = {		/* FONT attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "COLOR"         T(N) },
@@ -464,7 +464,7 @@ static attr font_attr[] = {			/* FONT attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr form_attr[] = {			/* FORM attributes */
+static attr form_attr[] = {		/* FORM attributes */
 	{ "ACCEPT-CHARSET" T(N) },	/* HTML 4.0 draft - kw */
 	{ "ACTION"        T(h) },
 	{ "CLASS"         T(c) },
@@ -483,7 +483,7 @@ static attr form_attr[] = {			/* FORM attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr frame_attr[] = {			/* FRAME attributes */
+static attr frame_attr[] = {		/* FRAME attributes */
 	{ "ID"            T(i) },
 	{ "LONGDESC"      T(h) },
 	{ "MARGINHEIGHT"  T(N) },
@@ -495,13 +495,13 @@ static attr frame_attr[] = {			/* FRAME attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr frameset_attr[] = {			/* FRAMESET attributes */
+static attr frameset_attr[] = {		/* FRAMESET attributes */
 	{ "COLS"          T(N) },
 	{ "ROWS"          T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr gen_attr[] = {			/* Minimum HTML 3.0 */
+static attr gen_attr[] = {		/* Minimum HTML 3.0 */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -512,7 +512,7 @@ static attr gen_attr[] = {			/* Minimum HTML 3.0 */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr glossary_attr[] = {			/* DL (and DLC) attributes */
+static attr glossary_attr[] = {		/* DL (and DLC) attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "COMPACT"       T(N) },
@@ -524,7 +524,7 @@ static attr glossary_attr[] = {			/* DL (and DLC) attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr h_attr[] = {			/* H1 - H6 attributes */
+static attr h_attr[] = {		/* H1 - H6 attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -542,7 +542,7 @@ static attr h_attr[] = {			/* H1 - H6 attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr hr_attr[] = {			/* HR attributes */
+static attr hr_attr[] = {		/* HR attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -558,7 +558,7 @@ static attr hr_attr[] = {			/* HR attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr iframe_attr[] = {			/* IFRAME attributes */
+static attr iframe_attr[] = {		/* IFRAME attributes */
 	{ "ALIGN"         T(N) },
 	{ "FRAMEBORDER"   T(N) },
 	{ "HEIGHT"        T(N) },
@@ -574,7 +574,7 @@ static attr iframe_attr[] = {			/* IFRAME attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr img_attr[] = {			/* IMG attributes */
+static attr img_attr[] = {		/* IMG attributes */
 	{ "ALIGN"         T(N) },
 	{ "ALT"           T(N) },
 	{ "BORDER"        T(N) },
@@ -582,11 +582,11 @@ static attr img_attr[] = {			/* IMG attributes */
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
 	{ "HEIGHT"        T(N) },
-	{ "LONGDESC"      T(h) },
 	{ "ID"            T(i) },
 	{ "ISMAP"         T(N) },
 	{ "ISOBJECT"      T(N) },
 	{ "LANG"          T(N) },
+	{ "LONGDESC"      T(h) },
 	{ "MD"            T(N) },
 	{ "SRC"           T(h) },
 	{ "STYLE"         T(N) },
@@ -597,7 +597,7 @@ static attr img_attr[] = {			/* IMG attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr input_attr[] = {			/* INPUT attributes */
+static attr input_attr[] = {		/* INPUT attributes */
 	{ "ACCEPT"        T(N) },
 	{ "ACCEPT-CHARSET" T(N) },	/* RFC 2070 HTML i18n - kw */
 	{ "ALIGN"         T(N) },
@@ -630,10 +630,10 @@ static attr input_attr[] = {			/* INPUT attributes */
 	{ "TYPE"          T(N) },
 	{ "VALUE"         T(N) },
 	{ "WIDTH"         T(N) },
-	{ 0               T(N) } /* Terminate list */
+	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr isindex_attr[] = {			/* ISINDEX attributes */
+static attr isindex_attr[] = {		/* ISINDEX attributes */
 	{ "ACTION"        T(h) },	/* Not in spec.  Lynx treats it as HREF. - FM */
 	{ "DIR"           T(N) },
 	{ "HREF"          T(h) },	/* HTML 3.0 attribute for search action. - FM */
@@ -644,7 +644,7 @@ static attr isindex_attr[] = {			/* ISINDEX attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr keygen_attr[] = {			/* KEYGEN attributes */
+static attr keygen_attr[] = {		/* KEYGEN attributes */
 	{ "CHALLENGE"     T(N) },
 	{ "CLASS"         T(c) },
 	{ "DIR"           T(N) },
@@ -656,7 +656,7 @@ static attr keygen_attr[] = {			/* KEYGEN attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr label_attr[] = {			/* LABEL attributes */
+static attr label_attr[] = {		/* LABEL attributes */
 	{ "ACCESSKEY"     T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -670,7 +670,7 @@ static attr label_attr[] = {			/* LABEL attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr legend_attr[] = {			/* LEGEND attributes */
+static attr legend_attr[] = {		/* LEGEND attributes */
 	{ "ACCESSKEY"     T(N) },
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
@@ -683,8 +683,8 @@ static attr legend_attr[] = {			/* LEGEND attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr link_attr[] = {			/* LINK attributes */
-	{ "CHARSET"       T(N) },		/* RFC 2070 HTML i18n -- hint for UA -- - kw */
+static attr link_attr[] = {		/* LINK attributes */
+	{ "CHARSET"       T(N) },	/* RFC 2070 HTML i18n -- hint for UA -- - kw */
 	{ "CLASS"         T(c) },
 	{ "HREF"          T(h) },
 	{ "ID"            T(i) },
@@ -698,7 +698,7 @@ static attr link_attr[] = {			/* LINK attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr list_attr[] = {			/* LI attributes */
+static attr list_attr[] = {		/* LI attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DINGBAT"       T(N) },
@@ -715,7 +715,7 @@ static attr list_attr[] = {			/* LI attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr map_attr[] = {			/* MAP attributes */
+static attr map_attr[] = {		/* MAP attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -727,7 +727,7 @@ static attr map_attr[] = {			/* MAP attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr math_attr[] = {			/* MATH attributes */
+static attr math_attr[] = {		/* MATH attributes */
 	{ "BOX"           T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -739,19 +739,19 @@ static attr math_attr[] = {			/* MATH attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr meta_attr[] = {			/* META attributes */
+static attr meta_attr[] = {		/* META attributes */
 	{ "CONTENT"       T(N) },
 	{ "HTTP-EQUIV"    T(N) },
 	{ "NAME"          T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr nextid_attr[] = {			/* NEXTID attributes */
+static attr nextid_attr[] = {		/* NEXTID attributes */
 	{ "N"             T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr note_attr[] = {			/* NOTE attributes */
+static attr note_attr[] = {		/* NOTE attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -765,7 +765,7 @@ static attr note_attr[] = {			/* NOTE attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr object_attr[] = {			/* OBJECT attributes */
+static attr object_attr[] = {		/* OBJECT attributes */
 	{ "ALIGN"         T(N) },
 	{ "BORDER"        T(N) },
 	{ "CLASS"         T(c) },
@@ -791,10 +791,10 @@ static attr object_attr[] = {			/* OBJECT attributes */
 	{ "USEMAP"        T(h) },
 	{ "VSPACE"        T(N) },
 	{ "WIDTH"         T(N) },
-	{ 0               T(N) } /* Terminate list */
+	{ 0               T(N) } 	/* Terminate list */
 };
 
-static attr olist_attr[] = {			/* OL attributes */
+static attr olist_attr[] = {		/* OL attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "COMPACT"       T(N) },
@@ -810,7 +810,7 @@ static attr olist_attr[] = {			/* OL attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr option_attr[] = {			/* OPTION attributes */
+static attr option_attr[] = {		/* OPTION attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -826,7 +826,7 @@ static attr option_attr[] = {			/* OPTION attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr overlay_attr[] = {			/* OVERLAY attributes */
+static attr overlay_attr[] = {		/* OVERLAY attributes */
 	{ "CLASS"         T(c) },
 	{ "HEIGHT"        T(N) },
 	{ "ID"            T(i) },
@@ -842,7 +842,7 @@ static attr overlay_attr[] = {			/* OVERLAY attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr p_attr[] = {			/* P attributes */
+static attr p_attr[] = {		/* P attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -855,7 +855,7 @@ static attr p_attr[] = {			/* P attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr param_attr[] = {			/* PARAM attributes */
+static attr param_attr[] = {		/* PARAM attributes */
 	{ "ACCEPT"        T(N) },
 	{ "ACCEPT-CHARSET" T(N) },
 	{ "ACCEPT-ENCODING" T(N) },
@@ -877,7 +877,7 @@ static attr param_attr[] = {			/* PARAM attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr script_attr[] = {			/* SCRIPT attributes */
+static attr script_attr[] = {		/* SCRIPT attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -895,7 +895,7 @@ static attr script_attr[] = {			/* SCRIPT attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr select_attr[] = {			/* SELECT attributes */
+static attr select_attr[] = {		/* SELECT attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -921,7 +921,7 @@ static attr select_attr[] = {			/* SELECT attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr style_attr[] = {			/* STYLE attributes */
+static attr style_attr[] = {		/* STYLE attributes */
 	{ "DIR"           T(N) },
 	{ "LANG"          T(N) },
 	{ "NOTATION"      T(N) },
@@ -929,7 +929,7 @@ static attr style_attr[] = {			/* STYLE attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr tab_attr[] = {			/* TAB attributes */
+static attr tab_attr[] = {		/* TAB attributes */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
@@ -944,7 +944,7 @@ static attr tab_attr[] = {			/* TAB attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr table_attr[] = {			/* TABLE attributes */
+static attr table_attr[] = {		/* TABLE attributes */
 	{ "ALIGN"         T(N) },
 	{ "BACKGROUND"    T(h) },
 	{ "BORDER"        T(N) },
@@ -970,7 +970,7 @@ static attr table_attr[] = {			/* TABLE attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr td_attr[] = {			/* TD and TH attributes */
+static attr td_attr[] = {		/* TD and TH attributes */
 	{ "ALIGN"         T(N) },
 	{ "AXES"          T(N) },
 	{ "AXIS"          T(N) },
@@ -994,7 +994,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr textarea_attr[] = {			/* TEXTAREA attributes */
+static attr textarea_attr[] = {		/* TEXTAREA attributes */
 	{ "ACCEPT-CHARSET" T(N) },	/* RFC 2070 HTML i18n - kw */
 	{ "ALIGN"         T(N) },
 	{ "CLASS"         T(c) },
@@ -1035,7 +1035,7 @@ static attr tr_attr[] = {	/* TR, THEAD, TFOOT, and TBODY attributes */
 	{ 0               T(N) }	/* Terminate list */
 };
 
-static attr ulist_attr[] = {			/* UL attributes */
+static attr ulist_attr[] = {		/* UL attributes */
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "COMPACT"       T(N) },
diff --git a/configure b/configure
index 4cf319c1..b8aa6ca3 100755
--- a/configure
+++ b/configure
@@ -211,7 +211,7 @@ Experimental Options:
   --enable-addrlist-page  use experimental address-list page
   --enable-charset-choice use experimental charset-selection logic
   --enable-cjk            use experimental CJK logic
-  --enable-color-style    use optional/experimental color style
+  --enable-color-style    use optional/experimental color style (ncurses/curses)
 EOF
 cat <<EOF
   --enable-default-colors enable use of default-colors (ncurses/slang)
diff --git a/configure.in b/configure.in
index 8e67b017..f5cf900d 100644
--- a/configure.in
+++ b/configure.in
@@ -676,7 +676,7 @@ test $use_cjk != no && AC_DEFINE(CJK_EX)
 
 AC_MSG_CHECKING(if color-style code should be used)
 CF_ARG_ENABLE(color-style,
-[  --enable-color-style    use optional/experimental color style],
+[  --enable-color-style    use optional/experimental color style (ncurses/curses)],
 	[use_color_style=$enableval],
 	[use_color_style=no])
 
diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html
index b03aabbe..c109e047 100644
--- a/lynx_help/Lynx_users_guide.html
+++ b/lynx_help/Lynx_users_guide.html
@@ -499,11 +499,11 @@ HREF="keystrokes/option_help.html">HELP!</A>
 
   General Preferences
   User mode                        : [Advanced....]
-  Cookies (!)                      : [ask user..]
+  Editor                           : __________________________________________
   Searching type                   : [Case insensitive]
+  Cookies (!)                      : [ask user..]
 
   Keyboard Input
-  Editor                           : __________________________________________
   Keypad mode                      : [Links are numbered................]
   Emacs keys                       : [OFF]
   VI keys                          : [OFF]
diff --git a/lynx_help/keystrokes/option_help.html b/lynx_help/keystrokes/option_help.html
index f8e2316d..71fe34ec 100644
--- a/lynx_help/keystrokes/option_help.html
+++ b/lynx_help/keystrokes/option_help.html
@@ -16,13 +16,13 @@ compiled in or chosen in `lynx.cfg':
 <LI>General Preferences
 <UL>
 <LI><A HREF="#UM">User Mode</A>
-<LI><A HREF="#CK">Cookies</A>
+<LI><A HREF="#ED">Editor</A>
 <LI><A HREF="#ST">Searching type</A>
+<LI><A HREF="#CK">Cookies</A>
 </UL>
 
 <LI>Keyboard Input
 <UL>
-<LI><A HREF="#ED">Editor</A>
 <LI><A HREF="#KM">Keypad mode</A>
 <LI><A HREF="#EM">Emacs keys</A>
 <LI><A HREF="#VI">VI keys</A>
@@ -67,7 +67,7 @@ compiled in or chosen in `lynx.cfg':
 <UL>
 <LI><A HREF="#MB">Multi-bookmarks</A>
 <LI><A HREF="#BF">Bookmark file</A>
-<LI><A HREF="#VP">Visited Pages</A> <!-- no text yet -->
+<LI><A HREF="#VP">Visited Pages</A>
 </UL>
 
 </UL>
@@ -348,6 +348,38 @@ if subdirectories are included (e.g., './BM/lynx_bookmarks.html').
 Lynx will create bookmark files when you first 'a'dd a link,
 but any subdirectories in the filepath must already exist.
 
+<H1><A NAME="VP">Visited Pages</A></H1>
+
+This allows you to change the appearance of the
+<a href="visited_help.html">Visited Links Page</a>
+
+Normally it shows a list, in reverse order of the pages visited.
+The popup menu allows you these choices:
+<dl>
+<dt><EM>By First Visit</EM>:
+The default appearance, shows the pages based on when they were first visited.
+The list is shown in reverse order, to make the current page (usually) at
+the top of the list.
+<dt><EM>By First Visit Reversed</EM>
+The default appearance, shows the pages based on when they were first visited.
+The list is shown in order, to make the current page (usually) at
+the bottom of the list.
+<dt><EM>As Visit Tree</EM>
+Combines the first/last visited information, showing the list in order of
+the first visit, but using the indentation level of the page immediately
+previous to determine indentation of new entries.
+That gives a clue to the order of visiting pages when moving around in
+the History or Visited Pages lists.
+<dt><EM>By Last Visit</EM>
+The default appearance, shows the pages based on when they were last visited.
+The list is shown in reverse order, to make the current page (usually) at
+the top of the list.
+<dt><EM>By Last Visit Reversed</EM>
+The default appearance, shows the pages based on when they were last visited.
+The list is shown in order, to make the current page (usually) at
+the bottom of the list.
+</dl>
+
 <H1><A NAME="FT">FTP sort criteria</A></H1>
 
 This allows you to specify how files will be sorted within FTP listings.
diff --git a/lynx_help/keystrokes/visited_help.html b/lynx_help/keystrokes/visited_help.html
index 0a6874f3..fbf5dcd7 100644
--- a/lynx_help/keystrokes/visited_help.html
+++ b/lynx_help/keystrokes/visited_help.html
@@ -11,7 +11,7 @@ The Visited Links Page displays all of the links that you have traveled
 through during the current Lynx session, except for any temporary menu
 or list files, bookmark files, or any documents associated with POST
 content.  The VLINKS keystroke command for invoking this page normally
-is mapped to uppercase '<em>V</em>'.  The list of Visited Links is in
+is mapped to uppercase '<em>V</em>'.  The list of Visited Links is normally in
 order of recency (most recently visited links first), without repetitions
 in the list if a link was visited more than once during the session (unless
 the URLs differ due to appended fragments), and is supplementary to the
@@ -25,7 +25,12 @@ can use this list to save such links in your <A HREF="bookmark_help.html"
 
 <p>In contrast to the History Page, the Visited Links Page includes any
 links which were retrieved for '<em>d</em>'ownloading or were passed to
-helper applications, i.e, not just the links that were rendered and
+helper applications, i.e., not just the links that were rendered and
 displayed by Lynx, itself.
+
+<p>You may change the appearance of the Visited Links Page via a popup
+menu on that page (which also appears on the
+<A HREF="option_help.html#VP">Options Menu</A>).
+
 </BODY>
 </HTML>
diff --git a/po/lynx.pot b/po/lynx.pot
index 46b9699f..b8b8eeb0 100644
--- a/po/lynx.pot
+++ b/po/lynx.pot
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2000-04-18 20:26-0400\n"
+"POT-Creation-Date: 2000-04-22 12:04-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -3560,31 +3560,31 @@ msgstr ""
 msgid "no"
 msgstr ""
 
-#: src/HTML.c:6405
+#: src/HTML.c:6407
 msgid "Description:"
 msgstr ""
 
-#: src/HTML.c:6410
+#: src/HTML.c:6412
 msgid "(none)"
 msgstr ""
 
-#: src/HTML.c:6414
+#: src/HTML.c:6416
 msgid "Filepath:"
 msgstr ""
 
-#: src/HTML.c:6419
+#: src/HTML.c:6421
 msgid "(unknown)"
 msgstr ""
 
-#: src/HTML.c:7853
+#: src/HTML.c:7855
 msgid "Document has only hidden links.  Use the 'l'ist command."
 msgstr ""
 
-#: src/HTML.c:8431
+#: src/HTML.c:8433
 msgid "Source cache error - disk full?"
 msgstr ""
 
-#: src/HTML.c:8444
+#: src/HTML.c:8446
 msgid "Source cache error - not enough memory!"
 msgstr ""
 
@@ -3632,23 +3632,23 @@ msgstr ""
 #. *  Neither the path as given nor any components examined by
 #. *  backing up were stat()able. - kw
 #.
-#: src/LYCgi.c:230
+#: src/LYCgi.c:235
 msgid "Unable to access cgi script"
 msgstr ""
 
-#: src/LYCgi.c:648 src/LYCgi.c:651
+#: src/LYCgi.c:653 src/LYCgi.c:656
 msgid "Good Advice"
 msgstr ""
 
-#: src/LYCgi.c:654
+#: src/LYCgi.c:659
 msgid "An excellent http server for VMS is available via"
 msgstr ""
 
-#: src/LYCgi.c:661
+#: src/LYCgi.c:666
 msgid "this link"
 msgstr ""
 
-#: src/LYCgi.c:665
+#: src/LYCgi.c:670
 msgid "It provides state of the art CGI script support.\n"
 msgstr ""
 
@@ -4376,43 +4376,43 @@ msgstr ""
 msgid "Left mouse button or return to select, arrow keys to scroll."
 msgstr ""
 
-#: src/LYOptions.c:3593 src/LYOptions.c:3617
+#: src/LYOptions.c:3592 src/LYOptions.c:3616
 #, c-format
 msgid "Use %s to invoke the Options menu!"
 msgstr ""
 
-#: src/LYOptions.c:4225
+#: src/LYOptions.c:4224
 msgid "General Preferences"
 msgstr ""
 
 #. ***************************************************************
 #. User Mode: SELECT
-#: src/LYOptions.c:4229
+#: src/LYOptions.c:4228
 msgid "User mode"
 msgstr ""
 
+#. Editor: INPUT
+#: src/LYOptions.c:4234
+msgid "Editor"
+msgstr ""
+
+#. Search Type: SELECT
+#: src/LYOptions.c:4239
+msgid "Type of Search"
+msgstr ""
+
 #. Cookies: SELECT
 #. @@@ This is inconsistent - LYAcceptAllCookies gets saved to RC file
 #. but LYSetCookies doesn't!
-#: src/LYOptions.c:4237
+#: src/LYOptions.c:4247
 msgid "Cookies"
 msgstr ""
 
-#. Search Type: SELECT
-#: src/LYOptions.c:4251
-msgid "Searching type"
-msgstr ""
-
-#: src/LYOptions.c:4256
+#: src/LYOptions.c:4261
 msgid "Keyboard Input"
 msgstr ""
 
 #. ***************************************************************
-#. Editor: INPUT
-#: src/LYOptions.c:4260
-msgid "Editor"
-msgstr ""
-
 #. Keypad Mode: SELECT
 #: src/LYOptions.c:4265
 msgid "Keypad mode"
@@ -4467,7 +4467,7 @@ msgstr ""
 #. * Document Appearance
 #.
 #: src/LYOptions.c:4379
-msgid "Document Apperance"
+msgid "Document Appearance"
 msgstr ""
 
 #: src/LYOptions.c:4385
diff --git a/src/LYOptions.c b/src/LYOptions.c
index 30ab692d..745d7944 100644
--- a/src/LYOptions.c
+++ b/src/LYOptions.c
@@ -3461,7 +3461,6 @@ PRIVATE PostPair * break_data ARGS1(
 			i++;
 			continue;
 		    }
-
 #endif
 		    q[count].value[i] = ' ';
 		}
@@ -4033,7 +4032,7 @@ PUBLIC int postoptions ARGS1(
      * memory".
      */
     if (!HTLoadAbsolute(&WWWDoc))
-       return(NOT_FOUND);
+	return(NOT_FOUND);
 
     /*
      * Now most interesting part: reload document when necessary.
@@ -4231,6 +4230,17 @@ PRIVATE int gen_options ARGS1(
     PutOptValues(fp0, user_mode, user_mode_values);
     EndSelect(fp0);
 
+    /* Editor: INPUT */
+    PutLabel(fp0, gettext("Editor"));
+    PutTextInput(fp0, editor_string, NOTEMPTY(editor), text_len,
+		      DISABLED(no_editor || system_editor));
+
+    /* Search Type: SELECT */
+    PutLabel(fp0, gettext("Type of Search"));
+    BeginSelect(fp0, search_type_string);
+    PutOptValues(fp0, case_sensitive, search_type_values);
+    EndSelect(fp0);
+
     /* Cookies: SELECT */
     /* @@@ This is inconsistent - LYAcceptAllCookies gets saved to RC file
        but LYSetCookies doesn't! */
@@ -4247,20 +4257,10 @@ PRIVATE int gen_options ARGS1(
 		   cookies_accept_all_string);
     EndSelect(fp0);
 
-       /* Search Type: SELECT */
-    PutLabel(fp0, gettext("Searching type"));
-    BeginSelect(fp0, search_type_string);
-    PutOptValues(fp0, case_sensitive, search_type_values);
-    EndSelect(fp0);
 
     fprintf(fp0,"\n  <em>%s</em>\n", gettext("Keyboard Input"));
     /*****************************************************************/
 
-    /* Editor: INPUT */
-    PutLabel(fp0, gettext("Editor"));
-    PutTextInput(fp0, editor_string, NOTEMPTY(editor), text_len,
-		      DISABLED(no_editor || system_editor));
-
     /* Keypad Mode: SELECT */
     PutLabel(fp0, gettext("Keypad mode"));
     BeginSelect(fp0, keypad_mode_string);
@@ -4344,7 +4344,7 @@ PRIVATE int gen_options ARGS1(
 	BeginSelect(fp0, assume_char_set_string);
 	for (i = 0; i < LYNumCharsets; i++) {
 #ifdef EXP_CHARSET_CHOICE
-    if (!charset_subsets[i].hide_assumed)
+	    if (!charset_subsets[i].hide_assumed)
 #endif
 	    PutOption(fp0, i == curval,
 			   LYCharSet_UC[i].MIMEname,
@@ -4376,7 +4376,7 @@ PRIVATE int gen_options ARGS1(
     /*
      * Document Appearance
      */
-    fprintf(fp0,"\n  <em>%s</em>\n", gettext("Document Apperance"));
+    fprintf(fp0,"\n  <em>%s</em>\n", gettext("Document Appearance"));
     /*****************************************************************/
 
     /* Show Color: SELECT */
@@ -4384,23 +4384,23 @@ PRIVATE int gen_options ARGS1(
     SetupChosenShowColor();
     PutLabel(fp0, gettext("Show color"));
     if (no_option_save) {
-       MaybeSelect(fp0, !can_do_colors, show_color_string);
-       if (LYShowColor == SHOW_COLOR_NEVER) {
+	MaybeSelect(fp0, !can_do_colors, show_color_string);
+	if (LYShowColor == SHOW_COLOR_NEVER) {
 	   LYShowColor = SHOW_COLOR_OFF;
-       } else if (LYShowColor == SHOW_COLOR_ALWAYS) {
+	} else if (LYShowColor == SHOW_COLOR_ALWAYS) {
 	   LYShowColor = SHOW_COLOR_ON;
-       }
-       PutOptValues(fp0, LYShowColor - SHOW_COLOR_OFF, bool_values);
+	}
+	PutOptValues(fp0, LYShowColor - SHOW_COLOR_OFF, bool_values);
     } else {
-       BeginSelect(fp0, show_color_string);
-       if (can_do_colors) {
+	BeginSelect(fp0, show_color_string);
+	if (can_do_colors) {
 	   show_color_values[2].HtmlName = on_string;
 	   show_color_values[3].LongName = always_string;
-       } else {
+	} else {
 	   show_color_values[2].HtmlName = NULL; /* suppress "ON" - kw */
 	   show_color_values[3].LongName = "Always try";
-       }
-       PutOptValues(fp0, LYChosenShowColor, show_color_values);
+	}
+	PutOptValues(fp0, LYChosenShowColor, show_color_values);
     }
     EndSelect(fp0);
 #endif /* USE_SLANG || COLOR_CURSES */
@@ -4468,9 +4468,9 @@ PRIVATE int gen_options ARGS1(
 
     /* User Agent: INPUT */
     if (!no_useragent) {
-       PutLabelNotSaved(fp0, gettext("User-Agent header"));
-       PutTextInput(fp0, user_agent_string,
-			 NOTEMPTY(LYUserAgent), text_len, "");
+	PutLabelNotSaved(fp0, gettext("User-Agent header"));
+	PutTextInput(fp0, user_agent_string,
+			  NOTEMPTY(LYUserAgent), text_len, "");
     }
 
     /*
@@ -4529,28 +4529,28 @@ PRIVATE int gen_options ARGS1(
 
     /* Multi-Bookmark Mode: SELECT */
     if (!LYMBMBlocked) {
-       PutLabel(fp0, gettext("Multi-bookmarks"));
-       BeginSelect(fp0, mbm_string);
-       PutOption(fp0, !LYMultiBookmarks,
-		      mbm_off_string,
-		      mbm_off_string);
-       PutOption(fp0, LYMultiBookmarks && !LYMBMAdvanced,
-		      mbm_standard_string,
-		      mbm_standard_string);
-       PutOption(fp0, LYMultiBookmarks && LYMBMAdvanced,
-		      mbm_advanced_string,
-		      mbm_advanced_string);
-       EndSelect(fp0);
+	PutLabel(fp0, gettext("Multi-bookmarks"));
+	BeginSelect(fp0, mbm_string);
+	PutOption(fp0, !LYMultiBookmarks,
+		       mbm_off_string,
+		       mbm_off_string);
+	PutOption(fp0, LYMultiBookmarks && !LYMBMAdvanced,
+		       mbm_standard_string,
+		       mbm_standard_string);
+	PutOption(fp0, LYMultiBookmarks && LYMBMAdvanced,
+		       mbm_advanced_string,
+		       mbm_advanced_string);
+	EndSelect(fp0);
     }
 
     /* Bookmarks File Menu: LINK/INPUT */
     if (LYMultiBookmarks) {
-       PutLabel(fp0, gettext("Review/edit Bookmarks files"));
-       fprintf(fp0, "<a href=\"LYNXOPTIONS://MBM_MENU\">%s</a>\n",
+	PutLabel(fp0, gettext("Review/edit Bookmarks files"));
+	fprintf(fp0, "<a href=\"LYNXOPTIONS://MBM_MENU\">%s</a>\n",
 		    gettext("Goto multi-bookmark menu"));
     } else {
-       PutLabel(fp0, gettext("Bookmarks file"));
-       PutTextInput(fp0, single_bookmark_string,
+	PutLabel(fp0, gettext("Bookmarks file"));
+	PutTextInput(fp0, single_bookmark_string,
 			 NOTEMPTY(bookmark_page), text_len, "");
     }
 
diff --git a/userdefs.h b/userdefs.h
index d2fa5e19..322f7010 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1339,12 +1339,12 @@
  * the version definition with the Project Version on checkout.  Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8.3pre.7"
+#define LYNX_VERSION "2.8.3pre.8"
 #define LYNX_WWW_HOME "http://lynx.browser.org/"
 #define LYNX_WWW_DIST "http://lynx.isc.org/current/"
 #define LYNX_RELEASE FALSE
 /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
-#define LYNX_DATE "Wed, 19 Apr 2000 18:57:56 -0700"
+#define LYNX_DATE "Sat, 22 Apr 2000 18:16:38 -0700"
 #define LYNX_DATE_OFF 5		/* truncate the automatically-generated date */
 #define LYNX_DATE_LEN 11	/* truncate the automatically-generated date */
 #define LYNX_RELEASE_DATE "1999"