about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES214
-rw-r--r--INSTALLATION45
-rw-r--r--LYMessages_en.h1
-rw-r--r--WWW/Library/Implementation/HTAAUtil.c1
-rw-r--r--WWW/Library/Implementation/HTAccess.c13
-rw-r--r--WWW/Library/Implementation/HTAccess.h1
-rw-r--r--WWW/Library/Implementation/HTFTP.c8
-rw-r--r--WWW/Library/Implementation/HTFile.c113
-rw-r--r--WWW/Library/Implementation/HTFinger.c18
-rw-r--r--WWW/Library/Implementation/HTFormat.c43
-rw-r--r--WWW/Library/Implementation/HTFormat.h6
-rw-r--r--WWW/Library/Implementation/HTGopher.c52
-rw-r--r--WWW/Library/Implementation/HTMLDTD.c12
-rw-r--r--WWW/Library/Implementation/HTMLDTD.h178
-rw-r--r--WWW/Library/Implementation/HTString.h2
-rw-r--r--WWW/Library/Implementation/HTTCP.c1
-rw-r--r--WWW/Library/Implementation/HTUtils.h13
-rw-r--r--WWW/Library/Implementation/HTVMSUtils.c20
-rw-r--r--WWW/Library/Implementation/HTWAIS.c30
-rw-r--r--WWW/Library/Implementation/HTWSRC.c6
-rw-r--r--WWW/Library/Implementation/Makefile.old489
-rw-r--r--WWW/Library/Implementation/SGML.c4
-rw-r--r--WWW/Library/Implementation/SGML.h2
-rw-r--r--WWW/Library/djgpp/makefile1
-rw-r--r--WWW/Library/djgpp/makefile.sla1
-rw-r--r--WWW/Library/unix/Makefile.old30
-rw-r--r--WWW/Library/unix/makefile.in74
-rw-r--r--aclocal.m428
-rw-r--r--config.hin3
-rwxr-xr-xconfigure1192
-rw-r--r--configure.in18
-rw-r--r--docs/INSTALLATION.old399
-rw-r--r--docs/Makefile.old1104
-rw-r--r--docs/pdcurses.key1
-rw-r--r--lynx.cfg82
-rw-r--r--lynx.man3
-rw-r--r--lynx_help/Lynx_users_guide.html61
-rw-r--r--lynx_help/lynx-dev.html2
-rw-r--r--lynx_help/lynx_help_main.html11
-rw-r--r--makefile.in16
-rw-r--r--po/lynx.pot1178
-rw-r--r--src/GridText.c99
-rw-r--r--src/GridText.h2
-rw-r--r--src/HTAlert.c19
-rw-r--r--src/HTFWriter.c1
-rw-r--r--src/HTInit.c10
-rw-r--r--src/HTML.c27
-rw-r--r--src/LYBookmark.c20
-rw-r--r--src/LYCgi.c1
-rw-r--r--src/LYCharSets.c15
-rw-r--r--src/LYCharUtils.c1
-rw-r--r--src/LYClean.c2
-rw-r--r--src/LYCookie.c12
-rw-r--r--src/LYCurses.c38
-rw-r--r--src/LYDownload.c3
-rw-r--r--src/LYEdit.c1
-rw-r--r--src/LYGetFile.c4
-rw-r--r--src/LYGlobalDefs.h3
-rw-r--r--src/LYHistory.c141
-rw-r--r--src/LYHistory.h4
-rw-r--r--src/LYKeymap.c4
-rw-r--r--src/LYList.c1
-rw-r--r--src/LYLocal.c3
-rw-r--r--src/LYMail.c31
-rw-r--r--src/LYMain.c94
-rw-r--r--src/LYMainLoop.c723
-rw-r--r--src/LYMap.c1
-rw-r--r--src/LYNews.c23
-rw-r--r--src/LYOptions.c47
-rw-r--r--src/LYReadCFG.c223
-rw-r--r--src/LYShowInfo.c2
-rw-r--r--src/LYStrings.c47
-rw-r--r--src/LYStrings.h2
-rw-r--r--src/LYStyle.c16
-rw-r--r--src/LYTraversal.c36
-rw-r--r--src/LYUpload.c1
-rw-r--r--src/LYUtils.c6
-rw-r--r--src/LYUtils.h97
-rw-r--r--src/LYrcFile.c552
-rw-r--r--src/Makefile.old108
-rw-r--r--src/UCdomap.c1
-rw-r--r--src/chrtrans/Makefile.old113
-rw-r--r--src/makefile.dos1
-rw-r--r--src/makefile.dsl1
-rw-r--r--src/makefile.in2
-rw-r--r--src/makefile.wsl1
-rw-r--r--userdefs.h87
87 files changed, 3382 insertions, 4720 deletions
diff --git a/CHANGES b/CHANGES
index f64c7a73..71608206 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,122 @@
 Changes since Lynx 2.8 release
-================================================================================
+===============================================================================
 
+1999-04-23 (2.8.2dev.23)
+* add/use new function LYSafeGets to replace reads into fixed-size buffers -TD
+* change xxxx_URL_TYPE definitions in LYUtils.h to a enum -TD
+* use HTSprintf0 in LYCurses.c, LYReadCFG.c -TD
+* implement restrictions on options that can be set via the lynx.cfg "include"
+  directive -VH
+  For example, admins may specify
+    include:~/.lynx/colors:COLOR
+    include:~/.lynx/keymap:KEYMAP
+    include:~/.lynx/viewers:VIEWER
+  safely - and be sure that no critical options were altered by those files.
+  The syntax is
+    include:<filename>[:[<OPTNAME>* ] ]
+  More samples:
+    include:~/.lynx/rc:COLOR KEYMAP VIEWER SUFFIX
+    include:/usr/local/lib/lynx-cfg.part: #all settings can be changed
+  The patch does this:
+  * It prints warnings to stderr about unknown options specified in the list of
+    allowed options in include command.  When 'o'->'lynx.cfg'->'RELOAD THE
+    CHANGES' is activated, these warnings are also printed on stderr - so the
+    screen will be corrupted if lynx.cfg and included are incorrect.
+  * Only options, allowed for a given file are printed in
+    'o'->'lynx.cfg'->'RELOAD THE CHANGES'.
+  * Fully backward compatible - lines of the form
+	include:filename
+    will work as they did(i.e., if the list of allowed options is not
+    specified, then the included file can use the same set of options, as the
+    file that contained that 'include' command).
+  * If you wish to allow an included file to
+    include others, you must specify 'include' in the list of allowed options.
+    Sample:
+	  include:~/.lynx/suffixes:INCLUDE SUFFIX
+    so that users will be able to use 'include' command in '~/.lynx/suffixes'
+    (otherwise included file will be unable to include anything).
+  * Option sets are ANDed. If file lynx.cfg contains:
+  	  include:/usr/lib/lynx.cfg.0:COLOR SUFFIX VIEWER INCLUDE
+    and /usr/lib/lynx.cfg.0 contains
+        include:/usr/lib/lynx.cfg.1:SUFFIX VIEWER INCLUDE STARTFILE HELPFILE
+    then /usr/lib/lynx.cfg.1 can use the following options:
+	SUFFIX VIEWER INCLUDE
+* change the STARTFILE description in lynx.cfg to offer the user's home
+  directory as an alternative to lynx.browser.org (amended this to reflect
+  consensus that l.b.o should be the default -TD) - PW
+* move a big chunk of code into print_status_message() -LP
+* also add numerous HTProgress messages to LYNXMESSAGES:/ page (but not
+  HTReadProgress) -LP
+* HTAlert, HTUserMsg and HTInfoMsg statusline messages are now stored in a
+  cycled buffer and accessible from the History Page as LYNXMESSAGES:/ link.
+  This allows us to decrease the messages delay in lynx.cfg when we feel
+  messages too annoying, but have a nice history list for diagnostic purposes.
+  Uses a 40-line buffer (suggested by Bela Lubkin) -LP
+* Fix reloading with HTreparse_document() for LYK_MINIMAL, LYK_HISTORICAL,
+  LYK_SOFT_DQUOTES, LYK_SWITCH_DTD mainloop events (hope we work around replies
+  from POST properly) -LP
+* elaborate description in Lynx_users_guide.html for "comments" (Michael
+  Sobolev <mss@transas.com>)
+* fix --disable-trace (by making the ifdef's directly depend on NO_LYNX_TRACE
+  rather than DEBUG), chop more unneeded #includes (John Bley)
+* combine WWW/Library/unix and WWW/Library/Implementation to simplify make
+  dependencies, drop Makefile.old -TD
+* fixes for DOS port - DK
+  (a) When exiting with interrupt, the message was printed in binary mode,
+      leaving the cursor in the middle of the screen
+  (b) In the PDCurses build, the keypad enter key only worked when LYK_ACTIVATE
+      was utilized, but not in GOTOLINK or GOTOPAGE.  This maps the keypad
+      enter to '\n', so it works in all situations, but keypad enter will no
+      longer be able to be mapped separately.  CTRL-PADENTER and ALT-PADENTER
+      can still be separately mapped.
+* various changes to userdefs.h and lynx.cfg explanatory text -KW
+* corrected placement of "partial_thres" code in LYrcFile.c, removed an unused
+  prototype in LYUtils.h -KW
+* add a note about LYNX_SAVE_SPACE to INSTALLATION -JS
+* remove docs/*.old (request by HN) -TD
+* update INSTALLATION notes for DJGPP with PDCurses; a suggested patch is
+  no longer applicable -DK
+* fixes for control/C and control/BREAK handling on DGJPP -DK
+* tweak in HTML_start_element case HTML_DT:  prevent generation of empty line
+  between multiple simple DT elements without intervening DD elements (Debian
+  bug #3846) -KW
+* add list of downloaders to lynx_help_main.html -PW
+* add attributes for {bq,blockquote}.cite,{frame,iframe,img}.longdesc,
+  {table,td}.background, td.{height,width} -VH
+* define DISP_PARTIAL for VMS (request by Andy Harper) -TD
+* include <unistd.h> for DEC C, to prototype sleep() and alarm().  Ifdef'd
+  include of HTString.h by HTUtils.h, but keep include as general rule for
+  making headers standalone (report by Andy Harper) -TD
+* modified LYrcFile.c to avoid putting '#' characters at the beginning of
+  lines, since that confuses VAX C (report by Tony Bolton) -TD
+* fix redefinition of h_errno (report by Tony Bolton) -TD
+* ifdef'd print_local_dir in HTFile.c since this function does not compile on
+  VMS (report by Andy Harper, Tony Bolton) -TD
+* update flags to correct behavior with SOURCE_CACHE!=NONE:  the length of the
+  re-rendered text may vary so the scrolling down is broken (especially nice
+  when switching to source).  ("more" updated, "lines_in_file" inlined) -LP
+* use configure script macro CF_CHECK_CACHE to compile-in Unix SYSTEM_NAME,
+  for info screen (request by LP) -TD
+* minor fixes for uncaching document, other items missed in dev.22 -LP
+* merge the two versions of start_curses() function -LP
+* add -DSOURCE_CACHE and -DUSE_PSRC to djgpp makefiles -LP
+* add a few words for CHANGES and INSTALLATION -LP
+* add a configure option for prettysrc -TD
+* separate ifdef's for prettysrc from color-style -LP
+* fix for -prettysrc:  when pressing '\' on non-local files, the prettysrc view
+  is shown, but there is no way out of this mode -VH
+* change all PUTS() with a string of length 1 to PUTC(), fix a uid_t/int
+  assumption in LYLocal.c, remove some unneeded #includes, remove some spurious
+  semicolons.  (John Bley)
+* fix typo in configure --help for --disable-direct (reported by LV) -TD
+* update user's guide and lynx.cfg descriptions of jumps files - PW
+* fixes for related bugs tweaked by going to an internal page while viewing
+  source, and a few blurbs in the documentation -DSB
+* fixes to separate RAW_MODE from internal variable LYRawMode by adding new
+  variable LYUseDefaultRawMode -LP
+* add a missing null-pointer check in expand_tiname() (from report by KW) -TD
 1999-04-13 (2.8.2dev.22)
-* correct a missing include for LYLeaks.h in UCAuto.c - TD
+* correct a missing include for LYLeaks.h in UCAuto.c -TD
 * implement HTML source caching.  In this implementation, each document kept in
   cache has associated with it a temporary file containing the HTML source for
   the document (well, not all of them -- only those using the HTTP protocol, on
@@ -10,13 +124,17 @@ Changes since Lynx 2.8 release
   are probably not HTML).  The temporary file is deleted when the document is
   uncached.  For certain operations, instead of reloading the document via
   HTLoad<mumble>(), the source file is reparsed with HTParseFile().  The cached
-  document also remembers certain parser settings (screen size, historical vs. 
+  document also remembers certain parser settings (screen size, historical vs.
   minimal vs.  valid comment parsing, and the like), and is regenerated from
   source if it is fetched out of cache under different settings.  This behavior
   is selectable by a configure option --enable-source-cache and by a lynx.cfg
   option SOURCE_CACHE; I didn't add a command-line argument or an options menu
   entry, as this didn't seem to be the sort of thing one would want to change
-  at runtime.  (Scott Bigham <dsb@cs.duke.edu>)
+  You had to challenge me, didn't you?  ;) Okay, after some pfutzing around
+  with HTChunks, I think I've got a working version of memory caching of
+  source.  The SOURCE_CACHE option now has settings FILE, MEMORY and NONE, with
+  the obvious meanings, defaulting to NONE.  (DSB - Scott Bigham
+  <dsb@cs.duke.edu>)
 * amend HTConfirmDefault() logic so that a second character will cause the
   default response to be returned, e.g,. so that pressing "qq" will make
   Lynx exit (reported by John Bley) - TD
@@ -26,14 +144,14 @@ Changes since Lynx 2.8 release
   in LYMain.c, add newlines in HTFile.c for readability of html - LP
 * change default STARTFILE to the current directory, "." - PW
 * revised lynx-dev.html - PW
-* lynx.cfg and farther included cfg files can be edited from LYNXCFG:/ page
+* lynx.cfg and further included cfg files can be edited from LYNXCFG:/ page
   with the default editor and changes can be activated for the same lynx
   session.  NOT allowed for restricted users (LYRestricted) and occasionally
   for user mode other than ADVANCED.  This is an *experimental* code
   (reload_read_cfg() in LYMain.c - more work required):  currently command-line
   switches may be lost when overriden by lynx.cfg changes, file paths like
-  lynx_temp_space and LYCookieFile should not be changed (unwanted results) -LP
-* retest PARSE_DEBUG ifdef's (LYMain.c, LYReadCFG.c), minor corrections 
+  lynx_save_space and LYCookieFile should not be changed (unwanted results) -LP
+* retest PARSE_DEBUG ifdef's (LYMain.c, LYReadCFG.c), minor corrections
   but found no specific reason for LP's problem with tables, except possibly
   different effect from "&(value)" versus "(&value)" - TD
 * fix the problem of reading included lynx.cfg files by changing LYReadCFG.c
@@ -41,18 +159,18 @@ Changes since Lynx 2.8 release
   the ignoring of *some* values got from the included cfg file (at least for
   DJGPP2.02/gcc2.8.1 build).  Probably we calculate the addresses of variables
   on a later stage now.  - LP
-* DOSPATH changes: local directory style now configurable from lynx.cfg 
-  (LONG_LIST defined).  Unlike UNIX it is not "ls -l" by default 
-  but a more compact form (date and size present, from lynx.cfg example) - LP 
+* DOSPATH changes: local directory style now configurable from lynx.cfg
+  (LONG_LIST defined).  Unlike UNIX it is not "ls -l" by default
+  but a more compact form (date and size present, from lynx.cfg example) - LP
 * cookies:  domains now match case insensitively (reported by Paul Wagner
   <paul.wagner@mci.com>) - LP
 * correct an ifdef in LYGetFile.c for config-page - LP
-* reading of long local directories now benefits from partial mode and fully 
-  interruptable.  Split out print_local_dir() function from HTLoadFile() - LP 
-* behave sanely if NSL_FORK fork() fails -BL 
+* reading of long local directories now benefits from partial mode and fully
+  interruptable.  Split out print_local_dir() function from HTLoadFile() - LP
+* behave sanely if NSL_FORK fork() fails -BL
 * NSL_FORK try for dns_patience *seconds*, not dns_patience select() calls,
   which might have been shortened by keyboard input  -BL
-* fix some screwy comment indentation -BL 
+* fix some screwy comment indentation -BL
 * add section on editing TEXTAREA to user's guide - PW
 * add a null-pointer check in LYCookie.c (Bill Nottingham <notting@redhat.com>)
 * revise changes ifdef'ing LY_FIND_LEAKS by making atexit a no-op function
@@ -87,13 +205,14 @@ Changes since Lynx 2.8 release
   this will be fixed, then keeping of Style_className:HTML.c can be omitted
   again -VH
 * Fixed the bug in lynx with lss support -when displaying html pieces such as
-  <b> A <b> B </b> C </b>, only 'AB' was drawn in style corresponding to <b> -VH
+  <b> A <b> B </b> C </b>, only 'AB' was drawn in style corresponding to <b>
+  -VH
 * added HTML source syntax highlighting (when option -prettysrc that is added
   is given to lynx). It's available for lynx compiled with and without lss
   support (it can be much more beatiful when compiled with lss support - read
-  lynx.cfg for description). This functionality coexists with old source view
-  and with -preparsed logic (ie different commandline options make source view
-  logic different) VH
+  lynx.cfg for description). The code is ifdef'ed with USE_SRC.
+  This functionality coexists with old source view and with -preparsed logic
+  (ie different commandline options make source view logic different) -VH
 * HTChunkPutc was inlined in SGML.c for better performance -VH
 * Keeping of Style_className was omitted in HTML.c to increase performance of
   lynx compiled with lss support. -VH
@@ -129,7 +248,7 @@ Changes since Lynx 2.8 release
   new HText structure that most likely is never displayed but still pushes
   another document out of the.  cache.  Most commonly this occurs when a HTTP
   error response is received and the user presses 'z' while the resulting alert
-  message is shown - LW
+  message is shown - KW
 * Fix of HTUnEscapeSome in HTParse.c for non-ASCII - KW, PG
 * tidy up around ed_offset initialization in GridText.c - KED
   (the patch as given did not compile on a non-ANSI compiler because it used
@@ -229,7 +348,7 @@ Changes since Lynx 2.8 release
   memory leak - KW
 * Stuffed small memory leak (MultipartContentType) - KW
 * absorb 'len' parameter into logic of argncmp, so it still achieves its
-  purpose of comparing prefixes of options without undue maintenance effort - TD
+  purpose of comparing prefixes of options without undue maintenance effort -TD
 * retain logic that uses final URL on command-line (request by KW) - TD
 * add/use new functions argcmp and argncmp to allow the use of '--' prefix as
   well as '-' for commandline options.  This means that '-localhost' and
@@ -502,7 +621,7 @@ Changes since Lynx 2.8 release
 1999-02-08 (2.8.2dev.16)
 * minor documentation tweaks for EDITTEXTAREA - LP
 * correct uninitalized buffer variable in send_file_to_mail() which caused
-  core dump (reported by LV) - LW
+  core dump (reported by LV) - KW
 * Recognize Subject and Message-Id in embedded comments in HTML documents, in
   the form generated by MHonArc for mailing list archives (including lynx-dev).
   Use these to generate a default Subject and an In-Reply-To header (currently
@@ -920,7 +1039,7 @@ Changes since Lynx 2.8 release
   were received, although this is probably not necessary after all.  There is
   no difference any more w.r.t.  insertion into the list between cookies from
   the file and cookies from response headers - KW
-* use <= instead of < comparison when checking whether a cookie has expired - KW
+* use <= instead of < comparison when checking whether a cookie has expired -KW
 * don't write expired cookies, cookies with discard attribute, or cookies
   without expiration date to persistent file - KW
 * don't call HTConfirmCookie for cookies read from file.  This doesn't change
@@ -1440,8 +1559,8 @@ Changes since Lynx 2.8 release
 * add --disable-config-info option - TD
 * change configure script --enable-forms-options to --disable-forms-options,
   add --disable-menu-options - TD
-* comment-out FM's code to fold cookie headers and force cookies to be presented
-  in the same order that they were received - BJP
+* comment-out FM's code to fold cookie headers and force cookies to be
+  presented in the same order that they were received - BJP
 * use full "Implementation" directory name in include path in WWW djgpp
   makefile - DK
 * use HTDOS_name() to force DOS temporary-directory into consistent form - DK
@@ -1467,17 +1586,17 @@ Changes since Lynx 2.8 release
 * add a link from keystrokes help for edit_help.html (input line keys) - LP
 * corrected to make -nostatus command-line option override HTReadProgress - TD
 * updates to lynx-dev.html (Al Gilman).
-* modify NSL-fork support in HTTCP.c to use waitpid call to reap child processes
-  which may otherwise become orphaned.  The new variable "dns_patience"
-  represents how many seconds we're willing to wait for DNS to respond (should
-  later make it configurable) - BL
+* modify NSL-fork support in HTTCP.c to use waitpid call to reap child
+  processes which may otherwise become orphaned.  The new variable
+  "dns_patience" represents how many seconds we're willing to wait for DNS to
+  respond (should later make it configurable) - BL
 * modify PutTextInput and PutDefs macros in LYOptions.c and LYShowInfo.c to
   avoid pre-ANSI compilers attempting to substitute macro parameters in
   coincidental matches within quoted strings - BL
   gcc -Wtraditional reports the first, but not the second, which is "n"
   substituted into "\n" - TD
-* add an error-check for fg/bg values to lynx_chg_color function in case lynx.cfg
-  specifies color names not in Lynx's table - BL
+* add an error-check for fg/bg values to lynx_chg_color function in case
+  lynx.cfg specifies color names not in Lynx's table - BL
 * modify IsOurFile function to accommodate links-to-links, so that users whose
   home directory is reached by that type of path can save .lynxrc file
   (reported by PW) - TD
@@ -1487,8 +1606,8 @@ Changes since Lynx 2.8 release
 * modify LYCurses.c to compile mouse-code with Borland C and PDCURSES 2.3 - WB
 * correct backward logic in CF_TERMIOS_AND_CURSES (reported by LE) - TD
 1998-10-04 (2.8.1pre.7)
-* add special-case CF_TERMIOS_AND_CURSES configure macro (fixes problem reported
-  by Philippe De Muyter) - TD
+* add special-case CF_TERMIOS_AND_CURSES configure macro (fixes problem
+  reported by Philippe De Muyter) - TD
 * update/reorganize option_help.html - PW
 * restore newline position when return from the Print menu or follow a link
   from History page (was broken for partial display mode only):  LYPop() and
@@ -1609,8 +1728,9 @@ Changes since Lynx 2.8 release
   terminal description when keymaps are defined - TD
 1998-09-20 (2.8.1dev.29)
 * add checks/warnings for user agent string in forms-options menu - TD
-* change render_item to force a '/' before substituted path or directory strings
-  if (as in OS/2 EMX) absolute filenames do not normally begin with a '/' -TD
+* change render_item to force a '/' before substituted path or directory
+  strings if (as in OS/2 EMX) absolute filenames do not normally begin with a
+  '/' -TD
 * modify HTnameOfFile_WWW() to interpret an empty acc_method as a local file,
   allowing its use in permit_location(), making OS/2 EMX dired-mode change
   permissions work - TD
@@ -1732,8 +1852,8 @@ Changes since Lynx 2.8 release
   entry in COOKIE_ACCEPT_DOMAINS - BJP
 * fix to LYLoadCookies() which was causing duplicate invalid cookies to be
   loaded - BJP
-* split out install-doc rule in top-level makefile to install extra documentation
-  files in $(libdir)/lynx_doc (request by HN) - TD
+* split out install-doc rule in top-level makefile to install extra
+  documentation files in $(libdir)/lynx_doc (request by HN) - TD
 * improved algorithm to set 'secure_value', used in forms-options to circumvent
   spoofing (based on comments from Mike Castle) - TD
 * integrate WB's mouse changes (see 1997-04-24) for page-up/down into the Unix
@@ -1804,8 +1924,8 @@ Changes since Lynx 2.8 release
 * fix a missing </h1> in ShowInfo.c - SKY
 * modified '+'->' ' conversion to allow Unix commands to have '+' beginning
   options - TD
-* sorted all option items (i.e., static variables, postoptions(), gen_options())
-  according to the sections they are in - SKY
+* sorted all option items (i.e., static variables, postoptions(),
+  gen_options()) according to the sections they are in - SKY
 * added '+'->' ' conversion for forms-options values - SKY
 * centered 'save to disk' and put a dash between 'accept' and 'reset' for
   clarity - SKY
@@ -1849,8 +1969,8 @@ Changes since Lynx 2.8 release
   (reported by LP) - TD
 * correct missing assignment in change to HText_appendCharacter, fix a core
   dump - TD
-* removed SKY's change that attempted to skip help-links, since it causes a core
-  dump, e.g., when viewing source - TD
+* removed SKY's change that attempted to skip help-links, since it causes a
+  core dump, e.g., when viewing source - TD
 * use LYCloseTempFP in forms-options code and LYPrint.c where file was opened
   with LYOpenTemp, to fix a core dump - TD
 * All XYZ_TITLE defines of UIPs (User Interface Page) are collected in
@@ -1926,7 +2046,7 @@ Changes since Lynx 2.8 release
   valid way to insert extra blank lines in HTML is via a PRE block with only
   newlines in the block (David Henderson <davidh@psiphi.org>)
 * clarification in userdefs.h - HN
-* MS Windows codepages updated for EURO SIGN (0x20AC), from ftp.unicode.org - LP
+* MS Windows codepages updated for EURO SIGN (0x20AC), from ftp.unicode.org -LP
 * minor fix for DISP_PARTIAL, disable scrolling when HTTP request already sent
   but the new document not displayed on the screen yet - LP
 * ifdef DOS/WINDOWS to open lynx.trace in text mode - LP
@@ -1941,7 +2061,7 @@ Changes since Lynx 2.8 release
   present in the PDCurses DOS port - DK
 * correct ifdef:  LYOptions.c fails to build with -DEXP_FORMS_OPTIONS but
   _without_ -DDIRED_SUPPORT (e.g., djgpp) - LP
-* redesigned cookie_add_{accept,reject}list in LYCookie.c -- they work now - BJP
+* redesigned cookie_add_{accept,reject}list in LYCookie.c -- they work now -BJP
 * added COOKIE_{ACCEPT,REJECT}_DOMAINS in .lynxrc handling to LYrcFile.c - BJP
 * slight spacing fix in lynx.cfg - BJP
 * added blurb in lynx.cfg about COOKIE_{ACCEPT,REJECT}_DOMAINS - BJP
@@ -2137,7 +2257,7 @@ Changes since Lynx 2.8 release
 * remove config.cache at beginning of configure script - TD
 * eliminate cast for GetChar in LYStrings.c (from bug report by Michael Warner,
   analysis by BL) - TD
-* shorten logs from WWW/* by disabling echo of compiler options as in src/* - TD
+* shorten logs from WWW/* by disabling echo of compiler options as in src/* -TD
 * add configure test for types pid_t and uid_t - TD
 * add configure test for array type used in getgroups call, to distinguish
   between BSD and POSIX variations which use different sizes - TD
@@ -2219,9 +2339,9 @@ Changes since Lynx 2.8 release
 * fix for buffer-overrun in LYMail.c when processing a mailto:very-long-address
   URL - BL
 * correct, for OS/2 EMX, a place in LYConvertToURL() which must not use
-  HTDOS_wwwName() (patch by Jason F. McBrayer <jmcbray@mailhost.tcs.tulane.edu>)
-* similar changes to LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.wsl, for building
-  DOS version with slang - Bill Schiavo
+  HTDOS_wwwName() (patch by Jason F McBrayer <jmcbray@mailhost.tcs.tulane.edu>)
+* similar changes to LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.wsl,
+  for building DOS version with slang - Bill Schiavo
 * modify LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.dsl, for building
   DOS version with slang - DK
 * fix to improve reloading if user changed assume_charset in options menu
@@ -2349,4 +2469,4 @@ Changes since Lynx 2.8 release
 * remove obsolete files from WWW/Library - TD
 1998-03-12
 * UPPER8: a separate function HTMLSetDisplayCharsetMatchLocale() introduced
-  (LYCharSets.c). Locale mismatch assumed for DOS/WINDOWS display charsets. - LP
+  (LYCharSets.c). Locale mismatch assumed for DOS/WINDOWS display charsets. -LP
diff --git a/INSTALLATION b/INSTALLATION
index b7d59bb0..b28cf1ec 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -364,9 +364,13 @@ II. Compile instructions -- UNIX
 	directory.  (Currently there is no protection against conflict
 	if several lynx copies active from the same account).
 
+  --enable-prettysrc			(define USE_PSRC)
+	Use this option to compile-in support for colorizing the source
+	view of HTML pages.
+
   --enable-source-cache			(define SOURCE_CACHE)
 	Use this option to compile-in support for caching HTML pages locally,
-	in files.
+	in files or in memory.	Configurable from lynx.cfg
 
   --enable-syslog			(define SYSLOG_REQUESTED_URLS)
 	Use this option to log NSL requests via syslog().
@@ -602,7 +606,7 @@ Step 3b.  (optional compilation method)
     not just Lynx.
 
 
-IV. Compile instructions -- Win32 (Windows95/NT)
+IV. Compile instructions -- Win32 (Windows95/98/NT)
 
     The original Win32 port was built with Borland C++ 4.52, but later
     versions reportedly can be used.  Before compiling the Lynx sources, you
@@ -681,14 +685,16 @@ V. Compile instructions -- 386 DOS
     zlib.h and zconf.h in the include subdirectory.
 
     In addition to the files in the Lynx distribution, you will need a
-    curses package and a TCP package.  You can use PDCurses (available at
+    curses package and a TCP package. You can use PDCurses (available at
     "http://www.lightlink.com/hessling/") and the DJGPP port of WATTCP
     (available in two different versions at "ftp://neonatal.sm.med.ic.ac.uk/"
-    and in "http://www.fdisk.com/doslynx/wlynx/source/djgpp.zip"). You
-    can also use slang ("ftp://space.mit.edu/pub/davis/slang") as your
-    curses library.  You need to compile these before you go any further.
-    If you wish to use PDCurses 2.3, you need to first apply the
-    following patch:
+    and in "http://www.fdisk.com/doslynx/wlynx/source/djgpp.zip").
+    A patched copy of the version from the neonatal site is also
+    available from "http://www.rahul.net/dkaufman/tcplibdj.zip" or
+    "ftp://ftp.rahul.net/pub/dkaufman/tcplibdj.zip". You can also use slang
+    ("ftp://space.mit.edu/pub/davis/slang") as your curses library. You need
+    to compile these before you go any further. If you wish to use PDCurses
+    2.3, you need to first apply the following patch:
 
 *** curses.h	Thu Jul  9 19:38:28 1998
 --- curses.h.new	Sat Aug 15 11:02:08 1998
@@ -702,6 +708,25 @@ V. Compile instructions -- 386 DOS
   #define getch()                 wgetch(stdscr)
   #define getmaxx(w)              (w)->_maxx
   #define getmaxy(w)              (w)->_maxy
+*** dos/pdckbd.c	Sat Jul 12 17:10:12 1997
+--- dos/pdckbd.c.new	Thu Apr 15 20:52:16 1999
+***************
+*** 443,449 ****
+  		_watch_breaks();
+  #else
+  # ifdef GO32
+! 	(void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN));
+  /*	__djgpp_set_ctrl_c(setting);*/
+  	setcbrk(setting);
+  # else
+--- 443,449 ----
+  		_watch_breaks();
+  #else
+  # ifdef GO32
+! /*	(void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); */
+  /*	__djgpp_set_ctrl_c(setting);*/
+  	setcbrk(setting);
+  # else
 
     If you have trouble applying the patch, we recommend that you use the
     "patch" program,
@@ -849,7 +874,7 @@ VII. Setting environment variables before running Lynx (optional)
    used by Lynx.  This should be checked later along with reading lynx.cfg
    after you have installed Lynx.
 
-2. Win32 (95/NT) and 386 DOS
+2. Win32 (95/98/NT) and 386 DOS
    These ports cannot start before setting certain environment variables
 
    (adapted from "readme.txt" by Wayne Buttles and "readme.dos" by Doug Kaufman)
@@ -866,6 +891,7 @@ VII. Setting environment variables before running Lynx (optional)
     TEMP or TMP  Bookmarks are kept here with no HOME.  Temp files here.
     USER         Set to your login name (optional)
     LYNX_CFG     Set to the full path and filename for lynx.cfg
+    LYNX_SAVE_SPACE  The (modifiable) location for downloaded file storage.
 
     386 version only:
     WATTCP.CFG   Set to the full path for the WATTCP.CFG directory
@@ -877,6 +903,7 @@ VII. Setting environment variables before running Lynx (optional)
 	set home=d:\win32
 	set temp=d:\tmp
 	set lynx_cfg=d:\win32\lynx.cfg
+      set lynx_save_space=d:\download
 	d:\win32\lynx.exe %1 %2 %3 %4 %5
 
     In lynx_386, a typical batch file might look like:
diff --git a/LYMessages_en.h b/LYMessages_en.h
index 7fd31560..a115a51a 100644
--- a/LYMessages_en.h
+++ b/LYMessages_en.h
@@ -793,6 +793,7 @@
 #define PERMIT_OPTIONS_TITLE	gettext("File Permission Options")
 #define PRINT_OPTIONS_TITLE	gettext("Printing Options")
 #define SHOWINFO_TITLE		gettext("Information about the current document")
+#define STATUSLINES_TITLE	gettext("Your recent statusline messages")
 #define UPLOAD_OPTIONS_TITLE	gettext("Upload Options")
 #define VISITED_LINKS_TITLE	gettext("Visited Links Page")
 
diff --git a/WWW/Library/Implementation/HTAAUtil.c b/WWW/Library/Implementation/HTAAUtil.c
index c978d24d..a0312b49 100644
--- a/WWW/Library/Implementation/HTAAUtil.c
+++ b/WWW/Library/Implementation/HTAAUtil.c
@@ -48,7 +48,6 @@
 #include <HTAAUtil.h>	/* Implemented here	*/
 #include <HTAssoc.h>	/* Assoc list		*/
 #include <HTTCP.h>
-#include <HTAlert.h>
 
 #include <LYStrings.h>
 #include <LYLeaks.h>
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index cc180e88..b8c3e10d 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -580,6 +580,11 @@ PUBLIC void LYUCPushAssumed ARGS1(
 	    UCAssume_MIMEcharset = NULL;
 	    StrAllocCopy(UCAssume_MIMEcharset, anchor_UCI->MIMEname);
 	    pushed_assume_LYhndl = anchor_LYhndl;
+	    /* some diagnostics */
+	    if (UCLYhndl_for_unspec != anchor_LYhndl)
+	    CTRACE(tfp, "LYUCPushAssumed: UCLYhndl_for_unspec changed %d -> %d\n",
+			UCLYhndl_for_unspec,
+			anchor_LYhndl);
 	    UCLYhndl_for_unspec = anchor_LYhndl;
 	    return;
 	}
@@ -592,9 +597,15 @@ PUBLIC void LYUCPushAssumed ARGS1(
  *  UCLYhndl_for_unspec used for charset "assuming" from the values
  *  saved by LYUCPushAssumed, if any. - kw
  */
-PRIVATE int LYUCPopAssumed NOARGS
+PUBLIC int LYUCPopAssumed NOARGS
 {
+
     if (pushed_assume_LYhndl >= 0) {
+	/* some diagnostics */
+	if (UCLYhndl_for_unspec != pushed_assume_LYhndl)
+	CTRACE(tfp, "LYUCPopAssumed: UCLYhndl_for_unspec changed %d -> %d\n",
+		    UCLYhndl_for_unspec,
+		    pushed_assume_LYhndl);
 	UCLYhndl_for_unspec = pushed_assume_LYhndl;
 	pushed_assume_LYhndl = -1;
 	FREE(UCAssume_MIMEcharset);
diff --git a/WWW/Library/Implementation/HTAccess.h b/WWW/Library/Implementation/HTAccess.h
index 12de49c7..2cfd49d5 100644
--- a/WWW/Library/Implementation/HTAccess.h
+++ b/WWW/Library/Implementation/HTAccess.h
@@ -305,6 +305,7 @@ extern void LYRegisterLynxProtocols NOARGS;
 
 extern void LYUCPushAssumed PARAMS((
     HTParentAnchor *	anchor));
+extern int LYUCPopAssumed NOPARAMS;
 
 #endif /* HTACCESS_H */
 /*
diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c
index bd077644..860845d2 100644
--- a/WWW/Library/Implementation/HTFTP.c
+++ b/WWW/Library/Implementation/HTFTP.c
@@ -2365,7 +2365,7 @@ PRIVATE int read_directory ARGS4(
 	int BytesReceived = 0;
 	int BytesReported = 0;
 	char NumBytes[64];
-	PUTS("\n");  /* prettier LJM */
+	PUTC('\n');  /* prettier LJM */
 	for (ic = 0; ic != EOF;) {	/* For each entry in the directory */
 	    HTChunkClear(chunk);
 
@@ -2467,14 +2467,14 @@ unload_btree:
 	if (help_message_cache_non_empty()) {
 	    START(HTML_PRE);
 	    START(HTML_HR);
-	    PUTS("\n");
+	    PUTC('\n');
 	    PUTS(help_message_cache_contents());
 	    init_help_message_cache();	/* to free memory */
 	    START(HTML_HR);
-	    PUTS("\n");
+	    PUTC('\n');
 	} else {
 	    START(HTML_PRE);
-	    PUTS("\n");
+	    PUTC('\n');
 	}
 
 	/* Put up header
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 3b82c090..c41dc4fa 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -523,61 +523,6 @@ PRIVATE void free_suffixes NOARGS
 
 extern void HTDisplayPartial NOARGS;
 
-/*	Send README file.
-**	-----------------
-**
-**  If a README file exists, then it is inserted into the document here.
-*/
-#ifdef HAVE_READDIR
-PRIVATE void do_readme ARGS2(HTStructured *, target, CONST char *, localname)
-{
-    FILE * fp;
-    char * readme_file_name =
-	malloc(strlen(localname)+ 1 + strlen(HT_DIR_README_FILE) + 1);
-    if (readme_file_name == NULL)
-	outofmem(__FILE__, "do_readme");
-    strcpy(readme_file_name, localname);
-    strcat(readme_file_name, "/");
-    strcat(readme_file_name, HT_DIR_README_FILE);
-
-    fp = fopen(readme_file_name,  "r");
-
-    if (fp) {
-	HTStructuredClass targetClass;
-
-	targetClass =  *target->isa;	/* (Can't init agregate in K&R) */
-	START(HTML_PRE);
-	for (;;){
-	    char c = fgetc(fp);
-	    if (c == (char)EOF) break;
-#ifdef NOTDEFINED
-	    switch (c) {
-		case '&':
-		case '<':
-		case '>':
-			PUTC('&');
-			PUTC('#');
-			PUTC((char)(c / 10));
-			PUTC((char) (c % 10));
-			PUTC(';');
-			break;
-/*		case '\n':
-			PUTC('\r');
-Bug removed thanks to joe@athena.mit.edu */
-		default:
-			PUTC(c);
-	    }
-#else
-	    PUTC(c);
-#endif /* NOTDEFINED */
-	}
-	END(HTML_PRE);
-	HTDisplayPartial();
-	fclose(fp);
-    }
-}
-#endif /* HAVE_READDIR */
-
 /*	Make the cache file name for a W3 document.
 **	-------------------------------------------
 **	Make up a suitable name for saving the node in
@@ -1460,7 +1405,7 @@ PUBLIC BOOL HTDirTitles ARGS3(
 		FREE(printable);
 	    }
 	} else {
-	    PUTS("/");
+	    PUTC('/');
 	}
 	END(HTML_A);
 	PUTC('\n');
@@ -1472,6 +1417,60 @@ PUBLIC BOOL HTDirTitles ARGS3(
     return(need_parent_link);
 }
 
+#if defined HAVE_READDIR
+/*	Send README file.
+**	-----------------
+**
+**  If a README file exists, then it is inserted into the document here.
+*/
+PRIVATE void do_readme ARGS2(HTStructured *, target, CONST char *, localname)
+{
+    FILE * fp;
+    char * readme_file_name =
+	malloc(strlen(localname)+ 1 + strlen(HT_DIR_README_FILE) + 1);
+    if (readme_file_name == NULL)
+	outofmem(__FILE__, "do_readme");
+    strcpy(readme_file_name, localname);
+    strcat(readme_file_name, "/");
+    strcat(readme_file_name, HT_DIR_README_FILE);
+
+    fp = fopen(readme_file_name,  "r");
+
+    if (fp) {
+	HTStructuredClass targetClass;
+
+	targetClass =  *target->isa;	/* (Can't init agregate in K&R) */
+	START(HTML_PRE);
+	for (;;){
+	    char c = fgetc(fp);
+	    if (c == (char)EOF) break;
+#ifdef NOTDEFINED
+	    switch (c) {
+		case '&':
+		case '<':
+		case '>':
+			PUTC('&');
+			PUTC('#');
+			PUTC((char)(c / 10));
+			PUTC((char) (c % 10));
+			PUTC(';');
+			break;
+/*		case '\n':
+			PUTC('\r');
+Bug removed thanks to joe@athena.mit.edu */
+		default:
+			PUTC(c);
+	    }
+#else
+	    PUTC(c);
+#endif /* NOTDEFINED */
+	}
+	END(HTML_PRE);
+	HTDisplayPartial();
+	fclose(fp);
+    }
+}
+
 PRIVATE int print_local_dir ARGS5(
 	DIR  *,			dp,
 	char *,			localname,
@@ -1822,8 +1821,10 @@ PRIVATE int print_local_dir ARGS5(
 	    ABORT_TARGET;
 	}
     }
+    HTFinishDisplayPartial();
     return status;  /* document loaded, maybe partial */
 }
+#endif /* HAVE_READDIR */
 
 
 
diff --git a/WWW/Library/Implementation/HTFinger.c b/WWW/Library/Implementation/HTFinger.c
index 36a7b89c..08f9763e 100644
--- a/WWW/Library/Implementation/HTFinger.c
+++ b/WWW/Library/Implementation/HTFinger.c
@@ -146,18 +146,18 @@ PRIVATE int response ARGS5(
     */
     CTRACE(tfp,"HTFinger: Reading finger information\n");
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     PUTS("Finger server on ");
     PUTS(sitename);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     PUTS("Finger server on ");
     START(HTML_EM);
@@ -179,7 +179,7 @@ PRIVATE int response ARGS5(
     PUTS(cmd);
     FREE(cmd);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
 
     while ((ch=NEXT_CHAR) != EOF) {
@@ -237,11 +237,11 @@ PRIVATE int response ARGS5(
 
 end_html:
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
     return(0);
 }
diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c
index f06692a3..f214b536 100644
--- a/WWW/Library/Implementation/HTFormat.c
+++ b/WWW/Library/Implementation/HTFormat.c
@@ -528,6 +528,30 @@ PUBLIC void HTDisplayPartial NOARGS
 #endif  /* DISP_PARTIAL */
 }
 
+/* Put this as early as possible, OK just after HTDisplayPartial() */
+PUBLIC void HTFinishDisplayPartial NOARGS
+{
+#ifdef DISP_PARTIAL
+		    if (display_partial) {
+			/*
+			 *  Override Newline with a new value if user
+			 *  scrolled the document while downloading.
+			 */
+			if (Newline_partial != Newline
+			 && NumOfLines_partial > 0)
+			    Newline = Newline_partial;
+		    }
+
+		    /*
+		     *  End of incremental rendering stage here.
+		     */
+		    display_partial = FALSE;
+		    NumOfLines_partial = -1;       /* initialize to -1 */
+				/* -1 restrict HTDisplayPartial()   */
+				/* until HText_new() start next HTMainText */
+				/* and set the flag to 0  */
+#endif /* DISP_PARTIAL */
+}
 
 /*	Push data from a socket down a stream
 **	-------------------------------------
@@ -697,6 +721,7 @@ PUBLIC int HTCopy ARGS4(
     rv = HT_LOADED;
 
 finished:
+    HTFinishDisplayPartial();
     return(rv);
 }
 
@@ -768,6 +793,7 @@ PUBLIC int HTFileCopy ARGS2(
 	}
     } /* next bufferload */
 
+    HTFinishDisplayPartial();
     return rv;
 }
 
@@ -783,6 +809,7 @@ PUBLIC int HTFileCopy ARGS2(
 **
 **  Return values:
 **	HT_LOADED	All data sent.
+**	HT_INTERRUPTED  Interruption after some data read.
 **
 **  State of memory and target stream on return:
 **	always		chunk unchanged, target stream still valid.
@@ -794,6 +821,7 @@ PUBLIC int HTMemCopy ARGS2(
     HTStreamClass targetClass = *(sink->isa);
     int bytes = 0;
     CONST char *data = chunk->data;
+    int rv = HT_OK;
 
     HTReadProgress(0, 0);
     for (;;) {
@@ -810,8 +838,20 @@ PUBLIC int HTMemCopy ARGS2(
 	data += n;
 	HTReadProgress(bytes, 0);
 	HTDisplayPartial();
+
+	if (HTCheckForInterrupt()) {
+	    _HTProgress (TRANSFER_INTERRUPTED);
+	    if (bytes) {
+		rv = HT_INTERRUPTED;
+	    } else {
+		rv = -1;
+	    }
+	    break;
+	}
     }
-    return HT_LOADED;
+
+    HTFinishDisplayPartial();
+    return rv;
 }
 #endif
 
@@ -891,6 +931,7 @@ PRIVATE int HTGzFileCopy ARGS2(
 	}
     } /* next bufferload */
 
+    HTFinishDisplayPartial();
     return rv;
 }
 #endif /* USE_ZLIB */
diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h
index df10425c..42aeea50 100644
--- a/WWW/Library/Implementation/HTFormat.h
+++ b/WWW/Library/Implementation/HTFormat.h
@@ -293,6 +293,8 @@ extern float HTStackValue PARAMS((
 */
 extern void HTDisplayPartial NOPARAMS;
 
+extern void HTFinishDisplayPartial NOPARAMS;
+
 /*
 
 HTCopy:  Copy a socket to a stream
@@ -325,10 +327,10 @@ extern int HTFileCopy PARAMS((
 #include <HTChunk.h>
 /*
 
-HTFileCopy:  Copy a file to a stream
+HTMemCopy:  Copy a memory chunk to a stream
 
    This is used by the protocol engines to send data down a stream, typically one which
-   has been generated by HTStreamStack.  It is currently called by HTParseFile
+   has been generated by HTStreamStack.  It is currently called by HTParseMem
 
  */
 extern int HTMemCopy PARAMS((
diff --git a/WWW/Library/Implementation/HTGopher.c b/WWW/Library/Implementation/HTGopher.c
index 6046e039..02a83057 100644
--- a/WWW/Library/Implementation/HTGopher.c
+++ b/WWW/Library/Implementation/HTGopher.c
@@ -225,28 +225,28 @@ PRIVATE void parse_menu ARGS2(
 
 
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_MENU_TITLE);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
 
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_MENU_TITLE);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
     while ((ich=NEXT_CHAR) != EOF) {
 
@@ -426,7 +426,7 @@ PRIVATE void parse_menu ARGS2(
 
 	    } /* parse error */
 
-	    PUTS("\n");
+	    PUTC('\n');
 	    p = line;	/* Start again at beginning of line */
 
 	} /* if end of line */
@@ -435,11 +435,11 @@ PRIVATE void parse_menu ARGS2(
 
 end_html:
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
 
     return;
@@ -469,16 +469,16 @@ PRIVATE void parse_cso ARGS2(
     CONST char *title;
 
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_CSO_SEARCH_RESULTS);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
@@ -487,7 +487,7 @@ PRIVATE void parse_cso ARGS2(
 	PUTS(GOPHER_SEARCH_RESULTS);
     }
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
 
     /*
@@ -572,7 +572,7 @@ PRIVATE void parse_cso ARGS2(
 			    **	Print data.
 			    */
 			    PUTS(second_colon+1);
-			    PUTS("\n");
+			    PUTC('\n');
 
 			    if (*(second_colon-1) != last_char)
 				/* end seperator */
@@ -594,9 +594,9 @@ PRIVATE void parse_cso ARGS2(
 	} /* Loop over characters */
 
     /* end the text block */
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
 
     return;  /* all done */
@@ -612,18 +612,18 @@ PRIVATE void display_cso ARGS2(
     CONST char * title;
 
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_CSO_INDEX);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_ISINDEX);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
@@ -656,19 +656,19 @@ PRIVATE void display_index ARGS2(
     CONST char * title;
 
     START(HTML_HEAD);
-    PUTS("\n");
-    PUTS("\n");
+    PUTC('\n');
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_INDEX_TITLE);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_ISINDEX);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c
index a631bce6..fe2f55b4 100644
--- a/WWW/Library/Implementation/HTMLDTD.c
+++ b/WWW/Library/Implementation/HTMLDTD.c
@@ -153,7 +153,7 @@ static CONST char* entities[] = {
 # define x HTMLA_AUXCLASS
 # define T(t) , t
 #else
-# define T(t) 
+# define T(t) /*nothing*/
 #endif
 
 static attr a_attr[] = {			/* Anchor attributes */
@@ -298,6 +298,7 @@ static attr bodytext_attr[] = { 		/* BODYTEXT attributes */
 };
 
 static attr bq_attr[] = {			/* BQ (BLOCKQUOTE) attributes */
+	{ "CITE"          T(h) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -483,6 +484,7 @@ static attr form_attr[] = {			/* FORM attributes */
 
 static attr frame_attr[] = {			/* FRAME attributes */
 	{ "ID"            T(i) },
+	{ "LONGDESC"      T(h) },
 	{ "MARGINHEIGHT"  T(N) },
 	{ "MARGINWIDTH"   T(N) },
 	{ "NAME"          T(N) },
@@ -560,6 +562,7 @@ static attr iframe_attr[] = {			/* IFRAME attributes */
 	{ "FRAMEBORDER"   T(N) },
 	{ "HEIGHT"        T(N) },
 	{ "ID"            T(i) },
+	{ "LONGDESC"      T(h) },
 	{ "MARGINHEIGHT"  T(N) },
 	{ "MARGINWIDTH"   T(N) },
 	{ "NAME"          T(N) },
@@ -578,6 +581,7 @@ 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) },
@@ -941,6 +945,7 @@ static attr tab_attr[] = {			/* TAB attributes */
 
 static attr table_attr[] = {			/* TABLE attributes */
 	{ "ALIGN"         T(N) },
+	{ "BACKGROUND"    T(h) },
 	{ "BORDER"        T(N) },
 	{ "CELLPADDING"   T(N) },
 	{ "CELLSPACING"   T(N) },
@@ -968,6 +973,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "ALIGN"         T(N) },
 	{ "AXES"          T(N) },
 	{ "AXIS"          T(N) },
+	{ "BACKGROUND"    T(h) },
 	{ "CHAR"          T(N) },
 	{ "CHAROFF"       T(N) },
 	{ "CLASS"         T(c) },
@@ -975,6 +981,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "COLSPAN"       T(N) },
 	{ "DIR"           T(N) },
 	{ "DP"            T(N) },
+	{ "HEIGHT"        T(N) },
 	{ "ID"            T(i) },
 	{ "LANG"          T(N) },
 	{ "NOWRAP"        T(N) },
@@ -982,6 +989,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "STYLE"         T(N) },
 	{ "TITLE"         T(N) },
 	{ "VALIGN"        T(N) },
+	{ "WIDTH"         T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
@@ -1355,7 +1363,7 @@ static attr ulist_attr[] = {			/* UL attributes */
 **
 **    Name,	Attributes,	No. of attributes,     content,   extra info...
 */
-#ifdef USE_PSRC    
+#ifdef USE_COLOR_STYLE
 #define P(x) x , (sizeof x) -1
 #define NULL_HTTag NULL, 0
 #else
diff --git a/WWW/Library/Implementation/HTMLDTD.h b/WWW/Library/Implementation/HTMLDTD.h
index 600cf161..8b1cd4fb 100644
--- a/WWW/Library/Implementation/HTMLDTD.h
+++ b/WWW/Library/Implementation/HTMLDTD.h
@@ -298,15 +298,16 @@ Attribute numbers
 #define HTML_BODYTEXT_VALUETYPE  13
 #define HTML_BODYTEXT_ATTRIBUTES 14
 
-#define HTML_BQ_CLASS           0
-#define HTML_BQ_CLEAR           1
-#define HTML_BQ_DIR             2
-#define HTML_BQ_ID              3
-#define HTML_BQ_LANG            4
-#define HTML_BQ_NOWRAP          5
-#define HTML_BQ_STYLE           6
-#define HTML_BQ_TITLE           7
-#define HTML_BQ_ATTRIBUTES      8
+#define HTML_BQ_CITE             0
+#define HTML_BQ_CLASS            1
+#define HTML_BQ_CLEAR            2
+#define HTML_BQ_DIR              3
+#define HTML_BQ_ID               4
+#define HTML_BQ_LANG             5
+#define HTML_BQ_NOWRAP           6
+#define HTML_BQ_STYLE            7
+#define HTML_BQ_TITLE            8
+#define HTML_BQ_ATTRIBUTES       9
 
 #define HTML_BUTTON_CLASS       0
 #define HTML_BUTTON_CLEAR       1
@@ -467,14 +468,15 @@ Attribute numbers
 #define HTML_FORM_TITLE        14
 #define HTML_FORM_ATTRIBUTES   15
 
-#define HTML_FRAME_ID           0
-#define HTML_FRAME_MARGINHEIGHT 1
-#define HTML_FRAME_MARGINWIDTH  2
-#define HTML_FRAME_NAME         3
-#define HTML_FRAME_NORESIZE     4
-#define HTML_FRAME_SCROLLING    5
-#define HTML_FRAME_SRC          6
-#define HTML_FRAME_ATTRIBUTES   7
+#define HTML_FRAME_ID            0
+#define HTML_FRAME_LONGDESC      1
+#define HTML_FRAME_MARGINHEIGHT  2
+#define HTML_FRAME_MARGINWIDTH   3
+#define HTML_FRAME_NAME          4
+#define HTML_FRAME_NORESIZE      5
+#define HTML_FRAME_SCROLLING     6
+#define HTML_FRAME_SRC           7
+#define HTML_FRAME_ATTRIBUTES    8
 
 #define HTML_FRAMESET_COLS      0
 #define HTML_FRAMESET_ROWS      1
@@ -519,38 +521,40 @@ Attribute numbers
 #define HTML_HR_WIDTH          11
 #define HTML_HR_ATTRIBUTES     12
 
-#define HTML_IFRAME_ALIGN       0
-#define HTML_IFRAME_FRAMEBORDER 1
-#define HTML_IFRAME_HEIGHT      2
-#define HTML_IFRAME_ID          3
-#define HTML_IFRAME_MARGINHEIGHT 4
-#define HTML_IFRAME_MARGINWIDTH  5
-#define HTML_IFRAME_NAME        6
-#define HTML_IFRAME_SCROLLING   7
-#define HTML_IFRAME_SRC         8
-#define HTML_IFRAME_STYLE       9
-#define HTML_IFRAME_WIDTH      10
-#define HTML_IFRAME_ATTRIBUTES 11
-
-#define HTML_IMG_ALIGN          0
-#define HTML_IMG_ALT            1
-#define HTML_IMG_BORDER         2
-#define HTML_IMG_CLASS          3
-#define HTML_IMG_CLEAR          4
-#define HTML_IMG_DIR            5
-#define HTML_IMG_HEIGHT         6
-#define HTML_IMG_ID             7
-#define HTML_IMG_ISMAP          8
-#define HTML_IMG_ISOBJECT       9
-#define HTML_IMG_LANG          10
-#define HTML_IMG_MD            11
-#define HTML_IMG_SRC           12
-#define HTML_IMG_STYLE         13
-#define HTML_IMG_TITLE         14
-#define HTML_IMG_UNITS         15
-#define HTML_IMG_USEMAP        16
-#define HTML_IMG_WIDTH         17
-#define HTML_IMG_ATTRIBUTES    18
+#define HTML_IFRAME_ALIGN         0
+#define HTML_IFRAME_FRAMEBORDER   1
+#define HTML_IFRAME_HEIGHT        2
+#define HTML_IFRAME_ID            3
+#define HTML_IFRAME_LONGDESC      4
+#define HTML_IFRAME_MARGINHEIGHT  5
+#define HTML_IFRAME_MARGINWIDTH   6
+#define HTML_IFRAME_NAME          7
+#define HTML_IFRAME_SCROLLING     8
+#define HTML_IFRAME_SRC           9
+#define HTML_IFRAME_STYLE        10
+#define HTML_IFRAME_WIDTH        11
+#define HTML_IFRAME_ATTRIBUTES   12
+
+#define HTML_IMG_ALIGN           0
+#define HTML_IMG_ALT             1
+#define HTML_IMG_BORDER          2
+#define HTML_IMG_CLASS           3
+#define HTML_IMG_CLEAR           4
+#define HTML_IMG_DIR             5
+#define HTML_IMG_HEIGHT          6
+#define HTML_IMG_ID              7
+#define HTML_IMG_ISMAP           8
+#define HTML_IMG_ISOBJECT        9
+#define HTML_IMG_LANG           10
+#define HTML_IMG_LONGDESC       11
+#define HTML_IMG_MD             12
+#define HTML_IMG_SRC            13
+#define HTML_IMG_STYLE          14
+#define HTML_IMG_TITLE          15
+#define HTML_IMG_UNITS          16
+#define HTML_IMG_USEMAP         17
+#define HTML_IMG_WIDTH          18
+#define HTML_IMG_ATTRIBUTES     19
 
 #define HTML_INPUT_ACCEPT       0
 #define HTML_INPUT_ACCEPT_CHARSET  1 /* RFC 2070 HTML i18n - kw */
@@ -855,46 +859,50 @@ Attribute numbers
 #define HTML_TAB_ATTRIBUTES    11
 
 #define HTML_TABLE_ALIGN        0
-#define HTML_TABLE_BORDER       1
-#define HTML_TABLE_CELLPADDING  2
-#define HTML_TABLE_CELLSPACING  3
-#define HTML_TABLE_CLASS        4
-#define HTML_TABLE_CLEAR        5
-#define HTML_TABLE_COLS         6
-#define HTML_TABLE_COLSPEC      7
-#define HTML_TABLE_DIR          8
-#define HTML_TABLE_DP           9
-#define HTML_TABLE_FRAME       10
-#define HTML_TABLE_ID          11
-#define HTML_TABLE_LANG        12
-#define HTML_TABLE_NOFLOW      13
-#define HTML_TABLE_NOWRAP      14
-#define HTML_TABLE_RULES       15
-#define HTML_TABLE_STYLE       16
-#define HTML_TABLE_SUMMARY     17
-#define HTML_TABLE_TITLE       18
-#define HTML_TABLE_UNITS       19
-#define HTML_TABLE_WIDTH       20
-#define HTML_TABLE_ATTRIBUTES  21
+#define HTML_TABLE_BACKGROUND   1
+#define HTML_TABLE_BORDER       2
+#define HTML_TABLE_CELLPADDING  3
+#define HTML_TABLE_CELLSPACING  4
+#define HTML_TABLE_CLASS        5
+#define HTML_TABLE_CLEAR        6
+#define HTML_TABLE_COLS         7
+#define HTML_TABLE_COLSPEC      8
+#define HTML_TABLE_DIR          9
+#define HTML_TABLE_DP          10
+#define HTML_TABLE_FRAME       11
+#define HTML_TABLE_ID          12
+#define HTML_TABLE_LANG        13
+#define HTML_TABLE_NOFLOW      14
+#define HTML_TABLE_NOWRAP      15
+#define HTML_TABLE_RULES       16
+#define HTML_TABLE_STYLE       17
+#define HTML_TABLE_SUMMARY     18
+#define HTML_TABLE_TITLE       19
+#define HTML_TABLE_UNITS       20
+#define HTML_TABLE_WIDTH       21
+#define HTML_TABLE_ATTRIBUTES  22
 
 #define HTML_TD_ALIGN           0
 #define HTML_TD_AXES            1
 #define HTML_TD_AXIS            2
-#define HTML_TD_CHAR            3
-#define HTML_TD_CHAROFF         4
-#define HTML_TD_CLASS           5
-#define HTML_TD_CLEAR           6
-#define HTML_TD_COLSPAN         7
-#define HTML_TD_DIR             8
-#define HTML_TD_DP              9
-#define HTML_TD_ID             10
-#define HTML_TD_LANG           11
-#define HTML_TD_NOWRAP         12
-#define HTML_TD_ROWSPAN        13
-#define HTML_TD_STYLE          14
-#define HTML_TD_TITLE          15
-#define HTML_TD_VALIGN         16
-#define HTML_TD_ATTRIBUTES     17
+#define HTML_TD_BACKGROUND      3
+#define HTML_TD_CHAR            4
+#define HTML_TD_CHAROFF         5
+#define HTML_TD_CLASS           6
+#define HTML_TD_CLEAR           7
+#define HTML_TD_COLSPAN         8
+#define HTML_TD_DIR             9
+#define HTML_TD_DP             10
+#define HTML_TD_HEIGHT         11
+#define HTML_TD_ID             12
+#define HTML_TD_LANG           13
+#define HTML_TD_NOWRAP         14
+#define HTML_TD_ROWSPAN        15
+#define HTML_TD_STYLE          16
+#define HTML_TD_TITLE          17
+#define HTML_TD_VALIGN         18
+#define HTML_TD_WIDTH          19
+#define HTML_TD_ATTRIBUTES     20
 
 #define HTML_TEXTAREA_ACCEPT_CHARSET  0 /* RFC 2070 HTML i18n - kw */
 #define HTML_TEXTAREA_ALIGN     1
diff --git a/WWW/Library/Implementation/HTString.h b/WWW/Library/Implementation/HTString.h
index f6f3f99d..1041d0fd 100644
--- a/WWW/Library/Implementation/HTString.h
+++ b/WWW/Library/Implementation/HTString.h
@@ -7,7 +7,9 @@
 #ifndef HTSTRING_H
 #define HTSTRING_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif /* HTUTILS_H */
 
 extern int WWW_TraceFlag;       /* Global flag for all W3 trace */
 
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 243749eb..f791f188 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -572,6 +572,7 @@ PRIVATE size_t fill_rehostent ARGS3(
 #define REHOSTENT_SIZE 128		/* not bigger than pipe buffer! */
 
 #ifndef HAVE_H_ERRNO
+#undef  h_errno
 #define h_errno my_errno
 static int my_errno;
 #endif
diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h
index b6f03d0b..008e8476 100644
--- a/WWW/Library/Implementation/HTUtils.h
+++ b/WWW/Library/Implementation/HTUtils.h
@@ -30,11 +30,14 @@
 /* Explicit system-configure */
 #ifdef VMS
 #define NO_SIZECHANGE
-#define NO_UNISTD_H
+#if defined(VAXC) && !defined(__DECC)
+#define NO_UNISTD_H	/* DEC C has unistd.h, but not VAX C */
+#endif
 #define NO_KEYPAD
 #define NO_UTMP
 #define NO_FILIO_H
 #define NOUSERS
+#define DISP_PARTIAL	/* experimental */
 #endif
 
 #if defined(__STDC__) || defined(VMS)
@@ -122,13 +125,13 @@ Debug message control.
 
  */
 
-#ifdef DEBUG
+#ifdef NO_LYNX_TRACE
+#define TRACE 0
+#define PROGRESS(str) /* nothing for now */
+#else
 #define TRACE (WWW_TraceFlag)
 #define PROGRESS(str) printf(str)
         extern int WWW_TraceFlag;
-#else
-#define TRACE 0
-#define PROGRESS(str) /* nothing for now */
 #endif
 
 /*
diff --git a/WWW/Library/Implementation/HTVMSUtils.c b/WWW/Library/Implementation/HTVMSUtils.c
index ae103082..775d411f 100644
--- a/WWW/Library/Implementation/HTVMSUtils.c
+++ b/WWW/Library/Implementation/HTVMSUtils.c
@@ -954,25 +954,25 @@ PUBLIC int HTVMSBrowseDir ARGS4(
      *  Output the title and header.
      */
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     HTUnEscape(title);
     START(HTML_TITLE);
     PUTS(title);
     PUTS(" directory");
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     FREE(title);
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     HTUnEscape(header);
     START(HTML_H1);
     PUTS(header);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     if (HTDirReadme == HT_DIR_README_TOP) {
         FILE * fp;
 	if (header[strlen(header)-1] != '/')
@@ -1018,7 +1018,7 @@ PUBLIC int HTVMSBrowseDir ARGS4(
 	PUTS(parent);
 	END(HTML_A);
 	START(HTML_P);
-	PUTS("\n");
+	PUTC('\n');
 	FREE(relative);
 	FREE(parent);
     }
@@ -1233,11 +1233,11 @@ PUBLIC int HTVMSBrowseDir ARGS4(
      *  Complete the output stream.
      */
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE(tail);
     FREE_TARGET;
 
diff --git a/WWW/Library/Implementation/HTWAIS.c b/WWW/Library/Implementation/HTWAIS.c
index 638a560b..6eea24ee 100644
--- a/WWW/Library/Implementation/HTWAIS.c
+++ b/WWW/Library/Implementation/HTWAIS.c
@@ -198,7 +198,7 @@ PRIVATE void showDiags ARGS2(
 	    PUTS(d[i]->DIAG);
 	    PUTC(' ');
 	    PUTS(d[i]->ADDINFO);
-	    PUTC('\n'); ;
+	    PUTC('\n');
 	}
     }
 }
@@ -482,7 +482,7 @@ PRIVATE void display_search_response ARGS4(
     PUTS(gettext("the second is the number of lines in the item."));
     START(HTML_BR);
     START(HTML_BR);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_OL);
 
     if (response->DatabaseDiagnosticRecords != 0) {
@@ -595,7 +595,7 @@ PRIVATE void display_search_response ARGS4(
 	}
     }	/* Loop: display user info */
     END(HTML_OL);
-    PUTC('\n'); ;
+    PUTC('\n');
 }
 
 /*		Load by name					HTLoadWAIS
@@ -758,18 +758,18 @@ PUBLIC int HTLoadWAIS ARGS4(
 	HTStructured * target = HTML_new(anAnchor, format_out, sink);
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	HTStartIsIndex(target, HTWAIS_SOLICIT_QUERY , NULL);
-	PUTS("\n");
+	PUTC('\n');
 
 	{
 	    START(HTML_TITLE);
 	    PUTS(wais_database);
 	    PUTS(gettext(" (WAIS Index)"));
 	    END(HTML_TITLE);
-	    PUTS("\n");
+	    PUTC('\n');
 	    END(HTML_HEAD);
-	    PUTS("\n");
+	    PUTC('\n');
 
 	    START(HTML_H1);
 	    PUTS(gettext("WAIS Index: "));
@@ -777,7 +777,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	    PUTS(wais_database);
 	    END(HTML_EM);
 	    END(HTML_H1);
-	    PUTS("\n");
+	    PUTC('\n');
 	    PUTS(gettext("This is a link for searching the "));
 	    START(HTML_EM);
 	    PUTS(wais_database);
@@ -801,7 +801,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	if (fp) {
 	    char c;
 	    START(HTML_PRE);		/* Preformatted description */
-	    PUTS("\n");
+	    PUTC('\n');
 	    while((c=getc(fp))!=EOF) PUTC(c);	/* Transfer file */
 	    END(HTML_PRE);
 	    fclose(fp);
@@ -824,18 +824,18 @@ PUBLIC int HTLoadWAIS ARGS4(
 	target = HTML_new(anAnchor, format_out, sink);
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	HTStartIsIndex(target, HTWAIS_SOLICIT_QUERY, NULL);
-	PUTS("\n");
+	PUTC('\n');
 	START(HTML_TITLE);
 	PUTS(keywords);
 	PUTS(gettext(" (in "));
 	PUTS(wais_database);
-	PUTS(")");
+	PUTC(')');
 	END(HTML_TITLE);
-	PUTS("\n");
+	PUTC('\n');
 	END(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 
 	START(HTML_H1);
 	PUTS(gettext("WAIS Search of \""));
@@ -847,7 +847,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	PUTS(wais_database);
 	END(HTML_EM);
 	END(HTML_H1);
-	PUTS("\n");
+	PUTC('\n');
 
 	request_buffer_length = MAX_MESSAGE_LEN; /* Amount left */
 	CTRACE(tfp, "HTWAIS: Search for `%s' in `%s'\n",
diff --git a/WWW/Library/Implementation/HTWSRC.c b/WWW/Library/Implementation/HTWSRC.c
index 83a84b55..3388b100 100644
--- a/WWW/Library/Implementation/HTWSRC.c
+++ b/WWW/Library/Implementation/HTWSRC.c
@@ -303,19 +303,19 @@ PRIVATE void WSRC_gen_html ARGS2(HTStream *, me, BOOL, source_file)
 	}
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	START(HTML_TITLE);
 	PUTS(shortname);
 	PUTS(source_file ? gettext(" WAIS source file") : INDEX_SEGMENT);
 	END(HTML_TITLE);
-	PUTS("\n");
+	PUTC('\n');
 	END(HTML_HEAD);
 
 	START(HTML_H1);
 	PUTS(shortname);
 	PUTS(source_file ? gettext(" description") : INDEX_SEGMENT);
 	END(HTML_H1);
-	PUTS("\n");
+	PUTC('\n');
 	FREE(shortname);
     }
 
diff --git a/WWW/Library/Implementation/Makefile.old b/WWW/Library/Implementation/Makefile.old
deleted file mode 100644
index 7f028976..00000000
--- a/WWW/Library/Implementation/Makefile.old
+++ /dev/null
@@ -1,489 +0,0 @@
-# Makefile generated by imake - do not edit!
-# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
-#
-# The cpp used on this machine replaces all newlines and multiple tabs and
-# spaces in a macro expansion with a single space.  Imake tries to compensate
-# for this, but is not always successful.
-#
-
-###########################################################################
-# Makefile generated from "Imake.tmpl" and </tmp/IIf.a00214>
-# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
-#
-# Platform-specific parameters may be set in the appropriate .cf
-# configuration files.  Site-wide parameters may be set in the file
-# site.def.  Full rebuilds are recommended if any parameters are changed.
-#
-# If your C preprocessor doesn't define any unique symbols, you'll need
-# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
-# "make Makefile", "make Makefiles", or "make World").
-#
-# If you absolutely can't get imake to work, you'll need to set the
-# variables at the top of each Makefile as well as the dependencies at the
-# bottom (makedepend will do this automatically).
-#
-
-###########################################################################
-# platform-specific configuration parameters - edit sun.cf to change
-
-# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
-# operating system:  SunOS 4.0.3
-
-###########################################################################
-# site-specific configuration parameters - edit site.def to change
-
-            SHELL = /bin/sh
-
-              TOP = .
-      CURRENT_DIR = .
-
-               AR = ar clq
-  BOOTSTRAPCFLAGS =
-               CC = cc
-
-         COMPRESS = compress
-              CPP = /lib/cpp $(STD_CPP_DEFINES)
-    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
-          INSTALL = install
-               LD = ld
-             LINT = lint
-      LINTLIBFLAG = -C
-         LINTOPTS = -axz
-               LN = ln -s
-             MAKE = make
-               MV = mv
-               CP = cp
-           RANLIB = ranlib
-  RANLIBINSTFLAGS =
-               RM = rm -f
-     STD_INCLUDES =
-  STD_CPP_DEFINES =
-      STD_DEFINES =
- EXTRA_LOAD_FLAGS =
-  EXTRA_LIBRARIES =
-             TAGS = ctags
-
-    SHAREDCODEDEF = -DSHAREDCODE
-         SHLIBDEF = -DSUNSHLIB
-
-    PROTO_DEFINES =
-
-     INSTPGMFLAGS =
-
-     INSTBINFLAGS = -m 0755
-     INSTUIDFLAGS = -m 4755
-     INSTLIBFLAGS = -m 0664
-     INSTINCFLAGS = -m 0444
-     INSTMANFLAGS = -m 0444
-     INSTDATFLAGS = -m 0444
-    INSTKMEMFLAGS = -m 4755
-
-          DESTDIR =
-
-     TOP_INCLUDES = -I$(INCROOT)
-
-      CDEBUGFLAGS = -O
-        CCOPTIONS =
-      COMPATFLAGS =
-
-      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
-       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
-           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
-        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
-           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
-        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
-   LDCOMBINEFLAGS = -X -r
-
-        MACROFILE = sun.cf
-           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
-
-    IMAKE_DEFINES =
-
-         IRULESRC = $(CONFIGDIR)
-        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
-
-     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
-			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
-			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
-
-###########################################################################
-# X Window System Build Parameters
-# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
-
-###########################################################################
-# X Window System make variables; this need to be coordinated with rules
-# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
-
-          PATHSEP = /
-        USRLIBDIR = $(DESTDIR)/usr/lib
-           BINDIR = $(DESTDIR)/usr/bin/X11
-          INCROOT = $(DESTDIR)/usr/include
-     BUILDINCROOT = $(TOP)
-      BUILDINCDIR = $(BUILDINCROOT)/X11
-      BUILDINCTOP = ..
-           INCDIR = $(INCROOT)/X11
-           ADMDIR = $(DESTDIR)/usr/adm
-           LIBDIR = $(USRLIBDIR)/X11
-        CONFIGDIR = $(LIBDIR)/config
-       LINTLIBDIR = $(USRLIBDIR)/lint
-
-          FONTDIR = $(LIBDIR)/fonts
-         XINITDIR = $(LIBDIR)/xinit
-           XDMDIR = $(LIBDIR)/xdm
-           AWMDIR = $(LIBDIR)/awm
-           TWMDIR = $(LIBDIR)/twm
-           GWMDIR = $(LIBDIR)/gwm
-          MANPATH = $(DESTDIR)/usr/man
-    MANSOURCEPATH = $(MANPATH)/man
-           MANDIR = $(MANSOURCEPATH)n
-        LIBMANDIR = $(MANSOURCEPATH)3
-      XAPPLOADDIR = $(LIBDIR)/app-defaults
-
-        SOXLIBREV = 4.2
-          SOXTREV = 4.0
-         SOXAWREV = 4.0
-        SOOLDXREV = 4.0
-         SOXMUREV = 4.0
-        SOXEXTREV = 4.0
-
-       FONTCFLAGS = -t
-
-     INSTAPPFLAGS = $(INSTDATFLAGS)
-
-            IMAKE = imake
-           DEPEND = makedepend
-              RGB = rgb
-            FONTC = bdftosnf
-        MKFONTDIR = mkfontdir
-        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
-
-        CONFIGSRC = $(TOP)/config
-        CLIENTSRC = $(TOP)/clients
-          DEMOSRC = $(TOP)/demos
-           LIBSRC = $(TOP)/lib
-          FONTSRC = $(TOP)/fonts
-       INCLUDESRC = $(TOP)/X11
-        SERVERSRC = $(TOP)/server
-          UTILSRC = $(TOP)/util
-        SCRIPTSRC = $(UTILSRC)/scripts
-       EXAMPLESRC = $(TOP)/examples
-       CONTRIBSRC = $(TOP)/../contrib
-           DOCSRC = $(TOP)/doc
-           RGBSRC = $(TOP)/rgb
-        DEPENDSRC = $(UTILSRC)/makedepend
-         IMAKESRC = $(CONFIGSRC)
-         XAUTHSRC = $(LIBSRC)/Xau
-          XLIBSRC = $(LIBSRC)/X
-           XMUSRC = $(LIBSRC)/Xmu
-       TOOLKITSRC = $(LIBSRC)/Xt
-       AWIDGETSRC = $(LIBSRC)/Xaw
-       OLDXLIBSRC = $(LIBSRC)/oldX
-      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
-      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
-     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
-     EXTENSIONSRC = $(TOP)/extensions
-
-  DEPEXTENSIONLIB =
-     EXTENSIONLIB = -lXext
-
-          DEPXLIB = $(DEPEXTENSIONLIB)
-             XLIB = $(EXTENSIONLIB) -lX11
-
-      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
-         XAUTHLIB =  -lXau
-
-        DEPXMULIB =
-           XMULIB = -lXmu
-
-       DEPOLDXLIB =
-          OLDXLIB = -loldX
-
-      DEPXTOOLLIB =
-         XTOOLLIB = -lXt
-
-        DEPXAWLIB =
-           XAWLIB = -lXaw
-
- LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
-         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
-          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
-        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
-          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
-
-          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
-
-         DEPLIBS1 = $(DEPLIBS)
-         DEPLIBS2 = $(DEPLIBS)
-         DEPLIBS3 = $(DEPLIBS)
-
-###########################################################################
-# Imake rules for building libraries, programs, scripts, and data files
-# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
-
-###########################################################################
-# start of Imakefile
-
-#  Make WWW under unix for a.n.other unix system (bsd)
-#   Use this as a template
-
-TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
-
-TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$(WWW_MACH)
-
-TK_WWW_HOME_PAGE=http://www.w3.org/default.html
-TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
-
-CC = gcc -fno-builtin -Wall
-
-CDEBUGFLAGS = -O3 -pipe
-
-COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
-CCOPTIONS =
-
-BINDIR = $(TK_WWW_INSTALL_PATH)
-
-# For W3 distribution, machine type for subdirectories
-WWW_MACH = unix_x
-
-# The ASIS repository's name for the machine we are on
-ASIS_MACH = hardware/os
-
-#_________________ OK if normal W3 distribution
-# Where is the WWW source root?
-WWW = ../..
-
-#  Where should temporary (object) files go?
-WTMP = /tmp
-
-#	Common Makefile for W3 Library Code
-#	-----------------------------------
-#
-#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
-#
-# This file should be invariant between systems.
-#	DEPENDENCIES NOT COMPLETE
-
-#
-#	make		Compile and link the software (private version)
-#	make clean	Remove intermediate files
-
-WC = $(WWW)/Library
-CMN = $(WWW)/Library/Implementation/
-
-# Where shall we put the objects and built library?
-
-LOB = $(WTMP)/Library/$(WWW_MACH)
-
-# Bug: This path, if relative, is taken relative to the directory
-# in which this makefile is, not the pwd.  This screws up the
-# recursive invocation
-
-VC = 2.14
-
-CFLAGS2 = $(CFLAGS) -I$(CMN)
-
-CERNLIBBIN = $(WWW)/bin
-
-COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
-	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
-	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
-	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
-	$(LOB)/HTMLGen.o \
-	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
-	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
-	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
-	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
-	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
-
-CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
-	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
-	$(CMN)HTMLDTD.c \
-	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
-	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
-	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
-	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
-	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
-	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
-
-HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
-	$(CMN)HTFTP.h $(CMN)HTTCP.h \
-	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
-	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
-	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
-	$(CMN)HTStream.h \
-	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
-	$(CMN)HTList.h \
-	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
-	$(CMN)HTFormat.h $(CMN)HTInit.h \
-	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
-	$(CMN)HTGopher.h \
-	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
-	$(CMN)HTTelnet.h \
-	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
-
-SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
-	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
-SPECIFIC = $(WWW)/All
-
-#	Library
-#
-#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
-# for that step
-all: $(LOB)/libwww.a
-	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
-
-$(LOB)/libwww.a : $(COMMON)
-	ar r $(LOB)/libwww.a $(COMMON)
-	-ranlib $(LOB)/libwww.a
-
-#	Clean up everything generatable except final products
-clean ::
-	$(RM) $(LOB)
-
-#	Clean up everything generatable including final products
-
-cleanall :: clean
-	$(RM) $(LOB)/libwww.a
-
-# 			Common code
-#			-----------
-
-#	Directory for object files - .created checks it exists
-
-OE = $(LOB)/.created
-$(OE) :
-	-mkdir $(WTMP)
-	-mkdir $(WTMP)/Library
-	-mkdir $(WTMP)/Library/$(WWW_MACH)
-	touch $@
-
-$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
-
-$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
-
-$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
-
-$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
-
-$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
-
-$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
-
-$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
-
-$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
-
-$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
-
-$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
-
-$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
-
-$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
-
-$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
-
-$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
-
-$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
-
-$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
-
-$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
-
-$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
-
-$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
-
-$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
-
-$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
-
-$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
-
-$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
-
-#	Communications & Files
-
-$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
-
-$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
-
-$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
-
-$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
-
-$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
-
-$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
-
-###########################################################################
-# common rules for all Makefiles - do not edit
-
-emptyrule::
-
-clean::
-	$(RM_CMD) \#*
-
-Makefile::
-	-@if [ -f Makefile ]; then \
-	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
-	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
-	else exit 0; fi
-	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
-
-tags::
-	$(TAGS) -w *.[ch]
-	$(TAGS) -xw *.[ch] > TAGS
-
-saber:
-	#load $(ALLDEFINES) $(SRCS)
-
-osaber:
-	#load $(ALLDEFINES) $(OBJS)
-
-###########################################################################
-# empty rules for directories that do not have SUBDIRS - do not edit
-
-install::
-	@echo "install in $(CURRENT_DIR) done"
-
-install.man::
-	@echo "install.man in $(CURRENT_DIR) done"
-
-Makefiles::
-
-includes::
-
-###########################################################################
-# dependencies generated by makedepend
-
diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c
index 12003736..406dcf05 100644
--- a/WWW/Library/Implementation/SGML.c
+++ b/WWW/Library/Implementation/SGML.c
@@ -34,6 +34,8 @@
 
 #ifdef USE_COLOR_STYLE
 # include <LYStyle.h>
+#endif
+#ifdef USE_PSRC
 # include <LYPrettySrc.h>
 #endif
 
@@ -187,7 +189,7 @@ struct _HTStream {
 static BOOL seen_letter_in_junk_tag;
 
 PRIVATE void HTMLSRC_apply_markup ARGS3(
-	    HTStream*,	      context,
+	    HTStream *,	      context,
 	    HTlexem,	      lexem,
 	    BOOL,	      start)
 {
diff --git a/WWW/Library/Implementation/SGML.h b/WWW/Library/Implementation/SGML.h
index 261eb54a..9ae3ae36 100644
--- a/WWW/Library/Implementation/SGML.h
+++ b/WWW/Library/Implementation/SGML.h
@@ -110,7 +110,7 @@ typedef int TagFlags;
 typedef struct _tag HTTag;
 struct _tag{
     char *	name;			/* The name of the tag */
-#ifdef USE_PSRC
+#ifdef USE_COLOR_STYLE
     int		name_len;		/* The length of the name */
 #endif
     attr *	attributes;		/* The list of acceptable attributes */
diff --git a/WWW/Library/djgpp/makefile b/WWW/Library/djgpp/makefile
index 55c856d0..06e6f2e7 100644
--- a/WWW/Library/djgpp/makefile
+++ b/WWW/Library/djgpp/makefile
@@ -8,6 +8,7 @@ WWW_MACH = djgpp
 #ASIS_MACH = hardware/os
 
 CFLAGS = -O3 -DUSE_ZLIB -DDOSPATH -DNOUSERS -DDISP_PARTIAL \
+-DSOURCE_CACHE -DUSE_PSRC \
 -I../Implementation \
 -I../../../djgpp/tcplib/include \
 -I../../../djgpp/tcplib/include/tcp \
diff --git a/WWW/Library/djgpp/makefile.sla b/WWW/Library/djgpp/makefile.sla
index fad64b1d..67e3171a 100644
--- a/WWW/Library/djgpp/makefile.sla
+++ b/WWW/Library/djgpp/makefile.sla
@@ -8,6 +8,7 @@ WWW_MACH = djgpp
 #ASIS_MACH = hardware/os
 
 CFLAGS = -O3 -DUSE_SLANG -DUSE_ZLIB -DDOSPATH -DNOUSERS -DDISP_PARTIAL \
+-DSOURCE_CACHE -DUSE_PSRC \
 -I../Implementation \
 -I../../../djgpp/tcplib/include \
 -I../../../djgpp/tcplib/include/tcp \
diff --git a/WWW/Library/unix/Makefile.old b/WWW/Library/unix/Makefile.old
deleted file mode 100644
index 5fea7dd7..00000000
--- a/WWW/Library/unix/Makefile.old
+++ /dev/null
@@ -1,30 +0,0 @@
-#  Make WWW under unix for a.n.other unix system (bsd)
-#   Use this as a template
-
-# For W3 distribution, machine type for subdirectories
-WWW_MACH = unix
-
-# The ASIS repository's name for the machine we are on
-ASIS_MACH = hardware/os
-
-
-CFLAGS =  -g -DDEBUG
-LFLAGS =
-CC = cc
-
-# Directory for installed binary:
-BINDIR = /usr/local/bin
-
-# Where is the W3 object library to be installed (not normally done)?
-LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
-
-#_________________ OK if normal W3 distribution
-# Where is the WWW source root?
-WWW = ../..
-
-#  Where should temporary (object) files go?
-WTMP = ../..
-
-
-include $(WWW)/Library/Implementation/Version.make
-include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/unix/makefile.in b/WWW/Library/unix/makefile.in
deleted file mode 100644
index 66ac843b..00000000
--- a/WWW/Library/unix/makefile.in
+++ /dev/null
@@ -1,74 +0,0 @@
-#  Make WWW under unix for a.n.other unix system (bsd)
-#   Use this as a template
-
-# For W3 distribution, machine type for subdirectories
-WWW_MACH = unix
-
-# The ASIS repository's name for the machine we are on
-ASIS_MACH = hardware/os
-
-ECHO =		@DONT_ECHO_CC@
-LFLAGS =
-
-prefix		= @prefix@
-exec_prefix	= @exec_prefix@
-top_srcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= $(srcdir)
-
-LYFLAGS		= # FIXME: set in parent makefile
-
-CC		= @CC@
-DEFS		= @DEFS@
-CPPFLAGS	= @CPPFLAGS@
-CPPOPTS		= $(DEFS) $(CPPFLAGS) $(LYFLAGS) \
-		-I../../.. \
-		-I../../../src \
-		-I../../../intl \
-		-I$(top_srcdir) \
-		-I$(top_srcdir)/src \
-		-I$(top_srcdir)/intl \
-		-I$(top_srcdir)/WWW/Library/Implementation
-LY_CFLAGS	= @CFLAGS@
-CFLAGS		= $(CPPOPTS) $(LY_CFLAGS)
-LINT		= @LINT@
-
-# Directory for installed binary:
-BINDIR		= @bindir@
-
-# Where is the W3 object library to be installed (not normally done)?
-LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
-
-#_________________ OK if normal W3 distribution
-# Where is the WWW source root?
-WWW = $(top_srcdir)/WWW
-
-#  Where should temporary (object) files go?
-WTMP = ../..
-
-@make_include_left@$(WWW)/Library/Implementation/Version.make@make_include_right@
-@make_include_left@$(WWW)/Library/Implementation/CommonMakefile@make_include_right@
-
-# Override values set in CommonMakefile
-
-RANLIB	= @RANLIB@
-
-all : $(LOB)/libwww.a
-
-lint:
-	$(LINT) $(LINTOPTS) $(CPPOPTS) $(srcdir)/../Implementation/*.c  > ../../../lint.libwww
-
-.SUFFIXES: .i .h .html
-
-.c.o:
-@RULE_CC@
-	@ECHO_CC@$(CC) $(CPPOPTS) $(CFLAGS) -c $(srcdir)/$*.c
-
-.c.i:
-@RULE_CC@
-	@ECHO_CC@$(CPP) -C $(CPPOPTS) $(srcdir)/$*.c >$@
-
-depend :
-	makedepend -fmakefile -- $(CFLAGS) -- $(CFILES)
-
-# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/aclocal.m4 b/aclocal.m4
index 56531922..2fc80d14 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -548,6 +548,34 @@ if test "$cf_cv_bool_defs" = no ; then
 fi
 ])dnl
 dnl ---------------------------------------------------------------------------
+dnl Check if we're accidentally using a cache from a different machine.
+dnl Derive the system name, as a check for reusing the autoconf cache.
+dnl
+dnl If we've packaged config.guess and config.sub, run that (since it does a
+dnl better job than uname).
+AC_DEFUN([CF_CHECK_CACHE],
+[
+if test -f $srcdir/config.guess ; then
+	AC_CANONICAL_HOST
+	system_name="$host_os"
+else
+	system_name="`(uname -s -r) 2>/dev/null`"
+	if test -z "$system_name" ; then
+		system_name="`(hostname) 2>/dev/null`"
+	fi
+fi
+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
+
+test -z "$system_name" && system_name="$cf_cv_system_name"
+test -n "$cf_cv_system_name" && AC_MSG_RESULT("Configuring for $cf_cv_system_name")
+
+if test ".$system_name" != ".$cf_cv_system_name" ; then
+	AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
+	AC_ERROR("Please remove config.cache and try again.")
+fi
+])dnl
+dnl ---------------------------------------------------------------------------
 dnl Check for data that is usually declared in <stdio.h> or <errno.h>
 dnl $1 = the name to check
 AC_DEFUN([CF_CHECK_ERRNO],
diff --git a/config.hin b/config.hin
index 15770cef..c35ed42c 100644
--- a/config.hin
+++ b/config.hin
@@ -144,6 +144,7 @@
 #undef SYSLOG_REQUESTED_URLS	/* CF_ARG_ENABLE(syslog) */
 #undef SYSTEM_MAIL		/* CF_DEFINE_PROG */
 #undef SYSTEM_MAIL_FLAGS	/* defined by CF_SYSTEM_MAIL_FLAGS */
+#undef SYSTEM_NAME		/* CF_CHECK_CACHE */
 #undef TAR_PATH			/* CF_PATH_PROG(tar) */
 #undef TELNET_PATH		/* CF_PATH_PROG(telnet) */
 #undef TERMIO_AND_CURSES	/* CF_TERMIO_AND_CURSES workaround */
@@ -161,7 +162,7 @@
 #undef USE_EXTERNALS		/* CF_ARG_ENABLE(externs) */
 #undef USE_FCNTL		/* CF_FIONBIO */
 #undef USE_HASH			/* see USE_COLOR_STYLE */
-#undef USE_PSRC			/* see USE_COLOR_STYLE */
+#undef USE_PSRC			/* CF_ARG_ENABLE(prettysrc) */
 #undef USE_SIZECHANGEHACK	/* FIXME: find a case where this works! */
 #undef USE_SLANG		/* AC_ARG_WITH(screen=slang) */
 #undef USE_SOCKS4_PREFIX	/* CF_SOCKS5 */
diff --git a/configure b/configure
index ff41978a..3e3668e6 100755
--- a/configure
+++ b/configure
@@ -216,6 +216,7 @@ EOF
 cat <<EOF
   --enable-libjs          use experimental JavaScript support (Mozilla libjs)
   --enable-persistent-cookies  use experimental persistent-cookie support
+  --enable-prettysrc      colorize HTML source
   --enable-source-cache   cache HTML source for parse mode changes
 Miscellaneous Options:
   --disable-extended-dtd  disable extended HTML DTD logic
@@ -225,9 +226,9 @@ Miscellaneous Options:
   --enable-cgi-links      support cgi links w/o a http daemon
   --enable-exec-links     support cgi links w/o a http daemon
   --enable-exec-scripts   support cgi links w/o a http daemon
-  --enable-internal-links handle following links to same doc differently
 EOF
 cat <<EOF
+  --enable-internal-links handle following links to same doc differently
   --enable-nsl-fork       fork NSL requests, allowing them to be aborted
   --enable-syslog         log URL requests via syslog
   --enable-underlines     underline links rather than using boldface
@@ -238,10 +239,10 @@ cat <<EOF
   --disable-news          disable NEWS logic
   --disable-ftp           disable FTP logic
 Directory Editor Options:
-  --disable-dired          enable optional directory-editor, DirEd
-  --disable-dired-archive  disable dearchiving commands
+  --disable-dired          disable optional directory-editor, DirEd
 EOF
 cat <<EOF
+  --disable-dired-archive  disable dearchiving commands
   --disable-dired-override disable private keymaps
   --disable-dired-permit  disable chmod/attrib commands
   --disable-dired-xpermit disable chmod/attrib commands
@@ -592,9 +593,6 @@ fi
 
 
 
-ALL_LINGUAS="de es fr it ko nl no pl pt sl sv"
-
-
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
   if test -f $ac_dir/install-sh; then
@@ -615,6 +613,8 @@ ac_config_sub=$ac_aux_dir/config.sub
 ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 
 
+if test -f $srcdir/config.guess ; then
+	
 # Make sure we can run config.sub.
 if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
 else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
@@ -641,12 +641,42 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
+	system_name="$host_os"
+else
+	system_name="`(uname -s -r) 2>/dev/null`"
+	if test -z "$system_name" ; then
+		system_name="`(hostname) 2>/dev/null`"
+	fi
+fi
+test -n "$system_name" && cat >> confdefs.h <<EOF
+#define SYSTEM_NAME "$system_name"
+EOF
+
+if eval "test \"`echo '$''{'cf_cv_system_name'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cf_cv_system_name="$system_name"
+fi
+
+
+test -z "$system_name" && system_name="$cf_cv_system_name"
+test -n "$cf_cv_system_name" && echo "$ac_t"""Configuring for $cf_cv_system_name"" 1>&6
+
+if test ".$system_name" != ".$cf_cv_system_name" ; then
+	echo "$ac_t""Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" 1>&6
+	{ echo "configure: error: "Please remove config.cache and try again."" 1>&2; exit 1; }
+fi
+
+
+ALL_LINGUAS="de es fr it ko nl no pl pt sl sv"
+
+
 
 
 # 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:650: checking for $ac_word" >&5
+echo "configure:680: 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
@@ -676,7 +706,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:680: checking for $ac_word" >&5
+echo "configure:710: 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
@@ -727,7 +757,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:731: checking for $ac_word" >&5
+echo "configure:761: 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
@@ -759,7 +789,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:763: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:793: 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.
@@ -770,12 +800,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 774 "configure"
+#line 804 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:809: \"$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
@@ -801,12 +831,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:805: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:835: 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:810: checking whether we are using GNU C" >&5
+echo "configure:840: 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
@@ -815,7 +845,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:819: \"$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:849: \"$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
@@ -834,7 +864,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:838: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:868: 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
@@ -866,7 +896,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:870: checking how to run the C preprocessor" >&5
+echo "configure:900: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -881,13 +911,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 885 "configure"
+#line 915 "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:891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:921: \"$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
   :
@@ -898,13 +928,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 902 "configure"
+#line 932 "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:908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:938: \"$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
   :
@@ -915,13 +945,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 919 "configure"
+#line 949 "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:925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:955: \"$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
   :
@@ -948,7 +978,7 @@ echo "$ac_t""$CPP" 1>&6
 # 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:952: checking for $ac_word" >&5
+echo "configure:982: 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
@@ -976,7 +1006,7 @@ else
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:980: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:1010: 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
@@ -1004,7 +1034,7 @@ fi
 
 
 echo $ac_n "checking for style of include in makefiles""... $ac_c" 1>&6
-echo "configure:1008: checking for style of include in makefiles" >&5
+echo "configure:1038: checking for style of include in makefiles" >&5
 
 make_include_left=""
 make_include_right=""
@@ -1066,7 +1096,7 @@ echo "$ac_t""${make_include_left}file${make_include_right}" 1>&6
 # 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:1070: checking for a BSD compatible install" >&5
+echo "configure:1100: 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
@@ -1123,7 +1153,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:1127: checking for $ac_word" >&5
+echo "configure:1157: 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
@@ -1154,9 +1184,9 @@ done
 
 
 echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:1158: checking for AIX" >&5
+echo "configure:1188: checking for AIX" >&5
 cat > conftest.$ac_ext <<EOF
-#line 1160 "configure"
+#line 1190 "configure"
 #include "confdefs.h"
 #ifdef _AIX
   yes
@@ -1178,7 +1208,7 @@ rm -f conftest*
 
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:1182: checking for POSIXized ISC" >&5
+echo "configure:1212: 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
@@ -1204,7 +1234,7 @@ fi
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:1208: checking if you want to see long compiling messages" >&5
+echo "configure:1238: 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
@@ -1252,7 +1282,7 @@ fi
 
 
 echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6
-echo "configure:1256: checking if you want to check memory-leaks" >&5
+echo "configure:1286: 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
@@ -1276,7 +1306,7 @@ EOF
 
 
 echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6
-echo "configure:1280: checking if you want to enable debug-code" >&5
+echo "configure:1310: 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
@@ -1318,7 +1348,7 @@ else
 fi
 
 echo $ac_n "checking if you want to enable lynx trace code *recommended* ""... $ac_c" 1>&6
-echo "configure:1322: checking if you want to enable lynx trace code *recommended* " >&5
+echo "configure:1352: 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
@@ -1344,7 +1374,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:1348: checking if you want to turn on gcc warnings" >&5
+echo "configure:1378: 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
@@ -1384,9 +1414,9 @@ EOF
 if test -n "$GCC"
 then
 	echo "checking for gcc __attribute__ directives" 1>&6
-echo "configure:1388: checking for gcc __attribute__ directives" >&5
+echo "configure:1418: checking for gcc __attribute__ directives" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 1390 "configure"
+#line 1420 "configure"
 #include "confdefs.h"
 #include "conftest.h"
 #include "conftest.i"
@@ -1424,7 +1454,7 @@ EOF
 EOF
 			;;
 		esac
-		if { (eval echo configure:1428: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:1458: \"$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
@@ -1441,11 +1471,11 @@ fi
 if test -n "$GCC"
 then
 		cat > conftest.$ac_ext <<EOF
-#line 1445 "configure"
+#line 1475 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
 		echo "checking for gcc warning options" 1>&6
-echo "configure:1449: checking for gcc warning options" >&5
+echo "configure:1479: checking for gcc warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-W -Wall"
 	cf_warn_CONST=""
@@ -1463,7 +1493,7 @@ echo "configure:1449: checking for gcc warning options" >&5
 		Wstrict-prototypes $cf_warn_CONST
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:1467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:1497: \"$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"
@@ -1481,12 +1511,12 @@ fi
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1485: checking for ANSI C header files" >&5
+echo "configure:1515: 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 1490 "configure"
+#line 1520 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1494,7 +1524,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1528: \"$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*
@@ -1511,7 +1541,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 1515 "configure"
+#line 1545 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1529,7 +1559,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 1533 "configure"
+#line 1563 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1550,7 +1580,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1554 "configure"
+#line 1584 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1561,7 +1591,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:1565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1585,12 +1615,12 @@ EOF
 fi
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1589: checking for working const" >&5
+echo "configure:1619: 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 1594 "configure"
+#line 1624 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1639,7 +1669,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:1643: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -1660,21 +1690,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1664: checking for inline" >&5
+echo "configure:1694: 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 1671 "configure"
+#line 1701 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1708: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1700,12 +1730,12 @@ EOF
 esac
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1704: checking for off_t" >&5
+echo "configure:1734: 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 1709 "configure"
+#line 1739 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1733,12 +1763,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1737: checking for size_t" >&5
+echo "configure:1767: 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 1742 "configure"
+#line 1772 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -1768,19 +1798,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:1772: checking for working alloca.h" >&5
+echo "configure:1802: 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 1777 "configure"
+#line 1807 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:1784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1814: \"$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
@@ -1801,12 +1831,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1805: checking for alloca" >&5
+echo "configure:1835: 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 1810 "configure"
+#line 1840 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -1834,7 +1864,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:1838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1868: \"$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
@@ -1866,12 +1896,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1870: checking whether alloca needs Cray hooks" >&5
+echo "configure:1900: 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 1875 "configure"
+#line 1905 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -1896,12 +1926,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:1900: checking for $ac_func" >&5
+echo "configure:1930: 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 1905 "configure"
+#line 1935 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -1924,7 +1954,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:1928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1958: \"$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
@@ -1951,7 +1981,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1955: checking stack direction for C alloca" >&5
+echo "configure:1985: 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
@@ -1959,7 +1989,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 1963 "configure"
+#line 1993 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -1978,7 +2008,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:1982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2012: \"$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
@@ -2003,17 +2033,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:2007: checking for $ac_hdr" >&5
+echo "configure:2037: 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 2012 "configure"
+#line 2042 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2047: \"$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*
@@ -2042,12 +2072,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2046: checking for $ac_func" >&5
+echo "configure:2076: 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 2051 "configure"
+#line 2081 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2070,7 +2100,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2104: \"$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
@@ -2095,7 +2125,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:2099: checking for working mmap" >&5
+echo "configure:2129: 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
@@ -2103,7 +2133,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 2107 "configure"
+#line 2137 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -2243,7 +2273,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:2247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2277: \"$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
@@ -2271,17 +2301,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:2275: checking for $ac_hdr" >&5
+echo "configure:2305: 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 2280 "configure"
+#line 2310 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2285: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2315: \"$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*
@@ -2311,12 +2341,12 @@ done
 __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2315: checking for $ac_func" >&5
+echo "configure:2345: 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 2320 "configure"
+#line 2350 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2339,7 +2369,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2373: \"$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
@@ -2368,12 +2398,12 @@ done
      for ac_func in stpcpy
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2372: checking for $ac_func" >&5
+echo "configure:2402: 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 2377 "configure"
+#line 2407 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2396,7 +2426,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2430: \"$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
@@ -2430,19 +2460,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2434: checking for LC_MESSAGES" >&5
+echo "configure:2464: 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 2439 "configure"
+#line 2469 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:2446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2476: \"$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
@@ -2463,7 +2493,7 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:2467: checking whether NLS is requested" >&5
+echo "configure:2497: checking whether NLS is requested" >&5
         
 # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
@@ -2484,7 +2514,7 @@ fi
 EOF
 
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:2488: checking whether included gettext is requested" >&5
+echo "configure:2518: 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
@@ -2504,17 +2534,17 @@ fi
 
 	ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:2508: checking for libintl.h" >&5
+echo "configure:2538: 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 2513 "configure"
+#line 2543 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2548: \"$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*
@@ -2531,19 +2561,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:2535: checking for gettext in libc" >&5
+echo "configure:2565: 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 2540 "configure"
+#line 2570 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:2547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2577: \"$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
@@ -2559,7 +2589,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:2563: checking for bindtextdomain in -lintl" >&5
+echo "configure:2593: 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
@@ -2567,7 +2597,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2571 "configure"
+#line 2601 "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
@@ -2578,7 +2608,7 @@ int main() {
 bindtextdomain()
 ; return 0; }
 EOF
-if { (eval echo configure:2582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2612: \"$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
@@ -2594,19 +2624,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:2598: checking for gettext in libintl" >&5
+echo "configure:2628: 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 2603 "configure"
+#line 2633 "configure"
 #include "confdefs.h"
 
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:2610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2640: \"$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
@@ -2634,7 +2664,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:2638: checking for $ac_word" >&5
+echo "configure:2668: 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
@@ -2668,12 +2698,12 @@ fi
 		for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2672: checking for $ac_func" >&5
+echo "configure:2702: 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 2677 "configure"
+#line 2707 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2696,7 +2726,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2730: \"$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
@@ -2723,7 +2753,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:2727: checking for $ac_word" >&5
+echo "configure:2757: 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
@@ -2759,7 +2789,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:2763: checking for $ac_word" >&5
+echo "configure:2793: 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
@@ -2791,7 +2821,7 @@ else
 fi
 
 		cat > conftest.$ac_ext <<EOF
-#line 2795 "configure"
+#line 2825 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2799,7 +2829,7 @@ extern int _nl_msg_cat_cntr;
 			       return _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:2803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2833: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   CATOBJEXT=.gmo
 		   DATADIRNAME=share
@@ -2822,7 +2852,7 @@ fi
 
         if test "$CATOBJEXT" = "NONE"; then
 	  echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6
-echo "configure:2826: checking whether catgets can be used" >&5
+echo "configure:2856: checking whether catgets can be used" >&5
 	  
 # Check whether --with-catgets or --without-catgets was given.
 if test "${with_catgets+set}" = set; then
@@ -2836,7 +2866,7 @@ fi
 
 	  if test "$nls_cv_use_catgets" = "yes"; then
 	    	    echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:2840: checking for main in -li" >&5
+echo "configure:2870: 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
@@ -2844,14 +2874,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-li  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2848 "configure"
+#line 2878 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:2855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2885: \"$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
@@ -2879,12 +2909,12 @@ else
 fi
 
 	    echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:2883: checking for catgets" >&5
+echo "configure:2913: 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 2888 "configure"
+#line 2918 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char catgets(); below.  */
@@ -2907,7 +2937,7 @@ catgets();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2941: \"$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
@@ -2929,7 +2959,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:2933: checking for $ac_word" >&5
+echo "configure:2963: 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
@@ -2965,7 +2995,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:2969: checking for $ac_word" >&5
+echo "configure:2999: 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
@@ -3002,7 +3032,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:3006: checking for $ac_word" >&5
+echo "configure:3036: 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
@@ -3037,7 +3067,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:3041: checking for $ac_word" >&5
+echo "configure:3071: 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
@@ -3095,7 +3125,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:3099: checking for $ac_word" >&5
+echo "configure:3129: 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
@@ -3129,7 +3159,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:3133: checking for $ac_word" >&5
+echo "configure:3163: 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
@@ -3165,7 +3195,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:3169: checking for $ac_word" >&5
+echo "configure:3199: 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
@@ -3255,7 +3285,7 @@ fi
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:3259: checking for catalogs to be installed" >&5
+echo "configure:3289: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
          case "$ALL_LINGUAS" in
@@ -3284,17 +3314,17 @@ echo "configure:3259: 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:3288: checking for linux/version.h" >&5
+echo "configure:3318: 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 3293 "configure"
+#line 3323 "configure"
 #include "confdefs.h"
 #include <linux/version.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3328: \"$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*
@@ -3405,7 +3435,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:3409: checking if we should use included message-library" >&5
+echo "configure:3439: 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
@@ -3441,17 +3471,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:3445: checking for $ac_hdr" >&5
+echo "configure:3475: 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 3450 "configure"
+#line 3480 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3455: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3485: \"$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*
@@ -3515,7 +3545,7 @@ EOF
 fi
 
 echo $ac_n "checking if you want full utility pathnames""... $ac_c" 1>&6
-echo "configure:3519: checking if you want full utility pathnames" >&5
+echo "configure:3549: 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
@@ -3540,7 +3570,7 @@ EOF
 
 
 echo $ac_n "checking for system mailer""... $ac_c" 1>&6
-echo "configure:3544: checking for system mailer" >&5
+echo "configure:3574: 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
@@ -3567,7 +3597,7 @@ EOF
 
 
 echo $ac_n "checking system mail flags""... $ac_c" 1>&6
-echo "configure:3571: checking system mail flags" >&5
+echo "configure:3601: 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
@@ -3595,7 +3625,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:3599: checking for $ac_word" >&5
+echo "configure:3629: 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
@@ -3630,7 +3660,7 @@ fi
 
 else
 	echo $ac_n "checking for chmod""... $ac_c" 1>&6
-echo "configure:3634: checking for chmod" >&5
+echo "configure:3664: checking for chmod" >&5
 	echo "$ac_t""$CHMOD" 1>&6
 	eval 'ac_cv_path_'CHMOD'="'chmod'"'
 fi
@@ -3672,7 +3702,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:3676: checking for $ac_word" >&5
+echo "configure:3706: 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
@@ -3707,7 +3737,7 @@ fi
 
 else
 	echo $ac_n "checking for compress""... $ac_c" 1>&6
-echo "configure:3711: checking for compress" >&5
+echo "configure:3741: checking for compress" >&5
 	echo "$ac_t""$COMPRESS" 1>&6
 	eval 'ac_cv_path_'COMPRESS'="'compress'"'
 fi
@@ -3749,7 +3779,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:3753: checking for $ac_word" >&5
+echo "configure:3783: 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
@@ -3784,7 +3814,7 @@ fi
 
 else
 	echo $ac_n "checking for cp""... $ac_c" 1>&6
-echo "configure:3788: checking for cp" >&5
+echo "configure:3818: checking for cp" >&5
 	echo "$ac_t""$COPY" 1>&6
 	eval 'ac_cv_path_'COPY'="'cp'"'
 fi
@@ -3826,7 +3856,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:3830: checking for $ac_word" >&5
+echo "configure:3860: 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
@@ -3861,7 +3891,7 @@ fi
 
 else
 	echo $ac_n "checking for gzip""... $ac_c" 1>&6
-echo "configure:3865: checking for gzip" >&5
+echo "configure:3895: checking for gzip" >&5
 	echo "$ac_t""$GZIP" 1>&6
 	eval 'ac_cv_path_'GZIP'="'gzip'"'
 fi
@@ -3903,7 +3933,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:3907: checking for $ac_word" >&5
+echo "configure:3937: 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
@@ -3938,7 +3968,7 @@ fi
 
 else
 	echo $ac_n "checking for mkdir""... $ac_c" 1>&6
-echo "configure:3942: checking for mkdir" >&5
+echo "configure:3972: checking for mkdir" >&5
 	echo "$ac_t""$MKDIR" 1>&6
 	eval 'ac_cv_path_'MKDIR'="'mkdir'"'
 fi
@@ -3980,7 +4010,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:3984: checking for $ac_word" >&5
+echo "configure:4014: 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
@@ -4015,7 +4045,7 @@ fi
 
 else
 	echo $ac_n "checking for mv""... $ac_c" 1>&6
-echo "configure:4019: checking for mv" >&5
+echo "configure:4049: checking for mv" >&5
 	echo "$ac_t""$MV" 1>&6
 	eval 'ac_cv_path_'MV'="'mv'"'
 fi
@@ -4057,7 +4087,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:4061: checking for $ac_word" >&5
+echo "configure:4091: 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
@@ -4092,7 +4122,7 @@ fi
 
 else
 	echo $ac_n "checking for rm""... $ac_c" 1>&6
-echo "configure:4096: checking for rm" >&5
+echo "configure:4126: checking for rm" >&5
 	echo "$ac_t""$RM" 1>&6
 	eval 'ac_cv_path_'RM'="'rm'"'
 fi
@@ -4134,7 +4164,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:4138: checking for $ac_word" >&5
+echo "configure:4168: 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
@@ -4169,7 +4199,7 @@ fi
 
 else
 	echo $ac_n "checking for tar""... $ac_c" 1>&6
-echo "configure:4173: checking for tar" >&5
+echo "configure:4203: checking for tar" >&5
 	echo "$ac_t""$TAR" 1>&6
 	eval 'ac_cv_path_'TAR'="'tar'"'
 fi
@@ -4211,7 +4241,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:4215: checking for $ac_word" >&5
+echo "configure:4245: 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
@@ -4246,7 +4276,7 @@ fi
 
 else
 	echo $ac_n "checking for touch""... $ac_c" 1>&6
-echo "configure:4250: checking for touch" >&5
+echo "configure:4280: checking for touch" >&5
 	echo "$ac_t""$TOUCH" 1>&6
 	eval 'ac_cv_path_'TOUCH'="'touch'"'
 fi
@@ -4288,7 +4318,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:4292: checking for $ac_word" >&5
+echo "configure:4322: 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
@@ -4323,7 +4353,7 @@ fi
 
 else
 	echo $ac_n "checking for gunzip""... $ac_c" 1>&6
-echo "configure:4327: checking for gunzip" >&5
+echo "configure:4357: checking for gunzip" >&5
 	echo "$ac_t""$UNCOMPRESS" 1>&6
 	eval 'ac_cv_path_'UNCOMPRESS'="'gunzip'"'
 fi
@@ -4365,7 +4395,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:4369: checking for $ac_word" >&5
+echo "configure:4399: 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
@@ -4400,7 +4430,7 @@ fi
 
 else
 	echo $ac_n "checking for unzip""... $ac_c" 1>&6
-echo "configure:4404: checking for unzip" >&5
+echo "configure:4434: checking for unzip" >&5
 	echo "$ac_t""$UNZIP" 1>&6
 	eval 'ac_cv_path_'UNZIP'="'unzip'"'
 fi
@@ -4442,7 +4472,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:4446: checking for $ac_word" >&5
+echo "configure:4476: 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
@@ -4477,7 +4507,7 @@ fi
 
 else
 	echo $ac_n "checking for bzip2""... $ac_c" 1>&6
-echo "configure:4481: checking for bzip2" >&5
+echo "configure:4511: checking for bzip2" >&5
 	echo "$ac_t""$BZIP2" 1>&6
 	eval 'ac_cv_path_'BZIP2'="'bzip2'"'
 fi
@@ -4519,7 +4549,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:4523: checking for $ac_word" >&5
+echo "configure:4553: 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
@@ -4554,7 +4584,7 @@ fi
 
 else
 	echo $ac_n "checking for uudecode""... $ac_c" 1>&6
-echo "configure:4558: checking for uudecode" >&5
+echo "configure:4588: checking for uudecode" >&5
 	echo "$ac_t""$UUDECODE" 1>&6
 	eval 'ac_cv_path_'UUDECODE'="'uudecode'"'
 fi
@@ -4596,7 +4626,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:4600: checking for $ac_word" >&5
+echo "configure:4630: 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
@@ -4631,7 +4661,7 @@ fi
 
 else
 	echo $ac_n "checking for zcat""... $ac_c" 1>&6
-echo "configure:4635: checking for zcat" >&5
+echo "configure:4665: checking for zcat" >&5
 	echo "$ac_t""$ZCAT" 1>&6
 	eval 'ac_cv_path_'ZCAT'="'zcat'"'
 fi
@@ -4673,7 +4703,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:4677: checking for $ac_word" >&5
+echo "configure:4707: 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
@@ -4708,7 +4738,7 @@ fi
 
 else
 	echo $ac_n "checking for zip""... $ac_c" 1>&6
-echo "configure:4712: checking for zip" >&5
+echo "configure:4742: checking for zip" >&5
 	echo "$ac_t""$ZIP" 1>&6
 	eval 'ac_cv_path_'ZIP'="'zip'"'
 fi
@@ -4750,7 +4780,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:4754: checking for $ac_word" >&5
+echo "configure:4784: 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
@@ -4785,7 +4815,7 @@ fi
 
 else
 	echo $ac_n "checking for telnet""... $ac_c" 1>&6
-echo "configure:4789: checking for telnet" >&5
+echo "configure:4819: checking for telnet" >&5
 	echo "$ac_t""$TELNET" 1>&6
 	eval 'ac_cv_path_'TELNET'="'telnet'"'
 fi
@@ -4827,7 +4857,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:4831: checking for $ac_word" >&5
+echo "configure:4861: 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
@@ -4862,7 +4892,7 @@ fi
 
 else
 	echo $ac_n "checking for tn3270""... $ac_c" 1>&6
-echo "configure:4866: checking for tn3270" >&5
+echo "configure:4896: checking for tn3270" >&5
 	echo "$ac_t""$TN3270" 1>&6
 	eval 'ac_cv_path_'TN3270'="'tn3270'"'
 fi
@@ -4904,7 +4934,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:4908: checking for $ac_word" >&5
+echo "configure:4938: 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
@@ -4939,7 +4969,7 @@ fi
 
 else
 	echo $ac_n "checking for rlogin""... $ac_c" 1>&6
-echo "configure:4943: checking for rlogin" >&5
+echo "configure:4973: checking for rlogin" >&5
 	echo "$ac_t""$RLOGIN" 1>&6
 	eval 'ac_cv_path_'RLOGIN'="'rlogin'"'
 fi
@@ -5000,7 +5030,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:5004: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:5034: 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
@@ -5024,7 +5054,7 @@ for cf_arg in "-DCC_HAS_PROTOS" \
 do
 	CFLAGS="$cf_save_CFLAGS $cf_arg"
 	cat > conftest.$ac_ext <<EOF
-#line 5028 "configure"
+#line 5058 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -5040,7 +5070,7 @@ int main() {
 	struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:5044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5074: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -5068,12 +5098,12 @@ fi
 
 fi
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5072: checking for working const" >&5
+echo "configure:5102: 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 5077 "configure"
+#line 5107 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -5122,7 +5152,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:5126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5156: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -5164,7 +5194,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:5168: checking for strcmp in -lc_s" >&5
+echo "configure:5198: 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
@@ -5172,7 +5202,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5176 "configure"
+#line 5206 "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
@@ -5183,7 +5213,7 @@ int main() {
 strcmp()
 ; return 0; }
 EOF
-if { (eval echo configure:5187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5217: \"$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
@@ -5273,7 +5303,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:5277: checking for $ac_word" >&5
+echo "configure:5307: 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
@@ -5318,17 +5348,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:5322: checking for $ac_hdr" >&5
+echo "configure:5352: 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 5327 "configure"
+#line 5357 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5332: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5362: \"$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*
@@ -5372,17 +5402,17 @@ ultrix*)
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5376: checking for $ac_hdr" >&5
+echo "configure:5406: 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 5381 "configure"
+#line 5411 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5386: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5416: \"$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*
@@ -5420,16 +5450,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:5424: checking if we should use compile options $TRY_CFLAGS" >&5
+echo "configure:5454: checking if we should use compile options $TRY_CFLAGS" >&5
 	cat > conftest.$ac_ext <<EOF
-#line 5426 "configure"
+#line 5456 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 FILE *fp = stdin
 ; return 0; }
 EOF
-if { (eval echo configure:5433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5463: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -5447,7 +5477,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:5451: checking if you want socks library" >&5
+echo "configure:5481: 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
@@ -5467,7 +5497,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:5471: checking if you want socks5 library" >&5
+echo "configure:5501: 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
@@ -5533,7 +5563,7 @@ cat >> confdefs.h <<\EOF
 EOF
 
 cat > conftest.$ac_ext <<EOF
-#line 5537 "configure"
+#line 5567 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -5542,7 +5572,7 @@ int main() {
 	accept((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5546: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   :
 else
   echo "configure: failed program was:" >&5
@@ -5572,9 +5602,9 @@ cat >> confdefs.h <<\EOF
 EOF
 
 echo $ac_n "checking if the socks library uses socks4 prefix""... $ac_c" 1>&6
-echo "configure:5576: checking if the socks library uses socks4 prefix" >&5
+echo "configure:5606: checking if the socks library uses socks4 prefix" >&5
 cat > conftest.$ac_ext <<EOF
-#line 5578 "configure"
+#line 5608 "configure"
 #include "confdefs.h"
 
 #include <socks.h>
@@ -5583,7 +5613,7 @@ int main() {
 	Rinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5617: \"$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
@@ -5595,14 +5625,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5599 "configure"
+#line 5629 "configure"
 #include "confdefs.h"
 #include <socks.h>
 int main() {
 SOCKSinit((char *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:5606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_use_socks4=no
 else
@@ -5671,7 +5701,7 @@ else
 	
 cf_test_netlibs=no
 echo $ac_n "checking for network libraries""... $ac_c" 1>&6
-echo "configure:5675: checking for network libraries" >&5
+echo "configure:5705: checking for network libraries" >&5
 if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5682,12 +5712,12 @@ cf_test_netlibs=yes
 for ac_func in gethostname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5686: checking for $ac_func" >&5
+echo "configure:5716: 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 5691 "configure"
+#line 5721 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5710,7 +5740,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5744: \"$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
@@ -5733,7 +5763,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:5737: checking for gethostname in -lnsl" >&5
+echo "configure:5767: 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
@@ -5741,7 +5771,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5745 "configure"
+#line 5775 "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
@@ -5752,7 +5782,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:5756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5786: \"$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
@@ -5785,7 +5815,7 @@ else
 	
 		
 echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:5789: checking for gethostname in -lsocket" >&5
+echo "configure:5819: 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
@@ -5793,7 +5823,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5797 "configure"
+#line 5827 "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
@@ -5804,7 +5834,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:5808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5838: \"$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
@@ -5848,21 +5878,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:5852: checking for -linet" >&5
+echo "configure:5882: 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 5859 "configure"
+#line 5889 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:5866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_lib_inet=yes
 else
@@ -5885,12 +5915,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:5889: checking for $ac_func" >&5
+echo "configure:5919: 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 5894 "configure"
+#line 5924 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5913,7 +5943,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5947: \"$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
@@ -5936,7 +5966,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:5940: checking for socket in -lsocket" >&5
+echo "configure:5970: 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
@@ -5944,7 +5974,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5948 "configure"
+#line 5978 "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
@@ -5955,7 +5985,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:5959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5989: \"$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
@@ -5988,7 +6018,7 @@ else
 	
 		
 echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
-echo "configure:5992: checking for socket in -lbsd" >&5
+echo "configure:6022: 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
@@ -5996,7 +6026,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6000 "configure"
+#line 6030 "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
@@ -6007,7 +6037,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:6011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6041: \"$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
@@ -6052,12 +6082,12 @@ fi
 for ac_func in gethostbyname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6056: checking for $ac_func" >&5
+echo "configure:6086: 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 6061 "configure"
+#line 6091 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6080,7 +6110,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6114: \"$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
@@ -6103,7 +6133,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:6107: checking for gethostbyname in -lnsl" >&5
+echo "configure:6137: 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
@@ -6111,7 +6141,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6115 "configure"
+#line 6145 "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
@@ -6122,7 +6152,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:6126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6156: \"$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
@@ -6163,12 +6193,12 @@ done
 for ac_func in strcasecmp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6167: checking for $ac_func" >&5
+echo "configure:6197: 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 6172 "configure"
+#line 6202 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6191,7 +6221,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6225: \"$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
@@ -6214,7 +6244,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:6218: checking for strcasecmp in -lresolv" >&5
+echo "configure:6248: 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
@@ -6222,7 +6252,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6226 "configure"
+#line 6256 "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
@@ -6233,7 +6263,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:6237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6267: \"$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
@@ -6279,13 +6309,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:6283: checking for inet_aton function" >&5
+echo "configure:6313: 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 6289 "configure"
+#line 6319 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6296,7 +6326,7 @@ int main() {
 inet_aton(0, (struct in_addr *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:6300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6330: \"$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
@@ -6316,13 +6346,13 @@ EOF
 
 else
     echo $ac_n "checking for inet_addr function""... $ac_c" 1>&6
-echo "configure:6320: checking for inet_addr function" >&5
+echo "configure:6350: 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 6326 "configure"
+#line 6356 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6333,7 +6363,7 @@ int main() {
 inet_addr(0)
 ; return 0; }
 EOF
-if { (eval echo configure:6337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6367: \"$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
@@ -6348,7 +6378,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:6352: checking for library with inet_addr" >&5
+echo "configure:6382: 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
@@ -6358,7 +6388,7 @@ else
 	    do
 		LIBS="$cf_save_LIBS $cf_inetlib"
 		cat > conftest.$ac_ext <<EOF
-#line 6362 "configure"
+#line 6392 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -6369,7 +6399,7 @@ int main() {
 inet_addr(0)
 ; return 0; }
 EOF
-if { (eval echo configure:6373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6403: \"$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
@@ -6396,7 +6426,7 @@ fi
 
 
 echo $ac_n "checking for screen type""... $ac_c" 1>&6
-echo "configure:6400: checking for screen type" >&5
+echo "configure:6430: checking for screen type" >&5
 if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6431,12 +6461,12 @@ case $cf_cv_screen in
 curses)
 	
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:6435: checking for initscr" >&5
+echo "configure:6465: 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 6440 "configure"
+#line 6470 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -6459,7 +6489,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6493: \"$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
@@ -6480,7 +6510,7 @@ else
 case $host_os in #(vi
 freebsd*) #(vi
 	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:6484: checking for tgoto in -lmytinfo" >&5
+echo "configure:6514: 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
@@ -6488,7 +6518,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6492 "configure"
+#line 6522 "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
@@ -6499,7 +6529,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:6503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6533: \"$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
@@ -6522,7 +6552,7 @@ fi
 	;;
 hpux10.*)
 	echo $ac_n "checking for initscr in -lcur_colr""... $ac_c" 1>&6
-echo "configure:6526: checking for initscr in -lcur_colr" >&5
+echo "configure:6556: 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
@@ -6530,7 +6560,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcur_colr  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6534 "configure"
+#line 6564 "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
@@ -6541,7 +6571,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6575: \"$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
@@ -6565,7 +6595,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
-echo "configure:6569: checking for initscr in -lHcurses" >&5
+echo "configure:6599: 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
@@ -6573,7 +6603,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lHcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6577 "configure"
+#line 6607 "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
@@ -6584,7 +6614,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6618: \"$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
@@ -6633,12 +6663,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:6637: checking for tgoto" >&5
+echo "configure:6667: 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 6642 "configure"
+#line 6672 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char tgoto(); below.  */
@@ -6661,7 +6691,7 @@ tgoto();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6695: \"$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
@@ -6682,7 +6712,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:6686: checking for tgoto in -l$cf_term_lib" >&5
+echo "configure:6716: 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
@@ -6690,7 +6720,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_term_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6694 "configure"
+#line 6724 "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
@@ -6701,7 +6731,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:6705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6735: \"$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
@@ -6731,7 +6761,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:6735: checking for initscr in -l$cf_curs_lib" >&5
+echo "configure:6765: 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
@@ -6739,7 +6769,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_curs_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6743 "configure"
+#line 6773 "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
@@ -6750,7 +6780,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6754: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6784: \"$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
@@ -6776,16 +6806,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:6780: checking if we can link with $cf_curs_lib library" >&5
+echo "configure:6810: checking if we can link with $cf_curs_lib library" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 6782 "configure"
+#line 6812 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -6799,16 +6829,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:6803: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+echo "configure:6833: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 6805 "configure"
+#line 6835 "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:6812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=no
 else
@@ -6818,14 +6848,14 @@ else
   
 			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
 			cat > conftest.$ac_ext <<EOF
-#line 6822 "configure"
+#line 6852 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:6829: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -6847,14 +6877,14 @@ fi
 
 	
 echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6
-echo "configure:6851: checking for curses performance tradeoff" >&5
+echo "configure:6881: 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 6858 "configure"
+#line 6888 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -6868,11 +6898,11 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6902: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 6876 "configure"
+#line 6906 "configure"
 #include "confdefs.h"
 
 #define CURS_PERFORMANCE
@@ -6887,7 +6917,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6891: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_curs_performance=yes
 else
@@ -6912,13 +6942,13 @@ EOF
 ncurses)
 	
 echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6
-echo "configure:6916: checking for ncurses header file" >&5
+echo "configure:6946: 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 6922 "configure"
+#line 6952 "configure"
 #include "confdefs.h"
 #include <curses.h>
 int main() {
@@ -6935,7 +6965,7 @@ make an error
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6939: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_header=predefined
 else
@@ -7021,7 +7051,7 @@ done
 	;;
 esac
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:7025: checking for ncurses version" >&5
+echo "configure:7055: 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
@@ -7046,7 +7076,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:7050: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:7080: \"$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"
@@ -7055,7 +7085,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 7059 "configure"
+#line 7089 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -7078,7 +7108,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:7082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7112: \"$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`
@@ -7103,7 +7133,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:7107: checking for Gpm_Open in -lgpm" >&5
+echo "configure:7137: 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
@@ -7111,7 +7141,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7115 "configure"
+#line 7145 "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
@@ -7122,7 +7152,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:7126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7156: \"$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
@@ -7138,7 +7168,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:7142: checking for initscr in -lgpm" >&5
+echo "configure:7172: 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
@@ -7146,7 +7176,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7150 "configure"
+#line 7180 "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
@@ -7157,7 +7187,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7191: \"$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
@@ -7188,7 +7218,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:7192: checking for tgoto in -lmytinfo" >&5
+echo "configure:7222: 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
@@ -7196,7 +7226,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7200 "configure"
+#line 7230 "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
@@ -7207,7 +7237,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7241: \"$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
@@ -7235,12 +7265,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:7239: checking for initscr" >&5
+echo "configure:7269: 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 7244 "configure"
+#line 7274 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -7263,7 +7293,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7297: \"$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
@@ -7283,17 +7313,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:7287: checking for initscr in -lncurses" >&5
+echo "configure:7317: checking for initscr in -lncurses" >&5
 		LIBS="-lncurses $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7290 "configure"
+#line 7320 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7327: \"$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
@@ -7320,17 +7350,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:7324: checking for -lncurses in $cf_libdir" >&5
+echo "configure:7354: checking for -lncurses in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lncurses $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7327 "configure"
+#line 7357 "configure"
 #include "confdefs.h"
 #include <${cf_cv_ncurses_header-curses.h}>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7364: \"$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
@@ -7362,7 +7392,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:7366: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
+echo "configure:7396: 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'$//'`
@@ -7371,14 +7401,14 @@ echo "configure:7366: checking if we can link ncurses without $cf_ncurses_LIBS"
 		fi
 	done
 	cat > conftest.$ac_ext <<EOF
-#line 7375 "configure"
+#line 7405 "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:7382: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7412: \"$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
@@ -7395,20 +7425,20 @@ fi
 slang)
 	
 echo $ac_n "checking for slang header file""... $ac_c" 1>&6
-echo "configure:7399: checking for slang header file" >&5
+echo "configure:7429: 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 7405 "configure"
+#line 7435 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 printf("%s\n", SLANG_VERSION)
 ; return 0; }
 EOF
-if { (eval echo configure:7412: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7442: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_slang_header=predefined
 else
@@ -7490,24 +7520,24 @@ else
   
 cf_cv_termlib=none
 cat > conftest.$ac_ext <<EOF
-#line 7494 "configure"
+#line 7524 "configure"
 #include "confdefs.h"
 
 int main() {
 char *x=(char*)tgoto("",0,0)
 ; return 0; }
 EOF
-if { (eval echo configure:7501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 7504 "configure"
+#line 7534 "configure"
 #include "confdefs.h"
 
 int main() {
 int x=tigetstr("")
 ; return 0; }
 EOF
-if { (eval echo configure:7511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_termlib=terminfo
 else
@@ -7529,7 +7559,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:7533: checking for tigetstr in -ltermlib" >&5
+echo "configure:7563: 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
@@ -7537,7 +7567,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7541 "configure"
+#line 7571 "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
@@ -7548,7 +7578,7 @@ int main() {
 tigetstr()
 ; return 0; }
 EOF
-if { (eval echo configure:7552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7582: \"$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
@@ -7571,7 +7601,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -ltermlib""... $ac_c" 1>&6
-echo "configure:7575: checking for tgoto in -ltermlib" >&5
+echo "configure:7605: 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
@@ -7579,7 +7609,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7583 "configure"
+#line 7613 "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
@@ -7590,7 +7620,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7594: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7624: \"$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
@@ -7614,7 +7644,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:7618: checking for initscr in -lcurses" >&5
+echo "configure:7648: 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
@@ -7622,7 +7652,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7626 "configure"
+#line 7656 "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
@@ -7633,7 +7663,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:7637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7667: \"$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
@@ -7654,7 +7684,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:7658: checking for tgoto in -ltermcap" >&5
+echo "configure:7688: 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
@@ -7662,7 +7692,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7666 "configure"
+#line 7696 "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
@@ -7673,7 +7703,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7707: \"$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
@@ -7696,7 +7726,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:7700: checking for tgoto in -ltermcap" >&5
+echo "configure:7730: 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
@@ -7704,7 +7734,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7708 "configure"
+#line 7738 "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
@@ -7715,7 +7745,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7749: \"$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
@@ -7738,7 +7768,7 @@ fi
 fi
 if test "$cf_cv_termlib" = none; then
 	echo $ac_n "checking for tgoto in -lncurses""... $ac_c" 1>&6
-echo "configure:7742: checking for tgoto in -lncurses" >&5
+echo "configure:7772: 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
@@ -7746,7 +7776,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7750 "configure"
+#line 7780 "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
@@ -7757,7 +7787,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:7761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7791: \"$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
@@ -7789,12 +7819,12 @@ fi
 
 cf_slang_LIBS2="$LIBS"
 echo $ac_n "checking for acos""... $ac_c" 1>&6
-echo "configure:7793: checking for acos" >&5
+echo "configure:7823: 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 7798 "configure"
+#line 7828 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char acos(); below.  */
@@ -7817,7 +7847,7 @@ acos();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7851: \"$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
@@ -7836,7 +7866,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for acos in -lm""... $ac_c" 1>&6
-echo "configure:7840: checking for acos in -lm" >&5
+echo "configure:7870: 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
@@ -7844,7 +7874,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm $LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7848 "configure"
+#line 7878 "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
@@ -7855,7 +7885,7 @@ int main() {
 acos()
 ; return 0; }
 EOF
-if { (eval echo configure:7859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7889: \"$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
@@ -7895,12 +7925,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:7899: checking for SLtt_get_screen_size" >&5
+echo "configure:7929: 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 7904 "configure"
+#line 7934 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char SLtt_get_screen_size(); below.  */
@@ -7923,7 +7953,7 @@ SLtt_get_screen_size();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7957: \"$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
@@ -7943,17 +7973,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
-echo "configure:7947: checking for SLtt_get_screen_size in -lslang" >&5
+echo "configure:7977: checking for SLtt_get_screen_size in -lslang" >&5
 		LIBS="-lslang $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7950 "configure"
+#line 7980 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:7957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7987: \"$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
@@ -7980,17 +8010,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:7984: checking for -lslang in $cf_libdir" >&5
+echo "configure:8014: checking for -lslang in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lslang $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7987 "configure"
+#line 8017 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:7994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8024: \"$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
@@ -8021,7 +8051,7 @@ esac
 
 cf_slang_LIBS3="$LIBS"
 echo $ac_n "checking if we can link slang without termcap""... $ac_c" 1>&6
-echo "configure:8025: checking if we can link slang without termcap" >&5
+echo "configure:8055: 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
@@ -8029,14 +8059,14 @@ else
 fi
 LIBS=`echo ".$cf_slang_LIBS3" | sed -e "s@$cf_exclude@@" -e 's@^.@@'`
 cat > conftest.$ac_ext <<EOF
-#line 8033 "configure"
+#line 8063 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:8040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -8056,7 +8086,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:8060: checking for location of config-file" >&5
+echo "configure:8090: 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"
@@ -8066,12 +8096,12 @@ echo "$ac_t""$LYNX_CFG_FILE" 1>&6
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:8070: checking for ANSI C header files" >&5
+echo "configure:8100: 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 8075 "configure"
+#line 8105 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -8079,7 +8109,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8113: \"$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*
@@ -8096,7 +8126,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 8100 "configure"
+#line 8130 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -8114,7 +8144,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 8118 "configure"
+#line 8148 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -8135,7 +8165,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 8139 "configure"
+#line 8169 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -8146,7 +8176,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:8150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -8170,12 +8200,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:8174: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:8204: 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 8179 "configure"
+#line 8209 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -8184,7 +8214,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:8188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8218: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -8209,12 +8239,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:8213: checking for $ac_hdr that defines DIR" >&5
+echo "configure:8243: 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 8218 "configure"
+#line 8248 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -8222,7 +8252,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:8226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -8247,7 +8277,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:8251: checking for opendir in -ldir" >&5
+echo "configure:8281: 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
@@ -8255,7 +8285,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8259 "configure"
+#line 8289 "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
@@ -8266,7 +8296,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:8270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8300: \"$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
@@ -8288,7 +8318,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:8292: checking for opendir in -lx" >&5
+echo "configure:8322: 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
@@ -8296,7 +8326,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8300 "configure"
+#line 8330 "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
@@ -8307,7 +8337,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:8311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8341: \"$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
@@ -8346,17 +8376,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:8350: checking for $ac_hdr" >&5
+echo "configure:8380: 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 8355 "configure"
+#line 8385 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8360: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8390: \"$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*
@@ -8384,13 +8414,13 @@ done
 
 
 echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6
-echo "configure:8388: checking termio.h and termios.h" >&5
+echo "configure:8418: 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 8394 "configure"
+#line 8424 "configure"
 #include "confdefs.h"
 
 #if HAVE_TERMIO_H
@@ -8403,7 +8433,7 @@ int main() {
 putchar (0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:8407: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_termios=yes
 else
@@ -8426,17 +8456,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:8430: checking for $ac_hdr" >&5
+echo "configure:8460: 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 8435 "configure"
+#line 8465 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8440: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8470: \"$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*
@@ -8473,17 +8503,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:8477: checking for $ac_hdr" >&5
+echo "configure:8507: 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 8482 "configure"
+#line 8512 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8517: \"$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*
@@ -8513,17 +8543,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:8517: checking for $ac_hdr" >&5
+echo "configure:8547: 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 8522 "configure"
+#line 8552 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8527: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8557: \"$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*
@@ -8564,13 +8594,13 @@ fi
 
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:8568: checking for union wait" >&5
+echo "configure:8598: 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 8574 "configure"
+#line 8604 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -8581,7 +8611,7 @@ int x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:8585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8615: \"$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
@@ -8592,7 +8622,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 8596 "configure"
+#line 8626 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -8607,7 +8637,7 @@ union wait x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:8611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8641: \"$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
@@ -8634,20 +8664,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:8638: checking if union wait can be used as wait-arg" >&5
+echo "configure:8668: 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 8644 "configure"
+#line 8674 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; wait(&x)
 ; return 0; }
 EOF
-if { (eval echo configure:8651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8681: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_wait=yes
 else
@@ -8667,20 +8697,20 @@ EOF
 
 
 	echo $ac_n "checking if union wait can be used as waitpid-arg""... $ac_c" 1>&6
-echo "configure:8671: checking if union wait can be used as waitpid-arg" >&5
+echo "configure:8701: 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 8677 "configure"
+#line 8707 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; waitpid(0, &x, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:8684: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_waitpid=yes
 else
@@ -8706,17 +8736,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:8710: checking for $ac_hdr" >&5
+echo "configure:8740: 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 8715 "configure"
+#line 8745 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8720: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8750: \"$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*
@@ -8743,13 +8773,13 @@ fi
 done
 
 echo $ac_n "checking for standard varargs""... $ac_c" 1>&6
-echo "configure:8747: checking for standard varargs" >&5
+echo "configure:8777: 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 8753 "configure"
+#line 8783 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDARG_H
@@ -8764,7 +8794,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:8768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_varargs=yes
 else
@@ -8784,12 +8814,12 @@ EOF
 
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:8788: checking for uid_t in sys/types.h" >&5
+echo "configure:8818: 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 8793 "configure"
+#line 8823 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -8818,7 +8848,7 @@ EOF
 fi
 
 echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6
-echo "configure:8822: checking type of array argument to getgroups" >&5
+echo "configure:8852: 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
@@ -8826,7 +8856,7 @@ else
   ac_cv_type_getgroups=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8830 "configure"
+#line 8860 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Rendell for this test.  */
@@ -8851,7 +8881,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:8855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8885: \"$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
@@ -8865,7 +8895,7 @@ fi
 
 if test $ac_cv_type_getgroups = cross; then
         cat > conftest.$ac_ext <<EOF
-#line 8869 "configure"
+#line 8899 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -8889,12 +8919,12 @@ EOF
 
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:8893: checking for pid_t" >&5
+echo "configure:8923: 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 8898 "configure"
+#line 8928 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -8922,12 +8952,12 @@ EOF
 fi
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:8926: checking for uid_t in sys/types.h" >&5
+echo "configure:8956: 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 8931 "configure"
+#line 8961 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -8956,12 +8986,12 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:8960: checking for mode_t" >&5
+echo "configure:8990: 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 8965 "configure"
+#line 8995 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -8992,17 +9022,17 @@ fi
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:8996: checking for vfork.h" >&5
+echo "configure:9026: 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 9001 "configure"
+#line 9031 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9006: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9036: \"$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*
@@ -9027,18 +9057,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:9031: checking for working vfork" >&5
+echo "configure:9061: 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:9037: checking for vfork" >&5
+echo "configure:9067: 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 9042 "configure"
+#line 9072 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -9061,7 +9091,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9095: \"$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
@@ -9083,7 +9113,7 @@ fi
 ac_cv_func_vfork_works=$ac_cv_func_vfork
 else
   cat > conftest.$ac_ext <<EOF
-#line 9087 "configure"
+#line 9117 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -9178,7 +9208,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:9182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9212: \"$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
@@ -9202,13 +9232,13 @@ fi
 
 
 echo $ac_n "checking if we should use fcntl or ioctl""... $ac_c" 1>&6
-echo "configure:9206: checking if we should use fcntl or ioctl" >&5
+echo "configure:9236: 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 9212 "configure"
+#line 9242 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9220,7 +9250,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:9224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fionbio=ioctl
 else
@@ -9229,7 +9259,7 @@ else
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9233 "configure"
+#line 9263 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9246,7 +9276,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:9250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fionbio=fcntl
 else
@@ -9269,20 +9299,20 @@ EOF
 
 
 echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6
-echo "configure:9273: checking for broken/missing definition of remove" >&5
+echo "configure:9303: 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 9279 "configure"
+#line 9309 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 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:9316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_baddef_remove=no
 else
@@ -9290,7 +9320,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9294 "configure"
+#line 9324 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 		int __unlink(name) { return unlink(name); } 
@@ -9298,7 +9328,7 @@ int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:9302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_baddef_remove=yes
 else
@@ -9322,13 +9352,13 @@ EOF
 
 
 echo $ac_n "checking for lstat""... $ac_c" 1>&6
-echo "configure:9326: checking for lstat" >&5
+echo "configure:9356: 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 9332 "configure"
+#line 9362 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9337,7 +9367,7 @@ int main() {
 lstat(".", (struct stat *)0)
 ; return 0; }
 EOF
-if { (eval echo configure:9341: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_lstat=yes
 else
@@ -9371,12 +9401,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9375: checking for $ac_func" >&5
+echo "configure:9405: 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 9380 "configure"
+#line 9410 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9399,7 +9429,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9433: \"$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
@@ -9429,12 +9459,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9433: checking for $ac_func" >&5
+echo "configure:9463: 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 9438 "configure"
+#line 9468 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9457,7 +9487,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9491: \"$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
@@ -9488,12 +9518,12 @@ for ac_func in strstr
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:9492: checking for $ac_func declaration" >&5
+echo "configure:9522: 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 9497 "configure"
+#line 9527 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -9502,11 +9532,11 @@ extern	int	${ac_func}();
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9510 "configure"
+#line 9540 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -9515,7 +9545,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -9557,12 +9587,12 @@ for ac_func in getgrgid getgrnam
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:9561: checking for $ac_func declaration" >&5
+echo "configure:9591: 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 9566 "configure"
+#line 9596 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -9573,11 +9603,11 @@ extern	int	${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:9607: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 9581 "configure"
+#line 9611 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -9588,7 +9618,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:9592: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -9630,13 +9660,13 @@ done
 
 
 echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6
-echo "configure:9634: checking if TRUE/FALSE are defined" >&5
+echo "configure:9664: 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 9640 "configure"
+#line 9670 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -9645,7 +9675,7 @@ int main() {
 int x = TRUE, y = FALSE
 ; return 0; }
 EOF
-if { (eval echo configure:9649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9679: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_bool_defs=yes
 else
@@ -9672,13 +9702,13 @@ fi
 
 
 echo $ac_n "checking declaration of errno""... $ac_c" 1>&6
-echo "configure:9676: checking declaration of errno" >&5
+echo "configure:9706: checking declaration of errno" >&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 9682 "configure"
+#line 9712 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDLIB_H
@@ -9691,7 +9721,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:9695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9725: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'errno'=yes'
 else
@@ -9721,9 +9751,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
 EOF
 
     echo $ac_n "checking existence of errno""... $ac_c" 1>&6
-echo "configure:9725: checking existence of errno" >&5
+echo "configure:9755: checking existence of errno" >&5
         cat > conftest.$ac_ext <<EOF
-#line 9727 "configure"
+#line 9757 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -9733,7 +9763,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:9737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9767: \"$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
@@ -9763,20 +9793,20 @@ EOF
 
 
 echo $ac_n "checking for setlocale()""... $ac_c" 1>&6
-echo "configure:9767: checking for setlocale()" >&5
+echo "configure:9797: 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 9773 "configure"
+#line 9803 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 setlocale(LC_ALL, "")
 ; return 0; }
 EOF
-if { (eval echo configure:9780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_locale=yes
 else
@@ -9797,13 +9827,13 @@ EOF
 
 
 echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6
-echo "configure:9801: checking if NGROUPS is defined" >&5
+echo "configure:9831: 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 9807 "configure"
+#line 9837 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -9817,7 +9847,7 @@ int main() {
 int x = NGROUPS
 ; return 0; }
 EOF
-if { (eval echo configure:9821: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=yes
 else
@@ -9825,7 +9855,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9829 "configure"
+#line 9859 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -9839,7 +9869,7 @@ int main() {
 int x = NGROUPS_MAX
 ; return 0; }
 EOF
-if { (eval echo configure:9843: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9873: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=NGROUPS_MAX
 else
@@ -9873,13 +9903,13 @@ for cf_name in sys_nerr sys_errlist
 do
     
 echo $ac_n "checking declaration of $cf_name""... $ac_c" 1>&6
-echo "configure:9877: checking declaration of $cf_name" >&5
+echo "configure:9907: checking declaration of $cf_name" >&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 9883 "configure"
+#line 9913 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDLIB_H
@@ -9892,7 +9922,7 @@ int main() {
 long x = (long) $cf_name
 ; return 0; }
 EOF
-if { (eval echo configure:9896: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9926: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'$cf_name'=yes'
 else
@@ -9922,9 +9952,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
 EOF
 
     echo $ac_n "checking existence of $cf_name""... $ac_c" 1>&6
-echo "configure:9926: checking existence of $cf_name" >&5
+echo "configure:9956: checking existence of $cf_name" >&5
         cat > conftest.$ac_ext <<EOF
-#line 9928 "configure"
+#line 9958 "configure"
 #include "confdefs.h"
 
 #undef $cf_name
@@ -9934,7 +9964,7 @@ int main() {
 $cf_name = 2
 ; return 0; }
 EOF
-if { (eval echo configure:9938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9968: \"$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
@@ -9965,13 +9995,13 @@ done
 
 
 echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6
-echo "configure:9969: checking if struct utmp is declared" >&5
+echo "configure:9999: 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 9975 "configure"
+#line 10005 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9980,7 +10010,7 @@ int main() {
 struct utmp x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:9984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=yes
 else
@@ -9988,14 +10018,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 9992 "configure"
+#line 10022 "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:9999: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=utmpx
 else
@@ -10024,13 +10054,13 @@ EOF
 
 
 echo $ac_n "checking if character set is EBCDIC""... $ac_c" 1>&6
-echo "configure:10028: checking if character set is EBCDIC" >&5
+echo "configure:10058: 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 10034 "configure"
+#line 10064 "configure"
 #include "confdefs.h"
  
 int main() {
@@ -10043,7 +10073,7 @@ make an error "Character set is not EBCDIC"
 #endif 
 ; return 0; }
 EOF
-if { (eval echo configure:10047: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10077: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
    # TryCompile action if true
 cf_cv_ebcdic=yes 
@@ -10077,7 +10107,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:10081: checking if curses supports alternate-character set" >&5
+echo "configure:10111: 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
@@ -10085,7 +10115,7 @@ else
 for mapname in acs_map _acs_map
 do
 	cat > conftest.$ac_ext <<EOF
-#line 10089 "configure"
+#line 10119 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10094,7 +10124,7 @@ int main() {
 chtype x = $mapname['l']; $mapname['m'] = 0
 ; return 0; }
 EOF
-if { (eval echo configure:10098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10128: \"$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
@@ -10117,13 +10147,13 @@ EOF
 
 	
 echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6
-echo "configure:10121: checking if curses supports fancy attributes" >&5
+echo "configure:10151: 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 10127 "configure"
+#line 10157 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10136,7 +10166,7 @@ attrset(A_UNDERLINE|A_BOLD|A_REVERSE);
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_fancy_curses=yes
 else
@@ -10156,7 +10186,7 @@ EOF
 
 
 	echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:10160: checking for ncurses version" >&5
+echo "configure:10190: 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
@@ -10181,7 +10211,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:10185: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:10215: \"$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"
@@ -10190,7 +10220,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 10194 "configure"
+#line 10224 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10213,7 +10243,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:10217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10247: \"$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`
@@ -10233,13 +10263,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:10237: checking for obsolete/broken version of ncurses" >&5
+echo "configure:10267: 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 10243 "configure"
+#line 10273 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10253,7 +10283,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:10257: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -10278,13 +10308,13 @@ fi
 
 	
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:10282: checking if curses supports color attributes" >&5
+echo "configure:10312: 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 10288 "configure"
+#line 10318 "configure"
 #include "confdefs.h"
 
 #include <${cf_cv_ncurses_header-curses.h}>
@@ -10299,7 +10329,7 @@ chtype x = COLOR_BLUE;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -10326,7 +10356,7 @@ fi
 
 	
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:10330: checking declaration of size-change" >&5
+echo "configure:10360: 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
@@ -10340,7 +10370,7 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 10344 "configure"
+#line 10374 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if HAVE_TERMIOS_H
@@ -10379,7 +10409,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:10383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
@@ -10411,20 +10441,20 @@ EOF
 
 	
 echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6
-echo "configure:10415: checking if ttytype is declared in curses library" >&5
+echo "configure:10445: 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 10421 "configure"
+#line 10451 "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:10428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cf_cv_have_ttytype=yes
 else
@@ -10452,12 +10482,12 @@ EOF
 	
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10456: checking for $ac_func" >&5
+echo "configure:10486: 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 10461 "configure"
+#line 10491 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -10480,7 +10510,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:10484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10514: \"$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
@@ -10510,7 +10540,7 @@ fi
 
 
 echo $ac_n "checking if configuration info should be browsable""... $ac_c" 1>&6
-echo "configure:10514: checking if configuration info should be browsable" >&5
+echo "configure:10544: 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
@@ -10534,7 +10564,7 @@ EOF
 
 
 echo $ac_n "checking if new-style forms-based options screen should be used""... $ac_c" 1>&6
-echo "configure:10538: checking if new-style forms-based options screen should be used" >&5
+echo "configure:10568: 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
@@ -10558,7 +10588,7 @@ EOF
 
 
 echo $ac_n "checking if old-style options menu should be used""... $ac_c" 1>&6
-echo "configure:10562: checking if old-style options menu should be used" >&5
+echo "configure:10592: 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
@@ -10582,7 +10612,7 @@ EOF
 
 
 echo $ac_n "checking if experimental address-list page should be used""... $ac_c" 1>&6
-echo "configure:10586: checking if experimental address-list page should be used" >&5
+echo "configure:10616: 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
@@ -10606,7 +10636,7 @@ EOF
 
 
 echo $ac_n "checking if experimental alternative line-edit bindings should be used""... $ac_c" 1>&6
-echo "configure:10610: checking if experimental alternative line-edit bindings should be used" >&5
+echo "configure:10640: checking if experimental 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
@@ -10630,7 +10660,7 @@ EOF
 
 
 echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6
-echo "configure:10634: checking if color-style code should be used" >&5
+echo "configure:10664: 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
@@ -10660,10 +10690,6 @@ if test $use_color_style != no ; then
 EOF
 
 	cat >> confdefs.h <<\EOF
-#define USE_PSRC 1
-EOF
-
-	cat >> confdefs.h <<\EOF
 #define LINKEDSTYLES 1
 EOF
 
@@ -10682,7 +10708,7 @@ EOF
 	echo "$ac_t""yes" 1>&6
 
 	echo $ac_n "checking for location of style-sheet file""... $ac_c" 1>&6
-echo "configure:10686: checking for location of style-sheet file" >&5
+echo "configure:10712: 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"
@@ -10700,7 +10726,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:10704: checking if you want to use default-colors" >&5
+echo "configure:10730: 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
@@ -10725,7 +10751,7 @@ EOF
 fi
 
 echo $ac_n "checking if experimental keyboard-layout logic should be used""... $ac_c" 1>&6
-echo "configure:10729: checking if experimental keyboard-layout logic should be used" >&5
+echo "configure:10755: 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
@@ -10749,7 +10775,7 @@ EOF
 
 
 echo $ac_n "checking if experimental JavaScript support should be used""... $ac_c" 1>&6
-echo "configure:10753: checking if experimental JavaScript support should be used" >&5
+echo "configure:10779: 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
@@ -10773,7 +10799,7 @@ EOF
 
 
 echo $ac_n "checking if experimental persistent-cookie logic should be used""... $ac_c" 1>&6
-echo "configure:10777: checking if experimental persistent-cookie logic should be used" >&5
+echo "configure:10803: checking if experimental 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
@@ -10796,8 +10822,32 @@ test $use_filed_cookies != no && cat >> confdefs.h <<\EOF
 EOF
 
 
+echo $ac_n "checking if html source should be colorized""... $ac_c" 1>&6
+echo "configure:10827: checking if html source should be colorized" >&5
+
+# Check whether --enable-prettysrc or --disable-prettysrc was given.
+if test "${enable_prettysrc+set}" = set; then
+  enableval="$enable_prettysrc"
+  test "$enableval" != yes && enableval=no
+  if test "$enableval" != "no" ; then
+    use_prettysrc=$enableval 
+  else
+    use_prettysrc=no
+  fi
+else
+  enableval=no 
+  use_prettysrc=no
+  
+fi
+
+echo "$ac_t""$use_prettysrc" 1>&6
+test $use_prettysrc != no && cat >> confdefs.h <<\EOF
+#define USE_PSRC 1
+EOF
+
+
 echo $ac_n "checking if source caching should be used""... $ac_c" 1>&6
-echo "configure:10801: checking if source caching should be used" >&5
+echo "configure:10851: 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
@@ -10824,7 +10874,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use extended HTML DTD logic""... $ac_c" 1>&6
-echo "configure:10828: checking if you want to use extended HTML DTD logic" >&5
+echo "configure:10878: 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
@@ -10848,7 +10898,7 @@ EOF
 
 
 echo $ac_n "checking if partial-display should be used""... $ac_c" 1>&6
-echo "configure:10852: checking if partial-display should be used" >&5
+echo "configure:10902: checking if partial-display should be used" >&5
 
 # Check whether --enable-partial or --disable-partial was given.
 if test "${enable_partial+set}" = set; then
@@ -10872,7 +10922,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use external commands""... $ac_c" 1>&6
-echo "configure:10876: checking if you want to use external commands" >&5
+echo "configure:10926: 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
@@ -10896,7 +10946,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use setfont support""... $ac_c" 1>&6
-echo "configure:10900: checking if you want to use setfont support" >&5
+echo "configure:10950: 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
@@ -10920,7 +10970,7 @@ EOF
 
 
 echo $ac_n "checking if you want cgi-link support""... $ac_c" 1>&6
-echo "configure:10924: checking if you want cgi-link support" >&5
+echo "configure:10974: 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
@@ -10939,7 +10989,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if you want exec-links support""... $ac_c" 1>&6
-echo "configure:10943: checking if you want exec-links support" >&5
+echo "configure:10993: 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
@@ -10958,7 +11008,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if you want exec-scripts support""... $ac_c" 1>&6
-echo "configure:10962: checking if you want exec-scripts support" >&5
+echo "configure:11012: 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
@@ -10977,7 +11027,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if you want internal-links feature""... $ac_c" 1>&6
-echo "configure:10981: checking if you want internal-links feature" >&5
+echo "configure:11031: 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
@@ -11001,7 +11051,7 @@ EOF
 
 
 echo $ac_n "checking if you want to fork NSL requests""... $ac_c" 1>&6
-echo "configure:11005: checking if you want to fork NSL requests" >&5
+echo "configure:11055: 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
@@ -11025,7 +11075,7 @@ EOF
 
 
 echo $ac_n "checking if you want to log URL requests via syslog""... $ac_c" 1>&6
-echo "configure:11029: checking if you want to log URL requests via syslog" >&5
+echo "configure:11079: 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
@@ -11049,7 +11099,7 @@ EOF
 
 
 echo $ac_n "checking if you want to underline links""... $ac_c" 1>&6
-echo "configure:11053: checking if you want to underline links" >&5
+echo "configure:11103: checking if you want to underline links" >&5
 
 # Check whether --enable-underlines or --disable-underlines was given.
 if test "${enable_underlines+set}" = set; then
@@ -11073,7 +11123,7 @@ EOF
 
 
 echo $ac_n "checking if help files should be gzip'ed""... $ac_c" 1>&6
-echo "configure:11077: checking if help files should be gzip'ed" >&5
+echo "configure:11127: 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
@@ -11102,7 +11152,7 @@ fi
 
 
 echo $ac_n "checking if you want to use zlib for decompression of some gzip files""... $ac_c" 1>&6
-echo "configure:11106: checking if you want to use zlib for decompression of some gzip files" >&5
+echo "configure:11156: 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
@@ -11119,12 +11169,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:11123: checking for gzopen" >&5
+echo "configure:11173: 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 11128 "configure"
+#line 11178 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gzopen(); below.  */
@@ -11147,7 +11197,7 @@ gzopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11201: \"$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
@@ -11167,17 +11217,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6
-echo "configure:11171: checking for gzopen in -lz" >&5
+echo "configure:11221: checking for gzopen in -lz" >&5
 		LIBS="-lz $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 11174 "configure"
+#line 11224 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:11181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11231: \"$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
@@ -11204,17 +11254,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:11208: checking for -lz in $cf_libdir" >&5
+echo "configure:11258: checking for -lz in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lz $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 11211 "configure"
+#line 11261 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:11218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11268: \"$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
@@ -11250,7 +11300,7 @@ EOF
 fi
 
 echo $ac_n "checking if you want to exclude FINGER code""... $ac_c" 1>&6
-echo "configure:11254: checking if you want to exclude FINGER code" >&5
+echo "configure:11304: 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
@@ -11274,7 +11324,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude GOPHER code""... $ac_c" 1>&6
-echo "configure:11278: checking if you want to exclude GOPHER code" >&5
+echo "configure:11328: 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
@@ -11298,7 +11348,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude NEWS code""... $ac_c" 1>&6
-echo "configure:11302: checking if you want to exclude NEWS code" >&5
+echo "configure:11352: 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
@@ -11322,7 +11372,7 @@ EOF
 
 
 echo $ac_n "checking if you want to exclude FTP code""... $ac_c" 1>&6
-echo "configure:11326: checking if you want to exclude FTP code" >&5
+echo "configure:11376: 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
@@ -11351,7 +11401,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:11355: checking if directory-editor code should be used" >&5
+echo "configure:11405: 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
@@ -11377,7 +11427,7 @@ EOF
 
 
 	echo $ac_n "checking if you wish to allow extracting from archives via DirEd""... $ac_c" 1>&6
-echo "configure:11381: checking if you wish to allow extracting from archives via DirEd" >&5
+echo "configure:11431: 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
@@ -11396,7 +11446,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:11400: checking if you wish to allow users to redefine DirEd keys" >&5
+echo "configure:11450: 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
@@ -11422,7 +11472,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:11426: checking if you wish to allow permissions commands via DirEd" >&5
+echo "configure:11476: 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
@@ -11448,7 +11498,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:11452: checking if you wish to allow executable-permission commands via DirEd" >&5
+echo "configure:11502: 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
@@ -11467,7 +11517,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:11471: checking if you wish to allow "tar" commands from DirEd" >&5
+echo "configure:11521: 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
@@ -11493,7 +11543,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:11497: checking if you wish to allow "uudecode" commands from DirEd" >&5
+echo "configure:11547: 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
@@ -11519,7 +11569,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:11523: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
+echo "configure:11573: 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
@@ -11545,7 +11595,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:11549: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
+echo "configure:11599: 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
@@ -11572,7 +11622,7 @@ fi
 fi
 
 echo $ac_n "checking if you want long-directory listings""... $ac_c" 1>&6
-echo "configure:11576: checking if you want long-directory listings" >&5
+echo "configure:11626: 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
@@ -11598,7 +11648,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6
-echo "configure:11602: checking if parent-directory references are permitted" >&5
+echo "configure:11652: 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
@@ -11618,7 +11668,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:11622: checking if we can include termio.h with curses" >&5
+echo "configure:11672: 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
@@ -11627,7 +11677,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 11631 "configure"
+#line 11681 "configure"
 #include "confdefs.h"
 
 #include <LYCurses.h>
@@ -11636,7 +11686,7 @@ int main() {
 putchar(0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:11640: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_curses=yes
 else
@@ -11665,7 +11715,7 @@ srcdir="$srcdir"
 SRCDIR_CLEAN="#"
 if test -n "$srcdir" ; then
 	echo srcdir is $srcdir
-	$srcdir/mkdirs.sh WWW/Library/unix
+	$srcdir/mkdirs.sh WWW/Library/Implementation
 	$srcdir/mkdirs.sh src/chrtrans
 	test "$USE_INCLUDED_LIBINTL" = yes && $srcdir/mkdirs.sh intl
 	test "$srcdir" != "." && SRCDIR_CLEAN=""
@@ -11777,7 +11827,7 @@ ac_given_srcdir=$srcdir
 ac_given_INSTALL="$INSTALL"
 
 trap 'rm -fr `echo "makefile \
-	WWW/Library/unix/makefile \
+	WWW/Library/Implementation/makefile \
 	src/makefile \
 	src/chrtrans/makefile \
 	$SUB_MAKEFILE
@@ -11927,7 +11977,7 @@ EOF
 cat >> $CONFIG_STATUS <<EOF
 
 CONFIG_FILES=\${CONFIG_FILES-"makefile \
-	WWW/Library/unix/makefile \
+	WWW/Library/Implementation/makefile \
 	src/makefile \
 	src/chrtrans/makefile \
 	$SUB_MAKEFILE
diff --git a/configure.in b/configure.in
index 0a01f9a2..96b86b37 100644
--- a/configure.in
+++ b/configure.in
@@ -9,11 +9,12 @@ rm -f config.cache
 AC_INIT(userdefs.h)
 AC_CONFIG_HEADER(lynx_cfg.h:config.hin)
 
+CF_CHECK_CACHE
+
 dnl Set of available languages (wishful thinking :-).
 ALL_LINGUAS="de es fr it ko nl no pl pt sl sv"
 
 AC_PREFIX_DEFAULT(/usr/local)
-AC_CANONICAL_HOST
 
 dnl --------------------------------------------------------------------------
 dnl Checks for location of programs
@@ -582,7 +583,6 @@ if test $use_color_style != no ; then
 		AC_ERROR(Configuration does not support color-styles)
 	fi
 	AC_DEFINE(USE_HASH)
-	AC_DEFINE(USE_PSRC)
 	AC_DEFINE(LINKEDSTYLES)
 fi
 
@@ -642,6 +642,14 @@ CF_ARG_ENABLE(persistent-cookies,
 AC_MSG_RESULT($use_filed_cookies)
 test $use_filed_cookies != no && AC_DEFINE(EXP_PERSISTENT_COOKIES)
 
+AC_MSG_CHECKING(if html source should be colorized)
+CF_ARG_ENABLE(prettysrc,
+[  --enable-prettysrc      colorize HTML source],
+	[use_prettysrc=$enableval],
+	[use_prettysrc=no])
+AC_MSG_RESULT($use_prettysrc)
+test $use_prettysrc != no && AC_DEFINE(USE_PSRC)
+
 AC_MSG_CHECKING(if source caching should be used)
 CF_ARG_ENABLE(source-cache,
 [  --enable-source-cache   cache HTML source for parse mode changes],
@@ -813,7 +821,7 @@ Directory Editor Options:)
 # or modified at run time via DIRED_MENU symbols in lynx.cfg.
 AC_MSG_CHECKING(if directory-editor code should be used)
 CF_ARG_DISABLE(dired,
-[  --disable-dired          enable optional directory-editor, DirEd],
+[  --disable-dired          disable optional directory-editor, DirEd],
 	[use_dired=$enableval],
 	[use_dired=yes])
 AC_MSG_RESULT($use_dired)
@@ -886,7 +894,7 @@ srcdir="$srcdir"
 SRCDIR_CLEAN="#"
 if test -n "$srcdir" ; then
 	echo srcdir is $srcdir
-	$srcdir/mkdirs.sh WWW/Library/unix
+	$srcdir/mkdirs.sh WWW/Library/Implementation
 	$srcdir/mkdirs.sh src/chrtrans
 	test "$USE_INCLUDED_LIBINTL" = yes && $srcdir/mkdirs.sh intl
 	test "$srcdir" != "." && SRCDIR_CLEAN=""
@@ -898,7 +906,7 @@ AC_SUBST(CONFIG_SHELL)
 AC_SUBST(SRCDIR_CLEAN)
 AC_OUTPUT(
 	[makefile \
-	WWW/Library/unix/makefile \
+	WWW/Library/Implementation/makefile \
 	src/makefile \
 	src/chrtrans/makefile \
 	$SUB_MAKEFILE
diff --git a/docs/INSTALLATION.old b/docs/INSTALLATION.old
deleted file mode 100644
index 741267cf..00000000
--- a/docs/INSTALLATION.old
+++ /dev/null
@@ -1,399 +0,0 @@
-For a description of Lynx please read the README file.
-
-        Lynx Installation guide.
-
-        Last Updated February 1997
-
-UNIX & VMS Step 1a.
-    Most of the variables that you are likely to change are in the
-    userdefs.h file.  There are a few that you must change or verify,
-    and a few more that you will probably want to change.  The variables
-    that must be changed are marked as such in the userdefs.h file.
-    Just edit it and the changes should be straight forward.  You also
-    should check LYMessages_en.h for tailoring the Lynx statusline
-    prompts, messages and warnings to requirements of your site.
-
-    NOTE: Many of the variables in userdefs.h are now configurable in
-	  the lynx.cfg file.  Please read the lynx.cfg file as well.
-	  Also see the example mime.types, mailcap and jumps files
-	  in the samples subdirectory.
-
-UNIX & VMS Step 1b. (optional)
-    Set up local printers and downloaders
-    in the lynx.cfg file.  (see lynx.cfg for details)
-
-UNIX & VMS Step 1c. (optional)
-      If your system requires the PASV FTP code instead of
-      the standard PORT FTP code (e.g., to deal with a
-      firewall) then edit WWW/Library/Implementation/HTFTP.c
-      and comment out line 43 like so:
-      /*  #define LISTEN   /* @@@@ Test LJM */
-      On Unix you can define NOPORT in the top Makefile instead
-      of changing HTFTP.c
-
-UNIX Extra Step: !! CONFIGURATION !!
-    There now is a configure script which takes care of system-dependent
-    setting automatically.  See the file README.configure for more details.
-    You may want to run "./configure --help" first to see what flags are
-    available.
-
-    Run configure, eg "./configure", and
-    wait while it figures out what software is on your
-    computer, what type of computer and operating system
-    you have, etc, and then finally uses makefile.in
-    to produce the makefile that will get used when
-    you finally (later on) say "make".
-
-    The rest of this file has not yet been updated for installation with
-    the configure script.  The information in README.configure is newer
-    and should be consulted.  In particular UNIX Steps 1f and 2 below should
-    not be necessary on most systems after "./configure" has been run
-    (running "make" is of course still required, but it does not reqire
-    specifying a system type).  Other points mostly still apply.  If you
-    need or want to make manual change in addition to the auto configuration,
-    note that "makefile" is now used instead of "Makefile".
-
-UNIX Step 1d.  (WAIS support is built into Lynx for VMS, skip to step 1e)
-    Adding Direct WAIS support.
-    Get the freeWAIS distribution from:
-    	ftp://ftp.cnidr.org/pub/NIDR.tools/freewais
-    and compile it.  The compile process will create some libraries, you will
-    need wais.a and client.a.  Edit the Makefile in the top level  directory
-    and add the library locations under the DIRECT WAIS ACCESS heading.
-    Edit the Makefile for the WWW Library in the
-    WWW/Library/Implementation/CommonMakefile to make the WAIS.c sources
-    in the library.  If everything goes well you should
-    be able to make and have direct WAIS access.
-
-UNIX & VMS Step 1e.
-    Adding NEWS support.
-    To set your site's NTTP server as the default host for news reading
-    and posting via Lynx, set the environment variable NNTPSERVER so that
-    it points to its Internet address (see Step 5).
-
-    For news posting ability to be enabled in Lynx, in userdefs.h (and
-    optionally in lynx.cfg) the NEWS_POSTING symbol must be defined to
-    TRUE.  Also define LYNX_SIG_FILE in usersdefs.h or lynx.cfg so that
-    it points to users' signature files for appending to posted messages.
-    For the Organization: header in news postings, Lynx checks for an
-    ORGANIZATION or NEWS_ORGANIZATION environment variable.  On Unix,
-    Lynx also checks for an /etc/organization file.
-
-UNIX Step 1f. (Sun systems)
-    Sun resolv library.
-    On Sun systems you may need to define RESOLVLIB in the top Makefile
-    to enable access to remote hosts.  See the comments in the Makefile
-    and PROBLEMS file for more information.
-
-VMS Step 1f.
-    Downloading binary files.
-    Lynx must handle all IO as streams, and on VMS, output files are always
-    created with Stream_LF format via the C RTL's fopen().  The file headers
-    indicate Implied Carriage Control, even when the transfer was in binary
-    mode, which can confuse downloading software and cause corruption of
-    the file contents.  To deal with this, you should define the symbol
-    USE_FIXED_RECORDS as TRUE in userdefs.h and/or lynx.cfg.  This will
-    instruct Lynx to correct the header information to indicate FIXED 512
-    records, with No Implied Carriage Control.  If Lynx fails to do the
-    conversion (because the file wasn't mapped to a binary MIME type) you can
-    execute FIXED512.COM externally to correct the header information.  The
-    command file uses Joe Meadow's FILE utility, or the SET FILE/ATTRIBUTES
-    command on current versions of VMS, to modify the headers.  See the
-    comments in FIXED512.COM, userdefs.h and lynx.cfg for more information.
-
-
-UNIX Step 2.
-    VMS users skip to 'VMS step 2'
-
-    Check the top level Makefile for any site-specific definitions
-    you require or desire.  Then, you should be ready to compile!
-
-    If you type "make" with no arguments you will see a list of
-    supported systems.  If your system type IS listed you just
-    need to type "make SYSTEM_TYPE".  For instance, if you are
-    running under IBM's RS/6000 AIX 3.2 you would just type
-    "make aix32".  If you were running Ultrix you would type
-    "make ultrix".
-
-    If you are on a SUN workstation and do not have 'gcc' you
-    may change 'gcc' to '/usr/5bin/cc' in the Makefile
-
-    If you are on a system that is not listed in the makefile it may be
-    more difficult.  The first thing you should try is just "make generic",
-    this will compile with the "fancy_curses" option, and will give a much
-    nicer screen display.  If it doesn't compile or if the screen display
-    looks strange (real strange), try compiling with the "low_curses" option.
-    Edit the Makefile and remove the '-DFANCY_CURSES' definition under the
-    'generic:' entry.  There may be some compatibility problems on some
-    systems, but we don't know what they might be at this point.  If you
-    are running on a currently unsupported system please contact us via
-    the lynx-dev email list (see RELEASE_STATEMENT).  If there are any
-    problems we will try to fix them as soon as possible.
-
-VMS step 2.
-    Lynx uses the VMS port of gzip for uncompressing streams which have
-    Content-Encoding headers indicated compression with gzip or the
-    Unix compress.  If you do not have gzip installed on your system
-    you can get it from ftp://ftp.wku.edu/ in the fileserv directory.
-    The command Lynx uses to uncompress on VMS is "gzip -d".
-
-    If you are using the SOCKETSHR library, read SOCKETSHR.announce and
-    make sure you have defined SOCKETSHR and SOCKETSHR_LIBRARY as explained
-    therein.
-
-    A "build.com" and "build-slang.com" script for building Lynx with curses
-    or slang is in the top level directory.  All you have to do is type
-    "@build" or "@build-slang" and answer its prompt for your system's TCP-IP
-    software.  Current choices are:
-           MULTINET (default)
-	   UCX
-	   WIN_TCP
-           CMU_TCP
-	   SOCKETSHR_TCP
-	   TCPWARE
-    It will autosense whether you have VAXC, DECC or GNUC on VAX or AXP
-    and build appropriately.  If a WWWLib already exists for that TCP-IP
-    software, it will prompt you for whether you want to rebuild it.  If
-    you want to build a WWWLib separately, you can type "@libmake.com"
-    with your default directory set to [.WWW.Library.vms] instead doing
-    it via "build.com" in the top directory.  You may need to modify
-    "build-slang.com", as described in its header, so that it can find
-    slang.olb on your system.  If you have both DECC and VAXC, it will
-    use DECC to benefit from the newer and more efficient memory management
-    functions.
-
-    (optional compilation method)
-    If you have and want to use MMS, read the header of descrip.mms
-    in the top directory and be sure you include the appropriate macro
-    definitions when you invoke it:
-	$ MMS /Macro = (MULTINET=1)		for VAXC - MultiNet
-	$ MMS /Macro = (WIN_TCP=1)		for VAXC - Wollongong TCP/IP
-	$ MMS /Macro = (UCX=1)			for VAXC - UCX
-	$ MMS /Macro = (CMU_TCP=1)		for VAXC - OpenCMU TCP/IP
-	$ MMS /Macro = (SOCKETSHR_TCP=1)	for VAXC - SOCKETSHR/NETLIB
-	$ MMS /Macro = (TCPWARE=1)		for VAXC - TCPWare TCP/IP
-
-	$ MMS /Macro = (MULTINET=1, DEC_C=1)	for DECC - MultiNet
-	$ MMS /Macro = (WIN_TCP=1, DEC_C=1)	for DECC - Wollongong TCP/IP
-	$ MMS /Macro = (UCX=1, DEC_C=1)		for DECC - UCX
-	$ MMS /Macro = (CMU_TCP=1, DEC_C=1)	for DECC - OpenCMU TCP/IP
-	$ MMS /Macro = (SOCKETSHR_TCP=1,DEC_C=1) for DECC - SOCKETSHR/NETLIB
-	$ MMS /Macro = (TCPWARE=1, DEC_C=1)	for DECC - TCPWare TCP/IP
-
-	$ MMS /Macro = (MULTINET=1, GNU_C=1)	for GNUC - MultiNet
-	$ MMS /Macro = (WIN_TCP=1, GNU_C=1)	for GNUC - Wollongong TCP/IP
-	$ MMS /Macro = (UCX=1, GNU_C=1)		for GNUC - UCX
-	$ MMS /Macro = (CMU_TCP=1, GNU_C=1)	for GNUC - OpenCMU TCP/IP
-	$ MMS /Macro = (SOCKETSHR_TCP=1,GNU_C=1) for GNUC - SOCKETSHR/NETLIB
-	$ MMS /Macro = (TCPWARE=1, GNU_C=1)	for GNUC - TCPWare TCP/IP
-
-        If you just type "MMS" it will default to the MULTINET and VAXC
-	configuration.  MMS will build the WWW library and Lynx sources,
-	and link the executable.  However, not all of the header dependencies
-	are specified.  If you are not a developer, and need a clean build,
-	you should use build.com instead of the MMS utility.
-
-    If you want SOCKS support on VMS, you must add SOCKS as a compilation
-    definition, and the SOCKS library to the link command.  However, instead
-    of SOCKSifying Lynx for use behind a firewall, you are better off if you
-    build Lynx normally, and set up Lynx to use a proxy server (see below).
-    You instead can SOCKSify the proxy server, and it will handle all clients,
-    not just Lynx.
-
-
-UNIX Step 3.
-    Go ahead and test it out with the about_lynx/about_lynx.html file.
-    You shouldn't need to install Lynx to test it.
-    Once you are satisfied that it works, go ahead and install it.
-
-	VERY IMPORTANT!!!!!
-	    If you are setting up an anonymous account with Lynx you
-	    are strongly advised to use the -anonymous command line
-	    option.  If you do not use this option, users may be able
-	    to gain access to all readable files on your machine.
-	    ALSO NOTE that many implementations of telnetd allow passing
-	    of environment variables, which might be used by unscrupulous
-	    people to modify the environment in anonymous accounts.  When
-	    making Lynx and Web access publicly available via anonymous
-	    accounts intended to run Lynx captively, be sure the wrapper
-	    uses the -cfg switch and specifies the startfile, rather than
-	    relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
-
-VMS Step 3.
-    Go ahead and test it out with the [.about_lynx]about_lynx.html file.
-    You shouldn't need to install Lynx to test it.
-    Once you are satisfied that it works, go ahead and install it.
-
-	VERY IMPORTANT!!!!!
-	    If you are setting up an anonymous account with Lynx you
-	    are strongly advised to use the -anonymous command line
-	    option.  If you do not use this option, users will be able
-	    to gain access to all readable files on your machine.
- 	    ALSO NOTE that some implementations of telnet allow passing
-	    of environment variables, which might be used by unscrupulous
-	    people to modify the environment in anonymous accounts.  When
-	    making Lynx and Web access publicly available via anonymous
-	    accounts intended to run Lynx captively, be sure the wrapper
-	    uses the -cfg switch and specifies the startfile, rather than
-	    relying on the LYNX_CFG, LYNX_CFG_FILE, or WWW_HOME variables.
-
-
-UNIX Step 4. (Installation)
-    Lynx is very easy to install, if you want Lynx installed anywhere
-    besides "/usr/local/bin", with the man files in "/usr/man/man1", you
-    need to edit the Makefile and change the "exec" and "doc" defines.
-    Otherwise just "su" to root and type "make install" and make will
-    copy "lynx", "lynx.cfg" and  "lynx.1" to the specified directories.
-    Those are the only two files necessary to run Lynx.
-    lynx.1 isn't really necessary, but it should be available.
-    lynx.cfg isn't absolutely necessary either but is the only way
-    to configure printers and downloaders (and uploaders if DIRED_SUPPORT
-    is implemented), so it is highly recommended.
-    Also check out the mailcaps, mime.types and jumps file samples in the
-    samples directory.
-
-VMS Step 4.
-    You need to have the executable in a public place, make it accessible,
-    define it as a foreign command, and copy lynx.cfg to "Lynx_Dir".  Look
-    at lynx.com in the samples directory as a model for installing Lynx.
-    Also check out the mailcaps, mime.types and jumps file samples in the
-    samples directory.  To include lynx.hlp in the system HELP library,
-    use the command:
-
-    		$ library/replace sys$help:helplib.hlb lynx.hlp
-
-
-UNIX and VMS Step 5.
-    Lynx uses some environment variables to regulate it's behavior.
-
-    The variable "NNTPSERVER" is used to specify the host which will
-    be used as the default for news URLs.
-
-	UNIX
-		setenv NNTPSERVER "news.server.dom"
-
-	VMS
-		define/system NNTPSERVER "news.server.dom"
-
-
-    The environment variables "ORGANIZATION" or "NEWS_ORGANIZATION", if set,
-    will be used for the Organization: header in news postings.
-
-
-    The environment variable "LYNX_CFG", if set, will override the default
-    location and name of the global configuration file (lynx.cfg) that was
-    defined via the constant "LYNX_CFG_FILE" in userdefs.h.  See userdefs.h
-    for more information.
-
-
-    The environment variable "LYNX_TEMP_SPACE", if set, will override the
-    default path prefix for temporary files that was defined via the constant
-    "TEMP_SPACE" in userdefs.h.  See userdefs.h for more information.
-
-
-    The environment variable "LYNX_SAVE_SPACE", if set, will override the
-    default path prefix for files saved to disk that was defined via the
-    constant "SAVE_SPACE" in lynx.cfg.  See lynx.cfg for more information.
-
-
-    The variable "WWW_HOME", if set, will override the default startup
-    URL specified in any of the configuration files.
-
-
-    Lynx still supports use of gateway servers, with the servers specified
-    via the variables "WWW_access_GATEWAY", where "access" is lower case
-    and can be "http", "ftp", "gopher" or "wais".  Most of the gateway
-    servers have been discontinued, but "http://www.w3.org:8001" is
-    available for wais searches (note that you do not include a terminal
-    '/' for gateways, but do for proxies; see below).
-
-
-    Lynx version 2.2 and beyond supports the use of proxy servers that can
-    act as firewall gateways and caching servers.  They are preferable to
-    the older gateway servers.  Each protocol used by Lynx can be mapped
-    separately using PROTOCOL_proxy environment variables of the form:
-
-        UNIX
-                setenv http_proxy "http://some.server.dom:port/"
-                setenv https_proxy "http://some.server.dom:port/"
-                setenv ftp_proxy "http://some.server.dom:port/"
-                setenv gopher_proxy "http://some.server.dom:port/"
-                setenv news_proxy "http://some.server.dom:port/"
-                setenv newspost_proxy "http://some.server.dom:port/"
-                setenv newsreply_proxy "http://some.server.dom:port/"
-                setenv snews_proxy "http://some.server.dom:port/"
-                setenv snewspost_proxy "http://some.server.dom:port/"
-                setenv snewsreply_proxy "http://some.server.dom:port/"
-                setenv nntp_proxy "http://some.server.dom:port/"
-                setenv wais_proxy "http://some.server.dom:port/"
-                setenv finger_proxy "http://some.server.dom:port/"
-                setenv cso_proxy "http://some.server.dom:port/"
-
-        VMS
-                define "http_proxy" "http://some.server.dom:port/"
-                define "https_proxy" "http://some.server.dom:port/"
-                define "ftp_proxy" "http://some.server.dom:port/"
-                define "gopher_proxy" "http://some.server.dom:port/"
-                define "news_proxy" "http://some.server.dom:port/"
-                define "newspost_proxy" "http://some.server.dom:port/"
-                define "newsreply_proxy" "http://some.server.dom:port/"
-                define "snews_proxy" "http://some.server.dom:port/"
-                define "snewspost_proxy" "http://some.server.dom:port/"
-                define "snewsreply_proxy" "http://some.server.dom:port/"
-                define "nntp_proxy" "http://some.server.dom:port/"
-                define "wais_proxy" "http://some.server.dom:port/"
-                define "finger_proxy" "http://some.server.dom:port/"
-                define "cso_proxy" "http://some.server.dom:port/"
-                (Encase *BOTH* strings in double-quotes to maintain
-		 lower case for the PROTOCOL_proxy variable and for
-		 the http access type; include /system if you want
-		 proxying for all clients on your system.)
-
-    If you wish to override the use of a proxy server for specific hosts or
-    entire domains you may use the "no_proxy" environment variable.  Here is
-    an example use of "no_proxy":
-
-        UNIX
-                setenv no_proxy "host.domain.dom, domain1.dom, domain2"
-
-        VMS
-                define "no_proxy" "host.domain.dom, domain1.dom, domain2"
-
-    You can include a port number in the no_proxy list to override use
-    of a proxy server for the host accessed via that port, but not via
-    other ports.  For example, if you use "host.domain.dom:119" and/or
-    "host.domain.dom:210", then news (port 119) URLs and/or any wais
-    (port 210) searches on that host would be excluded, but http, ftp,
-    and gopher services (if normally proxied) would still be included,
-    as would any news or wais services on other hosts.
-
-    If you wish to override the use of a proxy server completely (i.e.,
-    globally override any existing proxy variables), set the value of
-    "no_proxy" to "*".
-
-    Note that Lynx treats file URLs on the local host as requests for
-    direct access to the file, and does not attempt ftp if that fails.
-    It treats both ftp URLs and file URLs on remote hosts as ftp URLs,
-    and does not attempt direct file access for either.  If ftp URLs are
-    being proxied, file URLs on a remote host will be converted to ftp
-    URLs before submission by Lynx to the proxy server, so no special
-    procedure for inducing the proxy server to handle them is required.
-    Other WWW clients may require that the http server's configuration
-    file have "Map file:* ftp:*" in it to perform that conversion.
-
-    The proxy and no_proxy variables also can be set at run time via
-    lynx.cfg.
-
-    Copies of the Lynx online help are included in the lynx_help
-    subdirectory tree and should be made accessible in response to
-    the Lynx 'h'elp command by defining HELPFILE in userdefs.h and/or
-    lynx.cfg to an appropriate file://localhost/path URL.
-
-
-UNIX & VMS Step 6. (Hopefully Optional)
-    If something doesn't work, or you can't get it to compile at all, or
-    you can't figure out what one of the defines means, or if you just
-    want to make a comment, send an email message to the Lynx-Dev mailing
-    list (see the README file about subscribing to Lynx-Dev).  Until Lynx
-    has been ported to all the world's operating systems, we expect there
-    will be some compatibility problems, but we'll do our best to help you.
diff --git a/docs/Makefile.old b/docs/Makefile.old
deleted file mode 100644
index ff500458..00000000
--- a/docs/Makefile.old
+++ /dev/null
@@ -1,1104 +0,0 @@
-##makefile for lynx
-
-SHELL = /bin/sh
-
-##uncomment the next line if your make fails to set $(MAKE)
-#MAKE= make
-
-##this is the name of the directory the lynx source code is in.
-##(e.g., lynx2-7-1, not the full path)
-lynxdir= lynx2-7-1
-
-##this is the filename for .zip, .tar and .tar.Z archives.
-lynxname= lynx2-7-1
-
-##change the next line if you want lynx installed somewhere
-##besides /usr/local/bin
-exec= /usr/local/bin
-
-##change the next line if you want the lynx man file installed somewhere
-##besides /usr/local/man/man1
-doc= /usr/local/man/man1
-
-##change the next line if you want the lynx.cfg file installed somewhere
-##besides /usr/local/lib
-cfg= /usr/local/lib
-
-installbin= install -c -s -m 755
-installdoc= install -c -m 444
-
-##set the relative location of the WWW library Implementation directory,
-##from this directory
-##do not set this to be an absolute path!!!
-WWWINC= WWW/Library/Implementation
-
-# !!!!!!!!!!! SUN resolv LIBRARY !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# To include resolv in the LIBS="" list for SUN 3, 4 or Solaris OS,
-# point RESOLVLIB to that library.  You need this if you get the message
-# "Alert!:  Unable to connect to remote host" whenever you try to
-# access a host other than localhost and have made Lynx without it.
-# See the PROBLEMS file for more information.
-#RESOLVLIB= -lresolv
-
-# !!!!!!!!!!! Alternate socket functions for SOCKS !!!!!!!!!!!!!!!!!!
-# To make a SOCKSified lynx, include -DSOCKS in your SITE_LYDEFS and
-# SITE_DEFS, below, and point SOCKSLIB to your SOCKS library.  Note
-# that you may have problems 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 (see the INSTALLATION file in this distribution).  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.
-#SOCKSLIB= /usr/local/lib/libsocks.a
-
-# !!!!!!!!!!!!!  DIRECT WAIS ACCESS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# If you are adding direct wais access you must fill in the
-# location of wais.a, client.a and the standard math library, libm.a.
-# You can pick up the most current freeWAIS sources from
-#	ftp://ftp.cnidr.org/pub/NIDR.tools/freewais
-# If you are using freeWAIS-0.202 or older, include -DDECLARE_WAIS_LOGFILES
-# in your SITE_DEFS.
-# Plese put an ABSOLUTE address here if you want it to work!
-#WAISLIB= ../../freeWAIS-0.202/bin/client.a ../../freeWAIS-0.202/bin/wais.a /usr/lib/libm.a
-
-# !!!!!!!!!!!!! SLANG Support (For color version of Lynx). !!!!!!!!!!!!!!!!
-# The slang library is an alternative to curses, developed by John E. Davis
-# (davis@space.mit.edu).  Version 0.99-27 or higher is available from
-#	ftp://space.mit.edu/pub/davis
-# It provides color support for Lynx.  If you wish to try it and are not
-# on a supported system (see list, below), include -DUSE_SLANG in your
-# SITE_DEFS and define the locations of the slang library (libslang.a)
-# and headers (slang.h and slcurses.h) here.  They may be left commented
-# out if the library and headers are in their canonical locations (usr/lib,
-# and usr/include).
-#SLANGINC = -I../../slang/src#              location of slang.h and slcurses.h
-#SLANGLIB = -L../../slang/src/$(ARCH)objs#  location of libslang.a
-#SLANGRRLIB = -R../../slang/src/$(ARCH)objs# for solaris
-
-# !!!!!!!!!!! Support for Character Styles !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# Comment out the following lines if you do *not* want to activate
-# Rob Partington's Character Style color support code (which may currently
-# only work with ncurses, not other curses or the slang library).
-# Or modify and experiment...  -kw
-# RP_LYDEFS = -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH
-# RP_DEFS = -DUSE_COLOR_STYLE -DUSE_HASH
-
-# !!!!!!!!!!! Lynx Local Directory Listing Formats !!!!!!!!!!!!!!!!!!!!!!!!!!!
-# Lynx supports "ls -l" format for local directory listings on Unix if the
-# LONG_LIST compilation symbol is defined, and includes links to the parent
-# directory if the compilation symbol NO_PARENT_DIR_REFERENCE is not defined.
-# If "ls -l" format is enabled here, the listing format can be modifed via a
-# LIST_FORMAT symbol in userdefs.h and/or lynx.cfg.  Otherwise, only file and
-# directory names will be included in the listings.
-#
-# If you are not including DirEd Support (see below) and wish to disable
-# "ls -l" emulation in local directory listings, prepend "#" to this line:
-DIR_LONG_LIST =   -DLONG_LIST
-#
-# To disable "Up to" parent links in local directory listings,
-# remove "#" from this line:
-#DIR_PARENT =  -DNO_PARENT_DIR_REFERENCE
-
-# !!!!!!!!!!! Lynx DirEd Support !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# Lynx now supports directory editing (DirEd) for local directories.
-# This allows users to do things like view, copy, & remove files using
-# a tabular display of the directory & single-keystroke commands instead
-# of using the command line.  From inside Lynx, the keystroke sequence
-# "g.<enter>" switches Lynx to DirEd mode on the current directory.
-# If you're building a Lynx that is to be used as a kind of restricted
-# shell for users who do not have access to the command line & should
-# not have access to equivalent capabilities, you need to disable DirEd
-# here.  You can also disable some DirEd functions while allowing others.
-#
-# DirEd functions are disabled by inserting or removing "#" signs at
-# the beginnings of lines that contain variable assignments here.
-# All DirEd functions that were enabled on compilation can be disabled
-# or modified at run time via DIRED_MENU symbols in lynx.cfg.
-#
-# To disable DirEd completely, prepend "#" to this line:
-DIRED_SUPPORT     =   -DDIRED_SUPPORT
-#(If you have disabled DirEd completely, you can ignore all the
-#other DirEd stuff here.)
-#
-# To prevent DirEd from extracting files from an archive file,
-# remove "#" from this line:
-#DIRED_ARCHIVE   =  -DARCHIVE_ONLY
-#
-# To prevent DirEd from using the tar program, prepend "#" to this line:
-DIRED_TAR   =   -DOK_TAR
-#
-# To prevent DirEd from using zip & unzip, prepend "#" to this line:
-DIRED_ZIP   =   -DOK_ZIP
-#
-# To prevent DirEd from using gzip & gunzip, prepend "#" to this line:
-DIRED_GZIP   =   -DOK_GZIP
-#
-# To prevent DirEd from using uudecode, prepend "#" to this line:
-DIRED_UUDECODE   =   -DOK_UUDECODE
-#
-# Lynx users can customize their keymaps by creating private versions
-# of lynx.cfg & modifying them, overriding the default keymap.
-# To prevent DirEd keymap overriding, prepend "#" to this line:
-DIRED_OVERRIDE   =   -DOK_OVERRIDE
-#
-# To prevent DirEd from changing the permissions on directories or files
-# (i.e., from doing what the Unix chmod command or the DOS attrib command
-# does), prepend "#" to this line:
-DIRED_PERMIT   =   -DOK_PERMIT
-#
-# If you do not comment out the DIRED_PERMIT line, but want to restrict
-# changes of the eXecute permission to directories (i.e., not allow it to
-# be changed for files), remove "#" from this line (if you don't remove it,
-# you can still block changes of the eXecute permission for files but not
-# directories via the "change_exec_perms" command line restriction):
-#DIRED_NOXPERMS   =   -DNO_CHANGE_EXECUTE_PERMS
-
-# !!!!!!!!!!! NOTE:  NetBSD and FreeBSD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# On NetBSD 1.1 and earlier, as well as FreeBSD 2.0.5 and earlier,
-# the system make program uses different syntax for including files
-# than the GNU make program.  If you get the following error --
-#   * "Makefile", line 27: Need an operator *
-# you have several choices to run GNU make:
-#
-# * Install GNU make as `/usr/bin/make', after moving /usr/bin/make
-#   to /usr/bin/old-make
-#
-# * Install GNU make in a different directory which is earlier in
-#   your search path.
-#
-# * Install GNU make as gmake, and change occurrences of `make' to
-#   `gmake' in any Makefile used by your install.  You won't need to
-#   change all of the Makefiles, just the top-level one, and the one
-#   in WWW/Library/???bsd
-
-# !!!!!!!!!!! Lynx Wishful Thinking !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# If you are on one of the supported systems (see all: list below)
-# you should not have to modify anything from here down (but check
-# it out for your system, anyway)!
-# If you are not, then you should edit the generic: entry below.
-#
-# If you need ncurses, the latest version can always be found in
-#	ftp://ftp.clark.net/pub/dickey/ncurses/
-# or	ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses/
-# (you may need -DHAVE_NCURSES_H in addition to -DNCURSES for old
-# versions of ncurses; see below).
-#
-# Also be sure to check out the compilation symbols in userdefs.h
-# before building Lynx!
-
-all:
-	@echo
-	@echo "Please run make with one of the following arguments"
-	@echo "aix4       -- for RS/6000 running AIX 4.n and some 3.2"
-	@echo "aix32      -- for RS/6000 running AIX 3.2"
-	@echo "aix31      -- for RS/6000 running AIX 3.1 with curses bug"
-	@echo "apollo     -- apollo systems (untested)"
-	@echo "bsdi       -- BSD Interactive"
-	@echo "bsdi-ncurses -- BSD/OS(v2.0 or later) using ncurses(v1.9.4 or later) package."
-	@echo "bsdi-slang -- BSD/OS(v2.0 or later) using the slang package."
-	@echo "clix       -- for Intergraph CLIX"
-	@echo "convex     -- for Convex C-series"
-	@echo "convex-ncurses -- for Convex C-series with ncurses package"
-	@echo "dgux       -- for DGUX "
-	@echo "freebsd    -- for FreeBSD"
-	@echo "freebsd-ncurses -- for FreeBSD using ncurses package"
-	@echo "freebsd-slang -- for FreeBSD with color slang package"
-	@echo "generic    -- for generic UNIX"
-	@echo "isc        -- for Interactive Machines (untested)"
-	@echo "linux      -- for PC linux"
-	@echo "linux-ncurses -- for PC linux using ncurses package"
-	@echo "linux-slang -- for linux with color slang package"
-	@echo "mips       -- for MIPS, svr3/bsd flavour (untested)"
-	@echo "netbsd     -- for NetBSD"
-	@echo "netbsd-ncurses -- for NetBSD using ncurses package"
-	@echo "news       -- for SONY NEWS-OS 4.2.1R"
-	@echo "news-ncurses -- for SONY NEWS-OS 4.2.1R using ncurses package"
-	@echo "news-slang -- for SONY NEWS-OS 4.2.1R with color slang package"
-	@echo "next       -- for NeXT OS"
-	@echo "next-ncurses  -- for NeXT OS using ncurses package"
-	@echo "osf        -- for Alpha OSF/1"
-	@echo "osf-slang  -- for Alpha OSF/1 with color slang package"
-	@echo "ptx        -- for Sequent's DYNIX/ptx, version 4, (current version)"
-	@echo "ptx-slang  -- for Sequent's DYNIX/ptx, version 4, with color slang package"
-	@echo "ptx        -- for Sequent's DYNIX/ptx, current version"
-	@echo "ptx2       -- for Sequent's DYNIX/ptx, version 2"
-	@echo "riscos     -- Control Data Unix machine running EP/IX"
-	@echo "sco        -- for SCO machines"
-	@echo "sco5       -- for SCO OpenServer Release 5 machines"
-	@echo "sgi        -- for SGI machines"
-	@echo "sun3       -- for SUN 3 OS with System V curses"
-	@echo "sun4       -- for SUN 4 OS with System V curses"
-	@echo "sun4-ncurses -- for SUN 4 OS using ncurses package"
-	@echo "sun4-pure  -- for SUN 4 OS with PURIFY and System V curses"
-	@echo "sun4-slang -- for SUN 4 OS with color slang package"
-	@echo "svr4       -- for SVR4"
-	@echo "snake      -- for HP-UX lt 9.01 (gcc)"
-	@echo "snake-slang -- for HP-UX lt 9.01 (gcc) with color slang"
-	@echo "snake2     -- for HP-UX gte 9.01 (gcc)"
-	@echo "snake2-slang -- for HP-UX gte 9.01 (gcc) with color slang"
-	@echo "snake3     -- for HP-UX (purchased compiler)"
-	@echo "snake3-slang -- for HP-UX (purchased compiler) with color slang"
-	@echo "solaris2   -- for solaris 2.x"
-	@echo "solaris2cc -- for Solaris 2.x using Sun's unbundled C compiler"
-	@echo "solaris2-slang -- for Solaris 2 and color slang package"
-	@echo "solaris2-slangcc -- for Solaris 2 slang using Sun's unbundled C compiler"
-	@echo "ultrix     -- for DEC Ultrix"
-	@echo "decstation -- for DEC Ultrix (same as ultrix)"
-	@echo "ultrix-slang     -- for DEC Ultrix and color slang package"
-	@echo "decstation-slang -- for DEC Ultrix and color slang (same as ultrix-slang)"
-	@echo "umaxv   -- for Encore's UMAXV (SVR3.x) "
-	@echo "umaxv-slang   -- for Encore's UMAXV and color slang package"
-	@echo "unixware   -- for Novell's Unixware"
-	@echo "univell    -- for Novell's Unixware"
-	@echo "unixware-slang -- for Unixware and color slang package"
-	@echo "univell-slang  -- for Unixware and color slang package"
-	@echo "clean      -- removes all '.o' and 'core' files"
-	@echo "tar        -- runs clean, removes executable, and tars the whole directory"
-	@echo "compress   -- runs tar, then compresses the result"
-	@echo "zip        -- runs clean, removes executable, and zips the whole directory"
-	@echo
-
-# Map some extra commands to existing ones
-unix: generic
-decstation: ultrix
-decstation-slang: ultrix-slang
-univell: unixware
-univell-slang: unixware-slang
-
-DIR_LYDEFS = $(DIRED_SUPPORT) $(DIR_LONG_LIST) $(DIR_PARENT)
-
-DIR_DEFS = $(DIRED_SUPPORT) $(DIRED_ARCHIVE) $(DIRED_TAR) $(DIRED_ZIP) $(DIRED_GZIP) $(DIRED_UUDECODE) $(DIRED_OVERRIDE) $(DIRED_PERMIT) $(DIRED_NOXPERMS)
-
-# If you apply patches which require linking to site-specific libraries,
-# uncomment the following and point SITE_LIBS to those libraries.
-#SITE_LIBS= # Your libraries here (remove the "#")
-
-# Set SITE_LYDEFS to one or more of the defines for the WWW Library:
-SITE_LYDEFS = $(DIR_LYDEFS) $(RP_LYDEFS) # Your defines here
-
-# Set SITE_DEFS to one or more of the defines for lynx below:
-SITE_DEFS = $(DIR_DEFS) $(RP_DEFS) -DNSL_FORK -DLYNXCGI_LINKS -DUSE_EXTERNALS # Your defines here
-
-# if you are compiling on a previously unsupported system, modify
-# this generic entry!!
-#
-# defines include:
-# -DNO_CUSERID     if you don't have cuserid()
-# -DNO_UTMP	   if you don't have utmp capibilities
-# -Dvfork=fork     if you don't have vfork()
-# -DMMDF	   if you use MMDF instead of sendmail
-# -DFANCY_CURSES   enables fancy curses (bold, underline, reverse)
-# -DCOLOR_CURSES   enables color in SVr4 curses & clones such as ncurses
-# -DNCURSES        for ncurses support (also indicate the LIBS path)
-# -DHAVE_NCURSES_H  seek ncurses.h instead of ncurses/curses.h in LYCurses.h
-# -DNO_KEYPAD      if you don't have keypad() and related defines
-# -DNO_SIZECHANGE  Disables window sizechange code
-# -DNO_CPU_LIMIT   Disables Max CPU timeout (includes CLOCKS_PER_SECOND)
-# -DNO_PUTENV      Define if you don't have a putenv call.
-# -DNO_CBREAK      if you don't have cbreak() (use crmode() instead)
-# -DUNDERLINE_LINKS  Define if you want links underlined instead of bold.
-# -DIGNORE_CTRL_C  Define if Control-C shouldn't exit lynx.
-# -DHP_TERMINAL    For DIM workaround to REVERSE problems on HP terminals.
-# -DLOCALE         For LOCALE support for international characters.
-# -DSOCKS	   For making a SOCKSified lynx.
-# -DSHORTENED_RBIND  For a SOCKSified lynx with the short version of Rbind.
-# -DNO_UNISTD_H    if you don't have <unistd.h>
-# -DNOPORT         if you must use PASV instead of PORT for FTP
-# -DNO_TTYTYPE	   if your system lacks a ttytype variable
-# -DNSL_FORK	   For fork-based name server lookups that can be 'z'apped.
-# -DEXP_CHARTRANS_AUTOSWITCH also let lynx switch term mode(Linux console only)
-# -DSLANG_MBCS_HACK prevent cutoff lines when using UTF8 console (slang only)
-# -DUSE_ZLIB       To use some functions from zlib library if you have it.
-#
-# if you are linking to freeWAIS-0.202 or older, you should define this
-# in MCFLAGS (SITE_DEFS)
-#
-# -DDECLARE_WAIS_LOGFILES
-#
-# if you have the reverse clear screen problem of some SUN4 systems you
-# should define this in MCFLAGS (SITE_DEFS)
-#
-# -DREVERSE_CLEAR_SCREEN_PROBLEM
-#
-# if you have an SVR4 system with the "type any key" problem, try defining
-# this in LYFLAGS (SITE_LYDEFS) and MCFLAGS (SITE_DEFS)
-#
-# -DSVR4_BSDSELECT
-#
-# Old Data General systems may need this in their SITE_LYDEFS
-# for their inet_addr(host) calls.
-#
-# -DDGUX_OLD
-#
-# if you would like logging of client requests via syslog(), you should
-# define this in MCFLAGS (SITE_DEFS)
-#
-# -DSYSLOG_REQUESTED_URLS
-#
-# if you would like to enable code to detect memory leaks define this in both
-# LYFLAGS (SITE_LYDEFS) and MCFLAGS (SITE_DEFS)
-#
-# -DLY_FIND_LEAKS
-#
-# for installation of local execution links, please see the file userdefs.h
-
-#generic machines with original Berkeley curses
-generic:
-	@echo "You must first compile the WWW library in WWW/Library"
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-# Contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil).
-# Note that some of the online help files in this distribution need
-# to be edited and renamed to conform with the Intergraph CLIX 14
-# character file name limit.
-clix:
-	cd WWW/Library/clix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX -DUSG \
-		-DCLIX -DNO_UTMP \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lmalloc -lcurses -ltermcap -lbsd -lc_s \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/clix/libwww.a"
-
-# Tested on C3 series under ConvexOS 10.1, CC V5.0;
-# Should work on other C-series
-convex:
-	cd WWW/Library/convex; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O \
-		-D__STDC__ \
-		-DNO_PUTENV -DNO_CBREAK -DNO_KEYPAD -DUSE_DIRENT -DUNIX \
-		-DSTDC_HEADERS -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/convex/libwww.a"
-
-convex-ncurses:
-	cd WWW/Library/convex; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O \
-		-I/usr/local/include \
-		-DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \
-		-D__STDC__ \
-		-DNO_PUTENV -DNO_CBREAK -DUSE_DIRENT -DUNIX \
-		-DSTDC_HEADERS -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/local/lib -lncurses \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/convex/libwww.a"
-
-# You may need to remove -DUTMPX_FOR_UTMP for some versions of DGUX.
-dgux:
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="-DDGUX $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-I../$(WWWINC) -DDGUX -DUTMPX_FOR_UTMP $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -lsocket -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-mips:
-	cd WWW/Library/mips; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-systype svr3 -O \
-		-DFANCY_CURSES -DUNIX -I/svr3/usr/include/bsd \
-		-I../$(WWWINC) -DNO_UTMP $(SITE_DEFS)" \
-		LIBS="-lcurses -lnsl -lbsd \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/mips/libwww.a"
-
-# FreeBSD doesn't have or need ranlib. (ignore the error message about that :)
-freebsd:
-	cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \
-		-I../$(WWWINC) $(SITE_DEFS)"\
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/freebsd/libwww.a"
-
-# FreeBSD doesn't have or need ranlib. (ignore the error message about that :)
-freebsd-ncurses:
-	cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all MCFLAGS="$(CFLAGS) -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \
-		-DHAVE_NCURSES_H -DUNIX -DNO_TTYTYPE -DNO_CUSERID -DLOCALE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lncurses -lmytinfo \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/freebsd/libwww.a"
-
-# FreeBSD doesn't have or need ranlib. (ignore the error message about that :)
-freebsd-slang:
-	cd WWW/Library/freebsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all MCFLAGS="$(CFLAGS) -DUSE_SLANG -DUNIX \
-		-DNO_TTYTYPE -DNO_CUSERID -DLOCALE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/freebsd/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -ltermcap -lm" \
-		SLANGINC="$(SLANGINC)"
-
-# NetBSD doesn't have or need ranlib. (ignore the error message about that :)
-netbsd:
-	cd WWW/Library/netbsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/netbsd/libwww.a"
-
-# NetBSD doesn't have or need ranlib. (ignore the error message about that :)
-netbsd-ncurses:
-	cd WWW/Library/netbsd; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \
-		-DUNIX -DNO_CUSERID -I../$(WWWINC) $(SITE_DEFS) \
-		-I/usr/include/ncurses" \
-		LIBS="-lncurses -lcompat \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/netbsd/libwww.a"
-
-# Tested on DN 3500 & 4500's running Domain O/S 10.4 BSD
-# -Acpu,mathchip may have to be changed on other machines - see man cpuhep
-apollo:
-	cd WWW/Library/apollo_m68k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNO_KEYPAD -DNO_CUSERID \
-		-D_BUILTINS -W0,-opt,4 -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/apollo_m68k/libwww.a $(MYWWWLIB)"
-
-riscos:
-	cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-DNO_GETCWD -DNO_PUTENV -Dremove=unlink \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-# Lynx will not compile with the "free" cc compiler supplied
-# with HP-UX.  You must use a purchased cc compiler to compile Lynx.
-snake:
-	cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a"
-
-snake-slang:
-	cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX \
-		-DUSE_SLANG -DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)"
-
-snake2:
-	cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="-D_INCLUDE_HPUX_SOURCE \
-		-D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \
-		-D_INCLUDE_XOPEN_SOURCE $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-DSNAKE -I../$(WWWINC) -D_INCLUDE_HPUX_SOURCE \
-		-D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \
-		-D_INCLUDE_XOPEN_SOURCE $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a"
-
-snake2-slang:
-	cd WWW/Library/snake; $(MAKE) CC="gcc" LYFLAGS="-D_INCLUDE_HPUX_SOURCE \
-		-D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \
-		-D_INCLUDE_XOPEN_SOURCE $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX \
-		-DUSE_SLANG -DSNAKE -I../$(WWWINC) -D_INCLUDE_HPUX_SOURCE \
-		-D_INCLUDE_POSIX_SOURCE -D_INCLUDE_AES_SOURCE \
-		-D_INCLUDE_XOPEN_SOURCE $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)"
-
-# Lynx will compile with the purchased cc compiler added to HP-UX.
-# contributed by Andy Finkenstadt (genie@panix.com)
-# Note that initial releases of HP/UX 10.10 have a broken select() in
-# libcurses.a and will malfunction with Lynx.  See the PROBLEMS file.
-snake3:
-	cd WWW/Library/snake; $(MAKE) CC="cc" LYFLAGS="-Ae -DUNIX \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Ae -DFANCY_CURSES -DUNIX \
-		-DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a"
-
-snake3-slang:
-	cd WWW/Library/snake; $(MAKE) CC="cc" LYFLAGS="-Ae -DUNIX \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Ae -DUSE_SLANG -DUNIX \
-		-DSNAKE -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/snake/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)"
-
-svr4:
-	cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DSVR4_BSDSELECT $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DSVR4_BSDSELECT \
-		-DTRUE=1 -DFALSE=0 $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a"
-
-# SEQUENT doesn't have or need ranlib. (ignore the error message about that :)
-ptx:
-	cd WWW/Library/ptx; $(MAKE) $(MFLAGS) LYFLAGS="-DNO_BCOPY \
-		-DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)"
-	cd src; $(MAKE) $(MFLAGS) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 \
-		-DFANCY_CURSES -DNO_FILIO_H -DUTMPX_FOR_UTMP -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -linet -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/ptx/libwww.a"
-
-# SEQUENT doesn't have or need ranlib. (ignore the error message about that :)
-ptx-slang:
-	cd WWW/Library/ptx; $(MAKE) $(MFLAGS) LYFLAGS="-DNO_BCOPY \
-		-DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)"
-	cd src; $(MAKE) $(MFLAGS) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 \
-		-DUSE_SLANG -DNO_FILIO_H -DUTMPX_FOR_UTMP -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -linet -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/ptx/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)"
-
-# SEQUENT doesn't have or need ranlib. (ignore the error message about that :)
-ptx2:
-	cd WWW/Library/ptx; $(MAKE) LYFLAGS="-DPTX2 -DNO_BCOPY -DNOPORT \
-		-DSVR4_BSDSELECT -DNO_FILIO_H $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DPTX2 -DFANCY_CURSES -DUNIX \
-		-DNO_FILIO_H -DUTMPX_FOR_UTMP -DSVR4 \
-		 -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -linet -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/ptx/libwww.a"
-
-# Contributed by Thanh Ma (tma@encore.com).
-umaxv:
-	cd WWW/Library/umaxv-m88k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-D_SYSV3 -DHAVE_TERMIOS -DUSE_DIRENT -DNO_UTMP \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/umaxv-m88k/libwww.a"
-
-# Contributed by Thanh Ma (tma@encore.com).
-umaxv-slang:
-	cd WWW/Library/umaxv-m88k; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUSE_SLANG -DUNIX \
-		-D_SYSV3 -DHAVE_TERMIOS -DUSE_DIRENT -DNO_UTMP \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/umaxv-m88k/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-unixware:
-	cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DNO_BCOPY -DUNIXWARE \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DTRUE=1 -DFALSE=0 \
-		-DNO_BCOPY -DUNIXWARE $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a"
-
-unixware-slang:
-	cd WWW/Library/svr4; $(MAKE) LYFLAGS="-DNO_BCOPY -DUNIXWARE \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DUSE_SLANG \
-		-DCURS_PERFORMANCE \
-		-I../$(WWWINC) -DUTMPX_FOR_UTMP -DSVR4 -DTRUE=1 -DFALSE=0 \
-		-DNO_BCOPY -DUNIXWARE $(SITE_DEFS)" \
-		LIBS="-lsocket -lnsl \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-# SCO doesn't have or need ranlib. (ignore the error message about that :)
-#     can build lynx with its native rcc compiler.  (if you replace "gcc"
-#     with "rcc" for CC= :)
-#     has a const/volatile bug in its native cc compiler. (don't use it ;)
-sco:
-	cd WWW/Library/sco; $(MAKE) CC="gcc" LYFLAGS="-DNO_FILIO_H -DUNIX \
-		-DSCO $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -s -DNO_FILIO_H -DUNIX -DSCO \
-		-DFANCY_CURSES -DMMDF -DNO_UTMP -DNO_SIZECHANGE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket -ltermcap -lmalloc \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sco/libwww.a"
-
-sco5:
-	cd WWW/Library/sco; $(MAKE) CC="cc -belf" LYFLAGS="-DNO_FILIO_H \
-		-DUNIX -DSCO $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc -belf" MCFLAGS="-O -s -DNO_FILIO_H -DUNIX \
-		-DSCO -DFANCY_CURSES -DMMDF -DUTMPX_FOR_UTMP \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lsocket \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sco/libwww.a"
-
-bsdi:
-	cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile \
-		LYFLAGS="-DBSDI $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DNO_CUSERID -DUNIX \
-		-DNO_FILIO_H \
-		-I../$(WWWINC) -DNO_UTMP -DSVR4 -DNO_KEYPAD $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a"
-
-#IMPORTANT: To compile you need ncurses package (version 1.9.4 or later)
-#     installed on your system.  You can download ncurses package from
-#     ftp://ftp.netcom.com/pub/zm/zmbenhal/ncurses
-bsdi-ncurses:
-	cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile CC="gcc" \
-		LYFLAGS="-DBSDI $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DNO_CUSERID -DUNIX -DCOLOR_CURSES -DNCURSES \
-		-DFANCY_CURSES -DBSDI -DSVR4 \
-		-I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lncurses \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a"
-
-bsdi-slang:
-	cd WWW/Library/Implementation; $(MAKE) -f BSDI_Makefile \
-		LYFLAGS="-DBSDI $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DNO_CUSERID -DUNIX \
-		-DNO_FILIO_H -DUSE_SLANG \
-		-I../$(WWWINC) -DNO_UTMP -DSVR4 -DNO_KEYPAD $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/svr4/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-# Solaris2 doesn't have or need ranlib. (ignore the error message about that :)
-# (Solaris 2.5 and later actually have a ranlib program - but it does
-#  nothing and is only there to make Makefiles like this one happy)
-solaris2:
-	cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="-DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DCOLOR_CURSES -DFANCY_CURSES -DUNIX -DSVR4 \
-		-DSOLARIS2 -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \
-		-DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a"
-
-solaris2-ncurses:
-	cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="$(SITE_LYDEFS) -g"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-g -DFANCY_CURSES \
-		-DNCURSES -DUNIX -DSVR4 -DSOLARIS2 \
-		-DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a" \
-		STYLE=LYStyle
-
-solaris2-ncurses-develop:
-	cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS) -g -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-g -DFANCY_CURSES \
-		-DUSE_COLOR_STYLE \
-		-DUSE_HASH" \
-		-DNCURSES -DUNIX -DSVR4 -DSOLARIS2 \
-		-DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a" \
-		STYLE=LYStyle
-
-solaris2-ncurses-NHE:
-	cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O4 -s -DUSE_COLOR_STYLE -DFANCY_CURSES \
-		-DNCURSES -DUNIX -DSVR4 -DSOLARIS2 -DCURS_PERFORMANCE \
-		-DUTMPX_FOR_UTMP -DUSE_DIRENT -DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lncurses -lnsl -lsocket \
-		-lresolv" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a" \
-		STYLE=NCStyle
-
-# Solaris 2 using Sun's unbundled C compiler
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-# Solaris2 doesn't have or need ranlib. (ignore the error message about that :)
-solaris2cc:
-	cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="-DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DCOLOR_CURSES -DFANCY_CURSES -DUNIX -DSVR4 \
-		-DSOLARIS2 -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \
-		-DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a"
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-# Solaris2 doesn't have or need ranlib. (ignore the error message about that :)
-solaris2-slang:
-	cd WWW/Library/solaris2; $(MAKE) CC="gcc" LYFLAGS="-DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DSVR4 -DSOLARIS2 \
-		-DUSE_SLANG -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \
-		-DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a" \
-		SLANGLIB="$(SLANGLIB) $(SLANGRRLIB) -lslang -lm" \
-		SLANGINC="$(SLANGINC)"
-
-# Solaris 2 slang using Sun's unbundled C compiler
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-# Solaris2 doesn't have or need ranlib. (ignore the error message about that :)
-solaris2-slangcc:
-	cd WWW/Library/solaris2; $(MAKE) CC="cc" LYFLAGS="-DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DSVR4 -DSOLARIS2 \
-		-DUSE_SLANG -DCURS_PERFORMANCE -DUTMPX_FOR_UTMP -DUSE_DIRENT \
-		-DLOCALE -DHAVE_TERMIOS_H \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/ccs/lib -R/usr/ccs/lib -lcurses -lnsl -lsocket \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/solaris2/libwww.a" \
-		SLANGLIB="$(SLANGLIB) $(SLANGRRLIB) -lslang -lm" \
-		SLANGINC="$(SLANGINC)"
-
-osf:
-	cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \
-		-DFANCY_CURSES -DNO_TTYTYPE $(ADDFLAGS) \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/osf/libwww.a"
-
-osf-slang:
-	cd WWW/Library/osf; $(MAKE) LYFLAGS="-Olimit 2000 -DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 4000 -DUNIX \
-		-DUSE_SLANG -DNO_TTYTYPE $(ADDFLAGS) \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/osf/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-# for some reason loc_t isn't defined when compiling for debug on my system.
-# needed for NLchar.h
-dbg:
-	cd WWW/Library/osf; $(MAKE) CC="gcc" LYFLAGS="-DDIRED_SUPPORT \
-		-DLY_FIND_LEAKS"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -Wall $(ADDFLAGS) \
-		-DFANCY_CURSES -DLY_FIND_LEAKS \
-		-Dloc_t=_LC_locale_t -D_locp=__lc_locale\
-		-DDIRED_SUPPORT -DOK_TAR -DOK_GZIP -DOK_OVERRIDE \
-		-DUNIX -I../$(WWWINC) -DEXEC_LINKS \
-		-DALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/osf/libwww.a"
-
-sgi:
-# SGI doesn't have or need ranlib. (ignore the error message about that :)
-	cd WWW/Library/sgi; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -cckr -DFANCY_CURSES \
-		-DNO_CUSERID -DUNIX -DSGI -Dvfork=fork \
-		-I../$(WWWINC) -DNO_UTMP $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -DSYSV -DPERFORMANCE \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sgi/libwww.a"
-
-##linux
-# Add -DDECL_SYS_ERRLIST to the LYFLAGS if sys_errlist and sys_nerr
-# are not declared in your system headers.
-linux:
-	cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX \
-		-DNO_KEYPAD -DNO_TTYTYPE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-linux-ncurses:
-	cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \
-		-DFANCY_CURSES -DCOLOR_CURSES -DNO_TTYTYPE \
-		-I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lncurses -lgpm \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-linux-slang:
-	cd WWW/Library/unix; $(MAKE) CC="gcc" LYFLAGS="-DLINUX -DNSL_FORK \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DLINUX -DUSE_SLANG \
-		-DNO_KEYPAD -DNO_TTYTYPE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-develop:
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="-DLINUX $(SITE_LYDEFS) -I../../../src -DUSE_COLOR_STYLE -DUSE_HASH"
-	cd src; $(MAKE) all CC="gcc" \
-		MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \
-		-DFANCY_CURSES -DNO_KEYPAD -DNO_TTYTYPE -DUSE_COLOR_STYLE \
-		-I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS) -DUSE_HASH" \
-		LIBS="-lncurses $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a" \
-		STYLE=LYStyle
-
-linux-style:
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="-DLINUX $(SITE_LYDEFS) -I../../../src -DUSE_HASH -DUSE_COLOR_STYLE"
-	cd src; $(MAKE) all CC="gcc" \
-		MCFLAGS="-O -DUNIX -DLINUX -DNCURSES \
-		-DFANCY_CURSES -DNO_KEYPAD -DNO_TTYTYPE -DUSE_COLOR_STYLE \
-		-I/usr/include/ncurses -I../$(WWWINC) $(SITE_DEFS) -DUSE_HASH" \
-		LIBS="-lncurses $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/unix/libwww.a" \
-		STYLE=LYStyle
-
-##Various AIX environments
-aix:
-	@echo "Run make again and use \"make aix4\" or \"make aix32\""
-
-# For AIX 4.n, and AIX 3.2.5 with POWER2 architectures, L2 caches,
-# and APAR#IX58890
-aix4:
-	cd WWW/Library/rs6000; $(MAKE) LYFLAGS="-D_BSD=44 \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX -DAIX4 \
-		-D_BSD=44 -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lbsd \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/rs6000/libwww.a"
-
-aix32:
-	cd WWW/Library/rs6000; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DFANCY_CURSES -DUNIX \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lbsd \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/rs6000/libwww.a"
-
-aix31:
-	cd WWW/Library/rs6000; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -lbsd \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/rs6000/libwww.a"
-
-##ultrix - DEC Ultrix
-ultrix:
-	cd WWW/Library/decstation; $(MAKE) LYFLAGS="-G 7 $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 600 -G 7 \
-		-DFANCY_CURSES -DUNIX -DULTRIX -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcursesX -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/decstation/libwww.a"
-
-ultrix-slang:
-	cd WWW/Library/decstation; $(MAKE) LYFLAGS="-G 7 $(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -Olimit 600 -G 7 \
-		-DUSE_SLANG -DUNIX -DULTRIX -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcursesX -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/decstation/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-##Various SunOS environments
-sun:
-	@echo "Run make again and use \"make sun3\" or \"make sun4\""
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-sun3:
-	cd WWW/Library/sun3; $(MAKE) LYFLAGS="$(SITE_LYDEFS)" CC="gcc"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DFANCY_CURSES \
-		-I../$(WWWINC) -DSUN -DLOCALE -I/usr/5include $(SITE_DEFS)"\
-		LIBS="-lcurses -ltermcap -L/usr/5lib \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sun3/libwww.a"
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-sun4:
-	cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(CCFLAGS) \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="$(CCFLAGS) -O -DUNIX -DSUN \
-		-DSUN4 -DFANCY_CURSES -DLOCALE \
-		-I../$(WWWINC) -I/usr/5include \
-		$(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -L/usr/5lib \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sun4/libwww.a"
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-sun4-ncurses:
-	cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" \
-		MCFLAGS="-O -DUNIX -DFANCY_CURSES -DCOLOR_CURSES -DNCURSES \
-		-I/usr/local/include -I../$(WWWINC) -DSUN -DSUN4 \
-		-DLOCALE $(SITE_DEFS)" \
-		LIBS="-L/usr/local/lib -lncurses \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sun4/libwww.a"
-
-# use the holiest of holiest --- PURIFY
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-sun4-pure:
-	cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="purify -cache-dir=/home/purify-cache \
-		-always-use-cache-dir=yes -optimize-save-o7=no gcc" \
-		MCFLAGS="-O -DUNIX -DFANCY_CURSES \
-		-I../$(WWWINC) -DSUN -DSUN4 -DLOCALE -I/usr/5include \
-		$(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -L/usr/5lib \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sun4/libwww.a"
-
-# define RESOLVLIB (above) for the "LIBS" entry if needed
-sun4-slang:
-	cd WWW/Library/sun4; $(MAKE) CC="gcc" LYFLAGS="$(CCFLAGS) \
-		$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc" MCFLAGS="-O -DUNIX -DSUN -DSUN4 \
-		-DUSE_SLANG -DLOCALE \
-		-I../$(WWWINC) -I/usr/5include \
-		$(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -L/usr/5lib \
-		$(RESOLVLIB) $(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/sun4/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang -lm" SLANGINC="$(SLANGINC)"
-
-# news - SONY NEWS-OS 4.2.1R
-news:
-	@echo "You must first compile the WWW library in WWW/Library"
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX -DNO_KEYPAD \
-		-DNO_CUSERID -DLOCALE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-ljcurses -ltermcap $(WAISLIB) $(SOCKSLIB)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-news-ncurses:
-	@echo "You must first compile the WWW library in WWW/Library"
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX \
-		-DNO_CUSERID -DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lncurses $(WAISLIB) $(SOCKSLIB)" \
-		WWWLIB="../WWW/Library/unix/libwww.a"
-
-news-slang:
-	@echo "You must first compile the WWW library in WWW/Library"
-	cd WWW/Library/unix; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="gcc -O" MCFLAGS="-O -DUNIX -DNO_KEYPAD \
-		-DNO_CUSERID -DUSE_SLANG -DLOCALE \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="$(WAISLIB) $(SOCKSLIB)" \
-		WWWLIB="../WWW/Library/unix/libwww.a" \
-		SLANGLIB="$(SLANGLIB) -lslang" SLANGINC="$(SLANGINC)"
-
-# next - Nextstep
-next:
-	cd WWW/Library/next; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNEXT -DNO_UNISTD_H \
-		-DNO_CUSERID -DNO_GETCWD -DNO_PUTENV -DNO_KEYPAD \
-		-I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/next/libwww.a"
-
-next-ncurses:
-	cd WWW/Library/next; $(MAKE) LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DUNIX -DNEXT -DNO_UNISTD_H \
-		-DNCURSES -DCOLOR_CURSES -DFANCY_CURSES \
-		-DNO_CUSERID -DNO_GETCWD -DNO_PUTENV \
-		-I/usr/local/include -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-L/usr/local/lib -lncurses \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/next/libwww.a"
-
-# isc - Interactive Unix for i386 and i486 machines
-# According to Robert Salter (salter1@mster.nsbf.nasa.gov),
-#  cc should be used instead of gcc.
-# According to Walter Skorski (walt@clyde.jmp.tju.edu),
-#  -DPOSIX_JC is necessary, else LYBookmark.c never finds out
-#  what a mode_t is.
-isc:
-	cd WWW/Library/isc; $(MAKE) CC="cc" LYFLAGS="$(SITE_LYDEFS)"
-	cd src; $(MAKE) all CC="cc" MCFLAGS="-O -DISC -DFANCY_CURSES -DUNIX \
-		-DNO_UTMP -Dvfork=fork -DPOSIX_JC -I../$(WWWINC) $(SITE_DEFS)" \
-		LIBS="-lcurses -ltermcap -linet -lnsl_s -lcposix \
-		$(WAISLIB) $(SOCKSLIB) $(SITE_LIBS)" \
-		WWWLIB="../WWW/Library/isc/libwww.a"
-
-##Miscellaneous actions
-clean:
-	rm -f WWW/Library/*/*.[aob]
-	rm -f WWW/Library/*/.created
-	cd src; $(MAKE) clean
-	rm -f *.b src/lynx core Lynx.leaks
-
-distclean: clean
-	-rm -f WWW/Library/*/*~
-	-rm -f WWW/Library/*/*.bak
-	-rm -rf WWW/Library/*/obsolete
-	-rm -rf src/obsolete
-	-cd src; $(MAKE) clean
-	-cd src/chrtrans; $(MAKE) distclean
-	-rm -f Lynx.prj *~ *.bak *.sav .*_aux
-	rm lynx
-
-tar:  clean
-	rm -f lynx
-	$(MAKE) save
-
-turnover:	clean
-	$(MAKE) save
-
-zipcompress: compress zip
-	echo "done!"
-
-zip:  clean
-	rm -f src/lynx
-	rm -f lynx
-	rm -f src/a.out
-	rm -f ../$(lynxname).zip
-	cd ..; rm -f $(lynxname).zip; zip -r $(lynxname).zip $(lynxdir)
-
-save:
-	cd ..; rm -f $(lynxname).tar; tar -cf - $(lynxdir) > $(lynxname).tar
-
-compress: tar
-	cd ..; rm -f $(lynxname).tar.Z; compress -f -v $(lynxname).tar
-
-install:
-	-mv -f $(exec)/lynx $(exec)/lynx.old
-	-mv -f $(cfg)/lynx.cfg $(cfg)/lynx.oldcfg
-	$(installbin) lynx $(exec)/lynx
-	$(installdoc) lynx.man $(doc)/lynx.1
-	$(installdoc) lynx.cfg $(cfg)/lynx.cfg
diff --git a/docs/pdcurses.key b/docs/pdcurses.key
index 84021afb..5e383aa8 100644
--- a/docs/pdcurses.key
+++ b/docs/pdcurses.key
@@ -51,7 +51,6 @@ CTL_HOME        0x1bf   /* Control-Home                  */
 CTL_END         0x1c0   /* Control-End                   */
 KEY_B2          0x1c5   /* center on Virt. keypad        */
 PADSLASH        0x1ca   /* slash on keypad               */
-PADENTER        0x1cb   /* enter on keypad               */
 CTL_PADENTER    0x1cc   /* ctl-enter on keypad           */
 ALT_PADENTER    0x1cd   /* alt-enter on keypad           */
 PADSTOP         0x1ce   /* stop on keypad                */
diff --git a/lynx.cfg b/lynx.cfg
index 3161094c..c35ad97b 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -40,15 +40,18 @@
 #                or local, e.g. file://localhost/PATH_TO/FILENAME ,
 #           where PATH_TO is replaced with the complete path to FILENAME
 #           using Unix shell syntax and including the device on VMS.
-# The default offered for ordinary users is their current directory:
-STARTFILE:.
 #
-# *** NBB *** System administrators with ANONYMOUS USERS !!!
-#   set STARTFILE to a REMOTE FILE by uncommenting the next line:
-#STARTFILE:http://lynx.browser.org/
-#   and commenting out the default offered above;
-#   you may, of course, choose to replace `lynx.browser.org'
-#   with another remote/local file which you know to be safe.
+# Normally we expect you will connect to a remote site, e.g., the Lynx starting
+# site:
+STARTFILE:http://lynx.browser.org/
+#
+# As an alternative, you may want to use a local URL.  A good choice for this is
+# the user's home directory: 
+#STARTFILE:file://localhost/~/ 
+#
+# Your choice of STARTFILE should reflect your site's needs, and be a URL that
+# you can connect to reliably.  Otherwise users will become confused and think
+# that they cannot run Lynx.
 
 # HELPFILE must be defined as a URL and must have a
 # complete path if local:
@@ -89,30 +92,28 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #
 #JUMP_PROMPT:Jump to (use '?' for list):
 
-# JUMPFILE is the default local file checked for shortcut URLs when
-# the user presses the 'J' (JUMP) key.  The user will be prompted for
-# a shortcut entry (analogously to 'g'oto), and can enter one
-# or use '?' for a list of the shortcuts with associated links to
-# their actual URLs.  See the jumps files in the lynx*/samples
-# subdirectory.  Make sure your jumps file includes a '?' shortcut
-# for a file://localhost URL to itself:
-#
+# JUMPFILE is the local file checked for short-cut names for URLs
+# when the user presses the 'j' (JUMP) key.  The user will be prompted
+# to enter a short-cut name for an URL, which Lynx will then follow
+# in a similar manner to 'g'oto; alternatively, s/he can enter '?'
+# to view the full JUMPFILE list of short-cuts with associated URLs.
+# There is an example jumps file in the samples subdirectory.
+# If not defined here or in  userdefs.h , the JUMP command will invoke
+# the NO_JUMPFILE statusline message (cp  LYMessages_en.h ).
+#
+# To allow '?' to work, include in the JUMPFILE
+# a short-cut to the JUMPFILE itself, e.g.
 # <dt>?<dd><a href="file://localhost/path/jumps.html">This Shortcut List</a>
 #
-# If not defined here or in userdefs.h, the JUMP command will invoke
-# the NO_JUMPFILE statusline message (see userdefs.h).
-#
 # On VMS, use Unix SHELL syntax (including a lead slash) to define it.
 #
-# Do not include "file://localhost" in the definition.
-#
-# Additional alternate jumps files can be defined and mapped to
-# keystrokes at the bottom of lynx.cfg, but you should first define
-# the default jumps file (mapped by default to 'J', and to 'j' when
-# the "VI keys" 'o'ption is not ON) here or in userdefs.h, if you
-# wish to implement the jumps mechanism.
+# Additional jumps files can be defined and mapped to keystrokes
+# in  lynx.cfg , but you should first define the default jumps file,
+# which is mapped by default to 'j' (or 'J' when VI keys are ON).
 #
-#JUMPFILE:/Lynx_Dir/jumps.html
+# In the following line, include the actual full local path to JUMPFILE,
+# but do not include 'file://localhost' in the line.
+#JUMPFILE:/FULL_LOCAL_PATH/jumps.html
 
 # Set JUMPBUFFER to TRUE if you want to have the previous jump target,
 # if any, offered for reuse or editing when using the 'J'ump command.
@@ -1380,8 +1381,20 @@ MINIMAL_COMMENTS:TRUE
 # MIME types and viewers!
 #
 # file extensions may be assigned to MIME types using
-# the SUFFIX: definition.  [This has an effect for ftp and local files only,
-# http server does specify MIME type in the Content-Type header].
+# the SUFFIX: definition.
+#
+# NOTE: It is normally preferable to define new extension mappings in
+#       EXTENSION_MAP files (see below) instead of here:  Definitions
+#       here are overriden by those in EXTENSION_MAP files and even by
+#       some built-in defaults in src/HTInit.c.
+#       Extension mappings have an effect mostly for ftp and local files,
+#       they are NOT used to determine the type of content for URLs with
+#       the http protocol.  This is because HTTP servers already specify
+#       the MIME type in the Content-Type header.  [It may still be
+#       necessary to set up an appropriate suffix for some MIME types,
+#       even if they are accessed only via the HTTP protocol, if the viewer
+#       (see below) for those MIME types requires a certain suffix for the
+#       temporary file passed to it.]
 #
 # The SUFFIX definition takes the form of:
 #    SUFFIX:<file extension>:<mime type>
@@ -1394,7 +1407,8 @@ MINIMAL_COMMENTS:TRUE
 # The suffix definitions listed here in the default lynx.cfg file are
 # among those established via src/HTInit.c.  You can change any of the
 # defaults by editing that file, or via the global or personal mime.types
-# files at run time.  They will be overridden if you assign them here.
+# files at run time.  Assignments made here will be overridden by entries
+# in those files.
 #
 #SUFFIX:.ps:application/postscript
 #SUFFIX:.eps:application/postscript
@@ -1479,6 +1493,10 @@ MINIMAL_COMMENTS:TRUE
 # NOTE: if you do not define a viewer to a new MIME type
 #       that you assigned above then it will be saved to
 #       disk by default.
+#       It is normally preferable to define new viewers in
+#       MAILCAP files (see below) instead of here:  Definitions
+#       here are overridden by those in MAILCAP files and even
+#       by some built-in defaults in src/HTInit.c.
 #
 # The VIEWER definition takes the form of:
 #    VIEWER:<mime type>:<viewer command>[:environment]
@@ -1507,8 +1525,8 @@ MINIMAL_COMMENTS:TRUE
 # file are among those established via src/HTInit.c.  For the image types,
 # HTInit.c uses the XLOADIMAGE_COMMAND definition in userdefs.h or above
 # (open is used for NeXT).  You can change any of these defaults via the
-# global or personal mailcap files at run time.  They will be overridden
-# if you assign them here.
+# global or personal mailcap files.  Assignments made here will be overridden
+# by entries in those files.
 #
 #VIEWER:application/postscript:ghostview %s&:XWINDOWS
 #VIEWER:image/gif:xli %s&:XWINDOWS
diff --git a/lynx.man b/lynx.man
index 8803e18b..ce9aef19 100644
--- a/lynx.man
+++ b/lynx.man
@@ -314,6 +314,9 @@ send form data from stdin using POST method and dump results.
 show HTML source preparsed and reformatted when used with -source
 or in source view.
 .TP
+.B -prettysrc
+show HTML source view with lexical elements and tags in color.
+.TP
 .B -print
 enable print functions. (default)
 .TP
diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html
index a0b8d504..b3625eaf 100644
--- a/lynx_help/Lynx_users_guide.html
+++ b/lynx_help/Lynx_users_guide.html
@@ -141,7 +141,8 @@ the linked information.  Information included in the HTML file tells Lynx
 where to find the linked file and what kind of server will provide it
 (i.e., HTTP, Gopher, etc.).
 
-<p>Lynx renders HTML files and saves the rendition, not the source,
+<p>Lynx renders HTML files and saves the rendition (and the source, if
+so configured in the <A HREF="#lynx.cfg">lynx.cfg</A> file)
 for initial display and should you select the link again.  If you do
 select a link again and have reason to desire a new fetch and rendering
 of the file, use the NOCACHE command, normally mapped to '<em>x</em>' and
@@ -338,9 +339,10 @@ of TAB characters to spaces you should use the
 
 When viewing HTML documents it is possible to retrieve and display the
 unrendered (i.e., the original HTML) source of the document by pressing
-the '<em>\</em>' (backslash) key.  The document must be reloaded from the
-server or disk to be displayed on the screen unrendered, since Lynx
-originally rendered what it received and does not still have it as source.
+the '<em>\</em>' (backslash) key.  Lynx usually caches only the rendering
+of the document and doesn't keep the source (unless it is configured to do
+so in the <A HREF="#lynx.cfg">lynx.cfg</A> file), so to display the source
+unrendered, Lynx must reload it from the server or disk.
 When viewing unrendered documents you may print them as any normal document.
 
 <p>Selecting the <em>Print to a local file</em> option from the Print Menu,
@@ -909,8 +911,19 @@ return to Lynx or the '<em>&gt;</em>' command to save the options to a
 
 At any time while viewing documents within Lynx, you may use the
 '<em>c</em>' command to send a mail message to the owner of the current
-document if the author of the document has specified ownership.  If no
-ownership is specified then comments are disabled.  Certain links called
+document if the author of the document has specified ownership.  (Note to
+authors: if you want to assign the ownership to your document, you need to add
+into HEAD section a LINK element with appropriate value for REV attribute.  Two
+values are recognized: <em>owner</em> and <em>made</em> (these are case
+insensitive).  For example, <pre>
+&lt;HEAD&gt;
+    &hellip;
+    &lt;LINK REV="made" HREF="mailto:user@somedomain.com"&gt;
+    &hellip;
+&lt;HEAD&gt;
+</pre>
+You may also add a TITLE attribute with, for example, the name of your page) If
+no ownership is specified then comments are disabled.  Certain links called
 <a href="lynx_url_support.html#mailto">mailto:</a> links will also allow
 you to send mail to other people.  Using the mail features within Lynx is
 straightforward.
@@ -1029,19 +1042,29 @@ selection menu, or <em>RETURN</em> for the default bookmark file.
 
 <h2 ID="Jumps"><A NAME="Jumps"><em>Jump Command</em></a></h2>
 
-A feature similar to the Lynx bookmarks is the jump command.  The jump
-command allows you to enter a shortcut name to access a URL.  If the jump
-feature is active, typing '<em>j</em>' will produce a prompt where you may
-enter the shortcut name.  Type '<em>?</em>' at the jump prompt for a list
-of shortcut names available.
-
-<p>All jump shortcut entries are saved in a circular buffer, and any
-previous entries can be retrieved for re-use by pressing the
-<em>up-arrow</em> or <em>down-arrow</em> keys at the prompt.
-
-<p>Note to System Administrators:
-Read the <A HREF="#lynx.cfg">lynx.cfg</A> file on how
-to set up the jump command for your system and how to define shortcut names.
+Similar to the bookmarks file is the jumps file: for an example,
+look in the <em>samples</em> subdirectory in the distribution package.
+To use the jumps command, create a <em>jumps file</em> with the same format
+as the sample file, but containing your own URLs & short-cut names.
+Once you have done that, typing '<em>j</em>' prompts you to enter
+a short-cut name, which will take you straight to the URL
+associated with the short-cut in the jumps file,
+much like using '<em>g</em>'.
+If you want to check which short-cuts are available,
+type '<em>?</em>' at the jump prompt for the full list.<p>
+
+All jump short-cuts you have entered are saved in a circular buffer
+in the same way as with '<em>g</em>' and '<em>/</em>' (search):<br>
+previous entries can be retrieved with <em>up-arrow</em>
+or <em>down-arrow</em>.<p>
+
+The jumps feature is especially useful for system administrators
+who have unsophisticated users to care for, but ordinary Lynx users
+who have a number of URLs they regularly visit while browsing
+may find using the jumps command speeds their movements.<p>
+
+For more advice how to set up the jumps command on your system
+and how to define short-cut names, read  <A HREF="#lynx.cfg">lynx.cfg</A> .
 [<A HREF="#ToC-Jumps">ToC</A>]
 
 <h2 ID="DirEd"><A NAME="DirEd"><em>Directory Editing</em></a></h2>
diff --git a/lynx_help/lynx-dev.html b/lynx_help/lynx-dev.html
index 1a97ad1f..e00eb8d2 100644
--- a/lynx_help/lynx-dev.html
+++ b/lynx_help/lynx-dev.html
@@ -16,7 +16,7 @@
 Lynx is maintained and improved by an international co-operative
 of volunteers.  Newcomers are welcome to join the group:
 you needn't be a super programmer, but you should be prepared
-to listen and learn, as well as contributing patches if you can.
+to listen and learn, as well as to contribute patches if you can.
 Since everyone is a volunteer, you will usually be expected
 to try to implement any suggestions you make.
 
diff --git a/lynx_help/lynx_help_main.html b/lynx_help/lynx_help_main.html
index 039bb9a6..38919af1 100644
--- a/lynx_help/lynx_help_main.html
+++ b/lynx_help/lynx_help_main.html
@@ -67,6 +67,17 @@ SSL & security, and more
 <li><a href="http://www.htmlhelp.com/tools/validator/">WDG HTML Validator</a>
 </ul>
 
+<h2>Other browsing software:</h2>
+
+<ul>
+<li><a href="ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/">WGET</a>
+ -- powerful & flexible non-interactive downloader
+<li><a href="http://www.fts.frontec.se/~dast/curl/">cURL</a>
+ -- non-interactive downloader which supports HTTPS
+<li><a href="http://www.xach.com/snarf/">SNARF</a>
+ -- small simple 1-file non-interactive downloader
+</ul>
+
 <H2>Meta-indexes: lists of links</H2>
 
 <ul>
diff --git a/makefile.in b/makefile.in
index f2723cde..72b85c3d 100644
--- a/makefile.in
+++ b/makefile.in
@@ -179,7 +179,7 @@ all lynx$x: cfg_defs.h LYHelp.h
 @MSG_DIR_MAKE@	$(SHELL) $(srcdir)/fixtext.sh $(srcdir)/LYMessages_en.h >LYMessages.c
 @INTLDIR_MAKE@	cd intl && $(MAKE) CC="$(CC)"
 @MSG_DIR_MAKE@	cd po && $(MAKE) CC="$(CC)"
-	cd WWW/Library/unix && $(MAKE) CC="$(CC)" \
+	cd $(WWWINC) && $(MAKE) CC="$(CC)" \
 		LY_CFLAGS="$(CFLAGS)" \
 		CPPFLAGS="$(CPPFLAGS)" \
 		LYFLAGS="$(SITE_LYDEFS)"
@@ -189,10 +189,10 @@ all lynx$x: cfg_defs.h LYHelp.h
 		LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \
 		SITE_DEFS="$(SITE_DEFS)" \
 		WWWINC=$(WWWINC) \
-		WWWLIB="../WWW/Library/unix/libwww.a"
+		WWWLIB="../$(WWWINC)/libwww.a"
 
 lint:
-	cd WWW/Library/unix && $(MAKE) LINT="$(LINT)" CC="$(CC)" \
+	cd $(WWWINC) && $(MAKE) LINT="$(LINT)" CC="$(CC)" \
 		LY_CFLAGS="$(CFLAGS)" \
 		CPPFLAGS="$(CPPFLAGS)" \
 		LYFLAGS="$(SITE_LYDEFS)" lint
@@ -202,7 +202,7 @@ lint:
 		LIBS="$(LIBS) $(RESOLVLIB) $(WAISLIB) $(SITE_LIBS)" \
 		SITE_DEFS="$(SITE_DEFS)" \
 		WWWINC=$(WWWINC) \
-		WWWLIB="../WWW/Library/unix/libwww.a" lint
+		WWWLIB="../$(WWWINC)/libwww.a" lint
 
 help:
 	@echo
@@ -227,7 +227,7 @@ clean:
 	rm -f core *.core
 
 depend: cfg_defs.h LYHelp.h
-	cd WWW/Library/unix && $(MAKE) $@
+	cd $(WWWINC) && $(MAKE) $@
 	cd src && $(MAKE) $@
 
 distclean: clean
@@ -241,8 +241,8 @@ distclean: clean
 @MSG_DIR_MAKE@	cd po && $(MAKE) $@
 @MSG_DIR_MAKE@	-rmdir po
 	-rm -f *~ *.bak *.sav
-	-rm -f WWW/Library/unix/makefile src/makefile src/chrtrans/makefile
-@SRCDIR_CLEAN@	-rmdir WWW/Library/unix && rmdir WWW/Library && rmdir WWW
+	-rm -f $(WWWINC)/makefile src/makefile src/chrtrans/makefile
+@SRCDIR_CLEAN@	-rmdir $(WWWINC) && rmdir WWW/Library && rmdir WWW
 @SRCDIR_CLEAN@	-rmdir src/chrtrans && rmdir src
 	-rm -f makefile lynx_cfg.h config.status config.log config.cache
 	-rm -f lynx$x install-*
@@ -286,7 +286,7 @@ lynx.patch: $(top_srcdir) $(top_srcdir)/CHANGES
 		config.status \
 		lynx_cfg.h \
 			; \
-		for I in . src WWW/Library/Implementation; do ( set +e; \
+		for I in . src $(WWWINC); do ( set +e; \
 			( set -x; cd $$I && rm -f *.orig *.rej makefile ); : ); \
 		done; }
 	( cd $(top_srcdir)/..; echo "%%% Created `date` by target $@. %%%"; \
diff --git a/po/lynx.pot b/po/lynx.pot
index 8e8b953b..60fb41b0 100644
--- a/po/lynx.pot
+++ b/po/lynx.pot
@@ -1,6 +1,6 @@
 msgid ""
 msgstr ""
-"Date: 1999-04-12 21:26:29-0400\n"
+"Date: 1999-04-22 14:07:27-0400\n"
 "From: Thomas Dickey,,, <tom@dickey-ppp>\n"
 "Content-Type: text/plain; charset=\n"
 "Xgettext-Options: --default-domain=lynx --directory=.. --add-comments --keyword=_ --keyword=N_ --files-from=./POTFILES.in\n"
@@ -2034,14 +2034,14 @@ msgid ""
 msgstr ""
 
 #. #define ENTER_PERIOD_WHEN_DONE_A
-#: LYMessages.c:662 src/LYNews.c:328
+#: LYMessages.c:662 src/LYNews.c:329
 msgid ""
 "\n"
 " When you are done, press enter and put a single period (.)"
 msgstr ""
 
 #. #define ENTER_PERIOD_WHEN_DONE_B
-#: LYMessages.c:664 src/LYNews.c:329
+#: LYMessages.c:664 src/LYNews.c:330
 msgid ""
 "\n"
 " on a line and press enter again."
@@ -2486,40 +2486,43 @@ msgid "Information about the current document"
 msgstr ""
 
 #: LYMessages.c:796
-msgid "Upload Options"
+msgid "Your recent statusline messages"
 msgstr ""
 
 #: LYMessages.c:797
+msgid "Upload Options"
+msgstr ""
+
+#: LYMessages.c:798
 msgid "Visited Links Page"
 msgstr ""
 
-#. CONFIG_DEF_TITLE subtitles
-#: LYMessages.c:800
+#: LYMessages.c:801
 msgid "See also"
 msgstr ""
 
-#: LYMessages.c:801
+#: LYMessages.c:802
 msgid "your"
 msgstr ""
 
-#: LYMessages.c:802
+#: LYMessages.c:803
 msgid "for runtime options"
 msgstr ""
 
-#: LYMessages.c:803
+#: LYMessages.c:804
 msgid "compile time options"
 msgstr ""
 
-#: LYMessages.c:804
+#: LYMessages.c:805
 msgid "latest release"
 msgstr ""
 
-#: LYMessages.c:805
+#: LYMessages.c:806
 msgid "development version"
 msgstr ""
 
 #. #define AUTOCONF_CONFIG_CACHE
-#: LYMessages.c:807
+#: LYMessages.c:808
 msgid ""
 "The following data were derived during the automatic configuration/build\n"
 "process of this copy of Lynx.  When reporting a bug, please include a copy\n"
@@ -2527,28 +2530,28 @@ msgid ""
 msgstr ""
 
 #. #define AUTOCONF_LYNXCFG_H
-#: LYMessages.c:811
+#: LYMessages.c:812
 msgid ""
 "The following data were used as automatically-configured compile-time\n"
 "definitions when this copy of Lynx was built."
 msgstr ""
 
 #. #define DIRED_NOVICELINE
-#: LYMessages.c:816
+#: LYMessages.c:817
 msgid "  C)reate  D)ownload  E)dit  F)ull menu  M)odify  R)emove  T)ag  U)pload     \n"
 msgstr ""
 
-#: LYMessages.c:817
+#: LYMessages.c:818
 msgid "Failed to obtain status of current link!"
 msgstr ""
 
 #. #define INVALID_PERMIT_URL
-#: LYMessages.c:820
+#: LYMessages.c:821
 msgid "Special URL only valid from current File Permission menu!"
 msgstr ""
 
 #. DIRED_SUPPORT
-#: LYMessages.c:824
+#: LYMessages.c:825
 msgid "External support is currently disabled."
 msgstr ""
 
@@ -2576,31 +2579,35 @@ msgstr ""
 msgid "Access without authorization denied -- retrying"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:633
+#: WWW/Library/Implementation/HTAccess.c:644
 msgid "Access forbidden by rule"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:730
+#: WWW/Library/Implementation/HTAccess.c:741
 msgid "Document with POST content not found in cache.  Resubmit?"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:970
+#: WWW/Library/Implementation/HTAccess.c:981
 msgid "Loading incomplete."
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:1000
+#.
+#. **	If you get this, then please find which routine is returning
+#. **	a positive unrecognized error code!
+#.
+#: WWW/Library/Implementation/HTAccess.c:1011
 msgid "**** HTAccess: socket or file number returned by obsolete load routine!\n"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:1002
+#: WWW/Library/Implementation/HTAccess.c:1013
 msgid "**** HTAccess: Internal software error.  Please mail lynx_dev@sig.net!\n"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:1003
+#: WWW/Library/Implementation/HTAccess.c:1014
 msgid "**** HTAccess: Status returned was: %d\n"
 msgstr ""
 
-#: WWW/Library/Implementation/HTAccess.c:1016
+#: WWW/Library/Implementation/HTAccess.c:1027
 msgid "Unable to access document."
 msgstr ""
 
@@ -2762,45 +2769,45 @@ msgstr ""
 msgid "Reading news article."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1196
+#: WWW/Library/Implementation/HTTCP.c:1197
 msgid "Address length looks invalid"
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1349
+#: WWW/Library/Implementation/HTTCP.c:1350
 msgid "Looking up %s."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1359
+#: WWW/Library/Implementation/HTTCP.c:1360
 msgid "Invalid hostname %s"
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1362
+#: WWW/Library/Implementation/HTTCP.c:1363
 msgid "Unable to locate remote host %s."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1372
+#: WWW/Library/Implementation/HTTCP.c:1373
 msgid "Making %s connection to %s."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1382
+#: WWW/Library/Implementation/HTTCP.c:1383
 msgid "socket failed."
 msgstr ""
 
 #. USE_FCNTL
-#: WWW/Library/Implementation/HTTCP.c:1401
+#: WWW/Library/Implementation/HTTCP.c:1402
 msgid "Could not make connection non-blocking."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1455
+#: WWW/Library/Implementation/HTTCP.c:1456
 msgid "Connection failed for 180,000 tries."
 msgstr ""
 
 #. USE_FCNTL
-#: WWW/Library/Implementation/HTTCP.c:1589
+#: WWW/Library/Implementation/HTTCP.c:1590
 msgid "Could not restore socket to blocking."
 msgstr ""
 
-#: WWW/Library/Implementation/HTTCP.c:1643
+#: WWW/Library/Implementation/HTTCP.c:1644
 msgid "Socket read failed for 180,000 tries."
 msgstr ""
 
@@ -3056,135 +3063,135 @@ msgstr ""
 msgid "Host"
 msgstr ""
 
-#: src/GridText.c:384
+#: src/GridText.c:385
 msgid "Memory exhausted, display interrupted!"
 msgstr ""
 
-#: src/GridText.c:389
+#: src/GridText.c:390
 msgid "Memory exhausted, will interrupt transfer!"
 msgstr ""
 
-#: src/GridText.c:2522
+#: src/GridText.c:2523
 msgid " *** MEMORY EXHAUSTED ***"
 msgstr ""
 
-#: src/GridText.c:4004 src/GridText.c:4011 src/LYList.c:249
+#: src/GridText.c:4005 src/GridText.c:4012 src/LYList.c:248
 msgid "unknown field or link"
 msgstr ""
 
-#: src/GridText.c:4020
+#: src/GridText.c:4021
 msgid "text entry field"
 msgstr ""
 
-#: src/GridText.c:4023
+#: src/GridText.c:4024
 msgid "password entry field"
 msgstr ""
 
-#: src/GridText.c:4026
+#: src/GridText.c:4027
 msgid "checkbox"
 msgstr ""
 
-#: src/GridText.c:4029
+#: src/GridText.c:4030
 msgid "radio button"
 msgstr ""
 
-#: src/GridText.c:4032
+#: src/GridText.c:4033
 msgid "submit button"
 msgstr ""
 
-#: src/GridText.c:4035
+#: src/GridText.c:4036
 msgid "reset button"
 msgstr ""
 
-#: src/GridText.c:4038
+#: src/GridText.c:4039
 msgid "popup menu"
 msgstr ""
 
-#: src/GridText.c:4041
+#: src/GridText.c:4042
 msgid "hidden form field"
 msgstr ""
 
-#: src/GridText.c:4044
+#: src/GridText.c:4045
 msgid "text entry area"
 msgstr ""
 
-#: src/GridText.c:4047
+#: src/GridText.c:4048
 msgid "range entry field"
 msgstr ""
 
-#: src/GridText.c:4050
+#: src/GridText.c:4051
 msgid "file entry field"
 msgstr ""
 
-#: src/GridText.c:4053
+#: src/GridText.c:4054
 msgid "text-submit field"
 msgstr ""
 
-#: src/GridText.c:4056
+#: src/GridText.c:4057
 msgid "image-submit button"
 msgstr ""
 
-#: src/GridText.c:4059
+#: src/GridText.c:4060
 msgid "keygen field"
 msgstr ""
 
-#: src/GridText.c:4062
+#: src/GridText.c:4063
 msgid "unknown form field"
 msgstr ""
 
-#: src/GridText.c:8727
+#: src/GridText.c:8814
 msgid "Submitting %s"
 msgstr ""
 
-#: src/HTAlert.c:154 src/LYShowInfo.c:293
+#: src/HTAlert.c:158 src/LYShowInfo.c:291
 msgid "bytes"
 msgstr ""
 
-#: src/HTAlert.c:158
+#: src/HTAlert.c:162
 msgid "KB"
 msgstr ""
 
-#: src/HTAlert.c:165
+#: src/HTAlert.c:169
 msgid "Read %ld of %ld %s of data"
 msgstr ""
 
-#: src/HTAlert.c:167
+#: src/HTAlert.c:171
 msgid "Read %ld %s of data"
 msgstr ""
 
-#: src/HTAlert.c:170
+#: src/HTAlert.c:174
 msgid ", %ld %s/sec."
 msgstr ""
 
-#: src/HTAlert.c:175
+#: src/HTAlert.c:179
 msgid " (Press 'z' to abort)"
 msgstr ""
 
-#: src/HTAlert.c:201
+#: src/HTAlert.c:210
 msgid "yes"
 msgstr ""
 
-#: src/HTAlert.c:202
+#: src/HTAlert.c:211
 msgid "no"
 msgstr ""
 
-#: src/HTML.c:5790
+#: src/HTML.c:5809
 msgid "Description:"
 msgstr ""
 
-#: src/HTML.c:5795
+#: src/HTML.c:5814
 msgid "(none)"
 msgstr ""
 
-#: src/HTML.c:5799
+#: src/HTML.c:5818
 msgid "Filepath:"
 msgstr ""
 
-#: src/HTML.c:5804
+#: src/HTML.c:5823
 msgid "(unknown)"
 msgstr ""
 
-#: src/HTML.c:7089
+#: src/HTML.c:7108
 msgid "Document has only hidden links.  Use the 'l'ist command."
 msgstr ""
 
@@ -3219,23 +3226,23 @@ msgstr ""
 #. *  Neither the path as given nor any components examined by
 #. *  backing up were stat()able. - kw
 #.
-#: src/LYCgi.c:238
+#: src/LYCgi.c:237
 msgid "Unable to access cgi script"
 msgstr ""
 
-#: src/LYCgi.c:650 src/LYCgi.c:653
+#: src/LYCgi.c:649 src/LYCgi.c:652
 msgid "Good Advice"
 msgstr ""
 
-#: src/LYCgi.c:656
+#: src/LYCgi.c:655
 msgid "An excellent http server for VMS is available via"
 msgstr ""
 
-#: src/LYCgi.c:663
+#: src/LYCgi.c:662
 msgid "this link"
 msgstr ""
 
-#: src/LYCgi.c:667
+#: src/LYCgi.c:666
 msgid "It provides state of the art CGI script support.\n"
 msgstr ""
 
@@ -3243,52 +3250,50 @@ msgstr ""
 msgid "Exiting via interrupt:"
 msgstr ""
 
-#: src/LYCookie.c:2149
+#. not used any more - kw
+#: src/LYCookie.c:2143
 msgid "(From Cookie Jar)"
 msgstr ""
 
-#: src/LYCookie.c:2565
+#: src/LYCookie.c:2559
 msgid "(from a previous session)"
 msgstr ""
 
-#.
-#. *	Show the Maximum Gobble Date. - FM
-#.
-#: src/LYCookie.c:2625
+#: src/LYCookie.c:2619
 msgid "Maximum Gobble Date:"
 msgstr ""
 
-#: src/LYCurses.c:777
+#: src/LYCurses.c:784
 msgid "Terminal initialisation failed - unknown terminal type?"
 msgstr ""
 
-#: src/LYCurses.c:1015
+#: src/LYCurses.c:1025
 msgid "Terminal ="
 msgstr ""
 
-#: src/LYCurses.c:1020
+#: src/LYCurses.c:1030
 msgid "You must use a vt100, 200, etc. terminal with this program."
 msgstr ""
 
-#: src/LYCurses.c:1098
+#: src/LYCurses.c:1108
 msgid "Your Terminal type is unknown!"
 msgstr ""
 
-#: src/LYCurses.c:1099
+#: src/LYCurses.c:1109
 msgid "Enter a terminal type:"
 msgstr ""
 
-#: src/LYCurses.c:1110
+#: src/LYCurses.c:1122
 msgid "TERMINAL TYPE IS SET TO"
 msgstr ""
 
-#: src/LYCurses.c:1353
+#: src/LYCurses.c:1365
 msgid ""
 "\n"
 "A Fatal error has occurred in %s Ver. %s\n"
 msgstr ""
 
-#: src/LYCurses.c:1355
+#: src/LYCurses.c:1367
 msgid ""
 "\n"
 "Please notify your system administrator to confirm a bug, and if\n"
@@ -3298,59 +3303,59 @@ msgid ""
 "TRACEBACK if it can be captured, and any other relevant information.\n"
 msgstr ""
 
-#: src/LYDownload.c:504
+#: src/LYDownload.c:503
 msgid "Downloaded link:"
 msgstr ""
 
-#: src/LYDownload.c:509
+#: src/LYDownload.c:508
 msgid "Suggested file name:"
 msgstr ""
 
-#: src/LYDownload.c:514
+#: src/LYDownload.c:513
 msgid "Standard download options:"
 msgstr ""
 
-#: src/LYDownload.c:515
+#: src/LYDownload.c:514
 msgid "Download options:"
 msgstr ""
 
-#: src/LYDownload.c:529
+#: src/LYDownload.c:528
 msgid "Save to disk"
 msgstr ""
 
-#: src/LYDownload.c:531
+#: src/LYDownload.c:530
 msgid "Save to disk disabled."
 msgstr ""
 
-#: src/LYDownload.c:535 src/LYPrint.c:1303
+#: src/LYDownload.c:534 src/LYPrint.c:1303
 msgid "Local additions:"
 msgstr ""
 
-#: src/LYDownload.c:544 src/LYUpload.c:227
+#: src/LYDownload.c:543 src/LYUpload.c:226
 msgid "No Name Given"
 msgstr ""
 
-#: src/LYHistory.c:398
+#: src/LYHistory.c:402
 msgid "You selected:"
 msgstr ""
 
-#: src/LYHistory.c:422 src/LYHistory.c:584
+#: src/LYHistory.c:426 src/LYHistory.c:594
 msgid "(no address)"
 msgstr ""
 
-#: src/LYHistory.c:426
+#: src/LYHistory.c:430
 msgid " (internal)"
 msgstr ""
 
-#: src/LYHistory.c:428
+#: src/LYHistory.c:432
 msgid " (was internal)"
 msgstr ""
 
-#: src/LYHistory.c:511
+#: src/LYHistory.c:521
 msgid " (From History)"
 msgstr ""
 
-#: src/LYHistory.c:548
+#: src/LYHistory.c:558
 msgid "You visited (POSTs, bookmark, menu and list files excluded):"
 msgstr ""
 
@@ -3390,116 +3395,116 @@ msgstr ""
 msgid "Total memory leakage this run:"
 msgstr ""
 
-#: src/LYList.c:93
+#: src/LYList.c:92
 msgid "References in "
 msgstr ""
 
-#: src/LYList.c:94
+#: src/LYList.c:93
 msgid "this document:"
 msgstr ""
 
-#: src/LYList.c:100
+#: src/LYList.c:99
 msgid "Visible links:"
 msgstr ""
 
-#: src/LYList.c:190 src/LYList.c:310
+#: src/LYList.c:189 src/LYList.c:309
 msgid "Hidden links:"
 msgstr ""
 
-#: src/LYList.c:258
+#: src/LYList.c:257
 msgid "References"
 msgstr ""
 
-#: src/LYList.c:260
+#: src/LYList.c:259
 msgid "Visible links"
 msgstr ""
 
-#: src/LYLocal.c:243
+#: src/LYLocal.c:242
 msgid "Unable to get status of '%s'."
 msgstr ""
 
-#: src/LYLocal.c:275
+#: src/LYLocal.c:274
 msgid "The selected item is not a file or a directory!  Request ignored."
 msgstr ""
 
-#: src/LYLocal.c:302
+#: src/LYLocal.c:301
 msgid "move %s to %s"
 msgstr ""
 
-#: src/LYLocal.c:323
+#: src/LYLocal.c:322
 msgid "There is already a directory with that name!  Request ignored."
 msgstr ""
 
-#: src/LYLocal.c:325
+#: src/LYLocal.c:324
 msgid "There is already a file with that name!  Request ignored."
 msgstr ""
 
-#: src/LYLocal.c:327
+#: src/LYLocal.c:326
 msgid "The specified name is already in use!  Request ignored."
 msgstr ""
 
-#: src/LYLocal.c:338
+#: src/LYLocal.c:337
 msgid "Destination has different owner!  Request denied."
 msgstr ""
 
-#: src/LYLocal.c:341
+#: src/LYLocal.c:340
 msgid "Destination is not a valid directory!  Request denied."
 msgstr ""
 
-#: src/LYLocal.c:364
+#: src/LYLocal.c:363
 msgid "Remove all tagged files and directories "
 msgstr ""
 
-#: src/LYLocal.c:385
+#: src/LYLocal.c:384
 msgid "remove %s"
 msgstr ""
 
-#: src/LYLocal.c:427
+#: src/LYLocal.c:426
 msgid "Enter new location for tagged items: "
 msgstr ""
 
-#: src/LYLocal.c:489
+#: src/LYLocal.c:488
 msgid "Path too long"
 msgstr ""
 
-#: src/LYLocal.c:520
+#: src/LYLocal.c:519
 msgid "Source and destination are the same location - request ignored!"
 msgstr ""
 
 #.
 #. *  Change the name of the file or directory.
 #.
-#: src/LYLocal.c:580
+#: src/LYLocal.c:579
 msgid "Enter new name for directory: "
 msgstr ""
 
-#: src/LYLocal.c:582
+#: src/LYLocal.c:581
 msgid "Enter new name for file: "
 msgstr ""
 
-#: src/LYLocal.c:593 src/LYUpload.c:107
+#: src/LYLocal.c:592 src/LYUpload.c:106
 msgid "Illegal character \"/\" found! Request ignored."
 msgstr ""
 
 #.
 #. *	Change the location of the file or directory.
 #.
-#: src/LYLocal.c:641
+#: src/LYLocal.c:640
 msgid "Enter new location for directory: "
 msgstr ""
 
-#: src/LYLocal.c:643
+#: src/LYLocal.c:642
 msgid "Enter new location for file: "
 msgstr ""
 
-#: src/LYLocal.c:667
+#: src/LYLocal.c:666
 msgid "Unexpected failure - unable to find trailing \"/\""
 msgstr ""
 
 #.
 #. *  Make sure the source and target are not the same location.
 #.
-#: src/LYLocal.c:689
+#: src/LYLocal.c:688
 msgid "Source and destination are the same location!  Request ignored!"
 msgstr ""
 
@@ -3507,169 +3512,169 @@ msgstr ""
 #. *	Do not allow simultaneous change of name and location as in Unix.
 #. *	This reduces functionality but reduces difficulty for the novice.
 #.
-#: src/LYLocal.c:736
+#: src/LYLocal.c:735
 msgid "Modify name, location, or permission (n, l, or p): "
 msgstr ""
 
-#: src/LYLocal.c:738
+#: src/LYLocal.c:737
 msgid "Modify name, or location (n or l): "
 msgstr ""
 
-#: src/LYLocal.c:764
+#: src/LYLocal.c:763
 msgid "This feature not yet implemented!"
 msgstr ""
 
-#: src/LYLocal.c:782
+#: src/LYLocal.c:781
 msgid "Enter name of file to create: "
 msgstr ""
 
-#: src/LYLocal.c:792 src/LYLocal.c:840
+#: src/LYLocal.c:791 src/LYLocal.c:839
 msgid "Illegal redirection \"//\" found! Request ignored."
 msgstr ""
 
-#: src/LYLocal.c:807
+#: src/LYLocal.c:806
 msgid "create %s"
 msgstr ""
 
-#: src/LYLocal.c:830
+#: src/LYLocal.c:829
 msgid "Enter name for new directory: "
 msgstr ""
 
-#: src/LYLocal.c:873
+#: src/LYLocal.c:872
 msgid "Create file or directory (f or d): "
 msgstr ""
 
-#: src/LYLocal.c:919
+#: src/LYLocal.c:918
 msgid "Remove '%s' and all of its contents: "
 msgstr ""
 
-#: src/LYLocal.c:922
+#: src/LYLocal.c:921
 msgid "Remove directory and all of its contents: "
 msgstr ""
 
-#: src/LYLocal.c:926
+#: src/LYLocal.c:925
 msgid "Remove file '%s': "
 msgstr ""
 
-#: src/LYLocal.c:928
+#: src/LYLocal.c:927
 msgid "Remove file: "
 msgstr ""
 
-#: src/LYLocal.c:933
+#: src/LYLocal.c:932
 msgid "Remove symbolic link '%s': "
 msgstr ""
 
-#: src/LYLocal.c:935
+#: src/LYLocal.c:934
 msgid "Remove symbolic link: "
 msgstr ""
 
-#: src/LYLocal.c:1027
+#: src/LYLocal.c:1026
 msgid "Sorry, don't know how to permit non-UNIX files yet."
 msgstr ""
 
-#: src/LYLocal.c:1060
+#: src/LYLocal.c:1059
 msgid "Unable to open permit options file"
 msgstr ""
 
-#: src/LYLocal.c:1087
+#: src/LYLocal.c:1086
 msgid "Specify permissions below:"
 msgstr ""
 
-#: src/LYLocal.c:1088 src/LYShowInfo.c:175
+#: src/LYLocal.c:1087 src/LYShowInfo.c:173
 msgid "Owner:"
 msgstr ""
 
-#: src/LYLocal.c:1104
+#: src/LYLocal.c:1103
 msgid "Group"
 msgstr ""
 
-#: src/LYLocal.c:1120
+#: src/LYLocal.c:1119
 msgid "Others:"
 msgstr ""
 
-#: src/LYLocal.c:1138
+#: src/LYLocal.c:1137
 msgid "form to permit"
 msgstr ""
 
-#: src/LYLocal.c:1236
+#: src/LYLocal.c:1235
 msgid "Invalid mode format."
 msgstr ""
 
-#: src/LYLocal.c:1240
+#: src/LYLocal.c:1239
 msgid "Invalid syntax format."
 msgstr ""
 
-#: src/LYLocal.c:1359
+#: src/LYLocal.c:1358
 msgid "NULL URL pointer"
 msgstr ""
 
-#: src/LYLocal.c:1443
+#: src/LYLocal.c:1442
 msgid "Warning!  UUDecoded file will exist in the directory you started Lynx."
 msgstr ""
 
-#: src/LYLocal.c:1555
+#: src/LYLocal.c:1554
 msgid "Executing %s "
 msgstr ""
 
-#: src/LYLocal.c:1558
+#: src/LYLocal.c:1557
 msgid "Executing system command. This might take a while."
 msgstr ""
 
-#: src/LYLocal.c:1602
+#: src/LYLocal.c:1601
 msgid "Unable to open file management menu file."
 msgstr ""
 
-#: src/LYLocal.c:1635
+#: src/LYLocal.c:1634
 msgid "Current directory:"
 msgstr ""
 
-#: src/LYLocal.c:1638 src/LYLocal.c:1656
+#: src/LYLocal.c:1637 src/LYLocal.c:1655
 msgid "Current selection:"
 msgstr ""
 
-#: src/LYLocal.c:1642
+#: src/LYLocal.c:1641
 msgid "Nothing currently selected."
 msgstr ""
 
-#: src/LYLocal.c:1657
+#: src/LYLocal.c:1656
 msgid "tagged item:"
 msgstr ""
 
-#: src/LYLocal.c:1657
+#: src/LYLocal.c:1656
 msgid "tagged items:"
 msgstr ""
 
-#: src/LYLocal.c:1754 src/LYLocal.c:1765
+#: src/LYLocal.c:1753 src/LYLocal.c:1764
 msgid "Illegal filename; request ignored."
 msgstr ""
 
-#: src/LYLocal.c:1806
+#: src/LYLocal.c:1805
 msgid "The selected item is not a directory!  Request ignored."
 msgstr ""
 
 #. directory not writable
-#: src/LYLocal.c:1809
+#: src/LYLocal.c:1808
 msgid "Install in the selected directory not permitted."
 msgstr ""
 
-#: src/LYLocal.c:1813
+#: src/LYLocal.c:1812
 msgid "Just a moment, ..."
 msgstr ""
 
-#: src/LYLocal.c:1843
+#: src/LYLocal.c:1842
 msgid "Installation complete"
 msgstr ""
 
-#: src/LYLocal.c:2013
+#: src/LYLocal.c:2012
 msgid "Temporary URL or list would be too long."
 msgstr ""
 
-#: src/LYLocal.c:2055
+#: src/LYLocal.c:2054
 msgid "Unable to %s due to system error!"
 msgstr ""
 
 #. error return
-#: src/LYLocal.c:2084
+#: src/LYLocal.c:2083
 msgid "Probable failure to %s due to system error!"
 msgstr ""
 
@@ -3702,15 +3707,15 @@ msgstr ""
 msgid "Lynx ver. %s"
 msgstr ""
 
-#: src/LYMail.c:1347
+#: src/LYMail.c:1345
 msgid "Personal_name: "
 msgstr ""
 
-#: src/LYMail.c:1349
+#: src/LYMail.c:1347
 msgid "X_Personal_name: "
 msgstr ""
 
-#: src/LYMail.c:1352
+#: src/LYMail.c:1350
 msgid "Personal Name: "
 msgstr ""
 
@@ -3740,113 +3745,123 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/LYMain.c:1299
+#.
+#. *	Make sure we have the edit map declared. - FM
+#.
+#: src/LYMain.c:1264
 msgid ""
 "\n"
-"Lynx file %s is not available.\n"
+"Lynx edit map not declared.\n"
 "\n"
 msgstr ""
 
-#.
-#. *	Make sure we have the edit map declared. - FM
-#.
-#: src/LYMain.c:1313
+#: src/LYMain.c:1307
 msgid ""
 "\n"
-"Lynx edit map not declared.\n"
+"Lynx file %s is not available.\n"
 "\n"
 msgstr ""
 
-#: src/LYMain.c:2520
+#: src/LYMain.c:1903
+msgid "persistent cookies state will be changed in next session only."
+msgstr ""
+
+#: src/LYMain.c:2549
 msgid ""
 "\n"
 "%s Version %s (%.*s)\n"
 msgstr ""
 
-#: src/LYMain.c:2527
+#: src/LYMain.c:2555
+msgid "Built on %s %s %s\n"
+msgstr ""
+
+#: src/LYMain.c:2559
 msgid "Copyrights held by the University of Kansas, CERN, and other contributors.\n"
 msgstr ""
 
-#: src/LYMain.c:2529
+#: src/LYMain.c:2561
 msgid "Distributed under the GNU General Public License.\n"
 msgstr ""
 
-#: src/LYMain.c:2531
+#: src/LYMain.c:2563
 msgid ""
 "See http://lynx.browser.org/ and the online help for more information.\n"
 "\n"
 msgstr ""
 
-#: src/LYMain.c:3060
+#: src/LYMain.c:3092
 msgid "USAGE: %s [options] [file]\n"
 msgstr ""
 
-#: src/LYMain.c:3061
+#: src/LYMain.c:3093
 msgid "Options are:\n"
 msgstr ""
 
-#: src/LYMain.c:3269
+#: src/LYMain.c:3301
 msgid "%s: Invalid Option: %s\n"
 msgstr ""
 
-#: src/LYMainLoop.c:327 src/LYMainLoop.c:3996
+#: src/LYMainLoop.c:304 src/LYMainLoop.c:3816
 msgid "Entry into main screen"
 msgstr ""
 
-#: src/LYMainLoop.c:683 src/LYMainLoop.c:690
+#: src/LYMainLoop.c:654 src/LYMainLoop.c:661
 msgid ""
 "\n"
 "lynx: Can't access startfile %s\n"
 msgstr ""
 
-#: src/LYMainLoop.c:775
+#: src/LYMainLoop.c:746
 msgid ""
 "\n"
 "lynx: Start file could not be found or is not text/html or text/plain\n"
 msgstr ""
 
-#: src/LYMainLoop.c:776
+#: src/LYMainLoop.c:747
 msgid "      Exiting...\n"
 msgstr ""
 
-#: src/LYMainLoop.c:1266
+#: src/LYMainLoop.c:1223
 msgid "Reparsing document under current settings..."
 msgstr ""
 
-#: src/LYMainLoop.c:1604 src/LYMainLoop.c:1608
+#: src/LYMainLoop.c:1411 src/LYMainLoop.c:1415
 msgid "Fatal error - could not open output file %s\n"
 msgstr ""
 
-#: src/LYMainLoop.c:3219
+#: src/LYMainLoop.c:3039
 msgid "Enctype multipart/form-data not yet supported!  Cannot submit."
 msgstr ""
 
 #.
 #. *	Make a name for this new URL.
 #.
-#: src/LYMainLoop.c:3927
+#: src/LYMainLoop.c:3747
 msgid "A URL specified by the user"
 msgstr ""
 
-#.
-#. *  Make a name for this help file.
-#.
-#: src/LYMainLoop.c:3953
+#: src/LYMainLoop.c:3773
 msgid "Help Screen"
 msgstr ""
 
-#: src/LYMainLoop.c:3977
+#: src/LYMainLoop.c:3797
 msgid "System Index"
 msgstr ""
 
-#: src/LYMainLoop.c:5623
+#: src/LYMainLoop.c:5457
 msgid "charset for this document specified explicitely, sorry..."
 msgstr ""
 
+#. Enable scrolling.
 #: src/LYNews.c:179
 msgid "You will be posting to:"
 msgstr ""
 
+#.
+#. *  Get the mail address for the From header,
+#. *  offering personal_mail_address as default.
+#.
 #: src/LYNews.c:188
 msgid ""
 "\n"
@@ -3854,6 +3869,11 @@ msgid ""
 " Please provide your mail address for the From: header\n"
 msgstr ""
 
+#.
+#. *  Get the Subject header, offering the current
+#. *  document's title as the default if this is a
+#. *  followup rather than a new post. - FM
+#.
 #: src/LYNews.c:207
 msgid ""
 "\n"
@@ -3861,21 +3881,24 @@ msgid ""
 " Please provide or edit the Subject: header\n"
 msgstr ""
 
-#: src/LYNews.c:255
+#: src/LYNews.c:256
 msgid ""
 "\n"
 "\n"
 " Please provide or edit the Organization: header\n"
 msgstr ""
 
-#: src/LYNews.c:327
+#.
+#. *  Use the built in line editior.
+#.
+#: src/LYNews.c:328
 msgid ""
 "\n"
 "\n"
 " Please enter your message below."
 msgstr ""
 
-#: src/LYNews.c:361
+#: src/LYNews.c:362
 msgid "Message has no original text!"
 msgstr ""
 
@@ -3887,162 +3910,162 @@ msgstr ""
 msgid "B)ookmark file: "
 msgstr ""
 
-#: src/LYOptions.c:4079
+#: src/LYOptions.c:4114
 msgid "Personal Preferences"
 msgstr ""
 
-#: src/LYOptions.c:4082
+#. Cookies: SELECT
+#: src/LYOptions.c:4117
 msgid "Cookies"
 msgstr ""
 
-#. Editor: INPUT
-#: src/LYOptions.c:4096
+#: src/LYOptions.c:4131
 msgid "Editor"
 msgstr ""
 
 #. Emacs keys: ON/OFF
-#: src/LYOptions.c:4101
+#: src/LYOptions.c:4136
 msgid "Emacs keys"
 msgstr ""
 
 #. Keypad Mode: SELECT
-#: src/LYOptions.c:4107
+#: src/LYOptions.c:4142
 msgid "Keypad mode"
 msgstr ""
 
-#. EXP_KEYBOARD_LAYOUT
-#. Mail Address: INPUT
-#: src/LYOptions.c:4137
+#: src/LYOptions.c:4172
 msgid "Personal mail address"
 msgstr ""
 
 #. Search Type: SELECT
-#: src/LYOptions.c:4142
+#: src/LYOptions.c:4177
 msgid "Searching type"
 msgstr ""
 
-#: src/LYOptions.c:4153
+#: src/LYOptions.c:4188
 msgid "Show color"
 msgstr ""
 
-#. USE_SLANG || COLOR_CURSES
-#. Show cursor: ON/OFF
-#: src/LYOptions.c:4192
+#: src/LYOptions.c:4227
 msgid "Show cursor"
 msgstr ""
 
-#. User Mode: SELECT
-#: src/LYOptions.c:4198
+#: src/LYOptions.c:4233
 msgid "User mode"
 msgstr ""
 
-#. VI Keys: ON/OFF
-#: src/LYOptions.c:4204
+#: src/LYOptions.c:4239
 msgid "VI keys"
 msgstr ""
 
-#. Display Character Set: SELECT
-#: src/LYOptions.c:4210
+#: src/LYOptions.c:4245
 msgid "Display character set"
 msgstr ""
 
-#: src/LYOptions.c:4223
+#. X Display: INPUT
+#: src/LYOptions.c:4258
 msgid "X Display"
 msgstr ""
 
 #.
 #. * Document Layout
 #.
-#: src/LYOptions.c:4229
+#: src/LYOptions.c:4264
 msgid "Document Layout"
 msgstr ""
 
-#: src/LYOptions.c:4246
+#: src/LYOptions.c:4281
 msgid "Assumed document character set"
 msgstr ""
 
-#: src/LYOptions.c:4263
+#.
+#. * Since CJK people hardly mixed with other world
+#. * we split the header to make it more readable:
+#. * "CJK mode" for CJK display charsets, and "Raw 8-bit" for others.
+#.
+#: src/LYOptions.c:4298
 msgid "CJK mode"
 msgstr ""
 
-#: src/LYOptions.c:4265
+#: src/LYOptions.c:4300
 msgid "Raw 8-bit"
 msgstr ""
 
-#: src/LYOptions.c:4272
+#. HTML error recovery: SELECT
+#: src/LYOptions.c:4307
 msgid "HTML error recovery"
 msgstr ""
 
-#: src/LYOptions.c:4278
+#. Select Popups: ON/OFF
+#: src/LYOptions.c:4313
 msgid "Popups for select fields"
 msgstr ""
 
-#: src/LYOptions.c:4284
+#. Show Images: SELECT
+#: src/LYOptions.c:4319
 msgid "Show images"
 msgstr ""
 
-#. Verbose Images: ON/OFF
-#: src/LYOptions.c:4298
+#: src/LYOptions.c:4333
 msgid "Verbose images"
 msgstr ""
 
-#.
-#. * Bookmark Options
-#.
-#: src/LYOptions.c:4306
+#: src/LYOptions.c:4341
 msgid "Bookmark Options"
 msgstr ""
 
-#: src/LYOptions.c:4310
+#: src/LYOptions.c:4345
 msgid "Multi-bookmarks"
 msgstr ""
 
-#: src/LYOptions.c:4327
+#: src/LYOptions.c:4362
 msgid "Review/edit Bookmarks files"
 msgstr ""
 
-#: src/LYOptions.c:4329
+#: src/LYOptions.c:4364
 msgid "Goto multi-bookmark menu"
 msgstr ""
 
-#: src/LYOptions.c:4332
+#: src/LYOptions.c:4367
 msgid "Bookmarks file"
 msgstr ""
 
 #. FTP sort: SELECT
-#: src/LYOptions.c:4343
+#: src/LYOptions.c:4378
 msgid "FTP sort criteria"
 msgstr ""
 
 #. Local Directory Sort: SELECT
-#: src/LYOptions.c:4350
+#: src/LYOptions.c:4385
 msgid "Local directory sort criteria"
 msgstr ""
 
-#. Show dot files: ON/OFF
-#: src/LYOptions.c:4358
+#: src/LYOptions.c:4393
 msgid "Show dot files"
 msgstr ""
 
-#: src/LYOptions.c:4366
+#. Execution links: SELECT
+#: src/LYOptions.c:4401
 msgid "Execution links"
 msgstr ""
 
-#: src/LYOptions.c:4387
+#.
+#. * Headers transferred to remote server
+#.
+#: src/LYOptions.c:4422
 msgid "Headers transferred to remote server"
 msgstr ""
 
-#: src/LYOptions.c:4390
+#. Preferred Document Character Set: INPUT
+#: src/LYOptions.c:4425
 msgid "Preferred document character set"
 msgstr ""
 
-#. Preferred Document Language: INPUT
-#: src/LYOptions.c:4395
+#: src/LYOptions.c:4430
 msgid "Preferred document language"
 msgstr ""
 
-#. User Agent: INPUT
-#: src/LYOptions.c:4401
+#: src/LYOptions.c:4436
 msgid "User-Agent header"
 msgstr ""
 
@@ -4106,7 +4129,7 @@ msgstr ""
 msgid "Print out on a printer attached to your vt100 terminal"
 msgstr ""
 
-#: src/LYReadCFG.c:386
+#: src/LYReadCFG.c:382
 msgid ""
 "Syntax Error parsing COLOR in configuration file:\n"
 "The line must be of the form:\n"
@@ -4116,250 +4139,248 @@ msgid ""
 "The special strings 'nocolor' or 'default', or\n"
 msgstr ""
 
-#: src/LYReadCFG.c:399
+#: src/LYReadCFG.c:395
 msgid "Offending line:"
 msgstr ""
 
-#: src/LYReadCFG.c:652
+#: src/LYReadCFG.c:645
 msgid "key remapping of "
 msgstr ""
 
-#: src/LYReadCFG.c:654
+#: src/LYReadCFG.c:647
 msgid " failed"
 msgstr ""
 
-#: src/LYReadCFG.c:756
+#: src/LYReadCFG.c:749
 msgid "Lynx: cannot start, CERN rules file %s is not available\n"
 msgstr ""
 
-#: src/LYReadCFG.c:758
+#: src/LYReadCFG.c:751
 msgid "(no name)"
 msgstr ""
 
-#: src/LYReadCFG.c:1238
+#: src/LYReadCFG.c:1270
 msgid "More than %d nested lynx.cfg includes -- perhaps there is a loop?!?\n"
 msgstr ""
 
-#: src/LYReadCFG.c:1240
+#: src/LYReadCFG.c:1272
 msgid "Last attempted include was '%s',\n"
 msgstr ""
 
-#: src/LYReadCFG.c:1241
+#: src/LYReadCFG.c:1273
 msgid "included from '%s'.\n"
 msgstr ""
 
-#. no absolute path... for lynx.cfg on DOS/Win32
-#: src/LYReadCFG.c:1602 src/LYReadCFG.c:1615
+#: src/LYReadCFG.c:1710 src/LYReadCFG.c:1723
 msgid "This is read from your lynx.cfg file,"
 msgstr ""
 
-#: src/LYReadCFG.c:1603 src/LYReadCFG.c:1616
+#: src/LYReadCFG.c:1711 src/LYReadCFG.c:1724
 msgid "please \"read\" distribution's"
 msgstr ""
 
-#: src/LYReadCFG.c:1609 src/LYReadCFG.c:1619
+#: src/LYReadCFG.c:1717 src/LYReadCFG.c:1727
 msgid "for more comments."
 msgstr ""
 
-#: src/LYReadCFG.c:1625
+#: src/LYReadCFG.c:1733
 msgid "RELOAD THE CHANGES"
 msgstr ""
 
-#: src/LYReadCFG.c:1634
+#: src/LYReadCFG.c:1742
 msgid "Your primary configuration"
 msgstr ""
 
-#. !NO_CONFIG_INFO
-#: src/LYReadCFG.c:1643
+#: src/LYReadCFG.c:1751
 msgid "This is read from your lynx.cfg file:"
 msgstr ""
 
-#: src/LYShowInfo.c:105
+#: src/LYShowInfo.c:103
 msgid "Directory that you are currently viewing"
 msgstr ""
 
-#: src/LYShowInfo.c:111
+#: src/LYShowInfo.c:109
 msgid "Name:"
 msgstr ""
 
-#: src/LYShowInfo.c:112
+#: src/LYShowInfo.c:110
 msgid "URL:"
 msgstr ""
 
-#: src/LYShowInfo.c:125
+#: src/LYShowInfo.c:123
 msgid "Directory that you have currently selected"
 msgstr ""
 
-#: src/LYShowInfo.c:128
+#: src/LYShowInfo.c:126
 msgid "File that you have currently selected"
 msgstr ""
 
-#: src/LYShowInfo.c:132
+#: src/LYShowInfo.c:130
 msgid "Symbolic link that you have currently selected"
 msgstr ""
 
-#: src/LYShowInfo.c:136
+#: src/LYShowInfo.c:134
 msgid "Item that you have currently selected"
 msgstr ""
 
-#: src/LYShowInfo.c:138
+#: src/LYShowInfo.c:136
 msgid "Full name:"
 msgstr ""
 
-#: src/LYShowInfo.c:147
+#: src/LYShowInfo.c:145
 msgid "Unable to follow link"
 msgstr ""
 
-#: src/LYShowInfo.c:149
+#: src/LYShowInfo.c:147
 msgid "Points to file:"
 msgstr ""
 
-#: src/LYShowInfo.c:154
+#: src/LYShowInfo.c:152
 msgid "Name of owner"
 msgstr ""
 
-#: src/LYShowInfo.c:157
+#: src/LYShowInfo.c:155
 msgid "Group name:"
 msgstr ""
 
-#: src/LYShowInfo.c:160
+#: src/LYShowInfo.c:158
 msgid "File size:"
 msgstr ""
 
-#: src/LYShowInfo.c:166
+#: src/LYShowInfo.c:164
 msgid "Creation date:"
 msgstr ""
 
-#: src/LYShowInfo.c:169
+#: src/LYShowInfo.c:167
 msgid "Last modified:"
 msgstr ""
 
-#: src/LYShowInfo.c:172
+#: src/LYShowInfo.c:170
 msgid "Last accessed:"
 msgstr ""
 
-#: src/LYShowInfo.c:174
+#: src/LYShowInfo.c:172
 msgid "Access Permissions"
 msgstr ""
 
 #. DIRED_SUPPORT
-#: src/LYShowInfo.c:239
+#: src/LYShowInfo.c:237
 msgid "File that you are currently viewing"
 msgstr ""
 
-#: src/LYShowInfo.c:244 src/LYShowInfo.c:350
+#: src/LYShowInfo.c:242 src/LYShowInfo.c:348
 msgid "Linkname:"
 msgstr ""
 
-#: src/LYShowInfo.c:254 src/LYShowInfo.c:266
+#: src/LYShowInfo.c:252 src/LYShowInfo.c:264
 msgid "Charset:"
 msgstr ""
 
-#: src/LYShowInfo.c:272
+#: src/LYShowInfo.c:270
 msgid "Server:"
 msgstr ""
 
-#: src/LYShowInfo.c:275
+#: src/LYShowInfo.c:273
 msgid "Date:"
 msgstr ""
 
-#: src/LYShowInfo.c:278
+#: src/LYShowInfo.c:276
 msgid "Last Mod:"
 msgstr ""
 
-#: src/LYShowInfo.c:284
+#: src/LYShowInfo.c:282
 msgid "&nbsp;Expires:"
 msgstr ""
 
-#: src/LYShowInfo.c:288
+#: src/LYShowInfo.c:286
 msgid "Cache-Control:"
 msgstr ""
 
-#: src/LYShowInfo.c:292
+#: src/LYShowInfo.c:290
 msgid "Content-Length:"
 msgstr ""
 
-#: src/LYShowInfo.c:297
+#: src/LYShowInfo.c:295
 msgid "Language:"
 msgstr ""
 
-#: src/LYShowInfo.c:304
+#: src/LYShowInfo.c:302
 msgid "Post Data:"
 msgstr ""
 
-#: src/LYShowInfo.c:306
+#: src/LYShowInfo.c:304
 msgid "Post Content Type:"
 msgstr ""
 
-#: src/LYShowInfo.c:315
+#: src/LYShowInfo.c:313
 msgid "Owner(s):"
 msgstr ""
 
-#: src/LYShowInfo.c:318
+#: src/LYShowInfo.c:316
 msgid "size:"
 msgstr ""
 
-#: src/LYShowInfo.c:318
+#: src/LYShowInfo.c:316
 msgid "lines"
 msgstr ""
 
-#: src/LYShowInfo.c:321
+#: src/LYShowInfo.c:319
 msgid "mode:"
 msgstr ""
 
-#: src/LYShowInfo.c:323
+#: src/LYShowInfo.c:321
 msgid "forms mode"
 msgstr ""
 
-#: src/LYShowInfo.c:325
+#: src/LYShowInfo.c:323
 msgid "source"
 msgstr ""
 
-#: src/LYShowInfo.c:325
+#: src/LYShowInfo.c:323
 msgid "normal"
 msgstr ""
 
-#: src/LYShowInfo.c:326
+#: src/LYShowInfo.c:324
 msgid ", safe"
 msgstr ""
 
-#: src/LYShowInfo.c:327
+#: src/LYShowInfo.c:325
 msgid ", internal link"
 msgstr ""
 
-#: src/LYShowInfo.c:333
+#: src/LYShowInfo.c:331
 msgid ", no-cache"
 msgstr ""
 
-#: src/LYShowInfo.c:335
+#: src/LYShowInfo.c:333
 msgid ", ISMAP script"
 msgstr ""
 
-#: src/LYShowInfo.c:337
+#: src/LYShowInfo.c:335
 msgid ", bookmark file"
 msgstr ""
 
-#: src/LYShowInfo.c:346
+#: src/LYShowInfo.c:344
 msgid "Link that you currently have selected"
 msgstr ""
 
-#: src/LYShowInfo.c:359
+#: src/LYShowInfo.c:357
 msgid "Method:"
 msgstr ""
 
-#: src/LYShowInfo.c:364
+#: src/LYShowInfo.c:362
 msgid "Enctype:"
 msgstr ""
 
-#: src/LYShowInfo.c:376
+#: src/LYShowInfo.c:374
 msgid "(Form field)"
 msgstr ""
 
-#: src/LYShowInfo.c:391
+#: src/LYShowInfo.c:389
 msgid "No Links on the current page"
 msgstr ""
 
-#: src/LYStyle.c:171
+#: src/LYStyle.c:170
 msgid ""
 "Syntax Error parsing style in lss file:\n"
 "[%s]\n"
@@ -4369,411 +4390,396 @@ msgid ""
 "\n"
 msgstr ""
 
-#: src/LYTraversal.c:102
+#: src/LYTraversal.c:107
 msgid "here is a list of the history stack so that you may rebuild"
 msgstr ""
 
-#: src/LYUpload.c:82
+#: src/LYUpload.c:81
 msgid "ERROR! - upload command is misconfigured"
 msgstr ""
 
-#: src/LYUpload.c:104
+#: src/LYUpload.c:103
 msgid "Illegal redirection \"../\" found! Request ignored."
 msgstr ""
 
-#: src/LYUpload.c:110
+#: src/LYUpload.c:109
 msgid "Illegal redirection using \"~\" found! Request ignored."
 msgstr ""
 
-#: src/LYUpload.c:171
+#: src/LYUpload.c:170
 msgid "Unable to upload file."
 msgstr ""
 
-#: src/LYUpload.c:217
+#: src/LYUpload.c:216
 msgid "Upload To:"
 msgstr ""
 
-#: src/LYUpload.c:218
+#: src/LYUpload.c:217
 msgid "Upload options:"
 msgstr ""
 
-#.
-#. *  Header.
-#.
-#: src/LYrcFile.c:546
+#: src/LYrcFile.c:563
 msgid ""
-"# Lynx User Defaults File\n"
-"#\n"
-"# This file contains options saved from the Lynx Options Screen (normally\n"
-"# with the '>' key).  There is normally no need to edit this file manually,\n"
-"# since the defaults here can be controlled from the Options Screen, and the\n"
-"# next time options are saved from the Options Screen this file will be\n"
-"# completely rewritten.  You have been warned...\n"
-"# If you are looking for the general configuration file - it is normally\n"
-"# called lynx.cfg, and it has different content and a different format.\n"
-"# It is not this file.\n"
+"Lynx User Defaults File\n"
 "\n"
+"This file contains options saved from the Lynx Options Screen (normally\n"
+"with the '>' key).  There is normally no need to edit this file manually,\n"
+"since the defaults here can be controlled from the Options Screen, and the\n"
+"next time options are saved from the Options Screen this file will be\n"
+"completely rewritten.  You have been warned...\n"
+"If you are looking for the general configuration file - it is normally\n"
+"called lynx.cfg, and it has different content and a different format.\n"
+"It is not this file.\n"
 msgstr ""
 
 #.
 #. *  File editor
 #.
-#: src/LYrcFile.c:559
+#: src/LYrcFile.c:580
 msgid ""
-"# file_editor specifies the editor to be invoked when editing local files\n"
-"# or sending mail.  If no editor is specified, then file editing is disabled\n"
-"# unless it is activated from the command line, and the built-in line editor\n"
-"# will be used for sending mail.\n"
+"file_editor specifies the editor to be invoked when editing local files\n"
+"or sending mail.  If no editor is specified, then file editing is disabled\n"
+"unless it is activated from the command line, and the built-in line editor\n"
+"will be used for sending mail.\n"
 msgstr ""
 
-#: src/LYrcFile.c:569
+#.
+#. *  Default bookmark file.
+#.
+#: src/LYrcFile.c:591
 msgid ""
-"# bookmark_file specifies the name and location of the default bookmark\n"
-"# file into which the user can paste links for easy access at a later\n"
-"# date.\n"
+"bookmark_file specifies the name and location of the default bookmark\n"
+"file into which the user can paste links for easy access at a later\n"
+"date.\n"
 msgstr ""
 
-#.
-#. *  Multiple (sub)bookmark support settings.
-#.
-#: src/LYrcFile.c:578
+#: src/LYrcFile.c:601
 msgid ""
-"# If sub_bookmarks is not turned \"off\", and multiple bookmarks have\n"
-"# been defined (see below), then all bookmark operations will first\n"
-"# prompt the user to select an active sub-bookmark file.  If the default\n"
-"# Lynx bookmark_file is defined (see above), it will be used as the\n"
-"# default selection.  When this option is set to \"advanced\", and the\n"
-"# user mode is advanced, the 'v'iew bookmark command will invoke a\n"
-"# statusline prompt instead of the menu seen in novice and intermediate\n"
-"# user modes.  When this option is set to \"standard\", the menu will be\n"
-"# presented regardless of user mode.\n"
+"If sub_bookmarks is not turned \"off\", and multiple bookmarks have\n"
+"been defined (see below), then all bookmark operations will first\n"
+"prompt the user to select an active sub-bookmark file.  If the default\n"
+"Lynx bookmark_file is defined (see above), it will be used as the\n"
+"default selection.  When this option is set to \"advanced\", and the\n"
+"user mode is advanced, the 'v'iew bookmark command will invoke a\n"
+"statusline prompt instead of the menu seen in novice and intermediate\n"
+"user modes.  When this option is set to \"standard\", the menu will be\n"
+"presented regardless of user mode.\n"
 msgstr ""
 
 #.
 #. *  Multiple (sub)bookmark definitions and descriptions.
 #.
-#: src/LYrcFile.c:596
+#: src/LYrcFile.c:620
 msgid ""
-"# The following allow you to define sub-bookmark files and descriptions.\n"
-"# The format is multi_bookmark<capital_letter>=<filename>,<description>\n"
-"# Up to 26 bookmark files (for the English capital letters) are allowed.\n"
-"# We start with \"multi_bookmarkB\" since 'A' is the default (see above).\n"
-msgstr ""
-
-#: src/LYrcFile.c:615
-msgid ""
-"# The file_sorting_method specifies which value to sort on when viewing\n"
-"# file lists such as FTP directories.  The options are:\n"
-"#    BY_FILENAME -- sorts on the name of the file\n"
-"#    BY_TYPE     -- sorts on the type of the file\n"
-"#    BY_SIZE     -- sorts on the size of the file\n"
-"#    BY_DATE     -- sorts on the date of the file\n"
+"The following allow you to define sub-bookmark files and descriptions.\n"
+"The format is multi_bookmark<capital_letter>=<filename>,<description>\n"
+"Up to 26 bookmark files (for the English capital letters) are allowed.\n"
+"We start with \"multi_bookmarkB\" since 'A' is the default (see above).\n"
 msgstr ""
 
 #.
-#. *  Personal mail address.
+#. *  FTP/file sorting method.
 #.
-#: src/LYrcFile.c:633
+#: src/LYrcFile.c:640
 msgid ""
-"# personal_mail_address specifies your personal mail address.  The\n"
-"# address will be sent during HTTP file transfers for authorization and\n"
-"# logging purposes, and for mailed comments.\n"
-"# If you do not want this information given out, set the NO_FROM_HEADER\n"
-"# to TRUE in lynx.cfg, or use the -nofrom command line switch.  You also\n"
-"# could leave this field blank, but then you won't have it included in\n"
-"# your mailed comments.\n"
+"The file_sorting_method specifies which value to sort on when viewing\n"
+"file lists such as FTP directories.  The options are:\n"
+"   BY_FILENAME -- sorts on the name of the file\n"
+"   BY_TYPE     -- sorts on the type of the file\n"
+"   BY_SIZE     -- sorts on the size of the file\n"
+"   BY_DATE     -- sorts on the date of the file\n"
 msgstr ""
 
-#: src/LYrcFile.c:647
+#: src/LYrcFile.c:659
 msgid ""
-"# If case_sensitive_searching is \"on\" then when the user invokes a search\n"
-"# using the 's' or '/' keys, the search performed will be case sensitive\n"
-"# instead of case INsensitive.  The default is usually \"off\".\n"
+"personal_mail_address specifies your personal mail address.  The\n"
+"address will be sent during HTTP file transfers for authorization and\n"
+"logging purposes, and for mailed comments.\n"
+"If you do not want this information given out, set the NO_FROM_HEADER\n"
+"to TRUE in lynx.cfg, or use the -nofrom command line switch.  You also\n"
+"could leave this field blank, but then you won't have it included in\n"
+"your mailed comments.\n"
 msgstr ""
 
 #.
-#. *  Character set.
+#. *  Searching type.
 #.
-#: src/LYrcFile.c:657
+#: src/LYrcFile.c:674
 msgid ""
-"# The character_set definition controls the representation of 8 bit\n"
-"# characters for your terminal.  If 8 bit characters do not show up\n"
-"# correctly on your screen you may try changing to a different 8 bit\n"
-"# set or using the 7 bit character approximations.\n"
-"# Current valid characters sets are:\n"
+"If case_sensitive_searching is \"on\" then when the user invokes a search\n"
+"using the 's' or '/' keys, the search performed will be case sensitive\n"
+"instead of case INsensitive.  The default is usually \"off\".\n"
 msgstr ""
 
-#: src/LYrcFile.c:671
+#.
+#. *  Character set.
+#.
+#: src/LYrcFile.c:685
 msgid ""
-"# preferred_language specifies the language in MIME notation (e.g., en,\n"
-"# fr, may be a comma-separated list in decreasing preference)\n"
-"# which Lynx will indicate you prefer in requests to http servers.\n"
-"# If a file in that language is available, the server will send it.\n"
-"# Otherwise, the server will send the file in it's default language.\n"
+"The character_set definition controls the representation of 8 bit\n"
+"characters for your terminal.  If 8 bit characters do not show up\n"
+"correctly on your screen you may try changing to a different 8 bit\n"
+"set or using the 7 bit character approximations.\n"
+"Current valid characters sets are:\n"
 msgstr ""
 
 #.
-#. *  Preferred charset.
+#. *  Preferred language.
 #.
-#: src/LYrcFile.c:682
+#: src/LYrcFile.c:700
 msgid ""
-"# preferred_charset specifies the character set in MIME notation (e.g.,\n"
-"# ISO-8859-2, ISO-8859-5) which Lynx will indicate you prefer in requests\n"
-"# to http servers using an Accept-Charset header.  The value should NOT\n"
-"# include ISO-8859-1 or US-ASCII, since those values are always assumed\n"
-"# by default.  May be a comma-separated list.\n"
-"# If a file in that character set is available, the server will send it.\n"
-"# If no Accept-Charset header is present, the default is that any\n"
-"# character set is acceptable.  If an Accept-Charset header is present,\n"
-"# and if the server cannot send a response which is acceptable\n"
-"# according to the Accept-Charset header, then the server SHOULD send\n"
-"# an error response, though the sending of an unacceptable response\n"
-"# is also allowed.\n"
-msgstr ""
-
-#: src/LYrcFile.c:702
+"preferred_language specifies the language in MIME notation (e.g., en,\n"
+"fr, may be a comma-separated list in decreasing preference)\n"
+"which Lynx will indicate you prefer in requests to http servers.\n"
+"If a file in that language is available, the server will send it.\n"
+"Otherwise, the server will send the file in it's default language.\n"
+msgstr ""
+
+#: src/LYrcFile.c:712
 msgid ""
-"# show_color specifies how to set the color mode at startup.  A value of\n"
-"# \"never\" will force color mode off (treat the terminal as monochrome)\n"
-"# at startup even if the terminal appears to be color capable.  A value of\n"
-"# \"always\" will force color mode on even if the terminal appears to be\n"
-"# monochrome, if this is supported by the library used to build lynx.\n"
-"# A value of \"default\" will yield the behavior of assuming\n"
-"# a monochrome terminal unless color capability is inferred at startup\n"
-"# based on the terminal type, or the -color command line switch is used, or\n"
-"# the COLORTERM environment variable is set.  The default behavior always is\n"
-"# used in anonymous accounts or if the \"option_save\" restriction is set.\n"
-"# The effect of the saved value can be overridden via\n"
-"# the -color and -nocolor command line switches.\n"
-"# The mode set at startup can be changed via the \"show color\" option in\n"
-"# the 'o'ptions menu.  If the option settings are saved, the \"on\" and\n"
-"# \"off\" \"show color\" settings will be treated as \"default\".\n"
-msgstr ""
-
-#: src/LYrcFile.c:727
+"preferred_charset specifies the character set in MIME notation (e.g.,\n"
+"ISO-8859-2, ISO-8859-5) which Lynx will indicate you prefer in requests\n"
+"to http servers using an Accept-Charset header.  The value should NOT\n"
+"include ISO-8859-1 or US-ASCII, since those values are always assumed\n"
+"by default.  May be a comma-separated list.\n"
+"If a file in that character set is available, the server will send it.\n"
+"If no Accept-Charset header is present, the default is that any\n"
+"character set is acceptable.  If an Accept-Charset header is present,\n"
+"and if the server cannot send a response which is acceptable\n"
+"according to the Accept-Charset header, then the server SHOULD send\n"
+"an error response, though the sending of an unacceptable response\n"
+"is also allowed.\n"
+msgstr ""
+
+#: src/LYrcFile.c:733
 msgid ""
-"# If vi_keys is set to \"on\", then the normal VI movement keys:\n"
-"#   j = down    k = up\n"
-"#   h = left    l = right\n"
-"# will be enabled.  These keys are only lower case.\n"
-"# Capital 'H', 'J' and 'K will still activate help, jump shortcuts,\n"
-"# and the keymap display, respectively.\n"
+"show_color specifies how to set the color mode at startup.  A value of\n"
+"\"never\" will force color mode off (treat the terminal as monochrome)\n"
+"at startup even if the terminal appears to be color capable.  A value of\n"
+"\"always\" will force color mode on even if the terminal appears to be\n"
+"monochrome, if this is supported by the library used to build lynx.\n"
+"A value of \"default\" will yield the behavior of assuming\n"
+"a monochrome terminal unless color capability is inferred at startup\n"
+"based on the terminal type, or the -color command line switch is used, or\n"
+"the COLORTERM environment variable is set.  The default behavior always is\n"
+"used in anonymous accounts or if the \"option_save\" restriction is set.\n"
+"The effect of the saved value can be overridden via\n"
+"the -color and -nocolor command line switches.\n"
+"The mode set at startup can be changed via the \"show color\" option in\n"
+"the 'o'ptions menu.  If the option settings are saved, the \"on\" and\n"
+"\"off\" \"show color\" settings will be treated as \"default\".\n"
 msgstr ""
 
 #.
-#. *  EMACS keys.
+#. *  VI keys.
 #.
-#: src/LYrcFile.c:739
+#: src/LYrcFile.c:759
+msgid ""
+"If vi_keys is set to \"on\", then the normal VI movement keys:\n"
+"  j = down    k = up\n"
+"  h = left    l = right\n"
+"will be enabled.  These keys are only lower case.\n"
+"Capital 'H', 'J' and 'K will still activate help, jump shortcuts,\n"
+"and the keymap display, respectively.\n"
+msgstr ""
+
+#: src/LYrcFile.c:772
 msgid ""
-"# If emacs_keys is to \"on\" then the normal EMACS movement keys:\n"
-"#   ^N = down    ^P = up\n"
-"#   ^B = left    ^F = right\n"
-"# will be enabled.\n"
+"If emacs_keys is to \"on\" then the normal EMACS movement keys:\n"
+"  ^N = down    ^P = up\n"
+"  ^B = left    ^F = right\n"
+"will be enabled.\n"
 msgstr ""
 
 #.
 #. *  Show dot files.
 #.
-#: src/LYrcFile.c:749
+#: src/LYrcFile.c:783
 msgid ""
-"# show_dotfiles specifies that the directory listing should include\n"
-"# \"hidden\" (dot) files/directories.  If set \"on\", this will be\n"
-"# honored only if enabled via userdefs.h and/or lynx.cfg, and not\n"
-"# restricted via a command line switch.  If display of hidden files\n"
-"# is disabled, creation of such files via Lynx also is disabled.\n"
+"show_dotfiles specifies that the directory listing should include\n"
+"\"hidden\" (dot) files/directories.  If set \"on\", this will be\n"
+"honored only if enabled via userdefs.h and/or lynx.cfg, and not\n"
+"restricted via a command line switch.  If display of hidden files\n"
+"is disabled, creation of such files via Lynx also is disabled.\n"
 msgstr ""
 
-#: src/LYrcFile.c:760
+#.
+#. *  Select popups.
+#.
+#: src/LYrcFile.c:795
 msgid ""
-"# select_popups specifies whether the OPTIONs in a SELECT block which\n"
-"# lacks a MULTIPLE attribute are presented as a vertical list of radio\n"
-"# buttons or via a popup menu.  Note that if the MULTIPLE attribute is\n"
-"# present in the SELECT start tag, Lynx always will create a vertical list\n"
-"# of checkboxes for the OPTIONs.  A value of \"on\" will set popup menus\n"
-"# as the default while a value of \"off\" will set use of radio boxes.\n"
-"# The default can be overridden via the -popup command line toggle.\n"
+"select_popups specifies whether the OPTIONs in a SELECT block which\n"
+"lacks a MULTIPLE attribute are presented as a vertical list of radio\n"
+"buttons or via a popup menu.  Note that if the MULTIPLE attribute is\n"
+"present in the SELECT start tag, Lynx always will create a vertical list\n"
+"of checkboxes for the OPTIONs.  A value of \"on\" will set popup menus\n"
+"as the default while a value of \"off\" will set use of radio boxes.\n"
+"The default can be overridden via the -popup command line toggle.\n"
 msgstr ""
 
-#.
-#. *  Show cursor.
-#.
-#: src/LYrcFile.c:773
+#: src/LYrcFile.c:809
 msgid ""
-"# show_cursor specifies whether to 'hide' the cursor to the right (and\n"
-"# bottom, if possible) of the screen, or to place it to the left of the\n"
-"# current link in documents, or current option in select popup windows.\n"
-"# Positioning the cursor to the left of the current link or option is\n"
-"# helpful for speech or braille interfaces, and when the terminal is\n"
-"# one which does not distinguish the current link based on highlighting\n"
-"# or color.  A value of \"on\" will set positioning to the left as the\n"
-"# default while a value of \"off\" will set 'hiding' of the cursor.\n"
-"# The default can be overridden via the -show_cursor command line toggle.\n"
+"show_cursor specifies whether to 'hide' the cursor to the right (and\n"
+"bottom, if possible) of the screen, or to place it to the left of the\n"
+"current link in documents, or current option in select popup windows.\n"
+"Positioning the cursor to the left of the current link or option is\n"
+"helpful for speech or braille interfaces, and when the terminal is\n"
+"one which does not distinguish the current link based on highlighting\n"
+"or color.  A value of \"on\" will set positioning to the left as the\n"
+"default while a value of \"off\" will set 'hiding' of the cursor.\n"
+"The default can be overridden via the -show_cursor command line toggle.\n"
 msgstr ""
 
 #.
 #. *  Keypad mode.
 #.
-#: src/LYrcFile.c:788
+#: src/LYrcFile.c:825
 msgid ""
-"# If keypad_mode is set to \"NUMBERS_AS_ARROWS\", then the numbers on\n"
-"# your keypad when the numlock is on will act as arrow keys:\n"
-"#             8 = Up Arrow\n"
-"#   4 = Left Arrow    6 = Right Arrow\n"
-"#             2 = Down Arrow\n"
-"# and the corresponding keyboard numbers will act as arrow keys,\n"
-"# regardless of whether numlock is on.\n"
+"If keypad_mode is set to \"NUMBERS_AS_ARROWS\", then the numbers on\n"
+"your keypad when the numlock is on will act as arrow keys:\n"
+"            8 = Up Arrow\n"
+"  4 = Left Arrow    6 = Right Arrow\n"
+"            2 = Down Arrow\n"
+"and the corresponding keyboard numbers will act as arrow keys,\n"
+"regardless of whether numlock is on.\n"
 msgstr ""
 
-#: src/LYrcFile.c:796
+#: src/LYrcFile.c:834
 msgid ""
-"# If keypad_mode is set to \"LINKS_ARE_NUMBERED\", then numbers will\n"
-"# appear next to each link and numbers are used to select links.\n"
+"If keypad_mode is set to \"LINKS_ARE_NUMBERED\", then numbers will\n"
+"appear next to each link and numbers are used to select links.\n"
 msgstr ""
 
-#: src/LYrcFile.c:799
+#: src/LYrcFile.c:838
 msgid ""
-"# If keypad_mode is set to \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\", then\n"
-"# numbers will appear next to each link and visible form input field.\n"
-"# Numbers are used to select links, or to move the \"current link\" to a\n"
-"# form input field or button.  In addition, options in popup menus are\n"
-"# indexed so that the user may type an option number to select an option in\n"
-"# a popup menu, even if the option isn't visible on the screen.  Reference\n"
-"# lists and output from the list command also enumerate form inputs.\n"
+"If keypad_mode is set to \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\", then\n"
+"numbers will appear next to each link and visible form input field.\n"
+"Numbers are used to select links, or to move the \"current link\" to a\n"
+"form input field or button.  In addition, options in popup menus are\n"
+"indexed so that the user may type an option number to select an option in\n"
+"a popup menu, even if the option isn't visible on the screen.  Reference\n"
+"lists and output from the list command also enumerate form inputs.\n"
 msgstr ""
 
-#: src/LYrcFile.c:807
+#: src/LYrcFile.c:847
 msgid ""
-"# NOTE: Some fixed format documents may look disfigured when\n"
-"# \"LINKS_ARE_NUMBERED\" or \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\" are\n"
-"# enabled.\n"
+"NOTE: Some fixed format documents may look disfigured when\n"
+"\"LINKS_ARE_NUMBERED\" or \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\" are\n"
+"enabled.\n"
 msgstr ""
 
-#: src/LYrcFile.c:820
+#.
+#. *  Partial display threshold
+#.
+#: src/LYrcFile.c:861
 msgid ""
-"# partial_thres specifies the number of lines Lynx should download and render\n"
-"# before we redraw the screen in Partial Display logic\n"
-"# e.g., partial_thres=2\n"
-"# would have Lynx redraw every 2 lines that it renders\n"
-"# partial_thres=-1 would use the entire screensize\n"
+"partial_thres specifies the number of lines Lynx should download and render\n"
+"before we redraw the screen in Partial Display logic\n"
+"e.g., partial_thres=2\n"
+"would have Lynx redraw every 2 lines that it renders\n"
+"partial_thres=-1 would use the entire screensize\n"
 msgstr ""
 
-#.
-#. *  Line edit mode.
-#.
-#: src/LYrcFile.c:832
+#: src/LYrcFile.c:874
 msgid ""
-"# lineedit_mode specifies the key binding used for inputting strings in\n"
-"# prompts and forms.  If lineedit_mode is set to \"Default Binding\" then\n"
-"# the following control characters are used for moving and deleting:\n"
-"#\n"
-"#              Prev  Next       Enter = Accept input\n"
-"#    Move char: <-    ->        ^G    = Cancel input\n"
-"#    Move word: ^P    ^N        ^U    = Erase line\n"
-"#  Delete char: ^H    ^R        ^A    = Beginning of line\n"
-"#  Delete word: ^B    ^F        ^E    = End of line\n"
-"#\n"
-"# Current lineedit modes are:\n"
+"lineedit_mode specifies the key binding used for inputting strings in\n"
+"prompts and forms.  If lineedit_mode is set to \"Default Binding\" then\n"
+"the following control characters are used for moving and deleting:\n"
+"\n"
+"             Prev  Next       Enter = Accept input\n"
+"   Move char: <-    ->        ^G    = Cancel input\n"
+"   Move word: ^P    ^N        ^U    = Erase line\n"
+" Delete char: ^H    ^R        ^A    = Beginning of line\n"
+" Delete word: ^B    ^F        ^E    = End of line\n"
+"\n"
+"Current lineedit modes are:\n"
 msgstr ""
 
-#.
-#. *  Directory list style.
-#.
-#: src/LYrcFile.c:860
+#: src/LYrcFile.c:903
 msgid ""
-"# dir_list_styles specifies the directory list style under DIRED_SUPPORT\n"
-"# (if implemented).  The default is \"MIXED_STYLE\", which sorts both\n"
-"# files and directories together.  \"FILES_FIRST\" lists files first and\n"
-"# \"DIRECTORIES_FIRST\" lists directories first.\n"
+"dir_list_styles specifies the directory list style under DIRED_SUPPORT\n"
+"(if implemented).  The default is \"MIXED_STYLE\", which sorts both\n"
+"files and directories together.  \"FILES_FIRST\" lists files first and\n"
+"\"DIRECTORIES_FIRST\" lists directories first.\n"
 msgstr ""
 
-#.
-#. *  User mode.
-#.
-#: src/LYrcFile.c:875
+#: src/LYrcFile.c:919
 msgid ""
-"# user_mode specifies the users level of knowledge with Lynx.  The\n"
-"# default is \"NOVICE\" which displays two extra lines of help at the\n"
-"# bottom of the screen to aid the user in learning the basic Lynx\n"
-"# commands.  Set user_mode to \"INTERMEDIATE\" to turn off the extra info.\n"
-"# Use \"ADVANCED\" to see the URL of the currently selected link at the\n"
-"# bottom of the screen.\n"
+"user_mode specifies the users level of knowledge with Lynx.  The\n"
+"default is \"NOVICE\" which displays two extra lines of help at the\n"
+"bottom of the screen to aid the user in learning the basic Lynx\n"
+"commands.  Set user_mode to \"INTERMEDIATE\" to turn off the extra info.\n"
+"Use \"ADVANCED\" to see the URL of the currently selected link at the\n"
+"bottom of the screen.\n"
 msgstr ""
 
 #.
 #. *  Cookie options
 #.
-#: src/LYrcFile.c:890
+#: src/LYrcFile.c:935
 msgid ""
-"# accept_all_cookies allows the user to tell Lynx to automatically\n"
-"# accept all cookies if desired.  The default is \"FALSE\" which will\n"
-"# prompt for each cookie.  Set accept_all_cookies to \"TRUE\" to accept\n"
-"# all cookies.\n"
+"accept_all_cookies allows the user to tell Lynx to automatically\n"
+"accept all cookies if desired.  The default is \"FALSE\" which will\n"
+"prompt for each cookie.  Set accept_all_cookies to \"TRUE\" to accept\n"
+"all cookies.\n"
 msgstr ""
 
-#: src/LYrcFile.c:898
+#: src/LYrcFile.c:944
 msgid ""
-"# cookie_accept_domains and cookie_reject_domains are comma-delimited\n"
-"# lists of domains from which Lynx should automatically accept or reject\n"
-"# all cookies.  If a domain is specified in both options, rejection will\n"
-"# take precedence.  The accept_all_cookies parameter will override any\n"
-"# settings made here.\n"
+"cookie_accept_domains and cookie_reject_domains are comma-delimited\n"
+"lists of domains from which Lynx should automatically accept or reject\n"
+"all cookies.  If a domain is specified in both options, rejection will\n"
+"take precedence.  The accept_all_cookies parameter will override any\n"
+"settings made here.\n"
 msgstr ""
 
-#: src/LYrcFile.c:912
+#: src/LYrcFile.c:959
 msgid ""
-"# cookie_loose_invalid_domains, cookie_strict_invalid_domains, and\n"
-"# cookie_query_invalid_domains are comma-delimited lists of which domains\n"
-"# should be subjected to varying degrees of validity checking.  If a\n"
-"# domain is set to strict checking, strict conformance to RFC2109 will\n"
-"# be applied.  A domain with loose checking will be allowed to set cookies\n"
-"# with an invalid path or domain attribute.  All domains will default to\n"
-"# querying the user for an invalid path or domain.\n"
+"cookie_loose_invalid_domains, cookie_strict_invalid_domains, and\n"
+"cookie_query_invalid_domains are comma-delimited lists of which domains\n"
+"should be subjected to varying degrees of validity checking.  If a\n"
+"domain is set to strict checking, strict conformance to RFC2109 will\n"
+"be applied.  A domain with loose checking will be allowed to set cookies\n"
+"with an invalid path or domain attribute.  All domains will default to\n"
+"querying the user for an invalid path or domain.\n"
 msgstr ""
 
 #.
 #. *  Cookie file.
 #.
-#: src/LYrcFile.c:935
+#: src/LYrcFile.c:983
 msgid ""
-"# cookie_file specifies the file in which to store persistent cookies.\n"
-"# The default is ~/.lynx_cookies.\n"
+"cookie_file specifies the file in which to store persistent cookies.\n"
+"The default is ~/.lynx_cookies.\n"
 msgstr ""
 
-#: src/LYrcFile.c:948
+#.
+#. *  Local execution mode - all links.
+#.
+#: src/LYrcFile.c:997
 msgid ""
-"# If run_all_execution_links is set \"on\" then all local execution links\n"
-"# will be executed when they are selected.\n"
-"#\n"
-"# WARNING - This is potentially VERY dangerous.  Since you may view\n"
-"#           information that is written by unknown and untrusted sources\n"
-"#           there exists the possibility that Trojan horse links could be\n"
-"#           written.  Trojan horse links could be written to erase files\n"
-"#           or compromise security.  This should only be set to \"on\" if\n"
-"#           you are viewing trusted source information.\n"
+"If run_all_execution_links is set \"on\" then all local execution links\n"
+"will be executed when they are selected.\n"
+"\n"
+"WARNING - This is potentially VERY dangerous.  Since you may view\n"
+"          information that is written by unknown and untrusted sources\n"
+"          there exists the possibility that Trojan horse links could be\n"
+"          written.  Trojan horse links could be written to erase files\n"
+"          or compromise security.  This should only be set to \"on\" if\n"
+"          you are viewing trusted source information.\n"
 msgstr ""
 
 #.
 #. *  Local execution mode - only links in local files.
 #.
-#: src/LYrcFile.c:964
-msgid ""
-"# If run_execution_links_on_local_files is set \"on\" then all local\n"
-"# execution links that are found in LOCAL files will be executed when they\n"
-"# are selected.  This is different from run_all_execution_links in that\n"
-"# only files that reside on the local system will have execution link\n"
-"# permissions.\n"
-"#\n"
-"# WARNING - This is potentially dangerous.  Since you may view\n"
-"#           information that is written by unknown and untrusted sources\n"
-"#           there exists the possibility that Trojan horse links could be\n"
-"#           written.  Trojan horse links could be written to erase files\n"
-"#           or compromise security.  This should only be set to \"on\" if\n"
-"#           you are viewing trusted source information.\n"
-msgstr ""
-
-#: src/LYrcFile.c:981
+#: src/LYrcFile.c:1014
+msgid "If run_execution_links_on_local_files is set \"on\" then all local\n"
+msgstr ""
+
+#. defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
+#: src/LYrcFile.c:1032
 msgid ""
-"# If verbose_images is \"on\", lynx will print the name of the image\n"
-"# source file in place of [INLINE], [LINK] or [IMAGE]\n"
-"# See also VERBOSE_IMAGES in lynx.cfg\n"
+"If verbose_images is \"on\", lynx will print the name of the image\n"
+"source file in place of [INLINE], [LINK] or [IMAGE]\n"
+"See also VERBOSE_IMAGES in lynx.cfg\n"
 msgstr ""
diff --git a/src/GridText.c b/src/GridText.c
index d637cdb8..4b836bfd 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -123,6 +123,7 @@ PUBLIC BOOLEAN bold_on      = OFF;
 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
 
 #if defined(USE_COLOR_STYLE)
@@ -561,7 +562,7 @@ PUBLIC HText *	HText_new ARGS1(
     self->LastChar = '\0';
     self->IgnoreExcess = FALSE;
 
-#ifndef PSRC_TEST
+#ifndef USE_PSRC
     if (HTOutputFormat == WWW_SOURCE)
 	self->source = YES;
     else
@@ -1951,7 +1952,7 @@ PRIVATE void split_line ARGS2(
 	    linedata[line->size++] = LY_BOLD_START_CHAR;
 	    linedata[line->size] = '\0';
 	    ctrl_chars_on_this_line++;
-	    SpecialAttrChars++;;
+	    SpecialAttrChars++;
 	}
 	if (plen) {
 	    for (i = (plen - 1); i >= 0; i--) {
@@ -6186,14 +6187,15 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 
 	/*
 	 * This is more or less copied out of HTLoadFile(), except we don't
-	 * get a content encoding.  This may be overkill...
+	 * get a content encoding.  This may be overkill.  -dsb
 	 */
 	if (HTMainText->node_anchor->content_type) {
 	    format = HTAtom_for(HTMainText->node_anchor->content_type);
 	} else {
 	    format = HTFileFormat(HTMainText->source_cache_file, NULL, NULL);
 	    format = HTCharsetFormat(format, HTMainText->node_anchor,
-				     UCLYhndl_HTFile_for_unspec);
+					     UCLYhndl_for_unspec);
+	    /* not UCLYhndl_HTFile_for_unspec - we are talking about remote documents... */
 	}
 	CTRACE(tfp, "  Content type is \"%s\"\n", format->name);
 
@@ -6210,12 +6212,29 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	    FREE(source_cache_filename);
 	    return FALSE;
 	}
+#ifdef DISP_PARTIAL
+	display_partial = display_partial_flag;  /* restore */
+	Newline_partial = Newline;  /* initialize */
+#endif
+	if (lynx_mode == FORMS_LYNX_MODE) {
+	    /*
+	     *  Note that if there are no form links on the current
+	     *  page, lynx_mode won't have this setting and we won't
+	     *  know that this warning should be issued. - FM
+	     */
+	    HTAlert(RELOADING_FORM);
+	}
 	ret = HTParseFile(format, HTOutputFormat, HTMainText->node_anchor,
 			  fp, NULL);
 	fclose(fp);
 	ok = (ret == HT_LOADED);
-	if (!ok)
+	if (!ok) {
 	    FREE(source_cache_filename);
+	}
+#ifdef USE_PSRC
+	else if (LYpsrc && psrc_view)
+	    HTMainText->source = TRUE;
+#endif
     }
 
     if (LYCacheSource == SOURCE_CACHE_MEMORY &&
@@ -6233,6 +6252,18 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	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 */
+#endif
+	if (lynx_mode == FORMS_LYNX_MODE) {
+	    /*
+	     *  Note that if there are no form links on the current
+	     *  page, lynx_mode won't have this setting and we won't
+	     *  know that this warning should be issued. - FM
+	     */
+	    HTAlert(RELOADING_FORM);
+	}
 	ret = HTParseMem(format, HTOutputFormat, HTMainText->node_anchor,
 			 source_cache_chunk, NULL);
 	ok = (ret == HT_LOADED);
@@ -6240,12 +6271,59 @@ PUBLIC BOOLEAN HTreparse_document NOARGS
 	    HTChunkFree(source_cache_chunk);
 	    source_cache_chunk = NULL;
 	}
+#ifdef USE_PSRC
+	else if (LYpsrc && psrc_view)
+	    HTMainText->source = TRUE;
+#endif
     }
 
+    /*
+     * 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)  {/* fix few flags: */
+	from_source_cache = TRUE;  /* flag for mainloop events */
+#ifdef USE_PSRC
+	if (LYpsrc && psrc_view)
+	    HTMainText->source = TRUE;
+#endif
+	more = HText_canScrollDown();  /* the length may be changed */
+    }
+
     return ok;
 }
 
+PUBLIC BOOLEAN HTcan_reparse_document NOARGS
+{
+    if (!HTMainText || LYCacheSource == SOURCE_CACHE_NONE ||
+	(LYCacheSource == SOURCE_CACHE_FILE &&
+	 !HTMainText->source_cache_file) ||
+	(LYCacheSource == SOURCE_CACHE_MEMORY &&
+	 !HTMainText->source_cache_chunk))
+	return FALSE;
+
+    if (LYCacheSource == SOURCE_CACHE_FILE && HTMainText->source_cache_file) {
+	FILE * fp;
+
+	fp = fopen(HTMainText->source_cache_file, "r");
+	if (!fp) {
+	    return FALSE;
+	}
+	fclose(fp);
+	return TRUE;
+    }
+
+    if (LYCacheSource == SOURCE_CACHE_MEMORY &&
+	HTMainText->source_cache_chunk) {
+	return TRUE;
+    }
+
+    return FALSE;  /* if came to here */
+}
+
 PRIVATE void trace_setting_change ARGS3(
 	CONST char *,	name,
 	BOOLEAN,	prev_setting,
@@ -6305,7 +6383,7 @@ PUBLIC BOOLEAN HTdocument_settings_changed NOARGS
 	    HTMainText->cols != LYcols);
 }
 #endif
- 
+
 PUBLIC int HTisDocumentSource NOARGS
 {
     return (HTMainText != 0) ? HTMainText->source : FALSE;
@@ -6473,6 +6551,15 @@ PUBLIC void HText_NegateLineOne ARGS1(
     return;
 }
 
+PUBLIC BOOL HText_inLineOne ARGS1(
+	HText *,	text)
+{
+    if (text) {
+	return text->in_line_1;
+    }
+    return YES;
+}
+
 /*
  *  This function is for removing the first of two
  *  successive blank lines.  It should be called after
diff --git a/src/GridText.h b/src/GridText.h
index 3e83a740..a25ed496 100644
--- a/src/GridText.h
+++ b/src/GridText.h
@@ -168,6 +168,7 @@ extern int HTisDocumentSource NOPARAMS;
 extern void HTuncache_current_document NOPARAMS;
 #ifdef SOURCE_CACHE
 extern BOOLEAN HTreparse_document NOPARAMS;
+extern BOOLEAN HTcan_reparse_document NOPARAMS;
 extern BOOLEAN HTdocument_settings_changed NOPARAMS;
 #endif
 extern int HText_getTopOfScreen NOPARAMS;
@@ -186,6 +187,7 @@ extern char * HTLoadedDocumentBookmark NOPARAMS;
 extern int HText_LastLineSize PARAMS((HText *me, BOOL IgnoreSpaces));
 extern int HText_PreviousLineSize PARAMS((HText *me, BOOL IgnoreSpaces));
 extern void HText_NegateLineOne PARAMS((HText *text));
+extern BOOL HText_inLineOne PARAMS((HText *text));
 extern void HText_RemovePreviousLine PARAMS((HText *text));
 extern int HText_getCurrentColumn PARAMS((HText *text));
 extern int HText_getMaximumColumn PARAMS((HText *text));
diff --git a/src/HTAlert.c b/src/HTAlert.c
index 34b828ba..205dc82c 100644
--- a/src/HTAlert.c
+++ b/src/HTAlert.c
@@ -18,6 +18,7 @@
 #include <LYClean.h>
 #include <GridText.h>
 #include <LYCookie.h>
+#include <LYHistory.h> /* store statusline messages */
 
 #include <LYLeaks.h>
 
@@ -30,6 +31,7 @@ PUBLIC void HTAlert ARGS1(
     CTRACE(tfp, "\nAlert!: %s\n\n", Msg);
     CTRACE_FLUSH(tfp);
     _user_message(ALERT_FORMAT, Msg);
+    LYstore_message2(ALERT_FORMAT, Msg);
 
     sleep(AlertSecs);
 }
@@ -69,6 +71,7 @@ PUBLIC void HTInfoMsg ARGS1(
     _statusline(Msg);
     if (Msg && *Msg) {
 	CTRACE(tfp, "Info message: %s\n", Msg);
+	LYstore_message(Msg);
 	sleep(InfoSecs);
     }
 }
@@ -82,6 +85,7 @@ PUBLIC void HTUserMsg ARGS1(
     _statusline(Msg);
     if (Msg && *Msg) {
 	CTRACE(tfp, "User message: %s\n", Msg);
+	LYstore_message(Msg);
 	sleep(MessageSecs);
     }
 }
@@ -95,6 +99,7 @@ PUBLIC void HTUserMsg2 ARGS2(
 	CTRACE(tfp, "User message: ");
 	CTRACE(tfp, Msg2, Arg);
 	CTRACE(tfp, "\n");
+	LYstore_message2(Msg2, Arg);
 	sleep(MessageSecs);
     }
 }
@@ -105,10 +110,9 @@ PUBLIC void HTUserMsg2 ARGS2(
 PUBLIC void HTProgress ARGS1(
 	CONST char *,	Msg)
 {
-    if (TRACE)
-	fprintf(tfp, "%s\n", Msg);
-    else
-	statusline(Msg);
+    statusline(Msg);
+    LYstore_message(Msg); 
+    CTRACE(tfp, "%s\n", Msg); 
 }
 
 /*	Issue a read-progress message.			HTReadProgress()
@@ -174,7 +178,12 @@ PUBLIC void HTReadProgress ARGS2(
 		if (total < -1)
 		    strcat(line, gettext(" (Press 'z' to abort)"));
 	    }
-	    HTProgress(line);
+ 
+	    /* do not store the message for history page. */ 
+	    if (TRACE) 
+		fprintf(tfp, "%s\n", line); 
+	    else 
+		statusline(line); 
 	}
     }
 }
diff --git a/src/HTFWriter.c b/src/HTFWriter.c
index 4f33d01e..60b710f6 100644
--- a/src/HTFWriter.c
+++ b/src/HTFWriter.c
@@ -23,7 +23,6 @@
 #include <LYUtils.h>
 #include <LYGlobalDefs.h>
 #include <LYClean.h>
-#include <LYSignal.h>
 #include <GridText.h>
 #include <LYexit.h>
 #include <LYLeaks.h>
diff --git a/src/HTInit.c b/src/HTInit.c
index f6ab32fa..836a3422 100644
--- a/src/HTInit.c
+++ b/src/HTInit.c
@@ -272,16 +272,14 @@ PRIVATE int ProcessMailcapEntry ARGS2(
 	struct MailcapEntry *,	mc)
 {
     size_t rawentryalloc = 2000, len;
-    char *rawentry, *s, *t, *LineBuf;
+    char *rawentry, *s, *t;
+    char *LineBuf = NULL;
 
-    LineBuf = (char *)malloc(LINE_BUF_SIZE);
-    if (!LineBuf)
-	ExitWithError(MEMORY_EXHAUSTED_ABORT);
     rawentry = (char *)malloc(1 + rawentryalloc);
     if (!rawentry)
 	ExitWithError(MEMORY_EXHAUSTED_ABORT);
     *rawentry = '\0';
-    while (fgets(LineBuf, LINE_BUF_SIZE, fp)) {
+    while ((LineBuf = LYSafeGets(LineBuf, fp)) != 0) {
 	if (LineBuf[0] == '#')
 	    continue;
 	len = strlen(LineBuf);
@@ -304,8 +302,6 @@ PRIVATE int ProcessMailcapEntry ARGS2(
 	}
     }
 
-    FREE(LineBuf);
-
     s = LYSkipBlanks(rawentry);
     if (!*s) {
 	/* totally blank entry -- quietly ignore */
diff --git a/src/HTML.c b/src/HTML.c
index 40cb1f2d..09c10d4e 100644
--- a/src/HTML.c
+++ b/src/HTML.c
@@ -49,12 +49,15 @@
 #include <LYCurses.h>
 #endif /* VMS */
 
+#ifdef USE_PSRC
+#include <LYPrettySrc.h>
+#endif
+
 #ifdef USE_COLOR_STYLE
 #include <SGML.h>
 #include <AttrList.h>
 #include <LYHash.h>
 #include <LYStyle.h>
-#include <LYPrettySrc.h>
 #undef SELECTED_STYLES
 #define pHText_changeStyle(X,Y,Z) {}
 
@@ -2281,7 +2284,23 @@ PRIVATE void HTML_start_element ARGS6(
     case HTML_DT:
 	CHECK_ID(HTML_GEN_ID);
 	if (!me->style_change) {
+	    BOOL in_line_1 = HText_inLineOne(me->text);
+	    HTCoord saved_spaceBefore = me->sp->style->spaceBefore;
+	    HTCoord saved_spaceAfter = me->sp->style->spaceAfter;
+	    /*
+	     *  If there are several DT elements and this is not the first,
+	     *  and the preceding DT element's first (and normally only) line
+	     *  has not yet been ended, suppress intervening blank line by
+	     *  temporarily modifying the paragraph style in place.  Ugly
+	     *  but there's ample precedence. - kw
+	     */
+	    if (in_line_1) {
+		me->sp->style->spaceBefore = 0;	/* temporary change */
+		me->sp->style->spaceAfter = 0;	/* temporary change */
+	    }
 	    HText_appendParagraph(me->text);
+	    me->sp->style->spaceBefore = saved_spaceBefore; /* undo */
+	    me->sp->style->spaceAfter = saved_spaceAfter; /* undo */
 	    me->in_word = NO;
 	    me->sp->style->alignment = HT_LEFT;
 	}
@@ -7696,19 +7715,19 @@ 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;
-
+/*
     if (strcmp(p->name, "http") != 0) {
 	CTRACE(tfp, "Protocol is \"%s\"; not caching\n", p->name);
 	return target;
     }
-
+*/
     stream = (HTStream *) malloc(sizeof(*stream));
     if (!stream)
 	outofmem(__FILE__, "CacheThru_new");
diff --git a/src/LYBookmark.c b/src/LYBookmark.c
index 752de49d..4fe72e30 100644
--- a/src/LYBookmark.c
+++ b/src/LYBookmark.c
@@ -53,7 +53,7 @@ PUBLIC char * get_bookmark_filename ARGS1(
 	char **,	URL)
 {
     static char filename_buffer[LY_MAXPATH];
-    char string_buffer[BUFSIZ];
+    char *string_buffer;
     FILE *fp;
     int MBM_tmp;
 
@@ -107,21 +107,21 @@ success:
      *	We now have the file open.
      *	Check if it is a mosaic hotlist.
      */
-    if (fgets(string_buffer, sizeof(string_buffer)-1, fp) &&
-	!strncmp(string_buffer, "ncsa-xmosaic-hotlist-format-1", 29)) {
+    if ((string_buffer = LYSafeGets(NULL, fp)) != 0
+     && !strncmp(string_buffer, "ncsa-xmosaic-hotlist-format-1", 29)) {
 	char *newname;
 	/*
 	 *  It is a mosaic hotlist file.
 	 */
 	is_mosaic_hotlist = TRUE;
-	fclose(fp);
 	newname = convert_mosaic_bookmark_file(filename_buffer);
 	LYLocalFileToURL(URL, newname);
     } else {
-	fclose(fp);
 	is_mosaic_hotlist = FALSE;
 	LYLocalFileToURL(URL, filename_buffer);
     }
+    FREE(string_buffer);
+    fclose(fp);
 
     return(filename_buffer);  /* bookmark file exists */
 
@@ -136,7 +136,7 @@ PRIVATE char * convert_mosaic_bookmark_file ARGS1(
 {
     static char newfile[LY_MAXPATH];
     FILE *fp, *nfp;
-    char buf[BUFSIZ];
+    char *buf = NULL;
     int line = -2;
     char *endline;
 
@@ -157,7 +157,7 @@ PRIVATE char * convert_mosaic_bookmark_file ARGS1(
      remove bookmark command, it is usually the 'R' key but may have\n\
      been remapped by you or your system administrator."));
 
-    while (fgets(buf, sizeof(buf), fp) != NULL) {
+    while ((buf = LYSafeGets(buf, fp)) != NULL) {
 	if(line >= 0) {
 	    endline = &buf[strlen(buf)-1];
 	    if(*endline == '\n')
@@ -414,7 +414,7 @@ PUBLIC void remove_bookmark_link ARGS2(
 	char *, 	cur_bookmark_page)
 {
     FILE *fp, *nfp;
-    char buf[BUFSIZ];
+    char *buf = NULL;
     int n;
 #ifdef VMS
     char filename_buffer[NAM$C_MAXRSS+12];
@@ -466,7 +466,7 @@ PUBLIC void remove_bookmark_link ARGS2(
     if (is_mosaic_hotlist) {
 	int del_line = cur*2;  /* two lines per entry */
 	n = -3;  /* skip past cookie and name lines */
-	while (fgets(buf, sizeof(buf), fp) != NULL) {
+	while ((buf = LYSafeGets(buf, fp)) != NULL) {
 	    n++;
 	    if (n == del_line || n == del_line+1)
 		continue;  /* remove two lines */
@@ -480,7 +480,7 @@ PUBLIC void remove_bookmark_link ARGS2(
 	int seen;
 
 	n = -1;
-	while (fgets(buf, sizeof(buf), fp) != NULL) {
+	while ((buf = LYSafeGets(buf, fp)) != NULL) {
 	    retain = TRUE;
 	    seen = 0;
 	    cp = buf;
diff --git a/src/LYCgi.c b/src/LYCgi.c
index 099a514e..981d1c8e 100644
--- a/src/LYCgi.c
+++ b/src/LYCgi.c
@@ -41,7 +41,6 @@
 #include <LYBookmark.h>
 #include <GridText.h>
 #include <LYCgi.h>
-#include <LYSignal.h>
 #include <LYStrings.h>
 #include <LYLocal.h>
 
diff --git a/src/LYCharSets.c b/src/LYCharSets.c
index 7f43fbe6..f4bd9b39 100644
--- a/src/LYCharSets.c
+++ b/src/LYCharSets.c
@@ -6,7 +6,6 @@
 #include <UCMap.h>
 #include <UCDefs.h>
 #include <LYCharSets.h>
-#include <LYCharUtils.h>
 #include <HTFont.h>
 #include <GridText.h>
 #include <LYCurses.h>
@@ -396,6 +395,8 @@ PUBLIC int LYlowest_eightbit[MAXCHARSETS]={
 PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 {
     int chndl = safeUCGetLYhndl_byMIME(UCAssume_MIMEcharset);
+    BOOLEAN LYRawMode_flag = LYRawMode;
+    int UCLYhndl_for_unspec_flag = UCLYhndl_for_unspec;
 
     if (LYCharSet_UC[i].enc != UCT_ENC_CJK) {
 	HTCJK = NOCJK;
@@ -483,6 +484,18 @@ PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 
     ena_csi((LYlowest_eightbit[current_char_set] > 155));
 
+    /* some diagnostics */
+    if (TRACE) {
+	if (LYRawMode_flag != LYRawMode)
+	    CTRACE(tfp, "HTMLSetCharacterHandling: LYRawMode changed %s -> %s\n",
+			(LYRawMode_flag ? "ON" : "OFF"),
+			(LYRawMode	? "ON" : "OFF"));
+	if (UCLYhndl_for_unspec_flag != UCLYhndl_for_unspec)
+	    CTRACE(tfp, "HTMLSetCharacterHandling: UCLYhndl_for_unspec changed %d -> %d\n",
+			UCLYhndl_for_unspec_flag,
+			UCLYhndl_for_unspec);
+    }
+
     return;
 }
 
diff --git a/src/LYCharUtils.c b/src/LYCharUtils.c
index f6ef85d3..b21c43e4 100644
--- a/src/LYCharUtils.c
+++ b/src/LYCharUtils.c
@@ -29,7 +29,6 @@
 #include <HTForms.h>
 #include <HTNestedList.h>
 #include <GridText.h>
-#include <LYSignal.h>
 #include <LYStrings.h>
 #include <LYUtils.h>
 #include <LYMap.h>
diff --git a/src/LYClean.c b/src/LYClean.c
index 1b6b5e32..34961766 100644
--- a/src/LYClean.c
+++ b/src/LYClean.c
@@ -5,7 +5,6 @@
 #include <LYClean.h>
 #include <LYMainLoop.h>
 #include <LYGlobalDefs.h>
-#include <LYStrings.h>
 #include <LYTraversal.h>
 #include <LYCookie.h>
 #include <UCAuto.h>
@@ -104,6 +103,7 @@ PUBLIC void cleanup_sig ARGS1(
 	    cleanup();
 	}
 	if (sig != 0) {
+	    SetOutputMode(O_TEXT);
 	    printf("\n\n%s %d\n\n",
 		   gettext("Exiting via interrupt:"),
 		   sig);
diff --git a/src/LYCookie.c b/src/LYCookie.c
index 6c56aa85..162bd765 100644
--- a/src/LYCookie.c
+++ b/src/LYCookie.c
@@ -59,7 +59,6 @@
 #include <HTParse.h>
 #include <HTAlert.h>
 #include <LYCurses.h>
-#include <LYSignal.h>
 #include <LYUtils.h>
 #include <LYCharUtils.h>
 #include <LYClean.h>
@@ -1952,7 +1951,7 @@ PUBLIC void LYLoadCookies ARGS1 (
 	char *,		cookie_file)
 {
     FILE *cookie_handle;
-    char buf[max_cookies_buffer+10]; /* should be long enough for a cookie line */
+    char *buf = NULL;
     static char domain[256], path[LY_MAXPATH], name[256], value[4100];
     static char what[8], secure[8], expires_a[16];
     static struct {
@@ -1977,18 +1976,13 @@ PUBLIC void LYLoadCookies ARGS1 (
     CTRACE(tfp, "LYLoadCookies: reading cookies from %s\n", cookie_file);
 
     number_of_file_cookies = 0;
-    while (!feof(cookie_handle)) {
+    while ((buf = LYSafeGets(buf, cookie_handle)) != 0) {
 	cookie *moo;
 	unsigned i = 0;
 	int tok_loop;
 	char *tok_out, *tok_ptr;
-	char *j;
-
-	j = fgets(buf, sizeof(buf)-1, cookie_handle);
 
-	if((j == NULL) || (buf[0] == '\0' || buf[0] == '\n' || buf[0] == '#')) {
-	    if (j == NULL && ferror(cookie_handle))
-		break;
+	if ((buf[0] == '\0' || buf[0] == '\n' || buf[0] == '#')) {
 	    continue;
 	}
 
diff --git a/src/LYCurses.c b/src/LYCurses.c
index 8433cec5..f836bb4d 100644
--- a/src/LYCurses.c
+++ b/src/LYCurses.c
@@ -622,6 +622,7 @@ PUBLIC void lynx_setup_colors NOARGS
 }
 #endif /* USE_COLOR_TABLE */
 
+#ifdef NOTUSED
 #if defined (DJGPP) && !defined (USE_SLANG)
 /*
  * Sorry about making a completely new function,
@@ -660,6 +661,10 @@ PUBLIC void start_curses NOARGS
     noecho();
 }
 #else
+#endif /* defined (DJGPP) && !defined (USE_SLANG) */
+#endif /* NOTUSED */
+
+
 PUBLIC void start_curses NOARGS
 {
 #ifdef USE_SLANG
@@ -758,13 +763,15 @@ PUBLIC void start_curses NOARGS
 
 #else /* Using curses: */
 
+
 #ifdef VMS
     /*
      *	If we are VMS then do initscr() everytime start_curses()
      *	is called!
      */
     initscr();	/* start curses */
-#else /* Unix: */
+#else  /* Unix: */
+
     static BOOLEAN first_time = TRUE;
 
     if (first_time) {
@@ -827,7 +834,10 @@ PUBLIC void start_curses NOARGS
 	lynx_called_initscr = TRUE;
 #endif /* USE_COLOR_TABLE */
     }
-#endif /* VMS */
+#ifdef __DJGPP__
+    else sock_init();
+#endif /* __DJGPP__ */
+#endif /* not VMS */
 
     /* nonl();	 */ /* seems to slow things down */
 
@@ -862,7 +872,7 @@ PUBLIC void start_curses NOARGS
 
     LYCursesON = TRUE;
 }
-#endif /* defined (DJGPP) && !defined (USE_SLANG) */
+
 
 PUBLIC void lynx_enable_mouse ARGS1(int,state)
 {
@@ -1048,8 +1058,8 @@ PUBLIC BOOLEAN setup ARGS1(
 PUBLIC BOOLEAN setup ARGS1(
 	char *, 	terminal)
 {
-    static char term_putenv[112];
-    char buffer[108];
+    char *term_putenv;
+    char *buffer = NULL;
     char *cp;
 #if defined(HAVE_SIZECHANGE) && !defined(USE_SLANG) && defined(NOTDEFINED)
 /*
@@ -1085,7 +1095,7 @@ PUBLIC BOOLEAN setup ARGS1(
     }
 
     if (terminal != NULL) {
-	sprintf(term_putenv, "TERM=%.106s", terminal);
+	HTSprintf0(&term_putenv, "TERM=%.106s", terminal);
 	(void) putenv(term_putenv);
     }
 
@@ -1097,15 +1107,17 @@ PUBLIC BOOLEAN setup ARGS1(
 
 	printf("\n\n  %s\n\n", gettext("Your Terminal type is unknown!"));
 	printf("  %s [vt100] ", gettext("Enter a terminal type:"));
-	*buffer = '\0';
-	fgets(buffer, sizeof(buffer), stdin);
-	if ((s = strchr(buffer, '\n')) != NULL)
-	    *s = '\0';
 
-	if (strlen(buffer) == 0)
-	    strcpy(buffer,"vt100");
+	if ((buffer = LYSafeGets(buffer, stdin)) != 0)
+	    if ((s = strchr(buffer, '\n')) != NULL)
+		*s = '\0';
+
+	if (buffer == 0 || *buffer == 0)
+	    StrAllocCopy(buffer,"vt100");
+
+	HTSprintf0(&term_putenv,"TERM=%.106s", buffer);
+	FREE(buffer);
 
-	sprintf(term_putenv,"TERM=%.106s", buffer);
 	(void) putenv(term_putenv);
 	printf("\n%s %s\n", gettext("TERMINAL TYPE IS SET TO"), getenv("TERM"));
 	sleep(MESSAGESECS);
diff --git a/src/LYDownload.c b/src/LYDownload.c
index 15f292d0..30e374d6 100644
--- a/src/LYDownload.c
+++ b/src/LYDownload.c
@@ -6,7 +6,6 @@
 #include <LYUtils.h>
 #include <LYGlobalDefs.h>
 #include <LYStrings.h>
-#include <LYGetFile.h>
 #include <LYDownload.h>
 
 #include <LYLeaks.h>
@@ -414,7 +413,7 @@ check_recall:
 	     */
 	    count = 1;
 	    HTAddParam(&the_command, download_command->command, count, file);
-	    if (HTCountCommandArgs(download_command->command) > 1) 
+	    if (HTCountCommandArgs(download_command->command) > 1)
 		HTAddParam(&the_command, download_command->command, ++count, buffer);
 	    HTEndParam(&the_command, download_command->command, count);
 
diff --git a/src/LYEdit.c b/src/LYEdit.c
index d7445630..8e2ab7a9 100644
--- a/src/LYEdit.c
+++ b/src/LYEdit.c
@@ -5,7 +5,6 @@
 #include <LYUtils.h>
 #include <LYGlobalDefs.h>
 #include <LYEdit.h>
-#include <LYStrings.h>
 #ifdef VMS
 #include <unixio.h>
 #endif /* VMS */
diff --git a/src/LYGetFile.c b/src/LYGetFile.c
index 678bf56b..7475f0ef 100644
--- a/src/LYGetFile.c
+++ b/src/LYGetFile.c
@@ -259,6 +259,10 @@ Try_Redirected_URL:
 		    return(lynx_compile_opts(doc));
 #endif
 
+		} else if (url_type == LYNXMESSAGES_URL_TYPE) {
+		    /* show list of recent statusline messages */
+		    return(LYshow_statusline_messages(doc));
+
 #ifndef DISABLE_NEWS
 		} else if (url_type == NEWSPOST_URL_TYPE ||
 			   url_type == NEWSREPLY_URL_TYPE ||
diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h
index a7ae11e3..adf37ba6 100644
--- a/src/LYGlobalDefs.h
+++ b/src/LYGlobalDefs.h
@@ -252,6 +252,7 @@ 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
 #define SOURCE_CACHE_FILE	1
@@ -271,6 +272,8 @@ extern int Newline_partial;          /* -//- "current" newline position */
 extern int NumOfLines_partial;       /* -//- "current" number of lines */
 extern int partial_threshold;
 extern BOOLEAN debug_display_partial;  /* show with MessageSecs delay */
+extern BOOLEAN display_partial_flag; /* permanent flag, not mutable */
+extern int Newline; /* original newline position, from mainloop() */
 #endif
 extern char *form_post_data;         /* User data for post form */
 extern char *form_get_data;          /* User data for get form */
diff --git a/src/LYHistory.c b/src/LYHistory.c
index 813eedb6..a25e6602 100644
--- a/src/LYHistory.c
+++ b/src/LYHistory.c
@@ -1,5 +1,6 @@
 #include <HTUtils.h>
 #include <HTTP.h>
+#include <GridText.h>
 #include <HTAlert.h>
 #include <HText.h>
 #include <LYGlobalDefs.h>
@@ -11,9 +12,9 @@
 #include <LYKeymap.h>
 #include <LYList.h>
 #include <LYShowInfo.h>
-#include <LYSignal.h>
 #include <LYStrings.h>
 #include <LYCharUtils.h>
+#include <LYGetFile.h>
 
 #ifdef DIRED_SUPPORT
 #include <LYUpload.h>
@@ -83,6 +84,7 @@ PUBLIC void LYAddVisitedLink ARGS1(
 	!strcmp((doc->title ? doc->title : ""), ADDRLIST_PAGE_TITLE) ||
 #endif
 	!strcmp((doc->title ? doc->title : ""), SHOWINFO_TITLE) ||
+	!strcmp((doc->title ? doc->title : ""), STATUSLINES_TITLE) ||
 	!strcmp((doc->title ? doc->title : ""), CONFIG_DEF_TITLE) ||
 	!strcmp((doc->title ? doc->title : ""), LYNXCFG_TITLE) ||
 	!strcmp((doc->title ? doc->title : ""), COOKIE_JAR_TITLE) ||
@@ -335,7 +337,6 @@ PUBLIC void LYpop ARGS1(
 #ifdef DISP_PARTIAL
 	/* assume we pop the 'doc' to show it soon... */
 	Newline_partial = doc->line;	/* reinitialize */
-	NumOfLines_partial = -1;	/* initialize to -1 */
 #endif /* DISP_PARTIAL */
 	CTRACE(tfp, "LYpop[%d]: address:%s\n     title:%s\n",
 		    nhist, doc->address, doc->title);
@@ -365,7 +366,6 @@ PUBLIC void LYpop_num ARGS2(
 #ifdef DISP_PARTIAL
 	/* assume we pop the 'doc' to show it soon... */
 	Newline_partial = doc->line;	/* reinitialize */
-	NumOfLines_partial = -1;	/* initialize to -1 */
 #endif /* DISP_PARTIAL */
     }
 }
@@ -394,7 +394,11 @@ PUBLIC int showhistory ARGS1(
 
     BeginInternalPage(fp0, HISTORY_PAGE_TITLE, HISTORY_PAGE_HELP);
 
+    fprintf(fp0, "<tr align=right> <a href=\"LYNXMESSAGES:\">[%s]</a> </tr>\n",
+		 STATUSLINES_TITLE);
+
     fprintf(fp0, "<pre>\n");
+
     fprintf(fp0, "<em>%s</em>\n", gettext("You selected:"));
     for (x = nhist-1; x >= 0; x--) {
 	/*
@@ -459,6 +463,12 @@ PUBLIC BOOLEAN historytarget ARGS1(
     if ((number = atoi(newdoc->address+9)) > nhist || number < 0)
 	return(FALSE);
 
+    /*
+     * Optimization: assume we came from the History Page,
+     * so never return back - always a new version next time.
+     */
+    HTuncache_current_document();  /* don't waste the cache */
+
     LYpop_num(number, newdoc);
     if (((newdoc->internal_link &&
 	  history[number].intern_seq_start == history[nhist-1].intern_seq_start) ||
@@ -591,3 +601,128 @@ PUBLIC int LYShowVisitedLinks ARGS1(
     FREE(Address);
     return(0);
 }
+
+
+/*
+ *  Keep cycled buffer for statusline messages.
+ */
+#define STATUSBUFSIZE   40
+PRIVATE char * buffstack[STATUSBUFSIZE];
+PRIVATE int topOfStack = 0;
+
+PRIVATE void to_stack ARGS1(char *, str)
+{
+    /*
+     *  Cycle buffer:
+     */
+    if (topOfStack == STATUSBUFSIZE) {
+        topOfStack = 0;
+    }
+
+    /*
+     *  Register string.
+     */
+    FREE(buffstack[topOfStack]);
+    buffstack[topOfStack] = str;
+    topOfStack++;
+}
+
+#ifdef LY_FIND_LEAKS
+PRIVATE void free_messages_stack NOARGS
+{
+    topOfStack = STATUSBUFSIZE;
+
+    while (--topOfStack >= 0) {
+	FREE(buffstack[topOfStack]);
+    }
+}
+#endif
+
+/*
+ *  Status line messages list, LYNXMESSAGES:/ internal page,
+ *  called from getfile() cyrcle.
+ */
+PUBLIC int LYshow_statusline_messages ARGS1(
+    document *,			      newdoc)
+{
+    static char tempfile[LY_MAXPATH];
+    static char *info_url;
+    DocAddress WWWDoc;  /* need on exit */
+    FILE *fp0;
+    int i;
+
+    LYRemoveTemp(tempfile);
+    if ((fp0 = LYOpenTemp (tempfile, HTML_SUFFIX, "w")) == 0) {
+	HTAlert(CANNOT_OPEN_TEMP);
+	return(NOT_FOUND);
+    }
+    LYLocalFileToURL(&info_url, tempfile);
+
+    LYforce_no_cache = TRUE;  /* don't cache this doc */
+
+    BeginInternalPage (fp0, STATUSLINES_TITLE, NULL);
+    fprintf(fp0, "<pre>\n");
+    fprintf(fp0, "<ol>\n");
+
+    i = topOfStack;
+    while (--i >= 0) {
+	if (buffstack[i] != NULL)
+	    fprintf(fp0,  "<li> <em>%s</em>\n",  buffstack[i]);
+    }
+    i = STATUSBUFSIZE;
+    while (--i >= topOfStack) {
+	if (buffstack[i] != NULL)
+	fprintf(fp0,  "<li> <em>%s</em>\n",  buffstack[i]);
+    }
+
+    fprintf(fp0, "</ol>\n");
+    fprintf(fp0, "</pre>\n");
+    EndInternalPage(fp0);
+    LYCloseTempFP(fp0);
+
+
+    /* exit to getfile() cyrcle */
+    StrAllocCopy(newdoc->address, info_url);
+    WWWDoc.address = newdoc->address;
+    WWWDoc.post_data = newdoc->post_data;
+    WWWDoc.post_content_type = newdoc->post_content_type;
+    WWWDoc.bookmark = newdoc->bookmark;
+    WWWDoc.isHEAD = newdoc->isHEAD;
+    WWWDoc.safe = newdoc->safe;
+
+    if (!HTLoadAbsolute(&WWWDoc))
+	return(NOT_FOUND);
+    return(NORMAL);
+}
+
+
+PUBLIC void LYstore_message2 ARGS2(
+	CONST char *,	message,
+	CONST char *,	argument)
+{
+    char *temp = NULL;
+
+    if (message == NULL)
+	return;
+
+    HTSprintf(&temp, message, (argument == 0) ? "" : argument);
+
+    to_stack(temp);
+
+    return;
+}
+PUBLIC void LYstore_message ARGS1(
+	CONST char *,	message)
+{
+    char *temp = NULL;
+
+    if (message == NULL)
+	return;
+
+    HTSprintf(&temp, message);
+
+    to_stack(temp);
+
+    return;
+}
+
diff --git a/src/LYHistory.h b/src/LYHistory.h
index 7593a2ca..054b2a30 100644
--- a/src/LYHistory.h
+++ b/src/LYHistory.h
@@ -14,4 +14,8 @@ extern void LYpop PARAMS((document *doc));
 extern void LYpop_num PARAMS((int number, document *doc));
 extern void LYpush PARAMS((document *doc, BOOLEAN force_push));
 
+extern void LYstore_message2 PARAMS((CONST char *message, CONST char *argument));
+extern void LYstore_message PARAMS((CONST char *message));
+extern int LYshow_statusline_messages PARAMS((document *newdoc));
+
 #endif /* LYHISTORY_H */
diff --git a/src/LYKeymap.c b/src/LYKeymap.c
index 3a165dce..b7dd523a 100644
--- a/src/LYKeymap.c
+++ b/src/LYKeymap.c
@@ -297,8 +297,8 @@ LYK_UP_TWO,       LYK_DOWN_TWO,     LYK_DO_NOTHING, LYK_FASTBACKW_LINK,
    0,                  0,              0,             0,
    0,                  0,              0,             0,
    0,                  0,              0,             0,
-   0,                  0,              LYK_WHEREIS,   LYK_ACTIVATE,
-                                       /* KP_SLASH    KP_ENTER */
+   0,                  0,              LYK_WHEREIS,   0,
+                                       /* KP_SLASH */
    0,                  0,              0,           LYK_IMAGE_TOGGLE,
                                                     /* KP_* */
    LYK_PREV_PAGE,      LYK_NEXT_PAGE,  0,             0,
diff --git a/src/LYList.c b/src/LYList.c
index b73bb61d..0374f31e 100644
--- a/src/LYList.c
+++ b/src/LYList.c
@@ -11,7 +11,6 @@
 #include <GridText.h>
 #include <LYList.h>
 #include <LYClean.h>
-#include <LYSignal.h>
 #include <LYGlobalDefs.h>
 #include <LYCharUtils.h>
 
diff --git a/src/LYLocal.c b/src/LYLocal.c
index 9a590758..f968da0b 100644
--- a/src/LYLocal.c
+++ b/src/LYLocal.c
@@ -39,7 +39,6 @@
 #include <LYStrings.h>
 #include <LYCharUtils.h>
 #include <LYStructs.h>
-#include <LYGetFile.h>
 #include <LYHistory.h>
 #include <LYUpload.h>
 #include <LYLocal.h>
@@ -329,7 +328,7 @@ PRIVATE BOOLEAN not_already_exists ARGS1(char *, name)
     return FALSE;
 }
 
-PRIVATE BOOLEAN dir_has_same_owner ARGS2(struct stat *, info, int, owner)
+PRIVATE BOOLEAN dir_has_same_owner ARGS2(struct stat *, info, uid_t, owner)
 {
     if (S_ISDIR(info->st_mode)) {
 	if (info->st_uid == owner) {
diff --git a/src/LYMail.c b/src/LYMail.c
index 3250ccbf..eeb96cd5 100644
--- a/src/LYMail.c
+++ b/src/LYMail.c
@@ -594,7 +594,7 @@ PUBLIC void mailmsg ARGS4(
     FILE *fd, *fp;
     char *address = NULL;
     char *searchpart = NULL;
-    char cmd[512], *cp, *cp0, *cp1;
+    char *cmd = NULL, *cp, *cp0, *cp1;
 #if defined(VMS) || defined(DOSPATH)
     char my_tmpfile[LY_MAXPATH];
     char *command = NULL;
@@ -693,7 +693,7 @@ PUBLIC void mailmsg ARGS4(
     }
 
 #ifdef UNIX
-    sprintf(cmd, "%s %s", system_mail, system_mail_flags);
+    HTSprintf0(&cmd, "%s %s", system_mail, system_mail_flags);
     if ((fd = popen(cmd, "w")) == NULL) {
 	FREE(address);
 	CTRACE(tfp, "mailmsg: '%s' failed.\n",
@@ -744,7 +744,8 @@ PUBLIC void mailmsg ARGS4(
     if ((LynxSigFile != NULL) &&
 	(fp = fopen(LynxSigFile, "r")) != NULL) {
 	fputs("-- \n", fd);
-	while (fgets(cmd, sizeof(cmd), fp) != NULL)
+	FREE(cmd);
+	while ((cmd = LYSafeGets(cmd, fp) )!= NULL)
 	    fputs(cmd, fd);
 	fclose(fp);
     }
@@ -764,7 +765,7 @@ PUBLIC void mailmsg ARGS4(
 	/*
 	 *  Now set up the command. - FM
 	 */
-	sprintf(cmd,
+	HTSprintf0(&command,
 		"%s %s %s,%s ",
 		system_mail,
 		system_mail_flags,
@@ -775,14 +776,13 @@ PUBLIC void mailmsg ARGS4(
 	 *  For "generic" VMS MAIL, include the
 	 *  subject in the command. - FM
 	 */
-	sprintf(cmd,
+	HTSprintf0(&command,
 		"%s %s/self/subject=\"Lynx Error in %.56s\" %s ",
 		system_mail,
 		system_mail_flags,
 		filename,
 		my_tmpfile);
     }
-    StrAllocCopy(command, cmd);
     address_ptr1 = address;
     do {
 	if ((cp = strchr(address_ptr1, ',')) != NULL) {
@@ -799,20 +799,18 @@ PUBLIC void mailmsg ARGS4(
 	 *  ignore addresses so long that they would overflow the
 	 *  temporary buffer (i.e., about 500 chars). - BL
 	 */
-	if (strlen(address) > 3 &&
-	    strlen(address) + strlen(mail_adrs) < sizeof(cmd)) {
-	    if (!first) {
-		StrAllocCat(command, ",");
-	    }
-	    sprintf(cmd, mail_adrs, address_ptr1);
-	    StrAllocCat(command, cmd);
-	    first = FALSE;
+	if (!first) {
+	    StrAllocCat(command, ",");
 	}
+	HTSprintf0(&cmd, mail_adrs, address_ptr1);
+	StrAllocCat(command, cmd);
+	first = FALSE;
 	address_ptr1 = address_ptr2;
     } while (address_ptr1 != NULL);
 
     LYSystem(command);
     FREE(command);
+    FREE(cmd);
     LYRemoveTemp(my_tmpfile);
     if (isPMDF) {
 	LYRemoveTemp(hdrfile);
@@ -1691,9 +1689,10 @@ PUBLIC void reply_by_mail ARGS4(
 	LYStatusLine = -1;
 	if (c == YES) {
 	    if ((fd = fopen(my_tmpfile, "a")) != NULL) {
+		char *buffer = NULL;
 		fputs("-- \n", fd);
-		while (fgets(user_input, sizeof(user_input), fp) != NULL) {
-		    fputs(user_input, fd);
+		while ((buffer = LYSafeGets(buffer, fp)) != NULL) {
+		    fputs(buffer, fd);
 		}
 		fclose(fd);
 	    }
diff --git a/src/LYMain.c b/src/LYMain.c
index 43511c64..f726f2b9 100644
--- a/src/LYMain.c
+++ b/src/LYMain.c
@@ -384,7 +384,7 @@ PUBLIC BOOLEAN LYPrependCharsetToSource = TRUE;
 PUBLIC BOOLEAN LYQuitDefaultYes = QUIT_DEFAULT_YES;
 
 #ifdef DISP_PARTIAL
-PUBLIC BOOLEAN display_partial = TRUE; /* Display document during download */
+PUBLIC BOOLEAN display_partial_flag = TRUE; /* Display document during download */
 PUBLIC BOOLEAN debug_display_partial = FALSE; /* Show with MessageSecs delay */
 PUBLIC int partial_threshold = -1;  /* # of lines to be d/l'ed until we repaint */
 #endif
@@ -972,9 +972,9 @@ PUBLIC int main ARGS2(
 	}
     }
     if (LYGetStdinArgs == TRUE) {
-	char buf[LINESIZE];
+	char *buf = NULL;
 
-	while (fgets(buf, sizeof(buf) - 1, stdin)) {
+	while ((buf = LYSafeGets(buf, stdin)) != 0) {
 	    int j;
 
 	    for (j = strlen(buf) - 1; j > 0 &&
@@ -1051,7 +1051,7 @@ PUBLIC int main ARGS2(
 		 *  Build GET data for later.  Stop reading when we see
 		 *  a line with "---" as its first three characters.
 		 */
-		while (fgets(buf, sizeof(buf), stdin) &&
+		while ((buf = LYSafeGets(buf, stdin)) != 0 &&
 		       strncmp(buf, "---", 3) != 0) {
 		    int j2;
 
@@ -1089,7 +1089,7 @@ PUBLIC int main ARGS2(
 		 *  Build post data for later.	Stop reading when we see
 		 *  a line with "---" as its first three characters.
 		 */
-		while (fgets(buf, sizeof(buf), stdin) &&
+		while ((buf = LYSafeGets(buf, stdin)) != 0 &&
 		       strncmp(buf, "---", 3) != 0) {
 		    int j2;
 
@@ -1257,6 +1257,14 @@ PUBLIC int main ARGS2(
     StrAllocCopy(UCAssume_MIMEcharset,
 			LYCharSet_UC[UCLYhndl_for_unspec].MIMEname);
 
+    /*
+     *	Make sure we have the edit map declared. - FM
+     */
+    if (!LYEditmapDeclared()) {
+	fprintf(stderr, gettext("\nLynx edit map not declared.\n\n"));
+	exit(-1);
+    }
+
 #if defined(USE_HASH)
     /*
      *	If no alternate lynx-style file was specified on
@@ -1304,15 +1312,7 @@ PUBLIC int main ARGS2(
 	fclose(fp);
 	style_readFromFile(lynx_lss_file);
     }
-#endif
-
-    /*
-     *	Make sure we have the edit map declared. - FM
-     */
-    if (!LYEditmapDeclared()) {
-	fprintf(stderr, gettext("\nLynx edit map not declared.\n\n"));
-	exit(-1);
-    }
+#endif /* USE_HASH */
 
 #if USE_COLOR_TABLE
     /*
@@ -1584,6 +1584,13 @@ PUBLIC int main ARGS2(
     if (dump_output_immediately)
 	LYCacheSource = SOURCE_CACHE_NONE;
 #endif
+#ifdef DISP_PARTIAL
+    /*
+     * Disable partial mode if not interactive.
+     */
+    if (dump_output_immediately)
+	display_partial_flag = FALSE;
+#endif
 
 #ifdef VMS
     set_vms_keys();
@@ -1782,7 +1789,8 @@ PUBLIC int main ARGS2(
 	 *  mode.  Instead of calling cleanup() here, let's only call
 	 *  this one. - BJP
 	 */
-	LYStoreCookies(LYCookieFile);
+	if (persistent_cookies)
+	    LYStoreCookies(LYCookieFile);
 #endif /* EXP_PERSISTENT_COOKIES */
 	exit_immediately(status);
     } else {
@@ -1832,6 +1840,7 @@ PUBLIC void LYRegisterLynxProtocols NOARGS
     HTRegisterProtocol(&LYLynxCookies);
 }
 
+#ifndef NO_CONFIG_INFO
 /*
  *  Some staff to reload lynx.cfg without restarting new lynx session,
  *  also load options menu items and command-line options
@@ -1842,11 +1851,19 @@ PUBLIC void LYRegisterLynxProtocols NOARGS
  */
 PUBLIC void reload_read_cfg NOARGS
 {
-    if (!LYRestricted) {
+    if (LYRestricted) return;  /* for sure */
+
+    /* save .lynxrc file in case we change something from Options Menu */
+    if (!save_rc()) return;    /* can not write the very own file :( */
 
-	/* save .lynxrc file in case we change something from Options Menu */
-	if (!save_rc()) return;
+    {
+	/* set few safe flags: */
+#ifdef PERSISTENT_COOKIES
+	BOOLEAN persistent_cookies_flag = persistent_cookies;
+	char * LYCookieFile_flag = LYCookieFile;
+#endif
 
+	free_lynx_cfg(); /* free downloaders, printers, not always environments */
 	/*
 	 *  Process the configuration file.
 	 */
@@ -1862,13 +1879,13 @@ PUBLIC void reload_read_cfg NOARGS
 	/* but other things may be lost: */
 
 	/*
-	 *  Process any command line arguments not already handled. - FM
+	 *  Process any command line arguments not already handled.
 	 */
 		/* Not implemented yet here */
 
 	/*
 	 *  Process any stdin-derived arguments for a lone "-"  which we've
-	 *  loaded into LYStdinArgs. - FM
+	 *  loaded into LYStdinArgs.
 	 */
 		/* Not implemented yet here */
 
@@ -1877,11 +1894,23 @@ PUBLIC void reload_read_cfg NOARGS
 	 */
 		/* Not implemented yet here,
 		 * a major problem: file paths
-		 * like lynx_temp_space, LYCookieFile etc.
+		 * like lynx_save_space, LYCookieFile etc.
 		 */
+#ifdef PERSISTENT_COOKIES
+	/* restore old settings */
+	 if (persistent_cookies != persistent_cookies_flag) {
+	     persistent_cookies = persistent_cookies_flag;
+	     HTAlert(gettext("persistent cookies state will be changed in next session only."));
+	 }
+	 if (strcmp(LYCookieFile, LYCookieFile_flag)) {
+	     StrAllocCopy(LYCookieFile, LYCookieFile_flag);
+	     CTRACE(tfp, "cookies file can be changed in next session only, restored.\n")
+	 }
+#endif
 
     }
 }
+#endif /* !NO_CONFIG_INFO */
 
 
 /* There are different ways of setting arguments on the command line, and
@@ -1913,13 +1942,13 @@ typedef union {
 #ifdef  PARSE_DEBUG
 #define ParseData BOOLEAN *set_value; int *int_value; char **str_value; ParseFunc fun_value
 #define PARSE_SET(n,t,v,h) {n,t,    v,  0,  0,  0,    h}
-#define PARSE_INT(n,t,v,h) {n,t,    0, &v,  0,  0,    h}
+#define PARSE_INT(n,t,v,h) {n,t,    0,  v,  0,  0,    h}
 #define PARSE_STR(n,t,v,h) {n,t,    0,  0,  v,  0,    h}
 #define PARSE_FUN(n,t,v,h) {n,t,    0,  0,  0,  v,    h}
 #else
 #define ParseData long value
 #define PARSE_SET(n,t,v,h) {n,t,   (long) (v),        h}
-#define PARSE_INT(n,t,v,h) {n,t,   (long)&(v),        h}
+#define PARSE_INT(n,t,v,h) {n,t,   (long) (v),        h}
 #define PARSE_STR(n,t,v,h) {n,t,   (long) (v),        h}
 #define PARSE_FUN(n,t,v,h) {n,t,   (long) (v),        h}
 #endif
@@ -2180,7 +2209,7 @@ static int get_data_fun ARGS1(
      *  User data for GET form.
      */
     char **get_data;
-    char buf[1024];
+    char *buf = NULL;
 
     /*
      *  On Unix, conflicts with curses when interactive
@@ -2201,7 +2230,7 @@ static int get_data_fun ARGS1(
      *  Build GET data for later.  Stop reading when we see a line
      *  with "---" as its first three characters.
      */
-    while (fgets(buf, sizeof(buf), stdin) &&
+    while ((buf = LYSafeGets(buf, stdin)) != 0 &&
 	  strncmp(buf, "---", 3) != 0) {
 	int j;
 
@@ -2349,7 +2378,7 @@ static int post_data_fun ARGS1(
      *  User data for POST form.
      */
     char **post_data;
-    char buf[1024];
+    char *buf = NULL;
 
     /*
      * On Unix, conflicts with curses when interactive so let's force a dump.
@@ -2369,7 +2398,7 @@ static int post_data_fun ARGS1(
      * Build post data for later.  Stop reading when we see a line with "---"
      * as its first three characters.
      */
-    while (fgets(buf, sizeof(buf), stdin) &&
+    while ((buf = LYSafeGets(buf, stdin)) != 0 &&
 	  strncmp(buf, "---", 3) != 0) {
 	int j;
 
@@ -2522,6 +2551,9 @@ static int version_fun ARGS1(
 	  LYNX_DATE_LEN,
 	  LYNX_RELEASE ? LYNX_RELEASE_DATE : &LYNX_DATE[LYNX_DATE_OFF]
 	  );
+#ifdef SYSTEM_NAME
+    printf(gettext("Built on %s %s %s\n"), SYSTEM_NAME, __DATE__, __TIME__);
+#endif
     printf("\n");
     printf(gettext(
 	  "Copyrights held by the University of Kansas, CERN, and other contributors.\n"
@@ -2751,7 +2783,7 @@ keys (may be incompatible with some curses packages)"
       "toggles inclusion of ISMAP links when client-side\nMAPs are present"
    ),
    PARSE_INT(
-      "link",		NEED_INT_ARG,		ccount,
+      "link",		NEED_INT_ARG,		&ccount,
       "=NUMBER\nstarting count for lnk#.dat files produced by -crawl"
    ),
    PARSE_SET(
@@ -2838,11 +2870,11 @@ keys (may be incompatible with some curses packages)"
    ),
 #ifdef DISP_PARTIAL
    PARSE_SET(
-      "partial",	TOGGLE_ARG,		&display_partial,
+      "partial",	TOGGLE_ARG,		&display_partial_flag,
       "toggles display partial pages while downloading"
    ),
    PARSE_INT(
-      "partial_thres",  IGNORE_ARG|INT_ARG,     partial_threshold,
+      "partial_thres",  NEED_INT_ARG,          &partial_threshold,
       "[=NUMBER]\nnumber of lines to render before repainting display\n\
 with partial-display logic"
    ),
@@ -2862,7 +2894,7 @@ with partial-display logic"
    PARSE_SET(
       "preparsed",	SET_ARG,		&LYPreparsedSource,
       "show parsed text/html with -source and in source view\n\
-       to visualize how lynx behaves with invalid HTML"
+to visualize how lynx behaves with invalid HTML"
    ),
 #ifdef USE_PSRC
    PARSE_SET(
diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c
index 55de2ba5..8249e4e7 100644
--- a/src/LYMainLoop.c
+++ b/src/LYMainLoop.c
@@ -55,6 +55,7 @@
 #include <LYLeaks.h>
 
 
+PRIVATE void print_status_message PARAMS((CONST linkstruct curlink, char **cp));
 PRIVATE BOOL confirm_post_resub PARAMS((
     CONST char*		address,
     CONST char*		title,
@@ -85,16 +86,17 @@ PUBLIC char * LYRequestTitle = NULL; /* newdoc.title in calls to getfile() */
 
 #ifdef DISP_PARTIAL
 PUBLIC int Newline_partial = 0;     /* required for display_partial mode */
-PUBLIC int NumOfLines_partial = -1; /* required for display_partial mode */
+PUBLIC int NumOfLines_partial = -1; /* initialize to -1 the very first time */
+PUBLIC BOOLEAN display_partial = FALSE;
+PUBLIC int Newline = 0;
+#else
+PRIVATE int Newline = 0;
 #endif
 
 PRIVATE document newdoc;
 PRIVATE document curdoc;
 PRIVATE char *traversal_host = NULL;
 PRIVATE char *traversal_link_to_add = NULL;
-PRIVATE char *CurrentUserAgent = NULL;
-PRIVATE char *CurrentNegoLanguage = NULL;
-PRIVATE char *CurrentNegoCharset = NULL;
 
 #ifdef LY_FIND_LEAKS
 /*
@@ -118,9 +120,6 @@ PRIVATE void free_mainloop_variables NOARGS
 #endif
     FREE(traversal_host);
     FREE(traversal_link_to_add);
-    FREE(CurrentUserAgent);
-    FREE(CurrentNegoLanguage);
-    FREE(CurrentNegoCharset);
 #ifdef DIRED_SUPPORT
     clear_tags();
 #endif /* DIRED_SUPPORT */
@@ -234,8 +233,6 @@ int mainloop NOARGS
     int cmd = LYK_DO_NOTHING, real_cmd = LYK_DO_NOTHING;
     int getresult;
     int arrowup = FALSE, show_help = FALSE;
-    int lines_in_file = -1;
-    int Newline = 0;
     char prev_target[512];
     char user_input_buffer[1024];
     char *owner_address = NULL;  /* Holds the responsible owner's address     */
@@ -250,22 +247,8 @@ int mainloop NOARGS
     BOOLEAN rlink_allowed;
     BOOLEAN vi_keys_flag = vi_keys;
     BOOLEAN emacs_keys_flag = emacs_keys;
-    BOOLEAN LYRawMode_flag = LYRawMode;
-#ifndef NO_OPTION_MENU
-    BOOLEAN LYSelectPopups_flag = LYSelectPopups;
-    BOOLEAN verbose_img_flag = verbose_img;
-    BOOLEAN keypad_mode_flag = keypad_mode;
-    BOOLEAN show_dotfiles_flag = show_dotfiles;
-    BOOLEAN user_mode_flag = user_mode;
-    int CurrentAssumeCharSet_flag = UCLYhndl_for_unspec;
-    int CurrentCharSet_flag = current_char_set;
-    int HTfileSortMethod_flag = HTfileSortMethod;
-#endif
     BOOLEAN trace_mode_flag = FALSE;
     BOOLEAN forced_HTML_mode = LYforce_HTML_mode;
-#ifdef DISP_PARTIAL
-    BOOLEAN display_partial_flag = display_partial;
-#endif
     char cfile[128];
     FILE *cfp;
     char *cp, *toolbar;
@@ -312,12 +295,6 @@ int mainloop NOARGS
     user_input_buffer[(sizeof(user_input_buffer) - 1)] = '\0';
     *prev_target = '\0';
     *user_input_buffer = '\0';
-    StrAllocCopy(CurrentUserAgent, (LYUserAgent ?
-				    LYUserAgent : ""));
-    StrAllocCopy(CurrentNegoLanguage, (language ?
-				       language : ""));
-    StrAllocCopy(CurrentNegoCharset, (pref_charset ?
-				      pref_charset : ""));
 #ifdef LY_FIND_LEAKS
     atexit(free_mainloop_variables);
 #endif
@@ -544,27 +521,21 @@ try_again:
 		    LYPermitURL = TRUE;
 		}
 
+		Newline = newdoc.line; /* bypass for partial mode */
 #ifdef DISP_PARTIAL
 		display_partial = display_partial_flag; /* restore */
-		Newline_partial = newdoc.line; /* initialize */
-		NumOfLines_partial = -1;       /* initialize to -1 */
-				/* -1 restrict HTDisplayPartial()   */
-				/* until HText_new() start new HTMainText */
-				/* and set the flag to 0  */
-		if (display_partial) {
-		    /*
-		     * Disable display_partial if requested URL has #fragment
-		     * and we are not popped from the history stack
-		     * so can't calculate correct newline position for fragment.
-		     * Otherwise user got the new document from the first page
-		     * and be moved to #fragment later after download
-		     * completed, but only if s/he did not mess screen up by
-		     * scrolling before...  So fall down to old behavior here.
-		     */
-		    if (!LYCursesON ||
-			       (Newline_partial == 1 && strchr(newdoc.address, '#')))
-			display_partial = FALSE;
-		}
+		Newline_partial = Newline;  /* initialize */
+		/*
+		 * Disable display_partial if requested URL has #fragment
+		 * and we are not popped from the history stack
+		 * so can't calculate correct newline position for fragment.
+		 * Otherwise user got the new document from the first page
+		 * and be moved to #fragment later after download
+		 * completed, but only if s/he did not mess screen up by
+		 * scrolling before...  So fall down to old behavior here.
+		 */
+		if (Newline_partial == 1 && strchr(newdoc.address, '#'))
+		    display_partial = FALSE;
 #endif /* DISP_PARTIAL */
 #ifdef USE_PSRC
 		psrc_first_tag = TRUE;
@@ -680,15 +651,15 @@ try_again:
 			    cleanup();
 #ifdef UNIX
 			if (dump_output_immediately)
-			    fprintf(stderr,gettext("\nlynx: Can't access startfile %s\n"),
-			       startfile);
+			    fprintf(stderr, gettext("\nlynx: Can't access startfile %s\n"),
+				    startfile);
 			else
 #endif /* UNIX */
 			{
 
 			    SetOutputMode( O_TEXT );
 			    printf(gettext("\nlynx: Can't access startfile %s\n"),
-			       startfile);
+				   startfile);
 			    SetOutputMode( O_BINARY );
 			}
 
@@ -990,6 +961,7 @@ try_again:
 			newdoc.line = curdoc.line;
 			newdoc.link = curdoc.link;
 			newdoc.internal_link = FALSE; /* can't be true. - kw */
+			Newline = newdoc.line; /* now here, no partial mode */
 		    }
 
 		    /*
@@ -997,23 +969,9 @@ try_again:
 		     *	line the user was on if s/he has been in the file
 		     *	before, or it is 1 if this is a new file.
 		     */
-		    Newline = newdoc.line;
-#ifdef DISP_PARTIAL
-		    if (display_partial) {
-			/*
-			 *  Override newdoc.line with a new value if user
-			 *  scrolled the document while downloading.
-			 */
-			if (Newline_partial != newdoc.line
-			 && NumOfLines_partial > 0)
-			    Newline = Newline_partial;
-
-			/*
-			 *  End of incremental rendering stage here.
-			 */
-			display_partial = FALSE;
-		    }
-#endif /* DISP_PARTIAL */
+		    /* Newline = newdoc.line; */
+		    /* - alreary set and probably updated in partial mode */
+		    /*  End of incremental rendering stage here. */
 
 		    /*
 		     *	If we are going to a target line or
@@ -1078,7 +1036,7 @@ try_again:
 	    } else if (!dump_output_immediately) {
 		StrAllocCopy(curdoc.title, newdoc.title);
 	    }
-	    owner_address = (char *)HText_getOwner();
+	    StrAllocCopy(owner_address, HText_getOwner());
 	    curdoc.safe = HTLoadedDocumentIsSafe();
 	    if (!dump_output_immediately) {
 		LYAddVisitedLink(&curdoc);
@@ -1144,7 +1102,6 @@ try_again:
 	      */
 	     Newline = www_search_result;
 	     www_search_result = -1;  /* reset */
-	     more = HText_canScrollDown();
 	}
 
 	if (first_file == TRUE) {
@@ -1260,23 +1217,47 @@ try_again:
 #ifdef SOURCE_CACHE
 	/*
 	 * If the parse settings have changed since this HText was
-	 * generated, we need to reparse and redraw it.
+	 * generated, we need to reparse and redraw it.  -dsb
 	 */
 	if (HTdocument_settings_changed()) {
 	    HTUserMsg(gettext("Reparsing document under current settings..."));
-	    if (HTreparse_document())
-		refresh_screen = TRUE;
+	    if (HTreparse_document()) {}
 	    else {
 		/*
 		 * Urk.  I have no idea how to recover from a failure here.
-		 * At a guess, I'll try reloading.
+		 * At a guess, I'll try reloading.  -dsb
 		 */
 		cmd = LYK_RELOAD;
 		goto new_cmd;
 	    }
 	}
+
+	/*
+	 *  Trying to accomodate HTreparse_document() logic
+	 *  with mainloop events. Set all the necessaty flags here...
+	 */
+	if (from_source_cache) {
+		from_source_cache = FALSE; /* reset */
+
+		    /*
+		     *	Make sure curdoc.line will not be equal
+		     *	to Newline, so we get a redraw.
+		     */
+		    curdoc.line = -1;
+
+	    /*
+	     * This information can get clobbered if we go to an internal
+	     * page while viewing source.  Normally it would be recreated
+	     * by reloading the file; we have to do it ourselves.  -dsb
+	     */
+	    if (curdoc.link < 0 && nlinks > 0)
+		curdoc.link = 0;
+
+		refresh_screen = TRUE; /* ? */
+	}
 #endif
 
+
 	/*
 	 *  If the curdoc.line is different than Newline then there must
 	 *  have been a change since last update.  Run HText_pageDisplay()
@@ -1292,13 +1273,12 @@ try_again:
 	    if (lynx_edit_mode && nlinks > 0 && !HTList_isEmpty(tagged))
 	      showtags(tagged);
 #endif /* DIRED_SUPPORT */
+
 	    /*
-	     *	If more equals TRUE, then there is more
-	     *	info below this page .
+	     *  If more equals TRUE, then there is more info below this page.
 	     */
 	    more = HText_canScrollDown();
 	    curdoc.line = Newline = HText_getTopOfScreen()+1;
-	    lines_in_file = HText_getNumOfLines();
 
 	    if (curdoc.title == NULL) {
 		/*
@@ -1358,6 +1338,22 @@ try_again:
 	    if (lynx_edit_mode && nlinks > 0 && !HTList_isEmpty(tagged))
 		showtags(tagged);
 #endif /* DIRED_SUPPORT */
+
+	    /*
+	     *  If more equals TRUE, then there is more info below this page.
+	     */
+	    more = HText_canScrollDown();
+
+#ifdef SOURCE_CACHE
+	    /*
+	     * This information can get clobbered if we go to an internal
+	     * page while viewing source, or if the page length changes
+	     * between reparses.  Normally it would be recreated by
+	     * reloading the file; we have to do it ourselves.  -dsb
+	     */
+	    if (curdoc.link < 0 && nlinks > 0)
+		curdoc.link = 0;
+#endif
 	    if (user_mode == NOVICE_MODE)
 		noviceline(more);  /* print help message */
 	    refresh_screen = FALSE;
@@ -1376,196 +1372,7 @@ try_again:
 	 *  to tell the user other misc info.
 	 */
 	if (!show_help) {
-	    /*
-	     *	Make sure form novice lines are replaced.
-	     */
-	    if (user_mode == NOVICE_MODE) {
-		noviceline(more);
-	    }
-
-	    /*
-	     *	If we are in forms mode then explicitly
-	     *	tell the user what each kind of link is.
-	     */
-	    if (HTisDocumentSource()) {
-		/*
-		 *  Currently displaying HTML source.
-		 */
-		_statusline(SOURCE_HELP);
-
-#ifdef INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE
-	    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0) {
-#else
-#ifdef NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES
-	    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
-		       !(links[curdoc.link].type & WWW_LINK_TYPE)) {
-#else
-	    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
-		       !(user_mode == ADVANCED_MODE &&
-			 (links[curdoc.link].type & WWW_LINK_TYPE))) {
-#endif /* NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES */
-#endif /* INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE */
-		if (links[curdoc.link].type == WWW_FORM_LINK_TYPE) {
-		    switch(links[curdoc.link].form->type) {
-		    case F_PASSWORD_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_PASSWORD_UNM_MSG);
-			else
-			    statusline(FORM_LINK_PASSWORD_MESSAGE);
-			break;
-		    case F_OPTION_LIST_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_OPTION_LIST_UNM_MSG);
-			else
-			    statusline(FORM_LINK_OPTION_LIST_MESSAGE);
-			break;
-		    case F_CHECKBOX_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_CHECKBOX_UNM_MSG);
-			else
-			    statusline(FORM_LINK_CHECKBOX_MESSAGE);
-			break;
-		    case F_RADIO_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_RADIO_UNM_MSG);
-			else
-			    statusline(FORM_LINK_RADIO_MESSAGE);
-			break;
-		    case F_TEXT_SUBMIT_TYPE:
-			if (links[curdoc.link].form->disabled == YES) {
-			    statusline(FORM_LINK_TEXT_SUBMIT_UNM_MSG);
-			} else if (links[curdoc.link].form->submit_method ==
-				 URL_MAIL_METHOD) {
-			    if (no_mail)
-				statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_DIS_MSG);
-			    else
-				statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_MSG);
-			} else if (links[curdoc.link].form->no_cache) {
-			    statusline(FORM_LINK_TEXT_RESUBMIT_MESSAGE);
-			} else {
-			    statusline(FORM_LINK_TEXT_SUBMIT_MESSAGE);
-			}
-			break;
-		    case F_SUBMIT_TYPE:
-		    case F_IMAGE_SUBMIT_TYPE:
-			if (links[curdoc.link].form->disabled == YES) {
-			    statusline(FORM_LINK_SUBMIT_DIS_MSG);
-			} else if (links[curdoc.link].form->submit_method ==
-				 URL_MAIL_METHOD) {
-			    if (no_mail) {
-				statusline(FORM_LINK_SUBMIT_MAILTO_DIS_MSG);
-			    } else {
-				if(user_mode == ADVANCED_MODE) {
-				    char *submit_str = NULL;
-
-				    StrAllocCopy(submit_str, FORM_LINK_SUBMIT_MAILTO_PREFIX);
-				    StrAllocCat(submit_str, links[curdoc.link].form->submit_action);
-				    statusline(submit_str);
-				    FREE(submit_str);
-				} else {
-				    statusline(FORM_LINK_SUBMIT_MAILTO_MSG);
-				}
-			    }
-			} else if (links[curdoc.link].form->no_cache) {
-			    if(user_mode == ADVANCED_MODE) {
-				char *submit_str = NULL;
-
-				StrAllocCopy(submit_str, FORM_LINK_RESUBMIT_PREFIX);
-				StrAllocCat(submit_str, links[curdoc.link].form->submit_action);
-				statusline(submit_str);
-				FREE(submit_str);
-			    } else {
-				statusline(FORM_LINK_RESUBMIT_MESSAGE);
-			    }
-			} else {
-			    if(user_mode == ADVANCED_MODE) {
-				char *submit_str = NULL;
-
-				StrAllocCopy(submit_str, FORM_LINK_SUBMIT_PREFIX);
-				StrAllocCat(submit_str, links[curdoc.link].form->submit_action);
-				statusline(submit_str);
-				FREE(submit_str);
-			    } else {
-				statusline(FORM_LINK_SUBMIT_MESSAGE);
-			    }
-			}
-			break;
-		    case F_RESET_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_RESET_DIS_MSG);
-			else
-			    statusline(FORM_LINK_RESET_MESSAGE);
-			break;
-		    case F_TEXT_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_TEXT_UNM_MSG);
-			else
-			    statusline(FORM_LINK_TEXT_MESSAGE);
-			break;
-		    case F_TEXTAREA_TYPE:
-			if (links[curdoc.link].form->disabled == YES)
-			    statusline(FORM_LINK_TEXT_UNM_MSG);
-			else
-			    statusline(FORM_LINK_TEXTAREA_MESSAGE);
-			break;
-		    }
-		} else {
-		    statusline(NORMAL_LINK_MESSAGE);
-		}
-
-		/*
-		 *  Let them know if it's an index -- very rare.
-		 */
-		if (is_www_index) {
-		    move(LYlines-1, LYcols-8);
-		    start_reverse();
-		    addstr("-index-");
-		    stop_reverse();
-		}
-
-	    } else if (user_mode == ADVANCED_MODE && nlinks > 0) {
-		/*
-		 *  Show the URL or, for some internal links, the fragment
-		 */
-		cp = NULL;
-		if (links[curdoc.link].type == WWW_INTERN_LINK_TYPE &&
-		    strncmp(links[curdoc.link].lname, "LYNXIMGMAP:", 11)) {
-		    cp = strchr(links[curdoc.link].lname, '#');
-		}
-		if (!cp)
-		    cp = links[curdoc.link].lname;
-		if (more) {
-		    if (is_www_index)
-			_user_message("-more- -index- %s",
-						 cp);
-		    else
-			_user_message("-more- %s",cp);
-		} else {
-		    if (is_www_index)
-			_user_message("-index- %s",cp);
-		    else
-			statusline(cp);
-		}
-	    } else if (is_www_index && more) {
-		char buf[128];
-
-		sprintf(buf, WWW_INDEX_MORE_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
-		_statusline(buf);
-	    } else if (is_www_index) {
-		char buf[128];
-
-		sprintf(buf, WWW_INDEX_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
-		_statusline(buf);
-	    } else if (more) {
-		if (user_mode == NOVICE_MODE)
-			_statusline(MORE);
-		else
-			_statusline(MOREHELP);
-	    } else {
-	       _statusline(HELP);
-	    }
-	   /* turn off cursor since now it's probably on statusline -HV */
-	   move((LYlines - 1), (LYcols - 1));
+	   print_status_message(links[curdoc.link], &cp);
 	} else {
 	   show_help = FALSE;
 	}
@@ -1671,7 +1478,6 @@ try_again:
 				      links[curdoc.link+1].form->name) != 0)))))) {
 
 			HText_ExpandTextarea (&links[curdoc.link], 1);
-			lines_in_file = HText_getNumOfLines();
 
 			if (links[curdoc.link].ly < display_lines) {
 			    refresh_screen = TRUE;
@@ -2109,7 +1915,17 @@ new_cmd:  /*
 #endif
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
+		/*
+		 * These normally get cleaned up after getfile() returns;
+		 * since we're not calling getfile(), we have to clean them
+		 * up ourselves.  -dsb
+		 */
+		HTOutputFormat = WWW_PRESENT;
+#ifdef USE_PSRC
+		if (psrc_view)
+		    HTMark_asSource();
+		psrc_view = FALSE;
+#endif
 		break;
 	    }
 #endif
@@ -2187,6 +2003,9 @@ new_cmd:  /*
 	    break;
 
 	case LYK_HISTORICAL:	/* toggle 'historical' comments parsing */
+#ifdef SOURCE_CACHE
+	    if (!HTcan_reparse_document()) {
+#endif
 	    /*
 	     *	Check if this is a reply from a POST, and if so,
 	     *	seek confirmation of reload if the safe element
@@ -2198,14 +2017,15 @@ new_cmd:  /*
 				   0, 0) == FALSE) {
 		HTInfoMsg(WILL_NOT_RELOAD_DOC);
 	    } else {
-#ifndef SOURCE_CACHE
 		HTuncache_current_document();
 		StrAllocCopy(newdoc.address, curdoc.address);
 		FREE(curdoc.address);
 		newdoc.line = curdoc.line;
 		newdoc.link = curdoc.link;
-#endif
 	    }
+#ifdef SOURCE_CACHE
+	    } /* end if no bypass */
+#endif
 	    if (historical_comments)
 		historical_comments = FALSE;
 	    else
@@ -2219,19 +2039,16 @@ new_cmd:  /*
 	    }
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
-		break;
+		break; /* OK */
 	    }
-	    HTuncache_current_document();
-	    StrAllocCopy(newdoc.address, curdoc.address);
-	    FREE(curdoc.address);
-	    newdoc.line = curdoc.line;
-	    newdoc.link = curdoc.link;
 #endif
 	    break;
 
 	case LYK_MINIMAL:	/* toggle 'minimal' comments parsing */
 	    if (!historical_comments) {
+#ifdef SOURCE_CACHE
+	    if (!HTcan_reparse_document()) {
+#endif
 		/*
 		 *  Check if this is a reply from a POST, and if so,
 		 *  seek confirmation of reload if the safe element
@@ -2243,15 +2060,16 @@ new_cmd:  /*
 				       0, 0) == FALSE) {
 		    HTInfoMsg(WILL_NOT_RELOAD_DOC);
 		} else {
-#ifndef SOURCE_CACHE
 		    HTuncache_current_document();
 		    StrAllocCopy(newdoc.address, curdoc.address);
 		    FREE(curdoc.address);
 		    newdoc.line = curdoc.line;
 		    newdoc.link = curdoc.link;
-#endif
 		}
 	    }
+#ifdef SOURCE_CACHE
+	    } /* end if no bypass */
+#endif
 	    if (minimal_comments)
 		minimal_comments = FALSE;
 	    else
@@ -2265,18 +2083,15 @@ new_cmd:  /*
 	    }
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
-		break;
+                break; /* OK */
 	    }
-	    HTuncache_current_document();
-	    StrAllocCopy(newdoc.address, curdoc.address);
-	    FREE(curdoc.address);
-	    newdoc.line = curdoc.line;
-	    newdoc.link = curdoc.link;
 #endif
 	    break;
 
 	case LYK_SOFT_DQUOTES:
+#ifdef SOURCE_CACHE
+            if (!HTcan_reparse_document()) {
+#endif
 	    /*
 	     *	Check if this is a reply from a POST, and if so,
 	     *	seek confirmation of reload if the safe element
@@ -2288,14 +2103,15 @@ new_cmd:  /*
 				   1, 1) == FALSE) {
 		HTInfoMsg(WILL_NOT_RELOAD_DOC);
 	    } else {
-#ifndef SOURCE_CACHE
 		HTuncache_current_document();
 		StrAllocCopy(newdoc.address, curdoc.address);
 		FREE(curdoc.address);
 		newdoc.line = curdoc.line;
 		newdoc.link = curdoc.link;
-#endif
 	    }
+#ifdef SOURCE_CACHE
+	    } /* end if no bypass */
+#endif
 	    if (soft_dquotes)
 		soft_dquotes = FALSE;
 	    else
@@ -2304,18 +2120,15 @@ new_cmd:  /*
 		      SOFT_DOUBLE_QUOTE_ON : SOFT_DOUBLE_QUOTE_OFF);
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
-		break;
+		break; /* OK */
 	    }
-	    HTuncache_current_document();
-	    StrAllocCopy(newdoc.address, curdoc.address);
-	    FREE(curdoc.address);
-	    newdoc.line = curdoc.line;
-	    newdoc.link = curdoc.link;
 #endif
 	    break;
 
 	case LYK_SWITCH_DTD:
+#ifdef SOURCE_CACHE
+	    if (!HTcan_reparse_document()) {
+#endif
 	    /*
 	     *	Check if this is a reply from a POST, and if so,
 	     *	seek confirmation of reload if the safe element
@@ -2346,30 +2159,37 @@ new_cmd:  /*
 #endif
 		    HTOutputFormat = WWW_SOURCE;
 		}
-#ifndef SOURCE_CACHE
 		HTuncache_current_document();
 		StrAllocCopy(newdoc.address, curdoc.address);
 		FREE(curdoc.address);
-#endif
-	    }
 #ifdef NO_ASSUME_SAME_DOC
-	    newdoc.line = 1;
-	    newdoc.link = 0;
+		newdoc.line = 1;
+		newdoc.link = 0;
 #else
-	    newdoc.line = curdoc.line;
-	    newdoc.link = curdoc.link;
+		newdoc.line = curdoc.line;
+		newdoc.link = curdoc.link;
 #endif /* NO_ASSUME_SAME_DOC */
+	    }
+#ifdef SOURCE_CACHE
+            } /* end if no bypass */
+#endif
 	    Old_DTD = !Old_DTD;
 	    HTSwitchDTD(!Old_DTD);
 	    HTUserMsg(Old_DTD ? USING_DTD_0 : USING_DTD_1);
 #ifdef SOURCE_CACHE
-	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
-		break;
-	    }
-	    HTuncache_current_document();
-	    StrAllocCopy(newdoc.address, curdoc.address);
-	    FREE(curdoc.address);
+            if (HTcan_reparse_document()) {
+            if (HTisDocumentSource() && LYPreparsedSource) {
+#ifdef USE_PSRC
+                if (LYpsrc)
+                    psrc_view = TRUE;
+                else
+#endif
+                HTOutputFormat = WWW_SOURCE;
+            }
+            if (HTreparse_document()) {
+                break;
+            }
+	    } /* end if no bypass */
 #endif
 	    break;
 
@@ -2512,7 +2332,7 @@ new_cmd:  /*
 
 	case LYK_END:
 	    if (more) {
-	       Newline = lines_in_file - display_lines + 3;  /* go to end of file */
+	       Newline = HText_getNumOfLines() - display_lines + 3;  /* go to end of file */
 	       arrowup = TRUE;	 /* position on last link */
 	    } else {
 		cmd = LYK_NEXT_PAGE;
@@ -4020,8 +3840,26 @@ check_goto_URL:
 #endif /* DIRED_SUPPORT */
 #ifndef NO_OPTION_MENU
 if (!LYUseFormsOptions) {
+	    BOOLEAN LYUseDefaultRawMode_flag = LYUseDefaultRawMode;
+	    BOOLEAN LYSelectPopups_flag = LYSelectPopups;
+	    BOOLEAN verbose_img_flag = verbose_img;
+	    BOOLEAN keypad_mode_flag = keypad_mode;
+	    BOOLEAN show_dotfiles_flag = show_dotfiles;
+	    BOOLEAN user_mode_flag = user_mode;
+	    int CurrentAssumeCharSet_flag = UCLYhndl_for_unspec;
+	    int CurrentCharSet_flag = current_char_set;
+	    int HTfileSortMethod_flag = HTfileSortMethod;
+	    char *CurrentUserAgent = NULL;
+	    char *CurrentNegoLanguage = NULL;
+	    char *CurrentNegoCharset = NULL;
+	    StrAllocCopy(CurrentUserAgent, (LYUserAgent ?
+					    LYUserAgent : ""));
+	    StrAllocCopy(CurrentNegoLanguage, (language ?
+					       language : ""));
+	    StrAllocCopy(CurrentNegoCharset, (pref_charset ?
+					      pref_charset : ""));
 
-	    LYoptions(); /* do the old-style options stuff */
+	    LYoptions(); /** do the old-style options stuff **/
 
 	    if (keypad_mode_flag != keypad_mode ||
 		(user_mode_flag != user_mode &&
@@ -4037,7 +3875,7 @@ if (!LYUseFormsOptions) {
 		CurrentCharSet_flag != current_char_set ||
 		CurrentAssumeCharSet_flag != UCLYhndl_for_unspec ||
 		verbose_img_flag != verbose_img ||
-		LYRawMode_flag != LYRawMode ||
+		LYUseDefaultRawMode_flag != LYUseDefaultRawMode ||
 		LYSelectPopups_flag != LYSelectPopups ||
 		((strcmp(CurrentUserAgent, (LYUserAgent ?
 					    LYUserAgent : "")) ||
@@ -4080,11 +3918,8 @@ if (!LYUseFormsOptions) {
 			 */
 			reloading = TRUE;
 		    }
-		    if (lynx_mode == FORMS_LYNX_MODE) {
-			HTAlert(RELOADING_FORM);
-		    }
 		    if (HTisDocumentSource()) {
-#ifndef PSRC_VIEW
+#ifndef USE_PSRC
 			HTOutputFormat = WWW_SOURCE;
 #else
 			if (LYpsrc)
@@ -4093,6 +3928,25 @@ if (!LYUseFormsOptions) {
 			    HTOutputFormat = WWW_SOURCE;
 #endif
 		    }
+#ifdef SOURCE_CACHE
+		    if (reloading == FALSE) {
+			/* one more attempt to be smart enough: */
+			if (HTreparse_document()) {
+			    FREE(CurrentUserAgent);
+			    FREE(CurrentNegoLanguage);
+			    FREE(CurrentNegoCharset);
+			    break;
+			}
+		    }
+#endif
+		    if (lynx_mode == FORMS_LYNX_MODE) {
+			/*
+			 *  Note that if there are no form links on the current
+			 *  page, lynx_mode won't have this setting and we won't
+			 *  know that this warning should be issued. - FM
+			 */
+			HTAlert(RELOADING_FORM);
+		    }
 		    HEAD_request = HTLoadedDocumentIsHEAD();
 		    HTuncache_current_document();
 #ifdef NO_ASSUME_SAME_DOC
@@ -4106,21 +3960,9 @@ if (!LYUseFormsOptions) {
 		    FREE(curdoc.address); /* So it doesn't get pushed. */
 		}
 	    }
-	    keypad_mode_flag = keypad_mode;
-	    user_mode_flag = user_mode;
-	    HTfileSortMethod_flag = HTfileSortMethod;
-	    CurrentCharSet_flag = current_char_set;
-	    CurrentAssumeCharSet_flag = UCLYhndl_for_unspec;
-	    show_dotfiles_flag = show_dotfiles;
-	    verbose_img_flag = verbose_img;
-	    LYRawMode_flag = LYRawMode;
-	    LYSelectPopups_flag = LYSelectPopups;
-	    StrAllocCopy(CurrentUserAgent, (LYUserAgent ?
-					    LYUserAgent : ""));
-	    StrAllocCopy(CurrentNegoLanguage, (language ?
-					       language : ""));
-	    StrAllocCopy(CurrentNegoCharset, (pref_charset ?
-					      pref_charset : ""));
+	    FREE(CurrentUserAgent);
+	    FREE(CurrentNegoLanguage);
+	    FREE(CurrentNegoCharset);
 	    refresh_screen = TRUE; /* to repaint screen */
 	    break;
 } /* end if !LYUseFormsOptions */
@@ -4145,7 +3987,6 @@ if (!LYUseFormsOptions) {
 		newdoc.safe = FALSE;
 		if (check_realm)
 		    LYPermitURL = TRUE;
-		refresh_screen = TRUE;	/* redisplay */
 
 		/*
 		 * FIXME:  this was a temporary solution until we find the
@@ -4153,7 +3994,7 @@ if (!LYUseFormsOptions) {
 		 * before the 'options menu' only when (few) important options
 		 * were changed.
 		 */
-/*	       HTuncache_current_document(); */
+		/* HTuncache_current_document(); */
 	    }
 #endif /* !NO_OPTION_FORMS */
 	    break;
@@ -4656,8 +4497,8 @@ if (!LYUseFormsOptions) {
 	     */
 	    if (strcmp((curdoc.title ? curdoc.title : ""),
 		       SHOWINFO_TITLE)) {
-		if (showinfo(&curdoc, lines_in_file,
-			      &newdoc, owner_address) < 0)
+		if (showinfo(&curdoc, HText_getNumOfLines(),
+			     &newdoc, owner_address) < 0)
 		    break;
 		StrAllocCopy(newdoc.title, SHOWINFO_TITLE);
 		FREE(newdoc.post_data);
@@ -4698,8 +4539,6 @@ if (!LYUseFormsOptions) {
 
 		n = HText_ExtEditForm (&links[curdoc.link]);
 
-		lines_in_file = HText_getNumOfLines();
-
 		/*
 		 *  TODO: Move cursor "n" lines from the current line to
 		 *	  position it on the 1st trailing blank line in
@@ -4731,7 +4570,6 @@ if (!LYUseFormsOptions) {
 
 		HText_ExpandTextarea (&links[curdoc.link], TEXTAREA_EXPAND_SIZE);
 
-		lines_in_file  = HText_getNumOfLines();
 		refresh_screen = TRUE;
 
 	    } else {
@@ -4749,8 +4587,6 @@ if (!LYUseFormsOptions) {
 
 		n = HText_InsertFile (&links[curdoc.link]);
 
-		lines_in_file = HText_getNumOfLines();
-
 		/*
 		 *  TODO: Move cursor "n" lines from the current line to
 		 *	  position it on the 1st line following the text
@@ -4788,7 +4624,7 @@ if (!LYUseFormsOptions) {
 		       PRINT_OPTIONS_TITLE)) {
 
 		if (print_options(&newdoc.address,
-				&curdoc.address, lines_in_file) < 0)
+				  &curdoc.address, HText_getNumOfLines()) < 0)
 		    break;
 		StrAllocCopy(newdoc.title, PRINT_OPTIONS_TITLE);
 		FREE(newdoc.post_data);
@@ -5594,7 +5430,6 @@ check_add_bookmark_to_self:
 		     CLICKABLE_IMAGES_ON : CLICKABLE_IMAGES_OFF);
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
 		break;
 	    }
 #endif
@@ -5611,7 +5446,6 @@ check_add_bookmark_to_self:
 		      PSEUDO_INLINE_ALTS_ON : PSEUDO_INLINE_ALTS_OFF);
 #ifdef SOURCE_CACHE
 	    if (HTreparse_document()) {
-		refresh_screen = TRUE;
 		break;
 	    }
 #endif
@@ -5626,10 +5460,8 @@ check_add_bookmark_to_self:
 		LYUseDefaultRawMode = !LYUseDefaultRawMode;
 		HTUserMsg(LYRawMode ? RAWMODE_OFF : RAWMODE_ON);
 		HTMLSetCharacterHandling(current_char_set);
-		LYRawMode_flag = LYRawMode;
 #ifdef SOURCE_CACHE
 		if (HTreparse_document()) {
-		    refresh_screen = TRUE;
 		    break;
 		}
 #endif
@@ -6184,3 +6016,202 @@ PUBLIC void HTAddGotoURL ARGS1(
 
     return;
 }
+
+/*
+ *  When help is not on the screen,
+ *  put a message on the screen
+ *  to tell the user other misc info.
+ */
+PRIVATE void print_status_message(CONST linkstruct curlink, char **cp)
+{
+    /*
+     *	Make sure form novice lines are replaced.
+     */
+    if (user_mode == NOVICE_MODE) {
+	noviceline(more);
+    }
+
+    /*
+     *	If we are in forms mode then explicitly
+     *	tell the user what each kind of link is.
+     */
+    if (HTisDocumentSource()) {
+	/*
+	 *  Currently displaying HTML source.
+	 */
+	_statusline(SOURCE_HELP);
+
+#ifdef INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE
+    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0) {
+#else
+#ifdef NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES
+    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
+	       !(curlink.type & WWW_LINK_TYPE)) {
+#else
+    } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 &&
+	       !(user_mode == ADVANCED_MODE &&
+		 (curlink.type & WWW_LINK_TYPE))) {
+#endif /* NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES */
+#endif /* INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE */
+	if (curlink.type == WWW_FORM_LINK_TYPE) {
+	    switch(curlink.form->type) {
+	    case F_PASSWORD_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_PASSWORD_UNM_MSG);
+		else
+		    statusline(FORM_LINK_PASSWORD_MESSAGE);
+		break;
+	    case F_OPTION_LIST_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_OPTION_LIST_UNM_MSG);
+		else
+		    statusline(FORM_LINK_OPTION_LIST_MESSAGE);
+		break;
+	    case F_CHECKBOX_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_CHECKBOX_UNM_MSG);
+		else
+		    statusline(FORM_LINK_CHECKBOX_MESSAGE);
+		break;
+	    case F_RADIO_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_RADIO_UNM_MSG);
+		else
+		    statusline(FORM_LINK_RADIO_MESSAGE);
+		break;
+	    case F_TEXT_SUBMIT_TYPE:
+		if (curlink.form->disabled == YES) {
+		    statusline(FORM_LINK_TEXT_SUBMIT_UNM_MSG);
+		} else if (curlink.form->submit_method ==
+			 URL_MAIL_METHOD) {
+		    if (no_mail)
+			statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_DIS_MSG);
+		    else
+			statusline(FORM_LINK_TEXT_SUBMIT_MAILTO_MSG);
+		} else if (curlink.form->no_cache) {
+		    statusline(FORM_LINK_TEXT_RESUBMIT_MESSAGE);
+		} else {
+		    statusline(FORM_LINK_TEXT_SUBMIT_MESSAGE);
+		}
+		break;
+	    case F_SUBMIT_TYPE:
+	    case F_IMAGE_SUBMIT_TYPE:
+		if (curlink.form->disabled == YES) {
+		    statusline(FORM_LINK_SUBMIT_DIS_MSG);
+		} else if (curlink.form->submit_method ==
+			 URL_MAIL_METHOD) {
+		    if (no_mail) {
+			statusline(FORM_LINK_SUBMIT_MAILTO_DIS_MSG);
+		    } else {
+			if(user_mode == ADVANCED_MODE) {
+			    char *submit_str = NULL;
+
+			    StrAllocCopy(submit_str, FORM_LINK_SUBMIT_MAILTO_PREFIX);
+			    StrAllocCat(submit_str, curlink.form->submit_action);
+			    statusline(submit_str);
+			    FREE(submit_str);
+			} else {
+			    statusline(FORM_LINK_SUBMIT_MAILTO_MSG);
+			}
+		    }
+		} else if (curlink.form->no_cache) {
+		    if(user_mode == ADVANCED_MODE) {
+			char *submit_str = NULL;
+
+			StrAllocCopy(submit_str, FORM_LINK_RESUBMIT_PREFIX);
+			StrAllocCat(submit_str, curlink.form->submit_action);
+			statusline(submit_str);
+			FREE(submit_str);
+		    } else {
+			statusline(FORM_LINK_RESUBMIT_MESSAGE);
+		    }
+		} else {
+		    if(user_mode == ADVANCED_MODE) {
+			char *submit_str = NULL;
+
+			StrAllocCopy(submit_str, FORM_LINK_SUBMIT_PREFIX);
+			StrAllocCat(submit_str, curlink.form->submit_action);
+			statusline(submit_str);
+			FREE(submit_str);
+		    } else {
+			statusline(FORM_LINK_SUBMIT_MESSAGE);
+		    }
+		}
+		break;
+	    case F_RESET_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_RESET_DIS_MSG);
+		else
+		    statusline(FORM_LINK_RESET_MESSAGE);
+		break;
+	    case F_TEXT_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_TEXT_UNM_MSG);
+		else
+		    statusline(FORM_LINK_TEXT_MESSAGE);
+		break;
+	    case F_TEXTAREA_TYPE:
+		if (curlink.form->disabled == YES)
+		    statusline(FORM_LINK_TEXT_UNM_MSG);
+		else
+		    statusline(FORM_LINK_TEXTAREA_MESSAGE);
+		break;
+	    }
+	} else {
+	    statusline(NORMAL_LINK_MESSAGE);
+	}
+
+	/*
+	 *  Let them know if it's an index -- very rare.
+	 */
+	if (is_www_index) {
+	    move(LYlines-1, LYcols-8);
+	    start_reverse();
+	    addstr("-index-");
+	    stop_reverse();
+	}
+
+    } else if (user_mode == ADVANCED_MODE && nlinks > 0) {
+	/*
+	 *  Show the URL or, for some internal links, the fragment
+	 */
+	*cp = NULL;
+	if (curlink.type == WWW_INTERN_LINK_TYPE &&
+	    strncmp(curlink.lname, "LYNXIMGMAP:", 11)) {
+	    *cp = strchr(curlink.lname, '#');
+	}
+	if (!(*cp))
+	    *cp = curlink.lname;
+	if (more) {
+	    if (is_www_index)
+		_user_message("-more- -index- %s",
+					 *cp);
+	    else
+		_user_message("-more- %s",*cp);
+	} else {
+	    if (is_www_index)
+		_user_message("-index- %s",*cp);
+	    else
+		statusline(*cp);
+	}
+    } else if (is_www_index && more) {
+	char buf[128];
+
+	sprintf(buf, WWW_INDEX_MORE_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
+	_statusline(buf);
+    } else if (is_www_index) {
+	char buf[128];
+
+	sprintf(buf, WWW_INDEX_MESSAGE, key_for_func(LYK_INDEX_SEARCH));
+	_statusline(buf);
+    } else if (more) {
+	if (user_mode == NOVICE_MODE)
+		_statusline(MORE);
+	else
+		_statusline(MOREHELP);
+    } else {
+	_statusline(HELP);
+    }
+    /* turn off cursor since now it's probably on statusline -HV */
+    move((LYlines - 1), (LYcols - 1));
+}
diff --git a/src/LYMap.c b/src/LYMap.c
index 27033d1c..6df8924f 100644
--- a/src/LYMap.c
+++ b/src/LYMap.c
@@ -15,7 +15,6 @@
 #include <LYUtils.h>
 #include <LYMap.h>
 #include <GridText.h>
-#include <LYSignal.h>
 #include <LYGlobalDefs.h>
 #include <LYKeymap.h>
 #include <LYCharUtils.h>
diff --git a/src/LYNews.c b/src/LYNews.c
index 1c4cd6ad..d5106bb7 100644
--- a/src/LYNews.c
+++ b/src/LYNews.c
@@ -10,7 +10,6 @@
 #include <LYUtils.h>
 #include <LYClean.h>
 #include <LYStrings.h>
-#include <LYGetFile.h>
 #include <LYHistory.h>
 #include <GridText.h>
 #include <LYCharSets.h>
@@ -30,7 +29,7 @@ PRIVATE BOOLEAN message_has_content ARGS1(
     CONST char *,		filename)
 {
     FILE *fp;
-    char buffer[72];
+    char *buffer = NULL;
     BOOLEAN in_headers = TRUE;
 
     if (!filename || (fp = fopen(filename, "r")) == NULL) {
@@ -38,7 +37,7 @@ PRIVATE BOOLEAN message_has_content ARGS1(
 	       filename ? filename : "(<null>)");
 	return FALSE;
     }
-    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+    while ((buffer = LYSafeGets(buffer, fp)) != NULL) {
 	char *cp = buffer;
 	char firstnonblank = '\0';
 	if (*cp == '\0') {
@@ -63,6 +62,7 @@ PRIVATE BOOLEAN message_has_content ARGS1(
 	if (firstnonblank && firstnonblank != '>') {
 	    if (!in_headers) {
 		fclose(fp);
+		FREE(buffer);
 		return TRUE;
 	    }
 	}
@@ -239,12 +239,13 @@ PUBLIC char *LYNewsPost ARGS2(
 	StrAllocCat(cp, org);
 #ifndef VMS
     } else if ((fp = fopen("/etc/organization", "r")) != NULL) {
-	if (fgets(user_input, sizeof(user_input), fp) != NULL) {
-	    if ((org = strchr(user_input, '\n')) != NULL) {
+	char *buffer;
+	if ((buffer = LYSafeGets(NULL, fp)) != NULL) {
+	    if ((org = strchr(buffer, '\n')) != NULL) {
 		*org = '\0';
 	    }
 	    if (user_input[0] != '\0') {
-		StrAllocCat(cp, user_input);
+		StrAllocCat(cp, buffer);
 	    }
 	}
 	fclose(fp);
@@ -381,9 +382,10 @@ PUBLIC char *LYNewsPost ARGS2(
 	    _user_message(APPEND_SIG_FILE, LynxSigFile);
 	} else if (HTConfirm(msg) == YES) {
 	    if ((fd = LYAppendToTxtFile (my_tempfile)) != NULL) {
+		char *buffer = NULL;
 		fputs("-- \n", fd);
-		while (fgets(user_input, sizeof(user_input), fp) != NULL) {
-		    fputs(user_input, fd);
+		while ((buffer = LYSafeGets(buffer, fp)) != NULL) {
+		    fputs(buffer, fd);
 		}
 		fclose(fd);
 	    }
@@ -403,8 +405,9 @@ PUBLIC char *LYNewsPost ARGS2(
      */
     if (CJKfile[0] != '\0') {
 	if ((fd = fopen(my_tempfile, "r")) != NULL) {
-	    while (fgets(user_input, sizeof(user_input), fd) != NULL) {
-		TO_JIS((unsigned char *)user_input,
+	    char *buffer = NULL;
+	    while ((buffer = LYSafeGets(buffer, fd)) != NULL) {
+		TO_JIS((unsigned char *)buffer,
 		       (unsigned char *)CJKinput);
 		fputs(CJKinput, fc);
 	    }
diff --git a/src/LYOptions.c b/src/LYOptions.c
index b128dfb5..a99e6b0d 100644
--- a/src/LYOptions.c
+++ b/src/LYOptions.c
@@ -11,7 +11,6 @@
 #include <LYSignal.h>
 #include <LYClean.h>
 #include <LYCharSets.h>
-#include <LYCharUtils.h>
 #include <UCMap.h>
 #include <UCAux.h>
 #include <LYKeymap.h>
@@ -21,6 +20,7 @@
 #include <GridText.h>
 #include <LYGetFile.h>
 #include <LYReadCFG.h>
+#include <LYPrettySrc.h>
 
 #include <LYLeaks.h>
 
@@ -3911,6 +3911,7 @@ PUBLIC int postoptions ARGS1(
 
     /*
      *  Exit: working around the previous document.
+     *  Being out of mainloop()/getfile() cycle, do things manually.
      */
     CTRACE(tfp, "\nLYOptions.c/postoptions(): exiting...\n");
 
@@ -3935,6 +3936,7 @@ PUBLIC int postoptions ARGS1(
     if (!HTLoadAbsolute(&WWWDoc))
 	return(NOT_FOUND);
 
+    HTuncache_current_document(); /* will never use again */
 
     /*
      *  Return to previous doc, not to options menu!
@@ -3960,6 +3962,7 @@ PUBLIC int postoptions ARGS1(
     if (!HTLoadAbsolute(&WWWDoc))
        return(NOT_FOUND);
 
+    reloading = FALSE;  /* set manually */ 
     /*  force end-to-end reload from remote server if change LYUserAgent
      *  or language or pref_charset (marked by need_end_reload flag above),
      *  from old-style LYK_OPTIONS (mainloop):
@@ -3982,13 +3985,45 @@ PUBLIC int postoptions ARGS1(
 	need_reload = TRUE;
     }
 
-    if (need_reload == TRUE) {
-	/*  update HText cache */
-	HTuncache_current_document();
-	LYpush(newdoc, FALSE);
+    if (need_reload == FALSE) {
+	/*  no uncache, already loaded */
 	CTRACE(tfp, "LYOptions.c/postoptions(): now really exit.\n\n");
-	return(NULLFILE);
+	return(NORMAL);
     } else {
+	/*  update HText cache */
+
+	/*
+	 *  Check to see if should reload source, or load html
+	 *  (from LYK_RELOAD & LYK_OPTIONS)
+	 */
+	if (HTisDocumentSource()) {
+#ifndef USE_PSRC
+	    HTOutputFormat = WWW_SOURCE;
+#else
+	    if (LYpsrc)
+		psrc_view = TRUE;
+	    else
+		HTOutputFormat = WWW_SOURCE;
+#endif
+	}
+	if (lynx_mode == FORMS_LYNX_MODE) {
+	    /* Sorry! lynx_mode set according the last display_page() state,
+	     * it always in form mode since we came from form-based option menu
+	     * so the information from mainloop() apperently lost.
+	     * reset here until we learn how to do it properly.
+	     */
+	    lynx_mode = NORMAL_LYNX_MODE;
+	}
+#ifdef SOURCE_CACHE
+	if (reloading == FALSE) {
+	    /* one more attempt to be smart enough: */
+	    if (HTreparse_document()) {
+		CTRACE(tfp, "LYOptions.c/postoptions(): now really exit.\n\n");
+		return(NORMAL);
+	    }
+	}
+#endif
+	HEAD_request = HTLoadedDocumentIsHEAD();
 	/*  no uncache, already loaded */
 	CTRACE(tfp, "LYOptions.c/postoptions(): now really exit.\n\n");
 	return(NORMAL);
diff --git a/src/LYReadCFG.c b/src/LYReadCFG.c
index 8a18fb1d..afdfbd77 100644
--- a/src/LYReadCFG.c
+++ b/src/LYReadCFG.c
@@ -7,6 +7,7 @@
 #include <UCMap.h>
 
 #include <LYUtils.h>
+#include <GridText.h>
 #include <LYStrings.h>
 #include <LYStructs.h>
 #include <LYGlobalDefs.h>
@@ -17,7 +18,6 @@
 #include <LYGetFile.h>
 #include <LYCgi.h>
 #include <LYCurses.h>
-#include <LYSignal.h>
 #include <LYBookmark.h>
 #include <LYCookie.h>
 #include <LYReadCFG.h>
@@ -37,8 +37,8 @@ extern int HTNewsMaxChunk;  /* Max news articles before chunking (HTNews.c) */
 extern int HTNewsChunkSize; /* Number of news articles per chunk (HTNews.c) */
 #endif
 
-PUBLIC BOOLEAN have_read_cfg=FALSE;
-PUBLIC BOOLEAN LYUseNoviceLineTwo=TRUE;
+PUBLIC BOOLEAN have_read_cfg = FALSE;
+PUBLIC BOOLEAN LYUseNoviceLineTwo = TRUE;
 
 /*
  *  Translate a TRUE/FALSE field in a string buffer.
@@ -76,7 +76,6 @@ PRIVATE char *find_colon ARGS1(
     return NULL;
 }
 
-#ifdef LY_FIND_LEAKS
 /*
  *  Function for freeing the DOWNLOADER and UPLOADER menus list. - FM
  */
@@ -121,7 +120,6 @@ PRIVATE void free_item_list NOARGS
 
     return;
 }
-#endif /* LY_FIND_LEAKS */
 
 /*
  *  Process string buffer fields for DOWNLOADER or UPLOADER menus.
@@ -201,7 +199,6 @@ PRIVATE void add_item_to_list ARGS2(
 }
 
 
-#ifdef LY_FIND_LEAKS
 /*
  *  Function for freeing the PRINTER menus list. - FM
  */
@@ -221,7 +218,6 @@ PRIVATE void free_printer_item_list NOARGS
 
     return;
 }
-#endif /* LY_FIND_LEAKS */
 
 /*
  *  Process string buffer fields for PRINTER menus.
@@ -408,12 +404,9 @@ PRIVATE void parse_color ARGS1(
 {
     int color;
     char *fg, *bg;
-    char temp[501];
+    char *temp = 0;
 
-    if (strlen(buffer) < sizeof(temp))
-	strcpy(temp, buffer);
-    else
-	strcpy(temp, "Color config line too long");
+    StrAllocCopy(temp, buffer);	/* save a copy, for error messages */
 
     /*
      *	We are expecting a line of the form:
@@ -440,11 +433,10 @@ PRIVATE void parse_color ARGS1(
 	check_color(bg, default_bg)) < 0)
 	exit_with_color_syntax(temp);
 #endif
+    FREE(temp);
 }
 #endif /* USE_COLOR_TABLE */
 
-#define MAX_LINE_BUFFER_LEN	501
-
 typedef int (*ParseFunc) PARAMS((char *));
 
 typedef union {
@@ -620,11 +612,12 @@ static int dired_menu_fun ARGS1(
 static int jumpfile_fun ARGS1(
 	char *,		value)
 {
-    char buffer [MAX_LINE_BUFFER_LEN];
+    char *buffer = NULL;
 
-    sprintf (buffer, "JUMPFILE:%s", value);
+    HTSprintf0 (&buffer, "JUMPFILE:%s", value);
     if (!LYJumpInit(buffer))
 	CTRACE(tfp, "Failed to register %s\n", buffer);
+    free(buffer);
 
     return 0;
 }
@@ -868,12 +861,11 @@ static void html_src_bad_syntax ARGS2(
 	    char*, value,
 	    char*, option_name)
 {
-    char buf[100];
+    char *buf = 0;
 
-    strcpy(buf,"HTMLSRC_");
-    strcat(buf,option_name);
+    HTSprintf0(&buf,"HTMLSRC_%s", option_name);
     LYUpperCase(buf);
-    fprintf(stderr,"Bad syntax in TAGSPEC %s:%s\n",buf,value);
+    fprintf(stderr,"Bad syntax in TAGSPEC %s:%s\n", buf, value);
     exit_immediately(-1);
 }
 
@@ -1121,7 +1113,7 @@ static Config_Type Config_Table [] =
      PARSE_SET("no_referer_header", CONF_BOOL, &LYNoRefererHeader),
      PARSE_FUN("outgoing_mail_charset", CONF_FUN, outgoing_mail_charset_fun),
 #ifdef DISP_PARTIAL
-     PARSE_SET("partial", CONF_BOOL, &display_partial),
+     PARSE_SET("partial", CONF_BOOL, &display_partial_flag),
      PARSE_INT("partial_thres", CONF_INT, &partial_threshold),
 #endif
 #ifdef EXP_PERSISTENT_COOKIES
@@ -1206,26 +1198,66 @@ PUBLIC void free_lynx_cfg NOARGS
 	    if (q->str_value != 0) {
 		FREE(*(q->str_value));
 		FREE(q->str_value);
+		/* is it enough for reload_read_cfg() to clean up
+		 * the result of putenv()?  No for certain platforms.
+		 */
 	    }
 	    break;
 	default:
 	    break;
 	}
     }
+    free_item_list();
+    free_printer_item_list();
 }
 
+PRIVATE Config_Type *lookup_config ARGS1(
+	char *,		name)
+{
+    Config_Type *tbl = Config_Table;
+    char ch = TOUPPER(*name);
+
+    while (tbl->name != 0) {
+	char ch1 = tbl->name[0];
+
+	if ((ch == TOUPPER(ch1))
+	    && (0 == strcasecomp (name, tbl->name)))
+	    break;
+
+	tbl++;
+    }
+    return tbl;
+}
+
+#define NOPTS_ ( (sizeof Config_Table)/(sizeof Config_Table[0]) - 1 )
+typedef BOOL (optidx_set_t) [ NOPTS_ ];
+ /* if element is FALSE, then it's allowed in the current file*/
+
+#define optidx_set_AND(r,a,b) \
+    {\
+	unsigned i1;\
+	for (i1 = 0; i1 < NOPTS_; ++i1) \
+	    (r)[i1]= (a)[i1] || (b)[i1]; \
+    }
+
+
 /*
  * Process the configuration file (lynx.cfg).
+ *
+ * 'allowed' is a pointer to HTList of allowed options.  Since the included
+ * file can also include other files with a list of acceptable options, these
+ * lists are ANDed.
  */
-PUBLIC void read_cfg ARGS4(
+PRIVATE void do_read_cfg ARGS5(
 	char *, cfg_filename,
 	char *, parent_filename,
 	int,	nesting_level,
-	FILE *,	fp0)
+	FILE *,	fp0,
+	optidx_set_t*, allowed)
 {
     FILE *fp;
     char mypath[LY_MAXPATH];
-    char buffer[MAX_LINE_BUFFER_LEN];
+    char *buffer = 0;
 
     CTRACE(tfp, "Loading cfg file '%s'.\n", cfg_filename);
 
@@ -1262,11 +1294,10 @@ PUBLIC void read_cfg ARGS4(
     /*
      *	Process each line in the file.
      */
-    while (fgets(buffer, sizeof(buffer), fp) != 0) {
+    while ((buffer = LYSafeGets(buffer, fp)) != 0) {
 	char *name, *value;
 	char *cp;
 	Config_Type *tbl;
-	char ch;
 #ifdef PARSE_DEBUG
 	Config_Type *q;
 #else
@@ -1309,21 +1340,20 @@ PUBLIC void read_cfg ARGS4(
 		*cp = 0;
 	}
 
-	tbl = Config_Table;
-	ch = TOUPPER(*name);
-	while (tbl->name != 0) {
-	    char ch1 = tbl->name[0];
-
-	    if ((ch == TOUPPER(ch1))
-		&& (0 == strcasecomp (name, tbl->name)))
-		break;
-
-	    tbl++;
+	tbl = lookup_config(name);
+	if (tbl->name == 0) {
+	    /* lynx ignores unknown keywords */
+	    continue;
 	}
 
-	if (tbl->name == 0) {
-	    /* Apparently, lynx ignores unknown keywords */
-	    /* fprintf (stderr, "%s not found in config file */
+	if ( allowed && (*allowed)[ tbl-Config_Table ] ) {
+	    if (fp0 == NULL)
+		fprintf (stderr, "%s is not allowed in the %s\n",
+		    name,cfg_filename);
+	    /*FIXME: we can do something wiser if we are generating
+	    the html representation of lynx.cfg - say include this line
+	    in bold, or something...*/
+
 	    continue;
 	}
 
@@ -1374,24 +1404,29 @@ PUBLIC void read_cfg ARGS4(
 #ifdef VMS
 		Define_VMSLogical(name, value);
 #else
-		char tmpbuf[MAX_LINE_BUFFER_LEN];
-		sprintf (tmpbuf, "%s=%s", name, value);
-		if ((q->str_value = (char **)calloc(1, sizeof(char **))) != 0) {
-		    StrAllocCopy(*(q->str_value), tmpbuf);
-		    putenv (*(q->str_value));
-		} else {
-		    outofmem(__FILE__, "read_cfg");
-		}
+		if (q->str_value == 0)
+			q->str_value = calloc(1, sizeof(char *));
+		HTSprintf0 (q->str_value, "%s=%s", name, value);
+		putenv (*(q->str_value));
 #endif
 	    }
 	    break;
 
-	case CONF_INCLUDE:
+	case CONF_INCLUDE: {
 	    /* include another file */
+	    optidx_set_t cur_set,anded_set;
+	    optidx_set_t* resultant_set = NULL;
+	    char* p1, *p2, savechar;
+	    BOOL any_optname_found = FALSE;
+
+	    char *url = NULL;
+	    char *cp1 = NULL;
+
+	    if ((p1 = strchr(value,':')) != 0)
+		*p1++ ='\0';
+
 #ifndef NO_CONFIG_INFO
 	    if (fp0 != 0  &&  !LYRestricted) {
-		char *url = 0;
-		char *cp1 = NULL;
 		LYLocalFileToURL(&url, value);
 		StrAllocCopy(cp1, value);
 		if (strchr(value, '&') || strchr(value, '<')) {
@@ -1400,17 +1435,79 @@ PUBLIC void read_cfg ARGS4(
 
 		fprintf(fp0, "%s:<a href=\"%s\">%s</a>\n\n", name, url, cp1);
 		fprintf(fp0, "	  #&lt;begin  %s&gt;\n", cp1);
+	    }
+#endif
 
-		read_cfg (value, cfg_filename, nesting_level + 1, fp0);
+	    if (p1) {
+		while (*(p1 = LYSkipBlanks(p1)) != 0) {
+		    Config_Type *tbl2;
+
+		    p2 = LYSkipNonBlanks(p1);
+		    savechar = *p2;
+		    *p2 = 0;
+
+		    tbl2 = lookup_config(p1);
+		    if (tbl2->name == 0) {
+			if (fp0 == NULL)
+			    fprintf (stderr, "unknown option name %s in %s\n",
+				     p1, cfg_filename);
+		    } else {
+			unsigned i;
+			if (!any_optname_found) {
+			    any_optname_found = TRUE;
+			    for (i = 0; i < NOPTS_; ++i)
+				cur_set[i] = TRUE;
+			}
+			cur_set[tbl2 - Config_Table] = FALSE;
+		    }
+		    *p2 = savechar;
+		}
+	    }
+	    if (!allowed) {
+		if (!any_optname_found)
+		    resultant_set = NULL;
+		else
+		    resultant_set = &cur_set;
+	    } else {
+		if (!any_optname_found)
+		    resultant_set = allowed;
+		else {
+		    optidx_set_AND(anded_set, *allowed, cur_set);
+		    resultant_set = &anded_set;
+		}
+	    }
 
+#ifndef NO_CONFIG_INFO
+	    /*now list the opts that are allowed in included file. If all opts
+	    are allowed, then emit nothing, else emit an effective set of
+	    allowed options in <ul>. Option names will be and uppercased.
+	    FIXME: uppercasing option names can be considered redundant. */
+
+	    if (fp0 != 0  &&  !LYRestricted && resultant_set) {
+		char *buf = NULL;
+		unsigned i;
+
+		fprintf(fp0,"	  Options allowed in this file:\n");
+		for (i = 0; i < NOPTS_; ++i) {
+		    if ((*resultant_set)[i])
+			continue;
+		    StrAllocCopy(buf, Config_Table[i].name);
+		    LYUpperCase(buf);
+		    fprintf(fp0,"	  * %s\n", buf);
+		}
+		free(buf);
+	    }
+#endif
+	    do_read_cfg (value, cfg_filename, nesting_level + 1, fp0,resultant_set);
+
+#ifndef NO_CONFIG_INFO
+	    if (fp0 != 0  &&  !LYRestricted) {
 		fprintf(fp0, "	  #&lt;end of %s&gt;\n\n", cp1);
 		FREE(url);
 		FREE(cp1);
-	    } else
-#endif /* !NO_CONFIG_INFO */
-
-	    read_cfg (value, cfg_filename, nesting_level + 1, fp0);
-
+	    }
+#endif
+	    }
 	    break;
 
 	case CONF_ADD_ITEM:
@@ -1514,6 +1611,17 @@ PUBLIC void read_cfg ARGS4(
     }
 
 }
+/* this is a public interface to do_read_cfg */
+PUBLIC void read_cfg ARGS4(
+	char *, cfg_filename,
+	char *, parent_filename,
+	int,	nesting_level,
+	FILE *,	fp0)
+{
+    do_read_cfg(cfg_filename,parent_filename,nesting_level,fp0,
+	NULL);
+}
+
 
 /*
  *  Show rendered lynx.cfg data without comments, LYNXCFG:/ internal page.
@@ -1541,7 +1649,7 @@ PUBLIC int lynx_cfg_infopage ARGS1(
 	/*
 	 *  Some staff to reload read_cfg(),
 	 *  but also load options menu items and command-line options
-	 *  to made things consistent.	Not implemented yet. Dummy.
+	 *  to make things consistent.	Implemented in LYMain.c
 	 */
 	reload_read_cfg();
 
@@ -1572,6 +1680,7 @@ PUBLIC int lynx_cfg_infopage ARGS1(
 	if (!HTLoadAbsolute(&WWWDoc))
 	    return(NOT_FOUND);
 
+	HTuncache_current_document();  /* will never use again */
 
 	/*  now set up the flag and fall down to create a new LYNXCFG:/ page */
 	local_url = 0;	/* see below */
diff --git a/src/LYShowInfo.c b/src/LYShowInfo.c
index ea97a9e6..81369a1e 100644
--- a/src/LYShowInfo.c
+++ b/src/LYShowInfo.c
@@ -4,12 +4,10 @@
 #include <HTAlert.h>
 #include <HTTP.h>
 #include <LYCurses.h>
-#include <LYStrings.h>
 #include <LYUtils.h>
 #include <LYStructs.h>
 #include <LYGlobalDefs.h>
 #include <LYShowInfo.h>
-#include <LYSignal.h>
 #include <LYCharUtils.h>
 #include <GridText.h>
 #include <LYReadCFG.h>
diff --git a/src/LYStrings.c b/src/LYStrings.c
index 01556b95..357a8d65 100644
--- a/src/LYStrings.c
+++ b/src/LYStrings.c
@@ -637,8 +637,10 @@ PRIVATE char *expand_tiname (char *first, size_t len, char **result)
     name[len] = '\0';
     if ((code = lookup_tiname(name, strnames)) >= 0
      || (code = lookup_tiname(name, strfnames)) >= 0) {
-	strcpy(*result, cur_term->type.Strings[code]);
-	(*result) += strlen(*result);
+	if (cur_term->type.Strings[code] != 0) {
+	    strcpy(*result, cur_term->type.Strings[code]);
+	    (*result) += strlen(*result);
+	}
     }
     return first + len;
 }
@@ -889,7 +891,7 @@ PRIVATE int read_keymap_file NOARGS
 	{"unsetkey", unsetkey_cmd },
     };
 
-    char line[1024];
+    char *line = NULL;
     FILE *fp;
     char file[LY_MAXPATH];
     int ret;
@@ -903,7 +905,7 @@ PRIVATE int read_keymap_file NOARGS
 
     linenum = 0;
     ret = 0;
-    while ((fgets (line, sizeof (line), fp) != 0) && (ret == 0))
+    while ((line = LYSafeGets(line, fp)) != 0 && (ret == 0))
     {
 	char *s = LYSkipBlanks(line);
 
@@ -923,6 +925,7 @@ PRIVATE int read_keymap_file NOARGS
 	    }
 	}
     }
+    FREE(line);
 
     fclose (fp);
 
@@ -1364,7 +1367,12 @@ re_read:
 	case KEY_ENTER:		   /* enter/return	*/
 	   c = '\n';
 	   break;
-#endif /* KEY_END */
+#endif /* KEY_ENTER */
+#ifdef PADENTER			   /* PDCURSES */
+	case PADENTER:
+	   c = '\n';
+	   break;
+#endif /* PADENTER */
 #ifdef KEY_END
 	case KEY_END:		   /* end key		001 */
 	   c = END_KEY;
@@ -2936,3 +2944,32 @@ PUBLIC int UPPER8 ARGS2(int,ch1, int,ch2)
     return(-10);  /* mismatch, if we come to here */
 }
 #endif /* NOTUSED */
+
+/*
+ * Replaces 'fgets()' calls into a fixed-size buffer with reads into a buffer
+ * that is allocated.  When an EOF or error is found, the buffer is automatically
+ * freed.
+ */
+PUBLIC char *LYSafeGets ARGS2(
+	char *,	src,
+	FILE *,	fp)
+{
+    char buffer[BUFSIZ];
+    char *result = 0;
+
+    if (src != 0)
+	*src = 0;
+
+    while (fgets(buffer, sizeof(buffer)-1, fp) != 0) {
+	if (*buffer)
+	    result = StrAllocCat(src, buffer);
+	if (strchr(buffer, '\n') != 0)
+	    break;
+	if (feof(fp)
+	 || ferror(fp)) {
+	    FREE(src);
+	    break;
+	}
+    }
+    return result;
+}
diff --git a/src/LYStrings.h b/src/LYStrings.h
index 9161bb89..14092080 100644
--- a/src/LYStrings.h
+++ b/src/LYStrings.h
@@ -82,6 +82,8 @@ extern char * SNACat PARAMS((
 #define StrnAllocCopy(dest, src, n)  SNACopy (&(dest), src, n)
 #define StrnAllocCat(dest, src, n)   SNACat  (&(dest), src, n)
 
+extern char *LYSafeGets PARAMS((char * src, FILE * fp));
+
 /* values for LYgetch */
 #define UPARROW		256	/* 0x100 */
 #define DNARROW		257	/* 0x101 */
diff --git a/src/LYStyle.c b/src/LYStyle.c
index d74c14d3..ae172168 100644
--- a/src/LYStyle.c
+++ b/src/LYStyle.c
@@ -1,10 +1,9 @@
 /* character level styles for Lynx
  * (c) 1996 Rob Partington -- donated to the Lyncei (if they want it :-)
- * @Id: LYStyle.c 1.24 Tue, 13 Apr 1999 03:39:16 -0600 dickey @
+ * @Id: LYStyle.c 1.25 Fri, 23 Apr 1999 08:56:35 -0600 dickey @
  */
 #include <HTUtils.h>
 #include <HTML.h>
-#include <LYSignal.h>
 #include <LYGlobalDefs.h>
 
 #include <LYStructs.h>
@@ -399,7 +398,7 @@ PUBLIC void style_defaultStyleSheet NOARGS
 PUBLIC int style_readFromFile ARGS1(char*, file)
 {
     FILE *fh;
-    char buffer[1024];
+    char *buffer = NULL;
     int len;
 
     CTRACE(tfp, "CSS:Reading styles from file: %s\n", file ? file : "?!? empty ?!?");
@@ -416,16 +415,9 @@ PUBLIC int style_readFromFile ARGS1(char*, file)
     style_initialiseHashTable();
     style_deleteStyleList();
 
-    while (!feof(fh)
-    && fgets(buffer, sizeof(buffer)-1, fh) != NULL)
+    while ((buffer = LYSafeGets(buffer, fh)) != NULL)
     {
-	len = strlen(buffer);
-	if (len > 0) {
-	    if (buffer[len-1] == '\n' || buffer[len-1] == '\r')
-		buffer[len-1] = '\0'; /* hack */
-	    else
-		buffer[sizeof(buffer)-1] = '\0'; /* hack */
-	}
+	LYTrimTrailing(buffer);
 	LYTrimTail(buffer);
 	LYTrimHead(buffer);
 	if (buffer[0] != '#' && (len = strlen(buffer)) > 0)
diff --git a/src/LYTraversal.c b/src/LYTraversal.c
index ed7a1b58..fd528ecc 100644
--- a/src/LYTraversal.c
+++ b/src/LYTraversal.c
@@ -3,6 +3,7 @@
 #include <LYUtils.h>
 #include <LYClean.h>
 #include <LYCurses.h>
+#include <LYStrings.h>
 #include <LYTraversal.h>
 
 #include <LYexit.h>
@@ -32,7 +33,9 @@ PRIVATE void exit_with_perror ARGS1(CONST char *,msg)
 PUBLIC BOOLEAN lookup ARGS1(char *,target)
 {
     FILE *ifp;
-    char buffer[200], line[200];
+    char *buffer = NULL;
+    char *line = NULL;
+    int result = FALSE;
 
     if ((ifp = fopen(TRAVERSE_FILE,"r")) == NULL) {
 	if ((ifp = LYNewTxtFile(TRAVERSE_FILE)) == NULL) {
@@ -43,17 +46,19 @@ PUBLIC BOOLEAN lookup ARGS1(char *,target)
 	}
     }
 
-    sprintf(line,"%s\n",target);
+    HTSprintf0(&line, "%s\n", target);
 
-    while(fgets(buffer, 200, ifp) != NULL) {
+    while((buffer = LYSafeGets(buffer, ifp)) != NULL) {
 	if (STREQ(line,buffer)) {
-	    fclose(ifp);
-	    return(TRUE);
+	    result = TRUE;
+	    break;
 	}
     } /* end while */
+    FREE(line);
+    FREE(buffer);
 
     fclose(ifp);
-    return(FALSE);
+    return(result);
 }
 
 PUBLIC void add_to_table ARGS1(char *,target)
@@ -134,33 +139,36 @@ PUBLIC void add_to_reject_list ARGS1(char *,target)
 PUBLIC BOOLEAN lookup_reject ARGS1(char *,target)
 {
     FILE *ifp;
-    char buffer[200], line[200], ch;
+    char *buffer = NULL;
+    char *line = NULL;
+    char ch;
     int  frag;
+    int result = FALSE;
 
     if ((ifp = fopen(TRAVERSE_REJECT_FILE,"r")) == NULL){
 	return(FALSE);
     }
 
-    sprintf(line,"%s\n",target);
+    HTSprintf0(&line, "%s\n", target);
 
-    while (fgets(buffer, 200, ifp) != NULL) {
+    while ((buffer = LYSafeGets(buffer, ifp)) != NULL && !result) {
 	frag = strlen(buffer) - 1; /* real length, minus trailing null */
 	ch   = buffer[frag - 1];   /* last character in buffer */
 	if (frag > 0) { 	   /* if not an empty line */
 	    if (ch == '*') {
 		if (frag == 1 || ((strncmp(line,buffer,frag - 1)) == 0)) {
-		   fclose(ifp);
-		   return(TRUE);
+		    result = TRUE;
 		}
 	    } else { /* last character = "*" test */
 		if (STREQ(line,buffer)) {
-		    fclose(ifp);
-		    return(TRUE);
+		    result = TRUE;
 		}
 	    } /* last character = "*" test */
 	} /* frag >= 0 */
     } /* end while */
+    FREE(buffer);
+    FREE(line);
 
     fclose(ifp);
-    return(FALSE);
+    return(result);
 }
diff --git a/src/LYUpload.c b/src/LYUpload.c
index 3ccb4728..3615f613 100644
--- a/src/LYUpload.c
+++ b/src/LYUpload.c
@@ -21,7 +21,6 @@
 #include <LYCurses.h>
 #include <LYUtils.h>
 #include <LYGlobalDefs.h>
-#include <LYSignal.h>
 #include <LYStrings.h>
 #include <LYClean.h>
 #include <LYGetFile.h>
diff --git a/src/LYUtils.c b/src/LYUtils.c
index 301cb1bc..debd52fc 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -2706,6 +2706,12 @@ PUBLIC int is_url ARGS1(
 	 */
 	return(LYNXCFG_URL_TYPE);
 
+    } else if (compare_type(cp, "LYNXMESSAGES:", 13)) {
+	/*
+	 *  Special Internal Lynx type.
+	 */
+	return(LYNXMESSAGES_URL_TYPE);
+
     } else if (compare_type(cp, "LYNXCOMPILEOPTS:", 16)) {
 	/*
 	 *  Special Internal Lynx type.
diff --git a/src/LYUtils.h b/src/LYUtils.h
index c5057307..f2362422 100644
--- a/src/LYUtils.h
+++ b/src/LYUtils.h
@@ -110,7 +110,6 @@ extern void LYTrimPathSep PARAMS((char *path));
 extern void LYTrimRelFromAbsPath PARAMS((char *path));
 extern void LYsetXDisplay PARAMS((char *new_display));
 extern void change_sug_filename PARAMS((char *fname));
-extern void checkmail NOPARAMS;
 extern void convert_to_spaces PARAMS((char *string, BOOL condense));
 extern void free_and_clear PARAMS((char **obj));
 extern void highlight PARAMS((int flag, int cur, char *target));
@@ -144,52 +143,56 @@ extern BOOLEAN mustshow;
  *
  *  Universal document id types.
  */
-#define HTTP_URL_TYPE		 1
-#define FILE_URL_TYPE		 2
-#define FTP_URL_TYPE		 3
-#define WAIS_URL_TYPE		 4
-#define NEWS_URL_TYPE		 5
-#define NNTP_URL_TYPE		 6
-#define TELNET_URL_TYPE		 7
-#define TN3270_URL_TYPE		 8
-#define RLOGIN_URL_TYPE		 9
-#define GOPHER_URL_TYPE		10
-#define HTML_GOPHER_URL_TYPE	11
-#define TELNET_GOPHER_URL_TYPE	12
-#define INDEX_GOPHER_URL_TYPE	13
-#define MAILTO_URL_TYPE		14
-#define FINGER_URL_TYPE		15
-#define CSO_URL_TYPE		16
-#define HTTPS_URL_TYPE		17
-#define SNEWS_URL_TYPE		18
-#define PROSPERO_URL_TYPE	19
-#define AFS_URL_TYPE		20
-
-#define DATA_URL_TYPE		21
-
-#define LYNXEXEC_URL_TYPE	22
-#define LYNXPROG_URL_TYPE	23
-#define LYNXCGI_URL_TYPE	24
-
-#define NEWSPOST_URL_TYPE	25
-#define NEWSREPLY_URL_TYPE	26
-#define SNEWSPOST_URL_TYPE	27
-#define SNEWSREPLY_URL_TYPE	28
-
-#define LYNXPRINT_URL_TYPE	29
-#define LYNXHIST_URL_TYPE	30
-#define LYNXDOWNLOAD_URL_TYPE	31
-#define LYNXKEYMAP_URL_TYPE	32
-#define LYNXIMGMAP_URL_TYPE	33
-#define LYNXCOOKIE_URL_TYPE	34
-#define LYNXDIRED_URL_TYPE	35
-#define LYNXOPTIONS_URL_TYPE	36
-#define LYNXCFG_URL_TYPE	37
-#define LYNXCOMPILE_OPTS_URL_TYPE 38
-
-#define PROXY_URL_TYPE		39
-
-#define UNKNOWN_URL_TYPE	40
+typedef enum {
+    UNKNOWN_URL_TYPE = 0,
+
+    HTTP_URL_TYPE,
+    FILE_URL_TYPE,
+    FTP_URL_TYPE,
+    WAIS_URL_TYPE,
+    NEWS_URL_TYPE,
+    NNTP_URL_TYPE,
+    TELNET_URL_TYPE,
+    TN3270_URL_TYPE,
+    RLOGIN_URL_TYPE,
+    GOPHER_URL_TYPE,
+    HTML_GOPHER_URL_TYPE,
+    TELNET_GOPHER_URL_TYPE,
+    INDEX_GOPHER_URL_TYPE,
+    MAILTO_URL_TYPE,
+    FINGER_URL_TYPE,
+    CSO_URL_TYPE,
+    HTTPS_URL_TYPE,
+    SNEWS_URL_TYPE,
+    PROSPERO_URL_TYPE,
+    AFS_URL_TYPE,
+
+    DATA_URL_TYPE,
+
+    LYNXEXEC_URL_TYPE,
+    LYNXPROG_URL_TYPE,
+    LYNXCGI_URL_TYPE,
+
+    NEWSPOST_URL_TYPE,
+    NEWSREPLY_URL_TYPE,
+    SNEWSPOST_URL_TYPE,
+    SNEWSREPLY_URL_TYPE,
+
+    LYNXPRINT_URL_TYPE,
+    LYNXHIST_URL_TYPE,
+    LYNXDOWNLOAD_URL_TYPE,
+    LYNXKEYMAP_URL_TYPE,
+    LYNXIMGMAP_URL_TYPE,
+    LYNXCOOKIE_URL_TYPE,
+    LYNXDIRED_URL_TYPE,
+    LYNXOPTIONS_URL_TYPE,
+    LYNXCFG_URL_TYPE,
+    LYNXCOMPILE_OPTS_URL_TYPE,
+    LYNXMESSAGES_URL_TYPE,
+
+    PROXY_URL_TYPE,
+
+} UrlTypes;
 
 /*
  *  For change_sug_filename().
diff --git a/src/LYrcFile.c b/src/LYrcFile.c
index aea6fa9c..531a03c2 100644
--- a/src/LYrcFile.c
+++ b/src/LYrcFile.c
@@ -31,7 +31,7 @@ PRIVATE char *SkipEquals ARGS1(char *, src)
 
 PUBLIC void read_rc NOPARAMS
 {
-    char line_buffer[LINESIZE];
+    char *line_buffer = NULL;
     char rcfile[LY_MAXPATH];
     FILE *fp;
     char *cp;
@@ -56,13 +56,7 @@ PUBLIC void read_rc NOPARAMS
     /*
      *  Process the entries.
      */
-    while (fgets(line_buffer, sizeof(line_buffer)-1, fp) != NULL) {
-	/*
-	 *  Remove the /n from the end of the line.
-	 */
-	if (line_buffer[0] && line_buffer[strlen(line_buffer)-1] == '\n')
-	    line_buffer[strlen(line_buffer)-1] = '\0';
-
+    while ((line_buffer = LYSafeGets(line_buffer, fp)) != NULL) {
 	/*
 	 *  Remove any trailing white space.
 	 */
@@ -473,6 +467,17 @@ PUBLIC void read_rc NOPARAMS
 		user_mode = NOVICE_MODE;
 	    }
 
+#ifdef DISP_PARTIAL
+	/*
+	 *  Partial display logic--set the threshold # of lines before
+	 *  Lynx redraws the screen
+	 */
+	} else if (FIND_KEYWORD(cp, "partial_thres")) {
+	    cp = SkipEquals(cp);
+	    if (atoi(cp) != 0)
+		partial_threshold = atoi(cp);
+#endif /* DISP_PARTIAL */
+
 #ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
 	/*
 	 *  Local execution mode - all links.
@@ -485,17 +490,6 @@ PUBLIC void read_rc NOPARAMS
 	     else
 		local_exec = FALSE;
 
-#ifdef DISP_PARTIAL
-	/*
-	 *  Partial display logic--set the threshold # of lines before
-	 *  Lynx redraws the screen
-	 */
-	} else if (FIND_KEYWORD(cp, "partial_thres")) {
-	    cp = SkipEquals(cp);
-	    if (atoi(cp) != 0)
-		partial_threshold = atoi(cp);
-#endif /* DISP_PARTIAL */
-
 	/*
 	 *  Local execution mode - only links in local files.
 	 */
@@ -521,6 +515,29 @@ PUBLIC void read_rc NOPARAMS
     fclose(fp);
 } /* big end */
 
+/*
+ * Write a set of comments.  Doing it this way avoids preprocessor problems
+ * with the leading '#', makes it simpler to use gettext.
+ */
+PRIVATE void write_list ARGS2(
+    	FILE *,		fp,
+	char *,		list)
+{
+    int first = TRUE;
+    while (*list != 0) {
+	int ch = *list++;
+	if (ch == '\n') {
+	    first = TRUE;
+	} else {
+	    if (first) {
+		fputs("# ", fp);
+		first = FALSE;
+	    }
+	}
+	fputc(ch, fp);
+    }
+}
+
 PUBLIC int save_rc NOPARAMS
 {
     char rcfile[LY_MAXPATH];
@@ -543,48 +560,55 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Header.
      */
-    fprintf(fp, gettext("# Lynx User Defaults File\n#\n\
-# This file contains options saved from the Lynx Options Screen (normally\n\
-# with the '>' key).  There is normally no need to edit this file manually,\n\
-# since the defaults here can be controlled from the Options Screen, and the\n\
-# next time options are saved from the Options Screen this file will be\n\
-# completely rewritten.  You have been warned...\n\
-# If you are looking for the general configuration file - it is normally\n\
-# called lynx.cfg, and it has different content and a different format.\n\
-# It is not this file.\n\n"));
+    write_list(fp, gettext("\
+Lynx User Defaults File\n\
+\n\
+This file contains options saved from the Lynx Options Screen (normally\n\
+with the '>' key).  There is normally no need to edit this file manually,\n\
+since the defaults here can be controlled from the Options Screen, and the\n\
+next time options are saved from the Options Screen this file will be\n\
+completely rewritten.  You have been warned...\n\
+If you are looking for the general configuration file - it is normally\n\
+called lynx.cfg, and it has different content and a different format.\n\
+It is not this file.\n\
+"));
+    fprintf(fp, "\n");
 
     /*
      *  File editor
      */
-    fprintf(fp, gettext("\
-# file_editor specifies the editor to be invoked when editing local files\n\
-# or sending mail.  If no editor is specified, then file editing is disabled\n\
-# unless it is activated from the command line, and the built-in line editor\n\
-# will be used for sending mail.\n"));
+    write_list(fp, gettext("\
+file_editor specifies the editor to be invoked when editing local files\n\
+or sending mail.  If no editor is specified, then file editing is disabled\n\
+unless it is activated from the command line, and the built-in line editor\n\
+will be used for sending mail.\n\
+"));
     fprintf(fp, "file_editor=%s\n\n", (editor ? editor : ""));
 
     /*
      *  Default bookmark file.
      */
-    fprintf(fp, gettext("\
-# bookmark_file specifies the name and location of the default bookmark\n\
-# file into which the user can paste links for easy access at a later\n\
-# date.\n"));
+    write_list(fp, gettext("\
+bookmark_file specifies the name and location of the default bookmark\n\
+file into which the user can paste links for easy access at a later\n\
+date.\n\
+"));
     fprintf(fp, "bookmark_file=%s\n\n", (bookmark_page ? bookmark_page : ""));
 
     /*
      *  Multiple (sub)bookmark support settings.
      */
-    fprintf(fp, gettext("\
-# If sub_bookmarks is not turned \"off\", and multiple bookmarks have\n\
-# been defined (see below), then all bookmark operations will first\n\
-# prompt the user to select an active sub-bookmark file.  If the default\n\
-# Lynx bookmark_file is defined (see above), it will be used as the\n\
-# default selection.  When this option is set to \"advanced\", and the\n\
-# user mode is advanced, the 'v'iew bookmark command will invoke a\n\
-# statusline prompt instead of the menu seen in novice and intermediate\n\
-# user modes.  When this option is set to \"standard\", the menu will be\n\
-# presented regardless of user mode.\n"));
+    write_list(fp, gettext("\
+If sub_bookmarks is not turned \"off\", and multiple bookmarks have\n\
+been defined (see below), then all bookmark operations will first\n\
+prompt the user to select an active sub-bookmark file.  If the default\n\
+Lynx bookmark_file is defined (see above), it will be used as the\n\
+default selection.  When this option is set to \"advanced\", and the\n\
+user mode is advanced, the 'v'iew bookmark command will invoke a\n\
+statusline prompt instead of the menu seen in novice and intermediate\n\
+user modes.  When this option is set to \"standard\", the menu will be\n\
+presented regardless of user mode.\n\
+"));
     fprintf(fp, "sub_bookmarks=%s\n\n", (LYMultiBookmarks ?
 					   (LYMBMAdvanced ?
 					       "advanced" : "standard")
@@ -593,11 +617,12 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Multiple (sub)bookmark definitions and descriptions.
      */
-    fprintf(fp, gettext("\
-# The following allow you to define sub-bookmark files and descriptions.\n\
-# The format is multi_bookmark<capital_letter>=<filename>,<description>\n\
-# Up to 26 bookmark files (for the English capital letters) are allowed.\n\
-# We start with \"multi_bookmarkB\" since 'A' is the default (see above).\n"));
+    write_list(fp, gettext("\
+The following allow you to define sub-bookmark files and descriptions.\n\
+The format is multi_bookmark<capital_letter>=<filename>,<description>\n\
+Up to 26 bookmark files (for the English capital letters) are allowed.\n\
+We start with \"multi_bookmarkB\" since 'A' is the default (see above).\n\
+"));
     for (MBM_c = 1; MBM_c <= MBM_V_MAXFILES; MBM_c++)
        fprintf(fp, "multi_bookmark%c=%s%s%s\n",
 		   (MBM_c + 'A'),
@@ -612,13 +637,14 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  FTP/file sorting method.
      */
-    fprintf(fp, gettext("\
-# The file_sorting_method specifies which value to sort on when viewing\n\
-# file lists such as FTP directories.  The options are:\n\
-#    BY_FILENAME -- sorts on the name of the file\n\
-#    BY_TYPE     -- sorts on the type of the file\n\
-#    BY_SIZE     -- sorts on the size of the file\n\
-#    BY_DATE     -- sorts on the date of the file\n"));
+    write_list(fp, gettext("\
+The file_sorting_method specifies which value to sort on when viewing\n\
+file lists such as FTP directories.  The options are:\n\
+   BY_FILENAME -- sorts on the name of the file\n\
+   BY_TYPE     -- sorts on the type of the file\n\
+   BY_SIZE     -- sorts on the size of the file\n\
+   BY_DATE     -- sorts on the date of the file\n\
+"));
     fprintf(fp, "file_sorting_method=%s\n\n",
 		(HTfileSortMethod == FILE_BY_NAME ? "BY_FILENAME"
 						  :
@@ -630,36 +656,39 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Personal mail address.
      */
-    fprintf(fp, gettext("\
-# personal_mail_address specifies your personal mail address.  The\n\
-# address will be sent during HTTP file transfers for authorization and\n\
-# logging purposes, and for mailed comments.\n\
-# If you do not want this information given out, set the NO_FROM_HEADER\n\
-# to TRUE in lynx.cfg, or use the -nofrom command line switch.  You also\n\
-# could leave this field blank, but then you won't have it included in\n\
-# your mailed comments.\n"));
+    write_list(fp, gettext("\
+personal_mail_address specifies your personal mail address.  The\n\
+address will be sent during HTTP file transfers for authorization and\n\
+logging purposes, and for mailed comments.\n\
+If you do not want this information given out, set the NO_FROM_HEADER\n\
+to TRUE in lynx.cfg, or use the -nofrom command line switch.  You also\n\
+could leave this field blank, but then you won't have it included in\n\
+your mailed comments.\n\
+"));
     fprintf(fp, "personal_mail_address=%s\n\n",
 		(personal_mail_address ? personal_mail_address : ""));
 
     /*
      *  Searching type.
      */
-    fprintf(fp, gettext("\
-# If case_sensitive_searching is \"on\" then when the user invokes a search\n\
-# using the 's' or '/' keys, the search performed will be case sensitive\n\
-# instead of case INsensitive.  The default is usually \"off\".\n"));
+    write_list(fp, gettext("\
+If case_sensitive_searching is \"on\" then when the user invokes a search\n\
+using the 's' or '/' keys, the search performed will be case sensitive\n\
+instead of case INsensitive.  The default is usually \"off\".\n\
+"));
     fprintf(fp, "case_sensitive_searching=%s\n\n",
 		(case_sensitive ? "on" : "off"));
 
     /*
      *  Character set.
      */
-    fprintf(fp, gettext("\
-# The character_set definition controls the representation of 8 bit\n\
-# characters for your terminal.  If 8 bit characters do not show up\n\
-# correctly on your screen you may try changing to a different 8 bit\n\
-# set or using the 7 bit character approximations.\n\
-# Current valid characters sets are:\n"));
+    write_list(fp, gettext("\
+The character_set definition controls the representation of 8 bit\n\
+characters for your terminal.  If 8 bit characters do not show up\n\
+correctly on your screen you may try changing to a different 8 bit\n\
+set or using the 7 bit character approximations.\n\
+Current valid characters sets are:\n\
+"));
     for (i = 0; LYchar_set_names[i]; i++)
 	fprintf(fp, "#    %s\n", LYchar_set_names[i]);
     fprintf(fp, "character_set=%s\n\n", LYchar_set_names[current_char_set]);
@@ -668,30 +697,32 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Preferred language.
      */
-    fprintf(fp, gettext("\
-# preferred_language specifies the language in MIME notation (e.g., en,\n\
-# fr, may be a comma-separated list in decreasing preference)\n\
-# which Lynx will indicate you prefer in requests to http servers.\n\
-# If a file in that language is available, the server will send it.\n\
-# Otherwise, the server will send the file in it's default language.\n"));
+    write_list(fp, gettext("\
+preferred_language specifies the language in MIME notation (e.g., en,\n\
+fr, may be a comma-separated list in decreasing preference)\n\
+which Lynx will indicate you prefer in requests to http servers.\n\
+If a file in that language is available, the server will send it.\n\
+Otherwise, the server will send the file in it's default language.\n\
+"));
     fprintf(fp, "preferred_language=%s\n\n", (language ? language : ""));
 
     /*
      *  Preferred charset.
      */
-    fprintf(fp, gettext("\
-# preferred_charset specifies the character set in MIME notation (e.g.,\n\
-# ISO-8859-2, ISO-8859-5) which Lynx will indicate you prefer in requests\n\
-# to http servers using an Accept-Charset header.  The value should NOT\n\
-# include ISO-8859-1 or US-ASCII, since those values are always assumed\n\
-# by default.  May be a comma-separated list.\n\
-# If a file in that character set is available, the server will send it.\n\
-# If no Accept-Charset header is present, the default is that any\n\
-# character set is acceptable.  If an Accept-Charset header is present,\n\
-# and if the server cannot send a response which is acceptable\n\
-# according to the Accept-Charset header, then the server SHOULD send\n\
-# an error response, though the sending of an unacceptable response\n\
-# is also allowed.\n"));
+    write_list(fp, gettext("\
+preferred_charset specifies the character set in MIME notation (e.g.,\n\
+ISO-8859-2, ISO-8859-5) which Lynx will indicate you prefer in requests\n\
+to http servers using an Accept-Charset header.  The value should NOT\n\
+include ISO-8859-1 or US-ASCII, since those values are always assumed\n\
+by default.  May be a comma-separated list.\n\
+If a file in that character set is available, the server will send it.\n\
+If no Accept-Charset header is present, the default is that any\n\
+character set is acceptable.  If an Accept-Charset header is present,\n\
+and if the server cannot send a response which is acceptable\n\
+according to the Accept-Charset header, then the server SHOULD send\n\
+an error response, though the sending of an unacceptable response\n\
+is also allowed.\n\
+"));
     fprintf(fp, "preferred_charset=%s\n\n",
 		(pref_charset ? pref_charset : ""));
 
@@ -699,22 +730,23 @@ PUBLIC int save_rc NOPARAMS
      *  Show color.
      */
     if (LYChosenShowColor != SHOW_COLOR_UNKNOWN) {
-	fprintf(fp, gettext("\
-# show_color specifies how to set the color mode at startup.  A value of\n\
-# \"never\" will force color mode off (treat the terminal as monochrome)\n\
-# at startup even if the terminal appears to be color capable.  A value of\n\
-# \"always\" will force color mode on even if the terminal appears to be\n\
-# monochrome, if this is supported by the library used to build lynx.\n\
-# A value of \"default\" will yield the behavior of assuming\n\
-# a monochrome terminal unless color capability is inferred at startup\n\
-# based on the terminal type, or the -color command line switch is used, or\n\
-# the COLORTERM environment variable is set.  The default behavior always is\n\
-# used in anonymous accounts or if the \"option_save\" restriction is set.\n\
-# The effect of the saved value can be overridden via\n\
-# the -color and -nocolor command line switches.\n\
-# The mode set at startup can be changed via the \"show color\" option in\n\
-# the 'o'ptions menu.  If the option settings are saved, the \"on\" and\n\
-# \"off\" \"show color\" settings will be treated as \"default\".\n"));
+	write_list(fp, gettext("\
+show_color specifies how to set the color mode at startup.  A value of\n\
+\"never\" will force color mode off (treat the terminal as monochrome)\n\
+at startup even if the terminal appears to be color capable.  A value of\n\
+\"always\" will force color mode on even if the terminal appears to be\n\
+monochrome, if this is supported by the library used to build lynx.\n\
+A value of \"default\" will yield the behavior of assuming\n\
+a monochrome terminal unless color capability is inferred at startup\n\
+based on the terminal type, or the -color command line switch is used, or\n\
+the COLORTERM environment variable is set.  The default behavior always is\n\
+used in anonymous accounts or if the \"option_save\" restriction is set.\n\
+The effect of the saved value can be overridden via\n\
+the -color and -nocolor command line switches.\n\
+The mode set at startup can be changed via the \"show color\" option in\n\
+the 'o'ptions menu.  If the option settings are saved, the \"on\" and\n\
+\"off\" \"show color\" settings will be treated as \"default\".\n\
+"));
      fprintf(fp, "show_color=%s\n\n",
 	     ((LYChosenShowColor == SHOW_COLOR_NEVER  ? "never"  :
 	       (LYChosenShowColor == SHOW_COLOR_ALWAYS ? "always" :
@@ -724,90 +756,99 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  VI keys.
      */
-    fprintf(fp, gettext("\
-# If vi_keys is set to \"on\", then the normal VI movement keys:\n\
-#   j = down    k = up\n\
-#   h = left    l = right\n\
-# will be enabled.  These keys are only lower case.\n\
-# Capital 'H', 'J' and 'K will still activate help, jump shortcuts,\n\
-# and the keymap display, respectively.\n"));
+    write_list(fp, gettext("\
+If vi_keys is set to \"on\", then the normal VI movement keys:\n\
+  j = down    k = up\n\
+  h = left    l = right\n\
+will be enabled.  These keys are only lower case.\n\
+Capital 'H', 'J' and 'K will still activate help, jump shortcuts,\n\
+and the keymap display, respectively.\n\
+"));
      fprintf(fp, "vi_keys=%s\n\n", (vi_keys ? "on" : "off"));
 
     /*
      *  EMACS keys.
      */
-    fprintf(fp, gettext("\
-# If emacs_keys is to \"on\" then the normal EMACS movement keys:\n\
-#   ^N = down    ^P = up\n\
-#   ^B = left    ^F = right\n\
-# will be enabled.\n"));
+    write_list(fp, gettext("\
+If emacs_keys is to \"on\" then the normal EMACS movement keys:\n\
+  ^N = down    ^P = up\n\
+  ^B = left    ^F = right\n\
+will be enabled.\n\
+"));
     fprintf(fp, "emacs_keys=%s\n\n", (emacs_keys ? "on" : "off"));
 
     /*
      *  Show dot files.
      */
-    fprintf(fp, gettext("\
-# show_dotfiles specifies that the directory listing should include\n\
-# \"hidden\" (dot) files/directories.  If set \"on\", this will be\n\
-# honored only if enabled via userdefs.h and/or lynx.cfg, and not\n\
-# restricted via a command line switch.  If display of hidden files\n\
-# is disabled, creation of such files via Lynx also is disabled.\n"));
+    write_list(fp, gettext("\
+show_dotfiles specifies that the directory listing should include\n\
+\"hidden\" (dot) files/directories.  If set \"on\", this will be\n\
+honored only if enabled via userdefs.h and/or lynx.cfg, and not\n\
+restricted via a command line switch.  If display of hidden files\n\
+is disabled, creation of such files via Lynx also is disabled.\n\
+"));
     fprintf(fp, "show_dotfiles=%s\n\n", (show_dotfiles ? "on" : "off"));
 
     /*
      *  Select popups.
      */
-    fprintf(fp, gettext("\
-# select_popups specifies whether the OPTIONs in a SELECT block which\n\
-# lacks a MULTIPLE attribute are presented as a vertical list of radio\n\
-# buttons or via a popup menu.  Note that if the MULTIPLE attribute is\n\
-# present in the SELECT start tag, Lynx always will create a vertical list\n\
-# of checkboxes for the OPTIONs.  A value of \"on\" will set popup menus\n\
-# as the default while a value of \"off\" will set use of radio boxes.\n\
-# The default can be overridden via the -popup command line toggle.\n"));
+    write_list(fp, gettext("\
+select_popups specifies whether the OPTIONs in a SELECT block which\n\
+lacks a MULTIPLE attribute are presented as a vertical list of radio\n\
+buttons or via a popup menu.  Note that if the MULTIPLE attribute is\n\
+present in the SELECT start tag, Lynx always will create a vertical list\n\
+of checkboxes for the OPTIONs.  A value of \"on\" will set popup menus\n\
+as the default while a value of \"off\" will set use of radio boxes.\n\
+The default can be overridden via the -popup command line toggle.\n\
+"));
     fprintf(fp, "select_popups=%s\n\n", (LYSelectPopups ? "on" : "off"));
 
     /*
      *  Show cursor.
      */
-    fprintf(fp, gettext("\
-# show_cursor specifies whether to 'hide' the cursor to the right (and\n\
-# bottom, if possible) of the screen, or to place it to the left of the\n\
-# current link in documents, or current option in select popup windows.\n\
-# Positioning the cursor to the left of the current link or option is\n\
-# helpful for speech or braille interfaces, and when the terminal is\n\
-# one which does not distinguish the current link based on highlighting\n\
-# or color.  A value of \"on\" will set positioning to the left as the\n\
-# default while a value of \"off\" will set 'hiding' of the cursor.\n\
-# The default can be overridden via the -show_cursor command line toggle.\n"));
+    write_list(fp, gettext("\
+show_cursor specifies whether to 'hide' the cursor to the right (and\n\
+bottom, if possible) of the screen, or to place it to the left of the\n\
+current link in documents, or current option in select popup windows.\n\
+Positioning the cursor to the left of the current link or option is\n\
+helpful for speech or braille interfaces, and when the terminal is\n\
+one which does not distinguish the current link based on highlighting\n\
+or color.  A value of \"on\" will set positioning to the left as the\n\
+default while a value of \"off\" will set 'hiding' of the cursor.\n\
+The default can be overridden via the -show_cursor command line toggle.\n\
+"));
     fprintf(fp, "show_cursor=%s\n\n", (LYShowCursor ? "on" : "off"));
 
     /*
      *  Keypad mode.
      */
-    fprintf(fp, gettext("\
-# If keypad_mode is set to \"NUMBERS_AS_ARROWS\", then the numbers on\n\
-# your keypad when the numlock is on will act as arrow keys:\n\
-#             8 = Up Arrow\n\
-#   4 = Left Arrow    6 = Right Arrow\n\
-#             2 = Down Arrow\n\
-# and the corresponding keyboard numbers will act as arrow keys,\n\
-# regardless of whether numlock is on.\n"));
-    fprintf(fp, gettext("\
-# If keypad_mode is set to \"LINKS_ARE_NUMBERED\", then numbers will\n\
-# appear next to each link and numbers are used to select links.\n"));
-    fprintf(fp, gettext("\
-# If keypad_mode is set to \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\", then\n\
-# numbers will appear next to each link and visible form input field.\n\
-# Numbers are used to select links, or to move the \"current link\" to a\n\
-# form input field or button.  In addition, options in popup menus are\n\
-# indexed so that the user may type an option number to select an option in\n\
-# a popup menu, even if the option isn't visible on the screen.  Reference\n\
-# lists and output from the list command also enumerate form inputs.\n"));
-    fprintf(fp, gettext("\
-# NOTE: Some fixed format documents may look disfigured when\n\
-# \"LINKS_ARE_NUMBERED\" or \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\" are\n\
-# enabled.\n"));
+    write_list(fp, gettext("\
+If keypad_mode is set to \"NUMBERS_AS_ARROWS\", then the numbers on\n\
+your keypad when the numlock is on will act as arrow keys:\n\
+            8 = Up Arrow\n\
+  4 = Left Arrow    6 = Right Arrow\n\
+            2 = Down Arrow\n\
+and the corresponding keyboard numbers will act as arrow keys,\n\
+regardless of whether numlock is on.\n\
+"));
+    write_list(fp, gettext("\
+If keypad_mode is set to \"LINKS_ARE_NUMBERED\", then numbers will\n\
+appear next to each link and numbers are used to select links.\n\
+"));
+    write_list(fp, gettext("\
+If keypad_mode is set to \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\", then\n\
+numbers will appear next to each link and visible form input field.\n\
+Numbers are used to select links, or to move the \"current link\" to a\n\
+form input field or button.  In addition, options in popup menus are\n\
+indexed so that the user may type an option number to select an option in\n\
+a popup menu, even if the option isn't visible on the screen.  Reference\n\
+lists and output from the list command also enumerate form inputs.\n\
+"));
+    write_list(fp, gettext("\
+NOTE: Some fixed format documents may look disfigured when\n\
+\"LINKS_ARE_NUMBERED\" or \"LINKS_AND_FORM_FIELDS_ARE_NUMBERED\" are\n\
+enabled.\n\
+"));
     fprintf(fp, "keypad_mode=%s\n\n",
 		((keypad_mode == NUMBERS_AS_ARROWS) ?  "NUMBERS_AS_ARROWS" :
 	       ((keypad_mode == LINKS_ARE_NUMBERED) ? "LINKS_ARE_NUMBERED" :
@@ -817,30 +858,32 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Partial display threshold
      */
-    fprintf(fp, gettext("\
-# partial_thres specifies the number of lines Lynx should download and render\n\
-# before we redraw the screen in Partial Display logic\n\
-# e.g., partial_thres=2\n\
-# would have Lynx redraw every 2 lines that it renders\n\
-# partial_thres=-1 would use the entire screensize\n"));
+    write_list(fp, gettext("\
+partial_thres specifies the number of lines Lynx should download and render\n\
+before we redraw the screen in Partial Display logic\n\
+e.g., partial_thres=2\n\
+would have Lynx redraw every 2 lines that it renders\n\
+partial_thres=-1 would use the entire screensize\n\
+"));
     fprintf(fp, "partial_thres=%d\n\n", partial_threshold);
 #endif /* DISP_PARTIAL */
 
     /*
      *  Line edit mode.
      */
-    fprintf(fp, gettext("\
-# lineedit_mode specifies the key binding used for inputting strings in\n\
-# prompts and forms.  If lineedit_mode is set to \"Default Binding\" then\n\
-# the following control characters are used for moving and deleting:\n\
-#\n\
-#              Prev  Next       Enter = Accept input\n\
-#    Move char: <-    ->        ^G    = Cancel input\n\
-#    Move word: ^P    ^N        ^U    = Erase line\n\
-#  Delete char: ^H    ^R        ^A    = Beginning of line\n\
-#  Delete word: ^B    ^F        ^E    = End of line\n\
-#\n\
-# Current lineedit modes are:\n"));
+    write_list(fp, gettext("\
+lineedit_mode specifies the key binding used for inputting strings in\n\
+prompts and forms.  If lineedit_mode is set to \"Default Binding\" then\n\
+the following control characters are used for moving and deleting:\n\
+\n\
+             Prev  Next       Enter = Accept input\n\
+   Move char: <-    ->        ^G    = Cancel input\n\
+   Move word: ^P    ^N        ^U    = Erase line\n\
+ Delete char: ^H    ^R        ^A    = Beginning of line\n\
+ Delete word: ^B    ^F        ^E    = End of line\n\
+\n\
+Current lineedit modes are:\n\
+"));
     {
 	char **bindings = LYLineeditNames;
 	while (*bindings) {
@@ -857,11 +900,12 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Directory list style.
      */
-    fprintf(fp, gettext("\
-# dir_list_styles specifies the directory list style under DIRED_SUPPORT\n\
-# (if implemented).  The default is \"MIXED_STYLE\", which sorts both\n\
-# files and directories together.  \"FILES_FIRST\" lists files first and\n\
-# \"DIRECTORIES_FIRST\" lists directories first.\n"));
+    write_list(fp, gettext("\
+dir_list_styles specifies the directory list style under DIRED_SUPPORT\n\
+(if implemented).  The default is \"MIXED_STYLE\", which sorts both\n\
+files and directories together.  \"FILES_FIRST\" lists files first and\n\
+\"DIRECTORIES_FIRST\" lists directories first.\n\
+"));
     fprintf(fp, "dir_list_style=%s\n\n",
 		(dir_list_style==FILES_FIRST ? "FILES_FIRST"
 					     :
@@ -872,13 +916,14 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  User mode.
      */
-    fprintf(fp, gettext("\
-# user_mode specifies the users level of knowledge with Lynx.  The\n\
-# default is \"NOVICE\" which displays two extra lines of help at the\n\
-# bottom of the screen to aid the user in learning the basic Lynx\n\
-# commands.  Set user_mode to \"INTERMEDIATE\" to turn off the extra info.\n\
-# Use \"ADVANCED\" to see the URL of the currently selected link at the\n\
-# bottom of the screen.\n"));
+    write_list(fp, gettext("\
+user_mode specifies the users level of knowledge with Lynx.  The\n\
+default is \"NOVICE\" which displays two extra lines of help at the\n\
+bottom of the screen to aid the user in learning the basic Lynx\n\
+commands.  Set user_mode to \"INTERMEDIATE\" to turn off the extra info.\n\
+Use \"ADVANCED\" to see the URL of the currently selected link at the\n\
+bottom of the screen.\n\
+"));
     fprintf(fp, "user_mode=%s\n\n",
 		(user_mode == NOVICE_MODE ? "NOVICE" :
 			 (user_mode == ADVANCED_MODE ?
@@ -887,20 +932,22 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Cookie options
      */
-    fprintf(fp, gettext("\
-# accept_all_cookies allows the user to tell Lynx to automatically\n\
-# accept all cookies if desired.  The default is \"FALSE\" which will\n\
-# prompt for each cookie.  Set accept_all_cookies to \"TRUE\" to accept\n\
-# all cookies.\n"));
+    write_list(fp, gettext("\
+accept_all_cookies allows the user to tell Lynx to automatically\n\
+accept all cookies if desired.  The default is \"FALSE\" which will\n\
+prompt for each cookie.  Set accept_all_cookies to \"TRUE\" to accept\n\
+all cookies.\n\
+"));
     fprintf(fp, "accept_all_cookies=%s\n\n",
 		(LYAcceptAllCookies == FALSE ? "FALSE" : "TRUE"));
 
-    fprintf(fp, gettext("\
-# cookie_accept_domains and cookie_reject_domains are comma-delimited\n\
-# lists of domains from which Lynx should automatically accept or reject\n\
-# all cookies.  If a domain is specified in both options, rejection will\n\
-# take precedence.  The accept_all_cookies parameter will override any\n\
-# settings made here.\n"));
+    write_list(fp, gettext("\
+cookie_accept_domains and cookie_reject_domains are comma-delimited\n\
+lists of domains from which Lynx should automatically accept or reject\n\
+all cookies.  If a domain is specified in both options, rejection will\n\
+take precedence.  The accept_all_cookies parameter will override any\n\
+settings made here.\n\
+"));
     fprintf(fp, "cookie_accept_domains=%s\n",
 		    (LYCookieAcceptDomains == NULL ? ""
 		    : LYCookieAcceptDomains));
@@ -909,14 +956,15 @@ PUBLIC int save_rc NOPARAMS
 		    : LYCookieRejectDomains));
 
 
-    fprintf(fp, gettext("\
-# cookie_loose_invalid_domains, cookie_strict_invalid_domains, and\n\
-# cookie_query_invalid_domains are comma-delimited lists of which domains\n\
-# should be subjected to varying degrees of validity checking.  If a\n\
-# domain is set to strict checking, strict conformance to RFC2109 will\n\
-# be applied.  A domain with loose checking will be allowed to set cookies\n\
-# with an invalid path or domain attribute.  All domains will default to\n\
-# querying the user for an invalid path or domain.\n"));
+    write_list(fp, gettext("\
+cookie_loose_invalid_domains, cookie_strict_invalid_domains, and\n\
+cookie_query_invalid_domains are comma-delimited lists of which domains\n\
+should be subjected to varying degrees of validity checking.  If a\n\
+domain is set to strict checking, strict conformance to RFC2109 will\n\
+be applied.  A domain with loose checking will be allowed to set cookies\n\
+with an invalid path or domain attribute.  All domains will default to\n\
+querying the user for an invalid path or domain.\n\
+"));
     fprintf(fp, "cookie_loose_invalid_domains=%s\n",
 	    (LYCookieLooseCheckDomains == NULL) ? ""
 		    : LYCookieLooseCheckDomains);
@@ -932,9 +980,10 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Cookie file.
      */
-    fprintf(fp, gettext("\
-# cookie_file specifies the file in which to store persistent cookies.\n\
-# The default is ~/.lynx_cookies.\n"));
+    write_list(fp, gettext("\
+cookie_file specifies the file in which to store persistent cookies.\n\
+The default is ~/.lynx_cookies.\n\
+"));
     fprintf(fp, "cookie_file=%s\n\n",
 		(LYCookieFile == NULL ? "~/.lynx_cookies" : LYCookieFile));
 #endif /* EXP_PERSISTENT_COOKIES */
@@ -945,43 +994,46 @@ PUBLIC int save_rc NOPARAMS
     /*
      *  Local execution mode - all links.
      */
-    fprintf(fp, gettext("\
-# If run_all_execution_links is set \"on\" then all local execution links\n\
-# will be executed when they are selected.\n\
-#\n\
-# WARNING - This is potentially VERY dangerous.  Since you may view\n\
-#           information that is written by unknown and untrusted sources\n\
-#           there exists the possibility that Trojan horse links could be\n\
-#           written.  Trojan horse links could be written to erase files\n\
-#           or compromise security.  This should only be set to \"on\" if\n\
-#           you are viewing trusted source information.\n"));
+    write_list(fp, gettext("\
+If run_all_execution_links is set \"on\" then all local execution links\n\
+will be executed when they are selected.\n\
+\n\
+WARNING - This is potentially VERY dangerous.  Since you may view\n\
+          information that is written by unknown and untrusted sources\n\
+          there exists the possibility that Trojan horse links could be\n\
+          written.  Trojan horse links could be written to erase files\n\
+          or compromise security.  This should only be set to \"on\" if\n\
+          you are viewing trusted source information.\n\
+"));
     fprintf(fp, "run_all_execution_links=%s\n\n",
 		(local_exec ? "on" : "off"));
 
     /*
      *  Local execution mode - only links in local files.
      */
-    fprintf(fp, gettext("\
-# If run_execution_links_on_local_files is set \"on\" then all local\n\
-# execution links that are found in LOCAL files will be executed when they\n\
-# are selected.  This is different from run_all_execution_links in that\n\
-# only files that reside on the local system will have execution link\n\
-# permissions.\n\
-#\n\
-# WARNING - This is potentially dangerous.  Since you may view\n\
-#           information that is written by unknown and untrusted sources\n\
-#           there exists the possibility that Trojan horse links could be\n\
-#           written.  Trojan horse links could be written to erase files\n\
-#           or compromise security.  This should only be set to \"on\" if\n\
-#           you are viewing trusted source information.\n"));
+    write_list(fp, gettext("\
+If run_execution_links_on_local_files is set \"on\" then all local\n
+execution links that are found in LOCAL files will be executed when they\n\
+are selected.  This is different from run_all_execution_links in that\n\
+only files that reside on the local system will have execution link\n\
+permissions.\n\
+\n\
+WARNING - This is potentially dangerous.  Since you may view\n\
+          information that is written by unknown and untrusted sources\n\
+          there exists the possibility that Trojan horse links could be\n\
+          written.  Trojan horse links could be written to erase files\n\
+          or compromise security.  This should only be set to \"on\" if\n\
+          you are viewing trusted source information.\n\
+"));
     fprintf(fp, "run_execution_links_on_local_files=%s\n\n",
 		(local_exec_on_local_files ? "on" : "off"));
 #endif /* defined(EXEC_LINKS) || defined(EXEC_SCRIPTS) */
 
-    fprintf(fp, gettext("\
-# If verbose_images is \"on\", lynx will print the name of the image\n\
-# source file in place of [INLINE], [LINK] or [IMAGE]\n\
-# See also VERBOSE_IMAGES in lynx.cfg\n"));
+    write_list(fp, gettext("\
+If verbose_images is \"on\", lynx will print the name of the image\n\
+source file in place of [INLINE], [LINK] or [IMAGE]\n\
+See also VERBOSE_IMAGES in lynx.cfg\n\
+"));
     fprintf(fp, "verbose_images=%s\n\n",
 		verbose_img ? "on" : "off");
 
diff --git a/src/Makefile.old b/src/Makefile.old
deleted file mode 100644
index 9ca8a343..00000000
--- a/src/Makefile.old
+++ /dev/null
@@ -1,108 +0,0 @@
-SHELL = /bin/sh
-
-CHARTRANS_OBJS=UCdomap.o UCAux.o UCAuto.o
-OBJS=  LYClean.o LYShowInfo.o LYEdit.o LYStrings.o \
-LYMail.o HTAlert.o GridText.o LYGetFile.o \
-LYMain.o LYMainLoop.o LYCurses.o LYBookmark.o LYUtils.o \
-LYOptions.o LYReadCFG.o LYSearch.o LYHistory.o \
-LYForms.o LYPrint.o LYrcFile.o LYDownload.o LYNews.o LYKeymap.o \
-HTML.o HTFWriter.o HTInit.o DefaultStyle.o LYLocal.o LYUpload.o \
-LYLeaks.o LYexit.o LYJump.o LYList.o LYCgi.o LYTraversal.o \
-LYEditmap.o LYCharSets.o LYCharUtils.o LYMap.o LYCookie.o LYExtern.o\
-LYStyle.o LYHash.o $(CHARTRANS_OBJS)
-
-CFLAGS= $(MCFLAGS) -I.. $(SLANGINC)
-
-all: lynx
-
-lynx:   message do_chartrans_stuff $(OBJS) $(WWWLIB)
-	@echo "Linking and creating Lynx executable"
-	$(CC) $(CFLAGS) -o lynx  $(OBJS) $(WWWLIB) $(SLANGLIB) $(LIBS)
-	@echo "Copying Lynx executable into this directory"
-	cp lynx ..
-	@echo "Welcome to Lynx!"
-
-message:
-	@echo "Compiling Lynx sources"
-
-do_chartrans_stuff:
-	-cd chrtrans; $(MAKE) MCFLAGS="$(MCFLAGS)" CC="$(CC)" tables
-
-dbg:	$(OBJS) $(WWWLIB)
-	@echo "Making Lynx code"
-	$(CC) -g $(OBJS) $(CFLAGS) $(WWWLIB) $(SLANGLIB) $(LIBS)
-
-lint:
-	lint *.c  > ../lint.out
-
-clean:
-	rm -f lynx core *.[ob]
-	cd chrtrans && $(MAKE) clean
-
-LYMain.o: ../userdefs.h
-LYMainLoop.o: ../userdefs.h
-LYReadCFG.o: ../userdefs.h
-HTFWriter.o: ../userdefs.h
-LYGetFile.o: ../userdefs.h
-LYOptions.o: ../userdefs.h
-LYrcFile.o: ../userdefs.h
-LYMail.o: ../userdefs.h
-LYUtils.o: ../userdefs.h
-HTInit.o: ../userdefs.h
-LYKeymap.o: ../userdefs.h
-LYShowInfo.o: ../userdefs.h
-LYTraversal.o: ../userdefs.h
-LYMail.o: ../userdefs.h
-LYCharSets.o: ../userdefs.h
-
-CHRTR= chrtrans/
-
-TABLES= \
- $(CHRTR)cp1250_uni.h \
- $(CHRTR)cp1251_uni.h \
- $(CHRTR)cp1252_uni.h \
- $(CHRTR)cp1253_uni.h \
- $(CHRTR)cp1255_uni.h \
- $(CHRTR)cp1256_uni.h \
- $(CHRTR)cp1257_uni.h \
- $(CHRTR)cp437_uni.h \
- $(CHRTR)cp737_uni.h \
- $(CHRTR)cp775_uni.h \
- $(CHRTR)cp850_uni.h \
- $(CHRTR)cp852_uni.h \
- $(CHRTR)cp862_uni.h \
- $(CHRTR)cp864_uni.h \
- $(CHRTR)cp866_uni.h \
- $(CHRTR)cp869_uni.h \
- $(CHRTR)def7_uni.h \
- $(CHRTR)dmcs_uni.h \
- $(CHRTR)iso01_uni.h \
- $(CHRTR)iso02_uni.h \
- $(CHRTR)iso03_uni.h \
- $(CHRTR)iso04_uni.h \
- $(CHRTR)iso05_uni.h \
- $(CHRTR)iso06_uni.h \
- $(CHRTR)iso07_uni.h \
- $(CHRTR)iso08_uni.h \
- $(CHRTR)iso09_uni.h \
- $(CHRTR)iso10_uni.h \
- $(CHRTR)koi8r_uni.h \
- $(CHRTR)mac_uni.h \
- $(CHRTR)mnem_suni.h \
- $(CHRTR)mnem2_suni.h \
- $(CHRTR)next_uni.h \
- $(CHRTR)rfc_suni.h \
- $(CHRTR)utf8_uni.h \
- $(CHRTR)viscii_uni.h
-
-CMN=../WWW/Library/Implementation/
-
-$(TABLES):
-	-cd chrtrans; $(MAKE) tables
-
-UCdomap.o: UCdomap.c chrtrans/UCkd.h chrtrans/makeuctb chrtrans/makeuctb.c \
-                 UCdomap.h $(CMN)UCMap.h $(TABLES) ../userdefs.h
-	$(CC) -c $(CFLAGS) -o $@ $<
-
-UCAux.o : UCAux.c $(CMN)UCAux.h $(CMN)UCDefs.h
-LYCookie.o: ../userdefs.h
diff --git a/src/UCdomap.c b/src/UCdomap.c
index f3d6c87c..6ba65391 100644
--- a/src/UCdomap.c
+++ b/src/UCdomap.c
@@ -25,7 +25,6 @@
 #include <UCMap.h>
 #include <UCDefs.h>
 #include <LYCharSets.h>
-#include <LYStrings.h>
 
 #include <LYLeaks.h>
 
diff --git a/src/chrtrans/Makefile.old b/src/chrtrans/Makefile.old
deleted file mode 100644
index 42b49eec..00000000
--- a/src/chrtrans/Makefile.old
+++ /dev/null
@@ -1,113 +0,0 @@
-#
-# Makefile for the makeuctb and unicode tables.
-#
-# This may not yet work for the general case.
-# Only some dependencies included.
-#
-#
-CFLAGS = $(MCFLAGS) -I.. -I../.. -I../../WWW/Library/Implementation
-
-.SUFFIXES: .tbl
-#
-# This file contains the font map for the default (hardware) font
-#
-
-FONTMAP_INC = iso01_uni.h# default, if not set by recursive call
-
-### #include $(TOPDIR)/Rules.make ???
-
-### fastdep: $(FONTMAP_INC)
-
-### MCFLAGS=-g -DUNIX -DLINUX -DNO_KEYPAD -DNO_TTYTYPE -I.. -I../../WWW/Library/Implementation -I../..
-
-TABLES= \
- cp1250_uni.h \
- cp1251_uni.h \
- cp1252_uni.h \
- cp1253_uni.h \
- cp1255_uni.h \
- cp1256_uni.h \
- cp1257_uni.h \
- cp437_uni.h \
- cp737_uni.h \
- cp775_uni.h \
- cp850_uni.h \
- cp852_uni.h \
- cp862_uni.h \
- cp864_uni.h \
- cp866_uni.h \
- cp869_uni.h \
- def7_uni.h \
- dmcs_uni.h \
- iso01_uni.h \
- iso02_uni.h \
- iso03_uni.h \
- iso04_uni.h \
- iso05_uni.h \
- iso06_uni.h \
- iso07_uni.h \
- iso08_uni.h \
- iso09_uni.h \
- iso10_uni.h \
- koi8r_uni.h \
- mac_uni.h \
- mnem_suni.h \
- mnem2_suni.h \
- next_uni.h \
- rfc_suni.h \
- utf8_uni.h \
- viscii_uni.h
-
-default: $(FONTMAP_INC)
-
-tables: $(TABLES)
-
-makeuctb: makeuctb.c UCkd.h
-	$(CC) $(CFLAGS) -o makeuctb makeuctb.c
-
-.tbl.h:
-	./makeuctb $*.tbl > $@
-
-cp1250_uni.h: cp1250_uni.tbl makeuctb
-cp1251_uni.h: cp1251_uni.tbl makeuctb
-cp1252_uni.h: cp1252_uni.tbl makeuctb
-cp1253_uni.h: cp1253_uni.tbl makeuctb
-cp1255_uni.h: cp1255_uni.tbl makeuctb
-cp1256_uni.h: cp1256_uni.tbl makeuctb
-cp1257_uni.h: cp1257_uni.tbl makeuctb
-cp437_uni.h: cp437_uni.tbl makeuctb
-cp737_uni.h: cp737_uni.tbl makeuctb
-cp775_uni.h: cp775_uni.tbl makeuctb
-cp850_uni.h: cp850_uni.tbl makeuctb
-cp852_uni.h: cp852_uni.tbl makeuctb
-cp862_uni.h: cp862_uni.tbl makeuctb
-cp864_uni.h: cp864_uni.tbl makeuctb
-cp866_uni.h: cp866_uni.tbl makeuctb
-cp869_uni.h: cp869_uni.tbl makeuctb
-def7_uni.h: def7_uni.tbl makeuctb
-dmcs_uni.h: dmcs_uni.tbl makeuctb
-iso01_uni.h: iso01_uni.tbl makeuctb
-iso02_uni.h: iso02_uni.tbl makeuctb
-iso03_uni.h: iso03_uni.tbl makeuctb
-iso04_uni.h: iso04_uni.tbl makeuctb
-iso05_uni.h: iso05_uni.tbl makeuctb
-iso06_uni.h: iso06_uni.tbl makeuctb
-iso07_uni.h: iso07_uni.tbl makeuctb
-iso08_uni.h: iso08_uni.tbl makeuctb
-iso09_uni.h: iso09_uni.tbl makeuctb
-iso10_uni.h: iso10_uni.tbl makeuctb
-koi8r_uni.h: koi8r_uni.tbl makeuctb
-mac_uni.h: mac_uni.tbl makeuctb
-mnem_suni.h: mnem_suni.tbl makeuctb
-mnem2_suni.h: mnem2_suni.tbl makeuctb
-next_uni.h: next_uni.tbl makeuctb
-rfc_suni.h: rfc_suni.tbl makeuctb
-utf8_uni.h: utf8_uni.tbl makeuctb
-viscii_uni.h: viscii_uni.tbl makeuctb
-
-clean:
-	rm -f makeuctb *.o *uni.h
-
-distclean: clean
-	-rm -rf obsolete
-	rm -f core *.bak *.sav *~ *.h_old
diff --git a/src/makefile.dos b/src/makefile.dos
index 1e05433f..1a69fc84 100644
--- a/src/makefile.dos
+++ b/src/makefile.dos
@@ -13,6 +13,7 @@ CFLAGS= $(MCFLAGS) -I. -I.. $(SLANGINC)
 

 CC = gcc

 MCFLAGS = -O2 -DHAVE_GETBKGD -DDISP_PARTIAL -DUSE_ZLIB \

+ -DSOURCE_CACHE -DUSE_PSRC \

  -DUSE_EXTERNALS -DCOLOR_CURSES -DNCURSES -DFANCY_CURSES \

  -DACCESS_AUTH -DNO_CUSERID -DNOUSERS -DDOSPATH -DNO_TTYTYPE -DNO_UTMP \

  -Ichrtrans -I../WWW/library/implementation \

diff --git a/src/makefile.dsl b/src/makefile.dsl
index acdbfcd4..0be75cd2 100644
--- a/src/makefile.dsl
+++ b/src/makefile.dsl
@@ -13,6 +13,7 @@ CFLAGS= $(MCFLAGS) $(INTLFLAGS) -I. -I.. $(SLANGINC)
 

 CC = gcc

 MCFLAGS = -O2 -DDISP_PARTIAL -DUSE_ZLIB -DUSE_EXTERNALS \

+-DSOURCE_CACHE -DUSE_PSRC \

 -DUSE_SLANG -DDJGPP_KEYHANDLER -DACCESS_AUTH -DNO_CUSERID \

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

 -I../djgpp/tcplib/include -I./chrtrans -I../djgpp/tcplib/include/tcp

diff --git a/src/makefile.in b/src/makefile.in
index 4712a331..415bb8a0 100644
--- a/src/makefile.in
+++ b/src/makefile.in
@@ -33,7 +33,7 @@ SITE_LIBS	= # FIXME: set in parent makefile
 WAISLIB		= # FIXME: set in parent makefile
 
 WWWINC		= WWW/Library/Implementation
-WWWLIB		= $(top_builddir)/WWW/Library/unix/libwww.a
+WWWLIB		= $(top_builddir)/WWW/Library/Implementation/libwww.a
 
 INTLLIB		= @INTLDIR_MAKE@@INTLLIBS@
 
diff --git a/src/makefile.wsl b/src/makefile.wsl
index 893746cc..a54731d2 100644
--- a/src/makefile.wsl
+++ b/src/makefile.wsl
@@ -13,6 +13,7 @@ CFLAGS= $(MCFLAGS) -I. -I.. $(SLANGINC)
 

 CC = gcc

 MCFLAGS = -O2 -DDISP_PARTIAL -DUSE_ZLIB -DUSE_EXTERNALS \

+-DSOURCE_CACHE -DUSE_PSRC \

 -DUSE_SLANG -DACCESS_AUTH -DNO_CUSERID \

 -DNOUSERS -DDOSPATH -DNO_TTYTYPE -DNO_UTMP -I../WWW/library/implement -I../djgpp/tcplib/include \

 -I./chrtrans -I../djgpp/tcplib/include/tcp

diff --git a/userdefs.h b/userdefs.h
index c49edb29..a6807e9f 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -9,7 +9,7 @@
  * There are four sections to this document:
  *  Section 1.  Things you MUST change or verify
  *	Section 1a)  VMS specific things
- *	Section 1b)  UNIX specific things
+ *	Section 1b)  non-VMS specific things
  *	Section 1c)  ALL Platforms
  *
  *  Section 2.  Things you should probably check!
@@ -35,7 +35,7 @@
  */
 
 /*******************************************************************
- * Things you must change  VMS specific
+ * Things you must change  -  VMS specific
  *  Section 1a).
  */
 #ifdef VMS
@@ -94,8 +94,9 @@
 /**************************
  * The EXTENSION_MAP file allows you to map file suffixes to
  * mime types.
- * These global and personal files override anything in
- * lynx.cfg or src/HTInit.c
+ * The file locations defined here can be overridden in lynx.cfg.
+ * Mappings in these global and personal files override any SUFFIX
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  */
 #define GLOBAL_EXTENSION_MAP "Lynx_Dir:mime.types"
 #define PERSONAL_EXTENSION_MAP "mime.types"
@@ -103,8 +104,9 @@
 /**************************
  * The MAILCAP file allows you to map file MIME types to
  * external viewers.
- * These global and personal files override anything in
- * lynx.cfg or src/HTInit.c
+ * The file locations defined here can be overridden in lynx.cfg.
+ * Mappings in these global and personal files override any VIEWER
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  */
 #define GLOBAL_MAILCAP "Lynx_Dir:mailcap"
 #define PERSONAL_MAILCAP ".mailcap"
@@ -224,10 +226,10 @@
 #endif /* LYNX_LSS_FILE */
 
 /*******************************************************************
- * Things you must change  UNIX specific
+ * Things you must change  -  non-VMS specific
  *  Section 1b).
  */
-#else     /* UNIX */
+#else     /* non-VMS: UNIX etc. */
 
 /**************************
  * NOTE: This variable is set by the configure script; editing changes will
@@ -277,8 +279,9 @@
 /**************************
  * The EXTENSION_MAP file allows you to map file suffixes to
  * mime types.
- * These global and personal files override anything in
- * lynx.cfg or src/HTInit.c
+ * The file locations defined here can be overridden in lynx.cfg.
+ * Mappings in these global and personal files override any SUFFIX
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  */
 #define GLOBAL_EXTENSION_MAP "/usr/local/lib/mosaic/mime.types"
 #define PERSONAL_EXTENSION_MAP ".mime.types"
@@ -286,8 +289,9 @@
 /**************************
  * The MAILCAP file allows you to map file MIME types to
  * external viewers.
- * These global and personal files override anything in
- * lynx.cfg or src/HTInit.c
+ * The file locations defined here can be overridden in lynx.cfg.
+ * Mappings in these global and personal files override any VIEWER
+ * definitions in lynx.cfg and built-in defaults from src/HTInit.c.
  */
 #define GLOBAL_MAILCAP "/usr/local/lib/mosaic/mailcap"
 #define PERSONAL_MAILCAP ".mailcap"
@@ -324,7 +328,9 @@
  * If the path includes a tilde (e.g, "~" or "~/lynxtmp"), Lynx will
  * replace the tilde with the full path for the user's home.
  * The definition here can be overridden at run time by setting a
- * "LYNX_TEMP_SPACE" environment symbol.
+ * "LYNX_TEMP_SPACE" environment variable, or (if that is not set)
+ * the "TMPDIR" (unix), or "TEMP" or "TMP" (Windows,DOS,OS/2)
+ * variable.
  */
 #define TEMP_SPACE "/tmp/"
 
@@ -352,8 +358,8 @@
  *	%d	date of last modification
  *	%a	anchor pointing to file or directory
  *	%A	as above but don't show symbolic links
- *     %t      type of file (description derived from MIME type)
- *     %T      MIME type as known by Lynx (from mime.types or default)
+ *	%t	type of file (description derived from MIME type)
+ *	%T	MIME type as known by Lynx (from mime.types or default)
  *	%k	size of file in Kilobytes
  *	%K	as above but omit size for directories
  *	%s	size of file in bytes
@@ -416,7 +422,7 @@
  * note: STARTFILE must be a URL.  See the Lynx online help for more
  *       information on URLs
  */
-#define STARTFILE "."
+#define STARTFILE "http://lynx.browser.org/"
 
 /*****************************
  * HELPFILE must be defined as a URL and must have a
@@ -1036,8 +1042,9 @@
  * The first two settings:
  * LOCAL_EXECUTION_LINKS_ALWAYS_ON
  * LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE
- * specify the DEFAULT setting of the users execution link
- * options, but the user may still change those options.
+ * specify the DEFAULT settings of the users execution link
+ * options (they can also be overridden in lynx.cfg), but
+ * the user may still change those options.
  * If you do not wish the user to be able to change the
  * execution link settings you may wish to use the command line option:
  *    -restrictions=exec_frozen
@@ -1067,6 +1074,8 @@
  *  MAIL_SYSTEM_ERROR_LOGGING will send a message to the owner of
  *  the information if there is one, every time
  *  that a document cannot be accessed!
+ *  This is just the default, it can be changed in lynx.cfg, and error
+ *  logging can be turned off with the -nolog command line option.
  *
  *  NOTE: This can generate A LOT of mail, be warned.
  */
@@ -1078,8 +1087,10 @@
  * will get status line messages if subsequent new mail arrives.  If a jumps
  * file with a lynxprog URL for invoking mail is available, or your html
  * pages include an mail launch file URL, the user thereby can access mail
- * and read the messages.  The checks and status line reports will not be
- * performed if Lynx has been invoked with the -restrictions=mail switch.
+ * and read the messages.
+ * This is just the default, it can be changed in lynx.cfg.  The checks and
+ * status line reports will not be performed if Lynx has been invoked with
+ * the -restrictions=mail switch.
  *
  *  VMS USERS !!!
  * New mail is normally broadcast as it arrives, via "unsolicited screen
@@ -1091,14 +1102,14 @@
 #define CHECKMAIL	FALSE	/* report unread and new mail messages */
 
 /*********************************
- * VI_KEYS can be turned on by the user in the options
- * screen or the .lynxrc file.  This is just the default.
+ * VI_KEYS can be changed in lynx.cfg and can be turned on by the user
+ * in the options screen or the .lynxrc file.  This is just the default.
  */
 #define VI_KEYS_ALWAYS_ON	FALSE /* familiar h,j,k, & l */
 
 /*********************************
- * EMACS_KEYS can be turned on by the user in the options
- * screen or the .lynxrc file.  This is just the default.
+ * EMACS_KEYS can be changed in lynx.cfg and can be turned on by the user
+ * in the options screen or the .lynxrc file.  This is just the default.
  */
 #define EMACS_KEYS_ALWAYS_ON	FALSE /* familiar ^N, ^P, ^F, ^B */
 
@@ -1109,12 +1120,15 @@
  *	NUMBERS_AS_ARROWS   or
  *	LINKS_ARE_NUMBERED  or
  *	LINKS_AND_FORM_FIELDS_ARE_NUMBERED
+ *
+ * This default setting can be overridden in lynx.cfg (but not to
+ * the third value), and it can be changed at run time by the user.
  */
 #define DEFAULT_KEYPAD_MODE	NUMBERS_AS_ARROWS
 
 /********************************
  * The default search.
- * This is a default that can be overridden by the user!
+ * This is a default that can be overridden in lynx.cfg or by the user!
  */
 #define CASE_SENSITIVE_ALWAYS_ON    FALSE /* case sensitive user search */
 
@@ -1211,12 +1225,12 @@
  * the version definition with the Project Version on checkout.  Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8.2dev.22"
+#define LYNX_VERSION "2.8.2dev.23"
 #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 "Tue, 13 Apr 1999 03:39:16 -0600"
+#define LYNX_DATE "Fri, 23 Apr 1999 08:56:35 -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"
@@ -1269,10 +1283,21 @@
 #define SYSTEM_MAIL "sendmail"
 #define SYSTEM_MAIL_FLAGS "-t -oi"
 /*
-**  Following executables may be sought from your PATH at run-time.
-**  To get those programs look for GNU-port stuff elsewhere.  Currently,
-**  if compiled with -DUSE_ZLIB and without -DDIRED_SUPPORT (default),
-**  you need only "cp.exe" from the list below.
+**  The following executables may be used at run time.  Unless you change
+**  the definitions to include the full directories, they will be sought
+**  from your PATH at run-time; they should be available as "cp.exe",
+**  "mv.exe" and so on.  To get those programs look for GNU-port stuff
+**  elsewhere.
+**  Currently, if compiled with -DUSE_ZLIB and without -DDIRED_SUPPORT
+**  (default), the following from the list below are required:
+**  COPY_PATH (cp.exe) - needed for file downloading
+**  MV_PATH   (mv.exe) - for bookmark handling (DEL_BOOKMARK command)
+**  UNCOMPRESS_PATH, BZIP2_PATH - for automatic decompression of files in
+**                                these formats
+**  TELNET_PATH, TN3270_PATH, RLOGIN_PATH - for access to "telnet:",
+**                                         "tn3270:", and "rlogin:" URLs.
+**  If they are not defined right, the corresponding operations may fail
+**  in unexpected and obscure ways!
 **
 **    WINDOWS/DOS
 **    ===========