about summary refs log tree commit diff stats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/CHANGES1001
-rw-r--r--docs/CHANGES.chartrans204
-rw-r--r--docs/INSTALLATION.old399
-rw-r--r--docs/Makefile.old1106
-rw-r--r--docs/README.chartrans197
5 files changed, 2907 insertions, 0 deletions
diff --git a/docs/CHANGES b/docs/CHANGES
new file mode 100644
index 00000000..bd648e06
--- /dev/null
+++ b/docs/CHANGES
@@ -0,0 +1,1001 @@
+---  Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997)   ---
+=======================================================================
+1997-04-04
+* Fixed typos in LYHistory.c, LYMail.c and LYMain.c which caused
+  failures of flag setting in the distributed code. - TD
+1997-03-31
+* Added a missing check for whether the fragment token is NULL in
+  LYConvertToURL() of LYUtils.c.  Without the check, the for-Unix code
+  could crash if a local file spec was entered as a startfile or goto
+  with escaped characters. - KW
+* Mod in HTML.c to retain "[INLINE]" as the default ALT string if an
+  IMG element has an ISMAP attribute but is not in Anchor content such
+  that it could not in fact function as a server-side image map. - FM
+1997-03-28
+* In mainloop(), after the call to HText_pageDisplay() following a change
+  of the document view, ensure that curdoc.link does not remain set to -1 
+  if there are any links on the screen.  This would otherwise happen if
+  a document is pushed to the history stack while there are no links, and
+  later popped (and refreshed) after one or more links have been created.
+  This change prevents segmentation faults which occurred after creation
+  of a new file in a previously empty directory via the DIRED menu.  The
+  access to invalid memory only occurred if the screen showing the empty
+  directory did not have a parent dir reference link (which is always the
+  case if NO_PARENT_DIR_REFERENCE was specified at compilation time). - KW
+1997-03-27
+* Fixed a typo and added comments for the code in LYMainLoop.c which
+  decides whether to load the URLs for homepage and/or startfile into
+  the goto buffer at startup.  The typo in the distributed code caused
+  the startfile URL always to be added to the goto buffer, even if
+  it had POST content such that it could be resent inappropriately
+  as a GET request via the goto buffer. - FM
+* Added a bsdi-slang target to the Makefile. - LE
+1997-03-26
+* Modified the HTStream structure and associated code in src/HTFWriter.c
+  so that we save and use the relevant content of the associated
+  HTPresentation structure as two HTFormat elements rather than via a
+  pointer to the HTPresentation structure itself, because the latter
+  structure might not be valid under some circumstances when
+  HTFWriter_free() is called.  The distributed code might indirectly
+  result in segmentation faults during downloading on linux and some
+  other flavors of Unix (though they don't occur for most flavors, or
+  on VMS). - KW
+1997-03-21
+* Mods in LYPrint.c to use ".txt" as the output file extension for
+  all rendered text/html files regardless of their original extension.
+  The distributed code was doing this only for ones with an extension
+  of ".html".  The original extension still is retained if the file
+  is being output as source. - FM
+* Added protection against passing a NULL pointer for path_url to
+  render_item() from dired_options() in LYLocal.c. - GN
+1997-03-20
+* Tweaked the protection against URLs directed to port 19 or port 25 so
+  that it can't be circumvented via lead zeros in the port numbers. - FM
+* Changed the compilation default so as not to send From MIME headers to
+  http or https servers.  The default can still be changed via lynx.cfg.
+  Replaced the -nofrom disabling switch to a -from switch for toggling
+  the compilation or configuration default.  Sending the From header
+  has become widely regarded as an invasion of privacy risk, particularly
+  in conjunction with cookie support. - FM
+* Corrected a typo in the lynx.cfg comments concerning TRUSTED_LYNXCGI
+  rules. - KW
+1997-03-17
+* Mods of LYNews.c and LYMail.c to prepend a "-- " separator before
+  appending the LYNX_SIG_FILE signature file to news and email
+  messages. - FM
+* Made the installation mode 755 in the top-level Makefile.  The
+  distributed code used 555, and some install commands were unable
+  to do the strip. - LWV
+1997-03-14
+* Corrected typos and expanded the comments concerning lynxcgi symbols
+  in userdefs.h and lynx.cfg. - FM
+* Modified SGML.c, LYCharSets.c and LYCharUtils.c to handle the numeric
+  character reference ™ as the named entity ™ and use "(TM)"
+  as the ASCII substitution if the current character set does not have the
+  trademark character.  The distributed code was substituting ®. - FM
+* Include time.h via tcp.h for SVR4 systems.  The tcp.h header does include
+  sys/time.h for Unix systems, but this apparently doesn't get  struct tm 
+  and  extern char * ctime()  declared for SVR4. - FM
+1997-03-13
+* Added protection in LYGetFile.c against connections to the port 25
+  ESMTP service. - FM
+1997-03-11
+* Added protection in LYGetFile.c against denial of service attacks via
+  the port 19 CHARGEN service.  The distributed code left Lynx or proxies
+  vulnerable to such attacks via direct or redirection URLs. - FM
+1997-03-10
+* Fixed error in the handling of numeric character references with values
+  greater than 255 in SGML.c.  The distributed code was breaking after
+  substitutions instead of falling through to reset the string chunk and
+  recycle the terminator if not a semi-colon. - FM
+1997-03-08
+* Fixed error in the switch positioning of checks for XLOADIMAGE_COMMAND
+  and wais_proxy in LYReadCFG.c.  The distributed code had them reversed
+  under case 'W' versus case 'X'. - PDS
+* Expanded the copyright and licensing statements in the -version
+  output. - FM
+1997-03-04
+* Corrected the offset computation in textsearch() of LYSearch.c so that
+  WHEREIS searches repeated on a page with no links seek the target
+  starting at the line immediately following the last displayed.  The
+  distributed code was setting a greater offset. - JS
+1997-03-02
+* Don't entify post content for the showinfo display, now that we are
+  making it an XMP block in that display to handle all of the supported
+  enctypes. - FM
+1997-02-28
+* Changed all references to "image/*" to just "image" in the userdefs.h
+  and lynx.cfg comments about XLOADIMAGE_COMMAND.  The "/*" within the
+  userdefs.h comments was generating warnings from some compilers. - FM
+* Added a snake-slang target to the Makefile, and added -DUNIX to the
+  LYFLAGS for the snake3 and snake3-slang targets (HP-UX apparently does
+  not define "unix" itself with the -Ae switch, and thus needs to have
+  that definition forced via -DUNIX). - HL
+1997-02-26
+* Close both descriptors of the pipe() for the NSL_FORK enabled code
+  in HTTCP.c.  The distributed code was closing only one of them on
+  completed gethostbyname() calls, and neither on 'z'aps. - FM
+* Changed the HREF for the "Lynx FAQ" link in the online 'h'elp to
+  its new URL (http://www.slcc.edu/lynx/faq.html). - FM
+1997-02-25
+* More reverse engineering to cope with Netscape's bogus cookie header
+  parsing.  The parser must not require an '=' between the expires
+  attribute name and value, because Set-Cookie headers are being
+  transmitted without it (e.g., by http://law.agps.gov.au).  So Lynx
+  now treats that as another special case. - FM
+* Cope with invalid use of expires attributes in Version 1 cookies.
+  An -06 State Management draft recommends that for "backward
+  compatibility", and has been severely criticized in the HTTP-WG,
+  but it would be foolish not to assume Netscape will do that.  See the
+  expanded comments in LYSetCookie() of LYCookie.c for more information.
+  Note that "expires" thus cannot be used as a Version 1 cookie name, but
+  a provider would be foolish to use that, anyway.  Note also that the
+  possibility of using different header names for Version 1 versus
+  Version 0 (a.k.a., "Netscape") cookies is being discussed in the
+  HTTP-WG, which might have been better to do in the first place, but
+  the -05 draft has been approved as RFC 2109:
+    http://info.internet.isi.edu/in-notes/rfc/files/rfc2109.txt
+  so it would be a while before that were done, if ever. - FM
+1997-02-22
+* Fixed a memory management glitch which could cause a crash if the
+  MIME type of a reply to a FORM submission with METHOD=POST caused a
+  download offer to be invoked. - FM
+* Don't simplify ftp URLs by trimming trailing slashes if the URL is
+  being proxied.  The Netscape proxy server for some unknown reason
+  can return redirection for ftp URLs with the slash appended, and
+  trimming it can result in a redirection loop.  Based on a posted
+  patch from KW. - FM
+* Fixed two typos in the checks for HTPassHighCtrlRaw in LYExpandString()
+  of LYCharUtils.c. - KW
+* Fixed typo in the equality check on line 1553 in HTGopher.c. - AM
+1997-02-19
+* Reset the host string after an '@', if present, when trimming default
+  ":port" fields in the new code aimed at compliance with the Masinter
+  and Fielding URL drafts, expected to replace RFCs 1738 and 1808.  The
+  distributed code neglected to do that, and was ending up on a ":password"
+  field, if present, instead of on the ":port" field, causing the username
+  to be treated as the host name.  - FM
+* Expand the default port trimming so as to include all of the registered
+  URL schemes which support a port field in the v2.7 release. - FM
+* Correctly uncache the current directory listing when invoking an 'u'pload,
+  so that it will be updated to include the uploaded file if placed in the
+  current directory.  The released code attempted to do this in a manner
+  which prevented a pop, so that the directory listing couldn't be restored
+  on return from the uploader menu. - FM
+* Recognize a bookmark file used as the startfile, whether it resides in the
+  home directory or in a subdirectory off home.  The released code failed if
+  the file was in home, and not in a subdirectory, unless the -book switch
+  was used instead of a startfile entry or WWW_HOME variable. - FM
+=======================================================================
+---			Start of v2.7 bug fixes			    ---
+=======================================================================
+---      Release of Lynx2-6FM as Lynx v2.7 (February 15, 1997)      ---
+=======================================================================
+1997-02-15
+* Release of Lynx2-6FM as Lynx v2.7. - FM
+* Included -Ae when compiling the Implementation modules for the snake3
+  target. - FM
+1997-02-14
+* Mods to issue an alert about a BASE tag not having an absolute URL only
+  once per document. - FM
+* Added code for appending LYNX_SIG_FILE to email messages as well as to
+  news posts or followups, and updated the Users Guide accordingly. - FM
+* Updated build-slang.com. - FM
+1997-02-12
+* Fixed some problems in the code for using a hookless Lynx image with
+  snew_proxy, snewspost_proxy, and snewsreply_proxy set to
+  "nntp://host:port/" so that it uses Tom Zerucha's (tz@execpc.com)
+  daemon which handles the SSL communications on behalf of the Lynx
+  image.  Also polished up all of the news gateway code, and added
+  comments for the benefit of new developers. - FM
+* Added an ECGOTO command mapped by default to 'G', complementary to the
+  GOTO command (default 'g'), to edit the current document's URL and then
+  go to it.  Using case-sensitive letters with different command definitions
+  ensures that both will appear with their brief explanations in the 'k'eymap
+  listing.  For ECGOTO, Control-G, failure to modify the URL, or complete
+  deletion of it, all act as a cancel.  If the current document has POST
+  content associated with it, a warning will be issued before offering the
+  URL to edit.  The POST content is retained if the modification merely
+  involves a change in fragment for the URL.  Otherwise, the modified URL
+  (if it has an http scheme) will be submitted with method GET and no POST
+  content.  If the ECGOTO command is not cancelled, or not simply a fragment
+  change, the modified URL will be added to the 'g'oto buffer, and can be
+  re-accessed, to edit further, via the GOTO command.  See the updated online
+  'h'elp for more information. - FM
+1997-02-10
+* Amplified the comments concerning deletion of prototypes for MultiNet
+  socket library functions as they get added to MultiNet's own headers
+  in newer versions of it's socket library. - FM
+* Added a missing fclose() in post_article() of HTNews.c, and added code
+  to delete the temporary file there, so it's gone as soon as we're done
+  with it. - FM
+02-09-97
+* Enhanced the Set-Cookie header parser to handle values that contain
+  spaces but were not enclosed in double-quotes, and to use such
+  quoting or not when sending Cookie headers, depending on whether
+  this was done in the Set-Cookie header.  Also added anti-crash
+  checks should the parser's efforts to handle both historical (a.k.a.
+  original Netscape) cookies and Version 1 cookies go awry (does deal
+  successfully now with all the cookies which had been reported as
+  problematic). - FM
+* Mods of the screen handling in LYNews.c for cleaning up any screen
+  trash created by the external editor. - FM
+* Tracked down an uninitialized pointer in LYNews.c that probably was
+  behind reports of crashes when posting to newsgroups. - FM
+* Plugged a memory leak in LYMainLoop.c. - TJC
+* Added posting ability to the news gateway, in lieu of the previous,
+  variably reliable, use of a spawned news client for posting.  The
+  news, nntp, and snews URLs now all return links for posting new
+  messages or followups (replies) to the server from which a newsgroup
+  listing or news article was retrieved, unless the server indicates
+  that it does not accept posts from the site at which Lynx is running.
+  See the updated INSTALLATION, userdefs.h, and lynx.cfg files, the
+  "USENET News posting" section of the Users Guide, and "Supported URLs"
+  page of the online 'h'elp for more information.
+* Fixed typo for e-dieresis in the KOI8-R charset. - AJF
+* Replaced an inappropriate _user_message() call in HTConfirmCookie()
+  of HTAlert.c with a _statusline() call.  The original code could
+  cause crashes with some cookie values. - FM
+02-06-97
+* Added support for both hex escaped and unescaped white characters
+  in lynxexec and lynxprog URLs.  Normally, Lynx strips out any white
+  characters that are not hex escaped in attribute values that are
+  to be resolved as URLs, on the assumption that they were derived
+  from wrapping in the markup.  Any serial white characters in
+  lynxexec and lynxprog URLs are condensed to one space (' '), and
+  any lead or trailing white characters are trimmed.  Note that we
+  still require hex escaping of spaces in mailto URLs, e.g,
+  HREF="mailto:lynx-dev@sig.net%20(I%20found%20a%20bug.)". - FM
+* Removed the 'e' switch from tar commands in LYLocal.c for greater
+  portability across all supported Unix flavors. - FM
+* Expanded the information in the PROBLEMS file on how to deal with
+  DECC and MultiNet header incompatibilites for different combinations
+  of the VMS compiler and socket library versions. - FM
+* Added TRACE message of the edit command created for the system()
+  call in LYEdit.c. - LWV
+* Fixed a typo in the userdefs.h comments. - NHE 
+02-04-97
+* Mod in LYMainLoop.c to bypass mailing "not found" messages when
+  MAIL_SYSTEM_ERROR_LOGGING was set TRUE (which it should NOT be,
+  indescriminately) if the document's owner is the lynx-dev list. - FM
+* Added crash protection checks for the actual presence of anchors
+  in all HText structure anchor scans in GridText.c, based on a crash
+  report and suggested fix for one of them from Jonathan Sergent
+  (sergent@hillres55-129.cc.purdue.edu). - FM
+* Eliminated the typecast for ttytype (apparently varies across flavors,
+  and each flavor should know it's own typing; we'll see) in LYCurses.c,
+  and moved VMS system definitions with non-ANSI conformant tokens to a
+  separate header for VMS (LYVMSdef.h). - BL
+* Made the description of HISTORY in the 'k'eymap page more clear that
+  it invokes a list of the "suspended" documents currently held in the
+  history stack. - DC
+* Typo fixes in the help files and lynx.cfg. - LWV
+02-03-97
+* Today's distribution is a pre-release of v2.7.  The projected official
+  release date is 02-15-97.  All header, help and documentation files,
+  and the top directory name, have been updated for v2.7. - FM
+* Made xli, which is freeware, the default XLOADIMAGE_COMMAND for Unix
+  in userdefs.h (still xv on VMS, since its port is freeware), and
+  expanded the "self-documentation" to indicate where to get this
+  freeware.  Added XLOADIMAGE_COMMAND as a configuration symbol in
+  lynx.cfg, so that the compilation default can be overridden on
+  systems which have and prefer xv (all users can override the default
+  mappings for image helper apps via their mailcap files) - FM
+* Added a -base command line switch which can be used with -source or
+  -mime_header to prepend the request URL as a comment, and a BASE tag
+  (which may or may not be the same as the request URL, depending on
+  HTTP/1.1 headers) for text/html documents, equivalent to the prepend
+  kludge for 'd'ownloads (see 09-20-96 mods). - FM
+* Added a check for an "ORGANIZATION" environment variable for inclusion
+  as a news post header on Unix (all system logicals intended for news
+  post headers automatically are included on VMS), and a sleep() before
+  restoring curses mode after the post, to allow reading of any error
+  messages from the news software. - FM
+* Fixed bug which yielded a "[LINK]" instead of "[INLINE]" pseduo-ALT
+  for ALT-less IMG tags used as the content for NAME-ed Anchors without
+  an HREF. - FM
+* Portability tweaks for the mini inews utility. - FM
+* Fixed an old and irrelevant typo in HTWriter.c. - JS
+01-29-97
+* Added more REL tokens that are acceptible for banner links. - FM
+* Ifdef'ed the standard foo_PATH definitions for FreeBSD at the bottom of
+  userdefs.h, based on a patch from AAC, and assuming they also apply for
+  NetBSD, BSDI, and Linux (we'll see 8-). - FM
+* Added make freebsd-slang target. - AAC
+01-28-97
+* Mods of LYSetCookie() to ensure setting of 443 as the default port for
+  https URLs, and force the secure flag on for https URLs whether or not
+  the Set-Cookie header had a secure parameter (too many Version 0
+  cookies don't, when they should). - FM
+* Removed -ltermcap from make for all ncurses targets. - FM
+* Tweaks of make for FreeBSD. - AAC
+* Use SLtt_get_screen_size() instead of the apparently less portable
+  code for slang in size_change() of LYUtils.c. - JED
+01-27-97
+* Made ALT a synonym for VALUE in INPUTs with TYPE="image" to cooperate
+  with well-intentioned (though misinformed) providers who use ALT instead
+  of VALUE for the benefit of text clients or GUIs with image handling
+  turned off. - FM
+* Modified the code for submission of form content with TYPE="image" NAME-ed
+  INPUTs that have a VALUE (or ALT) to "fake" a 0,0 coordinate pair, as when
+  a VALUE (or ALT) is absent, instead of sending a single name=value pair.
+  Requests that using a name=value pair in such cases to indicate that the
+  submission was from a text client or GUI with image handling turned off
+  be included in the HTML specifications keep falling on deaf ears, so we
+  may as well "fake" something closer to what the CGI scripts are expecting,
+  and hope that the script interprets 0,0 as an indicator that the user did
+  not see the image and make a conscious choice within it.
+* Added code to offer a link for the SRC of the image in INPUTs with
+  TYPE="image", distinct from the submit button, when clickable images
+  is on. - FM
+* Updated the "HTML Forms" section of the Users Guide. - FM
+* Fixed a typo in the parsing of Cache-Control MIME headers and META
+  directives. - FM
+01-25-97
+* Updated lynx_help_main.html, about_lynx.html and about_lynx-dev.html. - FM
+* Mods to indicate a toolbar by a '#' preceding its first link when the
+  toolbar is being displayed, and to indicate the availability of a toolbar
+  by a '#' in the top, left-hand corner of the screen when the toolbar is
+  not being displayed.  Added explanation of this in the online 'h'elp. - FM
+* Indicate the 'allow' setting (always, never, or via prompt) for each
+  domain in the Cookie Jar Page. - AK
+* Don't delete cookie-less domains silently during garbage collections if
+  they have their 'allow' set to always or never. - AK & FM
+* Added ability to change the 'allow' settings for domains via the Cookie
+  Jar Page. - FM
+* Added basic protection against "denial of service attacks" by limiting
+  a domain to 50 cookies, the total number of stored cookies to 500, and
+  the maximum processed size of a cookie to 4096 bytes. - FM
+* SGML escape any ampersands or angle brackets in the cookie names, values,
+  parameters, and comments when creating the HTML stream for the Cookie
+  Jar Page, and only include entries for comments if they were present in
+  the servers' Set-Cookie headers. - FM 
+* Updated the online 'h'elp for cookies. - FM
+* Removed -DNO_KEYPAD from all ncurses targets in the Makefile. - FM
+01-23-97
+* Added a "Lynx State Management (Me want cookie!)" section to the Lynx
+  Users Guide, and a cross-linked cookie_help.html file for the Cookie
+  Jar Page. - FM
+* Added prompting for whether to show the body of a 401 status reply or
+  simply return to the current document when an activated link requires
+  authentication via a username and password, and the user has none for
+  that realm, or forgot them. - FM
+01-22-97
+* Added handling of expires attribute values in Version 0 (a.k.a. Netscape)
+  Set-Cookie MIME headers or META tags, and added "Maximum Gobble Date"
+  entries in the Cookie Jar Page which indicate the maximum intended age
+  for each cookie based on the Version 0 expires or Version 1 max-age
+  attribute values. - FM 
+* Added an LYmktime() function in LYUtils.c which accepts strings in the
+  format "Day, dd-Mon-yy hh:mm:ss GMT" or "Day, dd Mon yyyy hh:mm:ss GMT",
+  parses and converts them to time_t format (seconds since 00:00:00 Jan 1
+  1970), and returns the time_t value, or zero if the date is in the
+  past.  It is used for handling Expires headers or attribute values. - FM
+* Added parsing of Cache-Control and Expires MIME headers and META tags
+  sufficient to determine whether the no_cache element should be set in
+  the document's structures. - FM
+* Eliminated the "; $Path=foo; $Domain=blah" attr=value pairs when sending
+  Version 0 (a.k.a. Netscape) cookies in request headers, because too may
+  CGI scripts in the real world have brain-dead parsers and fail when they
+  are included. - FM
+* Added handling of Set-Cookie directives in META tags. - AK
+01-20-97
+* Added confirmation prompts for deletions from the Cookie Jar, expanded
+  the garbage collecting for expired cookies, debugged and implemented the
+  code for security checks based on lead and embedded dots in domain values
+  and host prefixes as described in Section 4.3.2 of the -05 State Management
+  draft, added requirement for https URLs (direct, or via proxy) to include
+  cookies which have the secure flag set in request headers, and extensively
+  annotated the cookie support code for ease of further development. - FM
+* Added ability to set SHOW_CURSOR in lynx.cfg, to override the compilation
+  setting in userdefs.h, and made the -show_cursor command line switch a
+  toggle for the compilation or configuration default. - FM
+01-18-97
+* Bug fixes and memory leak plugs for the cookie support.  Added ability
+  to delete individual cookies or entire domains via the Cookie Jar Page
+  (Ctrl-K).  The domains and cookies are displayed as DL/DT/DD blocks,
+  with links for each domain and cookies name.  The deletions are done
+  by activating those links, which can be numbered, so it should be OK
+  for blind users. - FM
+* Tweaks of the news/nntp/snews gateway. - FM
+* Tweaks of paragraphing if ADDRESS, BANNER, BLOCKQUOTE, BQ, FN, MARQUEE
+  or NOTE blocks are nested (note that nesting does not yield progressive
+  indentations of these blocks). - FM
+01-16-97
+* Added "first pass" cookie support based on patches from Andrew Kuchling
+  (amk@magnet.com).  Still needs work (see comments at top of LYCookie.c).
+  A SET_COOKIE symbol in userdefs.h and lynx.cfg determines whether cookie
+  support will be on or off by default, and the default can be toggled
+  via a -cookies command line switch.  When on, Set-Cookie headers invoke
+  confirmations with possible replies of 'Y'es or 'N'o for that cookie,
+  'A'lways, to accept all cookies from that domain, or ne'V'er to never
+  accept cookies from that domain.  The Cookie Jar can be examined via
+  the COOKIE_JAR keystroke command, mapped by default to Ctrl-K.  The
+  Cookie Jar, and any 'A'lways or ne'V'er settings, do not presently
+  outlast the Lynx session. - FM
+01-14-97
+* Added use of DEFAULT_INDEX_FILE or the URL from an -index=URL command
+  line switch as the the HREF for a banner LINK with REL="Index" and no
+  HREF of its own (see the 01-01-97 mods and the HTML Banners section of
+  the Lynx Users Guide). - FM
+01-13-97
+* Tweaks of the news gateway. - FM
+* Added "Negotiate: trans" header for GET and HEAD requests.  Shouldn't
+  be necessary to get 300 instead of 406 replies when nothing matches
+  the Accept and Accept-foo request headers, but some HTTP/1.1 servers
+  apparently want it when the UA declares itself as HTTP/1.0, as Lynx
+  still does. - FM
+01-12-97
+* More updates of the online 'h'elp files. - FM
+* Simplified the code for checking whether a startfile is a bookmark file
+  entered as a URL instead of invoked via the -book switch.  The previous
+  code was tripping up some versions of the osf and linux compilers. - FM
+01-10-97
+* Replaced the realloc() in split_line() of GridText.c with a calloc(),
+  memcpy(), FREE() sequence for all systems, not just AIX and ultrix,
+  based on analysis of memory wastage by Hans Reiser
+  (dl9rdz@cip.e-technik.uni-erlangen.de). - FM
+* Tweaks of the body= handling in mailto URLs. - FM
+* Tweaks of the ftp gateway. - FM
+* Restored inheritence when resolving versus a base with the same scheme,
+  because the RFC1808 and Fielding Draft behavior of not doing so yields
+  too many failures in the real world (sigh...). - FM
+01-09-97
+* Ugh!  The distribution zip still had the Nov 4, 1996 HTTCP.c instead of
+  the one I modified on Christmas.  No wonder people were still reporting
+  the wrong messaging with -DNSL_FORK.  The right HTTCP.c is in there
+  now. - FM
+* Mods to resolve the HREFs for LINKs with REV="made" or REV="owner"
+  versus the base (a many, many year old bug finally caught 8-). - FM 
+* Added HTAlert messages about BASE HREF vaules, Location header values,
+  and Refresh URL values that were not received as absolute URLs.  We
+  still resolve them versus the RequestURI, since that's invariably
+  what is intended, and thus the optimum "error recovery" strategy. - FM
+* Added handling of cc= and body= fields in ?searchpart strings of mailto
+  URLs.  They are described in draft-hoffman-mailto-url-00.txt recently
+  posted to the URI-WG list.  This draft ignores the objections which have
+  been filed about changing the semantics of mailto and breaking clients
+  which are fully conformant with the mailto specs in RFC1738, instead of
+  using a new scheme name (e.g., smtp:) for URLs with mail headers, and it
+  extends the ill-advised use of '&' as puctuation in URLs instead of
+  honoring the previous IETF effort to seek it's replacement by ';' as the
+  URL name=value separator and, in effect, treating them as parameters
+  without need to worry about confusions with entities when the URLs are
+  attribute values in text/html.  However, the chairman of the URI-WG is
+  a co-author of this draft, so, sigh...  As far as this Lynx code is
+  concerned, the mods are more "error recovery" to cope with the sad things
+  which have afflicted the Web during the past 2-3 years, and use of a
+  ?searchpart in mailto URLs is still DISadvised.  Lynx uses only subject=,
+  cc=, and body= fields from a ?searchpart, using it's own "safe" rules for
+  other mail headers, and ignoring ones other than those three in the
+  ?searchpart as "unsafe".  The cc= values in a ?searchpart are added to
+  the primary address as a comma-separated list for the mail agent, and
+  Lynx's own Cc: is that entered, optionally, by the user.  Any body= field
+  is passed to the external editor, if one has been defined, for review and
+  possible modification.  Otherwise, it is scrolled for review.  The mailing
+  can be cancelled at any time (via Ctrl-G), and via a statusline prompt
+  after everything has been reviewed, if the user judges the body and/or
+  addresses to be unsafe or inappropriate. - FM
+* Moved information and prompt strings in LYMail.c to installer-modifiable
+  symbols in LYMessages_en.h. - FM
+01-07-97
+* Eliminated forced exits for keyboard input buffer overruns on VMS.
+  There's no perfect way to deal with it, but Lynx should recover
+  gracefully most of the time now, and do nothing bad if ungraceful. - FM
+* Added handling of Content-Base and Content-Location MIME headers when
+  'd'ownloading, 'p'rinting, or mailing HTML source.  For this, as
+  for rendered HTML streams (see 01-06-97 mods) the base is determined
+  according to HTTP/1.1 rules:  If a Content-Base header was received,
+  that's the base.  Otherwise, if a Content-Location header was received
+  and it's an absolute URL, that's the base.  Otherwise, the URL used
+  to retrieve the document is the base.  When actually rendering, any
+  BASE tag in the document overrides the base derived from headers.
+  When 'd'ownloading, or outputting HTML source for a 'p'rint option,
+  an X-URL comment with the URL used to retrieve the document and a
+  BASE tag with the header or URL-derived base are inserted at the top
+  of the document.  These should be moved down into the actual HEAD
+  section to make the HTML fully legal, but will work as is if the
+  output is used in conjunction with automatic invocation of Lynx or
+  Netscape as a text/html helper application.  When mailing with an
+  SMTP-conformant mailer, the actual URL used to retrieve the document
+  is indicated via an X-URL header, and for HTML source, a Content-Base
+  and a Content-Location header are included, set to what was actually
+  received by Lynx via MIME headers, or to the retrieval URL. - FM
+01-06-97
+* More updates of the online 'h'elp.  The Visited Links Page ('V'),
+  multi-bookmark file support, REL/REV and META enhancements, and new
+  switches are now all fully documented in the 'h'elp. - FM
+* Added handling of Content-Base and Content-Location MIME headers for
+  rendered HTML streams (still using the document's URL in the 'd'ownload
+  and 'p'rint (and mailing) BASE prepending kludge). - FM
+* Added code to avoid getting tripped up by double-quoted header values
+  in HTMIME.c.  We still need more sophisticated parsing of possibly
+  compound HTTP/1.1 headers, but we don't yet use any of those. - FM
+* Tweak of the efficiency mods for command line parsing in LYMain.c. - FM
+* Simplified some code in LYMainLoop.c that was tripping up the AIX32
+  compiler. - FM
+01-04-97
+* More updates of the online 'h'elp. - FM
+* Added DIRED_MENU support for .tgz files as for .tar.gz files. - FM
+01-03-97
+* Made the command line parsing in LYMain.c more efficient. - FM
+* Added -nopause switch for setting InfoSecs, MessageSecs, and AlertSecs
+  to zero.  Can be used to eliminate forced statusline pauses during
+  traversals. - FM
+* Mods to allow absolute zero quality values for Accept headers, so that
+  in mailcap files users can do things like map image/* to a helper app
+  but exclude particular image subtypes which the app can't handle by
+  assigning q=0 for that subtype.  HTTP/1.1 still specifies 4 significant
+  figures for quality values, so if the value is non-zero, Lynx still
+  forces a minimum of q=0.001. - FM
+* Typo fixes in lynx.cfg. - LWV
+01-02-97
+* Updates of the online 'h'elp files. - FM
+* Made the parsing of lynx.cfg in LYReadCFG.c more efficient. - FM
+01-01-97 -- Happy New Year!
+* More partial/relative HREF resolving enhancements.  Everything is now
+  handled as recommended in Larry Masinter's -03 revision of Roy Fielding's
+  -02 URL ID, except file and ftp URLs (which Lynx handles as described
+  in the online 'h'elp ).  Note, though, that Lynx handles known schemes
+  on a scheme-by-scheme basis, and for schemes that involve substitutions
+  of "/" for a NULL/zero-length path, Lynx inserts the "/" at the resolving
+  stage, so those slashes are present where the Fielding test suite doesn't
+  indicate them, but the actual requests sent to servers (or bad URL message
+  if it's a scheme that requires a host field and doesn't have a default)
+  will be the same.  Note, also, that Lynx sends only the  path<?searchpart>
+  ("absolute path") in it's direct http requests and indicates the host of
+  the URL in the Host:  header, i.e., sends the absolute URL only to proxies.
+  Note, as well, that Lynx treats a zero-length attribute value for an HREF,
+  SRC, etc. as a reference to the currently displayed document, but still
+  uses the base (which might not be the current document's address) as the
+  default for FORMs without an ACTION specified, or ISINDEX tags without
+  an HREF or ACTION specified. - FM
+* Expanded REL/REV handling.  All of the REL values in the (expired) Maloney
+  and Quin draft-ietf-relrev-00.txt ID which make sense for banner links in
+  Lynx have been added.  For REL="Help" without an HREF in the LINK, Lynx
+  uses its helpfile URL.  For REL="Home" without an HREF in the LINK, it
+  uses the configuration startfile or WWW_HOME URL (i.e., not a startfile
+  specified on the command line), or the command line homepage, if it was
+  specified. - FM
+* Added handling of fragments in conjunction with URL expansion guessing for
+  startfile, homepage and 'g'oto strings.  Note that any '#' that is not a
+  fragment delimiter should be hex escaped (%23), and ideally all reserved
+  or unsafe characters will be hex escaped in the user-entered string, though
+  you can get away with not using the hex codes for most others, depending on
+  their positions in the string.  Also note that on VMS if you include the
+  version for local files it must precede the fragment (e.g., foo.html;3#frag)
+  as for parameters. - FM
+12-26-96
+* Mods of HREF resolving to be more consistent with the latest IETF draft
+  (http://www.ics.uci.edu/pub/ietf/uri/draft-fielding-url-syntax-02.txt).
+  Most importantly, lone fragments (HREF="#fragment") are resolved versus
+  the current document's URL, and no longer versus the BASE, if present.
+  There are a few things in the draft which are at odds with what virtually
+  all currently deployed browsers do, and so I stuck with the "deployed"
+  behavior.  Try the tests in  http://www.ics.uci.edu/~fielding/url/  to
+  see where Lynx still differs from the draft. - FM
+* Tweaks of 'z'ap handling. - FM
+12-24-96
+* Tweaks of DIRED_SUPPORT and make for osf. - FM
+12-23-96
+* Added code to check if the startfile has BOOKMARK_TITLE as its title,
+  and if so, and it's in the bookmark file list, add the bookmark element
+  and reload to have it treated as if it were invoked with -book. - FM
+12-21-96
+* Added code for the DIRED_MENU command ('f' and 'F' by default) to invoke
+  CSwing on VMS if CSWING_PATH is defined, as explained in userdefs.h and
+  lynx.cfg . - FM
+12-20-96
+* More improvements in the fatal error and memory exhaustion handling, and
+  plugging of memory leaks. - FM
+* Changed "newline" to "Newline" in LYMainLoop.c to deal with another
+  reported, ill-advised, macro in the AIX 4.2 curses.h. - FM
+* More tweaks of lynx.cfg. - FM
+12-19-96
+* Improvements in the messaging and cleanups for aborts on fatal errors
+  and exits on memory exhaustion. - FM
+* Worked v2.1 of lpansi.c into the distribution. - FM
+* Modified lynx.cfg to reflect the compilation defaults consistently, and
+  changed the compilation default for SUBSTITUTE_UNDERSCORES to FALSE. - FM
+* Changed the "lines" element to "Lines" in the HText structure and the
+  "tab" structure name to "Tab" to cope with some unwise employee reportedly
+  using all lower case "lines" and "tab" strings as macros in the AIX 4.2
+  curses.h. - FM
+12-17-96
+* Restored use of the -l format in the parent links of local Unix directory
+  listings if LONG_LIST is defined, without the v2.6 bug of creating strange,
+  trailing relative or escaped strings.  As far as I can tell from exercizing
+  them, the DIRED_SUPPORT and LONG_LIST handling are now fully debugged
+  (famous last words...  8-). - FM
+12-16-96
+* Don't reiterate parent links in local directory listings.  They are
+  offered only in the top, up to parent link if NO_PARENT_DIR_REFERENCE
+  is not defined. - FM
+* Moved more HTML.c functions to LYCharUtils.c. - FM
+* Tweak of META handling, which was causing crashes (due to freeing an
+  anchor structure prematurely in the 12-13-96 mods for moving HTML.c
+  code to LYCharUtils.c). - FM
+* Block Unix relative path strings in lynxexec and lynxprog URLs. - DT
+12-14-96
+* Added a COLLAPSE_BR_TAGS compilation and configuration symbol for
+  determinining whether Lynx collapses serial BR tags.  Note that the
+  valid way to create extra blank lines in HTML is with PRE blocks that
+  contain only newlines. - FM
+* Fixed a longstanding glitch in the alignment handling which could
+  cause a Paragraph's ALIGN value to cross embebbed blocks, rather than
+  restoring the appropriate alignment for the outer division or block
+  on close of the embedded block. - FM 
+* Modified HR handling so that it inserts the same before and after
+  spacing regardless of whether P end and/or start tags are present
+  before and/or after the HR. - FM
+* Don't insert the bookmark file description and filepath if multiple
+  bookmark file support has been turned off, and this is the default
+  bookmark file (but they will still be inserted if it's not the default,
+  e.g., if it's another bookmark file viewed before the support was
+  turned off, and retrieved as a previous document). - FM
+12-13-96
+* Added parsing of Content-Disposition in META tags and setting the
+  suggested file name if  file; filename=name.suffix  is in the value
+  of the Content attribute and we don't already have that via a server
+  header. - FM
+* Incorporated almost all globals related to stream parsing and page
+  display in HTML.c and GridText.c into the HTML object structure and
+  HText structure to make the parsing and display functions more nearly
+  re-entrant, and moved several functions from HTML.c to LYCharUtils.c
+  to reduce the size of HTML.c. - FM
+* Added -cckr to the libwww Makefile compiler options for SGI. - Carl
+  Buxbaum (crb@world.std.com)
+* Fixed typo in LYMainLoop.c that affected the 'd'ownload command when
+  DIRED_SUPPORT is enabled. - FM
+12-10-96
+* Implemented Safe header handling and prompting about resubmissions of
+  forms with method POST along the lines described in the 24-Nov-96 IETF
+  ID: http://gewis.win.tue.nl/~koen/draft-holtman-http-safe-01.txt
+  Lynx prompts for confirmation whenever it detects that a resubmission
+  would occur, unless the previous reply included "Safe: yes".  Prompts
+  always will occur if the -resubmit_post toggle is on (since resubmission
+  always would occur; not advised).  If not toggled on, resubmissions
+  would occur when no_cache is set or the previous reply has been dumped
+  from the cache.  When using the PREV_DOC command or History Page, if
+  confirmation is not obtained, Lynx will skip to the yet earlier document,
+  or cancel, as appropriate. - FM
+* Added parsing of the Safe header in HTMIME.c, and added a safe element
+  to the anchor and document structures.  Will be FALSE unless a Safe
+  header is received that specifies "YES" or "TRUE" (case-insensitive,
+  only "YES" is in the specs), and applies only to replies from form
+  submissions with the POST method. - FM
+* Cleanup of code in HTAccess.c.  May correct problem of crashes for
+  ISINDEX searches on some systems, though I couldn't reproduce that
+  problem here. - FM
+12-09-96
+* Added an HTSetPresentation() for image/x-xbitmap in HTInit.c when DISPLAY
+  is set. - FM
+* Added an LYOutOfMemory boolean that is set by the outofmem() macro, and
+  code in the Unix FatalProblem() and VMS exit handler for reporting the
+  memory exhaustion instead of the misleading "bug" message when they are
+  invoked due to memory exhaustion.  May not be reported reliably for
+  linux, because for some reason I don't understand, the SIGBUS trapping
+  is ifdef'ed out for linux in LYMain.c. - FM
+* Fixed typo in the new LYAddVisitedLink() in LYHistory.c of yesterday's
+  mods. - KW
+12-08-96
+* Added a VLINKS command, mapped by default to upper case 'V', and code
+  for creating a list of all links 'V'isited during the current Lynx session
+  in order of recency (most recent highest in the list).  Lower case 'v' is
+  still mapped to VIEW_BOOKMARKS.  The VLINKS listing is complementary to
+  the History Page listing, and formatted similarly.  It excludes POST
+  replies, and bookmark, menu and list files (use the History Page or
+  direct keystroke commands for those).  It includes any links that were
+  downloaded, or passed to a helper app (except mailto and newsreply or
+  newsfollowup links, since those require activation in the original
+  document for proper inclusion of it in the email message or news
+  post).  You can print the Visited Links Page, or 'd'ownload it via
+  the History Page. - FM
+* Added reporting of the Charset parameter, if present in a server reply
+  header, META tag, or by virtue of a suffix map, to the showinfo ('=')
+  display. - FM
+12-07-96
+* Added 'p'rint menu support for the History Page. - FM
+* Added a content_length element to the anchor structure and use that,
+  if a Content-Length header has been received, to indicate the total
+  bytes in the statusline when receiving the stream. - FM
+* Include HTTP_ACCEPT_LANGUAGE in the lynxcgi environment. - David Trueman
+  (david@cs.dal.ca).
+12-06-96
+* Many more cleanups and commenting of the code for the benefit of new
+  developers. - FM
+* Tweaks of URL parsing and path simplifications.  Added simplification
+  of the file://localhost paths from startup and 'g'oto guesses. - FM
+* More anti-crash protections for bad HTML in SELECT blocks. - FM
+* Usability enhancement for DIRED's 'F' menu: list number and names of
+  (some of) the tagged items, and provide a way to untag all items. - KW
+* Force screen refresh after a DIRED system command has failed. - KW
+* Modified HTFile.c to handle relative and "Up to parent" links more
+  effectively. - KW
+* Added KEYGEN to the DTD (but no code to do anything with it yet). - FM
+12-05-96
+* Fixed typo in the for-Unix section of LYAddPathToHome() that was added
+  yesterday in LYUtils.c. - James Troup (J.J.Troup@comp.brad.ac.uk)
+12-04-96
+* Numerous cleanups and commenting of the LYfoo.c and LYfoo.h modules,
+  for the benefit of new Lynx developers. - FM
+* More security-related enhancements and polishing up of the multiple
+  bookmark file support. - FM
+* Increased the sizes of MAXHIST and MAXLINKS, added statusline messages
+  should they ever be exceeded (not likely now 8-), and code for freeing
+  all excess pointers on each page draw instead of letting them grow and
+  freeing them on exit (should help for memory-limited systems 8-). - FM
+* Tweaks of DIRED_SUPPORT. - KW
+12-02-96
+* Show nntp server status messages in group listings when not 221 (normal
+  reply to HEAD request), so the user will know that the articles are
+  not available from the server, rather than a bug in Lynx. - FM
+* Tweaks of BASE resolving. - FM
+* Added "trick" to send hostname guesses to stdout when the startfile or
+  homepage are not URLs, as we send to the statusline for 'g'oto guesses
+  (but don't use stdout if we are not interactive and the desired output
+  is going to stdout).  If the DNS lookup stalls, one thus can Control-C
+  out, instead of wondering why Lynx is taking so long to start up. - FM
+* Cleaned up the read_rc() and save_rc() functions in LYrcFile.c. - FM
+* Eliminated all printw() calls to avoid problems with non-ASCII and/or
+  multibyte/CJK characters. - FM
+* Numerous additional bug fixes and enhancements of the multiple bookmark
+  file support. - FM
+* Got rid of the ADVANCED_MULTI_BOOKMARKS symbol now that the choice can
+  be made in the 'o'ptions menu and saved in the .lynxrc file. - FM
+11-30-96
+* Added the ability to set the advanced mode for multiple bookmarks from
+  the options menu and save the defaults in the .lynxrc file - HL
+* Various typo corrections including one which kept LYMainLoop.c from
+  compiling under Unix when DIRED_SUPPORT was defined. - HL
+11-29-96
+* Numerous additional refinements and enhancements of the multiple bookmark
+  support.  Added support for REFRESH and PREV_DOC in the options and bookmark
+  menus, and NEXT_PAGE, PREV_PAGE, and ACTIVATE in the bookmark menus or
+  prompts.  Expanded the anchor and document structures to keep track of
+  different bookmark files in conjunction with VIEW_BOOKMARK, ADD_BOOKMARK,
+  and DEL_BOOKMARK commands, to restore the proper bookmark files on reloads
+  (overt, or because the cache was dumped for subsequent documents accessed
+  via bookmark links), and in conjunction with security-related restrictions.
+  Multiple bookmark support can be regulated via MULTI_BOOKMARK_SUPPORT,
+  BLOCK_MULTI_BOOKMARKS and ADVANCED_MULTI_BOOKMARKS symbols in userdefs.h
+  (or as SITE_DEFS in the Makefile) and lynx.cfg.  The multiple bookmark
+  support can be blocked via a -restrictions=multibook command line switch,
+  which is also set for -anonymous and -validate.  Prompting or display of
+  the bookmark file selection menu occurs only if bookmark files in addition
+  to the startup default have been defined (via the B)ookmark command in the
+  'o'ptions menu, if mu(L)ti bookmarks has been turned on; the setting and
+  definitions can be saved in the .lynxrc file).  Plugged memory leaks in
+  the previous implementation of multiple bookmark support.  Added code for
+  inserting the current description and filepath for each bookmark file
+  dynamically during rendering. - FM
+* Another tweak of attribute order in HTMLDTD.c. - KW
+11-28-96
+* Tweaked multiple bookmark support to fix an error which was causing a
+  crash on some systems and incorrect behavior on others - HL
+* Tweaked editing of multiple bookmark filenames to correct shifting of 
+  screen between multiple pages - HL
+11-26-96
+* Added support for setting the rendering of SELECT OPTIONs as popup menus
+  versus radio button lists via the 'o'ptions menu, and saving the default
+  in the RC file.  Changed NO_SELECT_POPUPS to USE_SELECT_POPUPS in lynx.cfg
+  and userdefs.h.  The -popup switch still overrides everything. - FM
+* Added multiple bookmark support along the lines of the patch from Filip M.
+  Gieszczykiewicz (filipg@paranoia.com), plus numerous enhancements of the
+  'o'ptions menu and bookmark handling. - FM
+* Tweaks of attribute orders in HTMLDTD.h and HTMLDTD.c. - KW
+11-25-96
+* Updated the "Lynx Enhanced Pages" links to the new "Lynx links"
+  (http://www.crl.com/~subir/lynx.html) throughout the help, docs,
+  and code. - FM 
+11-24-96
+* Modified the ENCTYPE="multipart/form-data" handling to indicate the
+  Content-Type with charset parameter, when known, within each part
+  rather than in the main Content-Type header. - FM
+* Corrected typo in HTNews.c. - FM
+* Added support for setting the suggested filename in 'd'ownload and
+  'p'rint options based on the Content-Disposition header if it included
+  the string  file; filename=name.suffix  in its value.  Can be used by
+  CGI scripts to set the suggested filename for saves to disk, downloads
+  or mailings of the script's reply body, so it won't be the last symbolic
+  element in the path field of the form's ACTION (which is normally the
+  the script, itself, or a PATH_INFO element, and thus misleading). - FM 
+* Tweaks of change_sug_filename() in LYUtils.c for better handling of
+  gzipped files on VMS. - FM
+11-23-96
+* Added reporting of the Server, Date and Last-Modified headers, if present
+  in server replies, to the showinfo ('=') display. - FM
+* Added the ability to store the NO_SELECT_POPUPS in the .lynxrc, but the
+  .lynxrc must be edited manually until the options handling is converted
+  to a form-like interface that accommodates more options.  For now, select
+  'O'ptions and write out the options with '>' to create a block in .lynxrc
+  with an explanation of the switch.  The switch is "select_popups" and
+  can have the values of "on", "off", or nothing.  If nothing, the default
+  set in userdefs.h or lynx.cfg will persist.  Otherwise, "on" will set use
+  of popups and "off" will set use of radio buttons as the default.  The
+  startup default always can be toggled via the -popup switch. - HL & FM
+* Corrected a couple of typos in the help files. - HL
+11-22-96
+* Added support for WHEREIS ('/') and 'n'ext searches within SELECT popups.
+  The buffering for 'n'ext is separate from that in the main loop (i.e.,
+  for non-form field document searches), but all previously entered search
+  strings are still combined into a circular buffer and can be accessed via
+  the up-arrow or down-arrow keys at the prompt for a search string.  The
+  searches within popup menus do not yield highlighting of the search string,
+  but simply positioning of the cursor on successive options which contain
+  the search string. - FM
+* Added support for all of the navigation commands within SELECT popup
+  windows, including HOME, END, UP_TWO, DOWN_TWO, UP_HALF and DOWN_HALF,
+  in addition to the single line and paging navigation commands. - FM
+* Added support for the REFRESH command within SELECT popup windows. - FM
+* Tweak of hookless snews handling. - FM
+11-21-96
+* Added handling of forms with ENCTYPE="multipart/form-data".  Note that
+  we still don't support INPUTs with TYPE="file" or TYPE="range", and
+  thus still set the DISABLED attribute for all fields in the form if
+  either of those two TYPEs are present in it. - FM
+* Tweak of -mime_header handling. - FM
+* Typo fixes of comments in HTML.c. - Albert S Woodhull
+  (aswNS@hamp.hampshire.edu)
+11-20-96
+* Added a NO_SELECT_POPUPS compilation (userdefs.h) and configuration
+  (lynx.cfg) definition, normally set FALSE.  If set TRUE, single-choice
+  SELECT blocks (i.e., ones without the MULTIPLE attribute) will be handled
+  as a list of radio buttons instead of via a popup window.  Also added a
+  -popup command line switch for toggling the compilation or configuration
+  setting. - FM
+11-18-96
+* Tweak of LYFindEndOfComment() in LYCharUtils.c. - Brian Borowski
+  (brianb@braille.uwo.ca)
+11-17-96
+* Added links to the lynx-dev hypertext archive at FLORA in the online
+  'h'elp. - FM
+* Tweaks of my_spawn() in LYLocal.c. - KW
+11-16-96
+* Added support for use of the 'd'ownload command on TYPE="submit" and
+  TYPE="image" submit buttons.  You still must use the History Page for
+  TYPE="text" INPUT fields that also act as submit buttons by virtue of
+  being the only non-hidden field, because the 'd'ownload command key
+  could be a text entry into the field, and thus must be treated as
+  such. - FM 
+11-15-96
+* Mods of HTFormat.c and HTTP.c for better handling of unexpected server
+  disconnects. - FM
+11-13-96
+* Wind down the element stack on EOF if any unclosed tags were received. - FM
+* Fixed typos in the HTMLDTD.c BODYTEXT definitions. - FM
+11-10-96
+* More tweaks of hook-less snews handling. - FM
+* Changed the default STARTFILE to http://lynx.browser.org/ and the default
+  HELPFILE to the v2.6 set at NYU in userdefs.h and lynx.cfg. - FM
+* New function HTUnEscapeSome() in HTParse.c for unescaping selected
+  characters in a string.. - KW
+* Numerous changes to make DIRED_SUPPORT work as intended, to use the
+  library's HTList functions and macros for managing the list of tagged
+  file URLs, and to keep track of proper levels of URL escaping so that
+  unusual filenames which contain #% etc. are handled properly.  Can now
+  edit, move, etc. Abc%25252525def.html, #xy#~, etc. - KW
+11-09-96
+* Treat 301 or 302 redirection of a POST as 303 when the Lynx process is
+  non-interactive, rather than rejecting the redirection, since 303 is
+  still most likely what the CGI script actually intends (will still
+  prompt if the process is interactive). - FM
+* Added parsing and trace mode reporting of Content-Disposition headers
+  in HTMIME.c (should be used, someday, to set the suggested file name
+  for disk saves and downloads based on any filename=foo.blah field). - FM
+* Further mods of HTNews.c to facilitate use of Lynx without SSL-hooks
+  in conjunction with an SSL-capable daemon/proxy for snews URLs that
+  returns NNTP streams for Lynx itself to convert into HTML, instead
+  of already converted streams as from a standard proxy. - TZ & FM
+11-08-96
+* Changed information returned by "-version" in LYMain.c to point to
+  lynx.browser.org and added a date to the copyright info. - HL
+11-07-96
+* Mods of HTNews.c to facilitate use of Lynx without SSL-hooks in
+  conjunction with an SSL-capable daemon/proxy for snews URLs. - TZ
+11-05-96
+* Typo fixes in HTMIME.c. - KW
+* Tweak of NSL_FORK mods. - FM
+11-04-96
+* Tweaks of host parsing when a password and/or username is present
+  in override_proxy() of HTAccess.c. - FM
+* Tweaks of the UNDERSCORES and STARS macro setup and useage to avoid
+  possible crashes for FORMs with long values. - FM
+* Worked in Tom Zerucha's (tz@execpc.com) code for fork-based name
+  server lookups that can be 'z'apped.  May not yet be portable to
+  all flavors of Unix.  Add -DNSL_FORK to your SITE_LYDEFS to try
+  it. - FM
+11-02-96
+* Fixed typo in HTAlert.h. - FM
+* Cleaned up HTTCP.c code, simplified some of its spaghetti
+  ifdef'ing, and worked in mods to bypass connection confirmations
+  when Lynx is SOCKSified and the socks_flag is set. - FM
+* Added recognition and acceptance of text/x-sgml and text/sgml
+  MIME types (all that I've encountered thus far work fine with
+  Lynx, though it doesn't yet interpret marked sections). - FM
+* Added socket function prototypes for MultiNet in tcp.h. - FM
+* Mods to facilitate application of the SSL patches (after some
+  corrections in the patches to keep HTLoadHTTP re-entrant, make
+  CONNECT work as intended again, and eliminate memory leaks in
+  the SSLeay adaption) - FM
+* Adding info about -DNO_TTYTYPE in top level Makefile. - FM
+* Use clrtoeol() in LYOptions.c to ensure that no terminals which use
+  reverse video for standout() will have trailing reverse fields on
+  edits of option vaules. - DK
+* Offer user@host instead of WebMaster@host for the 'c'omment command
+  if the path for the URL begins with a tilde and there is no
+  LINK REV="made" present. - FM
+* Tweaks of inews Makefile and clientlib.c. - Christopher R. Maden
+  (crm@ebt.com)
+* Check nhist before attempting a DIRED_SUPPORT directory listing in
+  LYShowInfo.c. - KW
+10-21-96
+* Offer WebMaster@host for the 'c'omment command if no LINK REV="made"
+  was present in a text/html document, and save a known owner URL when
+  toggling to source ('\') so that the 'c'omment command can still be
+  used with that owner's (mailto or homepage) URL, but the source can
+  be included in the comment, as would be desireable (instead of a bad
+  rendering) when sending a comment about bad HTML in the document. - FM
+10-20-96
+* Added code for traversing the pseudo-documents created for client-side
+  image MAPs.  See the updated CRAWL.announce for more information. - FM
+10-19-96
+* Added definitions in LYCurses.h relating curses function calls to slang
+  functions or emulations for compatibility with new versions of slang,
+  based on patch from John E. Davis (davis@space.mit.edu). - FM
+* Added unescaping of the full address fields in mailto URLs or ACTIONs,
+  and improved the reliability of the parsing of the subject header from
+  the ?searchpart Netscapism when present. - FM
+* Give user option to use 303-like coversion of POST to GET in confirmation
+  requests for redirection of POSTs, base on patches from Drazen Kacar
+  (dave@fly.cc.fer.hr). - FM
+* Tweaks of POST content submissions in HTTP.c, based on patch from
+  KW. - FM
+* Fixed EOF checks in HTAAFile.c, HTGroup.c and HTPasswd.c, and improved
+  host address parsing in HTTCP.c, based on patches from Larry Schwimmer
+  (schwim@cyclone.stanford.edu) and Klaus Weide (kweide@tezcat.com). - FM
+* Added targets for umaxv and umaxv-slang for Encore's UMAXV - Thanh Ma
+  (tma@encore.com)
+10-16-96
+* Send the rendering of decompressed files to stdout with -dump, don't
+  spawn a viewer under any circumstances if -dump was used instead of
+  -source for Content-Types that are not text/html, and remove the
+  temporary decompressed files before exiting with -dump or -source. - FM
+* Properly handle TYPE="radio" versus TYPE="checkbox" INPUTs with NULL
+  or zero-length VALUEs. - FM
+* Added a continuation line token for the netbsd-ncurses target - HL
+* Fixed a typo in HTMIME.c in the trace output - HL
+* Block predictable buffer overrun in GridText.c if a page has more
+  than MAXLINKS links in it. - FM
+10-01-96
+* Add a Mime-Version header to the other headers in LYPrint.c so that the
+  09-20-96 mods for mailing source do what they were intended to do. :) -
+  Hamish MacEwan (macewanh@diatp.dia.govt.nz)
+09-20-96
+* Add a BASE tag to the tops of HTML source files, a la Netscape, when
+  mailing or downloading, and don't worry, for now, if that creates
+  technically invalid HTML (since Lynx copes with it as of the 09-15-96
+  mods 8-). - FM
+* Include Content-Type, Content-Location and Content-Base headers when
+  mailing HTML source on Unix. - FM
+* Use .txt versus .html suffixes when submitting rendered versus HTML source
+  temporary files to VMS MAIL, so that transports such as PMDF will indicate
+  the appropriate Content-Type. - FM
+09-17-96
+* Handle illegally positioned BASE tags. - FM
+* Tweak of Q nesting level checks. - Pawel Wiecek
+  (coven@i17linuxb.ists.pwr.wroc.pl)
+* Fixed typo in HTMIME.c for parsing of Pragma header. - Wilson Cheung
+  (wcheung@netcom.com)
+* Added parsing of Set-Cookie header in HTMIME.c (see IETF ID
+  http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-mgmt-03.txt
+  for info on how to implement it's use). - FM
+* Fixed typo in LYMainLoop.c for display of error message when up arrow is
+  pressed at the top of a document. - Hiram Lester, Jr. (hwlester@pobox.com)
+09-16-96
+* Use standard ls -l parsing of LIST output for Windows_NT ftp servers in
+  Lynx v2.6 as in v2.5. - FM
+
+--- Rename of Lynx2-5FM and release as Lynx2-6  (02-Sep-1996) ---
+    (see CHANGES2-6, CHANGES2-5, CHANGES2-4 and CHANGES2-3)
+==============================================================================
diff --git a/docs/CHANGES.chartrans b/docs/CHANGES.chartrans
new file mode 100644
index 00000000..d7bd8d7d
--- /dev/null
+++ b/docs/CHANGES.chartrans
@@ -0,0 +1,204 @@
+$Id: CHANGES.chartrans,v 1.1 1997/09/07 17:04:10 tom Exp $
+$ProjectHeader: Lynx 2.7.1ac-0.89 Mon, 27 Oct 1997 12:05:04 -0700 kweide $
+
+1997-09-06
+ Lynx 2.7.1ac-0.61
+  Several new translation tables have been added or modified recently,
+  associated code changes.
+1997-07-25
+ Lynx 2.7.1ac-0.42
+* Map charsets of the form "ibmNNN<...>" to "cpNNN<...>" in UCdomap.c
+  if not already recognized.  Also recognize "windows-1252".
+1997-07-17
+ Lynx 2.7.1ac-0.35
+* Since 1997-06-29 the chartrans code (with minor changes; most relating
+  to functions in LYStrings.c) is part of Foteos Macrides's "fotemods"
+  to Lynx 2.7.1.  This code ("developmet code") has been compared against
+  fotemods.  Some functions renamed to FM's names.
+* Now also include FM's recognition of &xnnnn; character references.
+  In general more detailed change info can be found in CHANGES.new.
+1997-05-15
+ Lynx 2.7.1wb+ct-0.26
+* Mods in LYMainLoop.c to not force a cache refresh on a proxy any more
+  when INLINE_TOGGLE, IMAGE_TOGGLE, RAW_TOGGLE are used.  On the other
+  hand, do force a proxy cache refresh after one of the variables relevant
+  for content negotiation `language' or `pref_charset' has been changed
+  from the Options screen, if the current document is from a http, https, or
+  lynxcgi resource.
+* Set HTTP_ACCEPT_CHARSET environment variable for the child process in
+  LYCgi.c if pref_charset is not NULL.
+* Write a META tag with the current display character sets to
+  the files generated for Bookmarks, List, Info, History, and Visited Links
+  pages, so title strings contained in those files will (hopefully) not
+  get erroneously translated again.  Use new function add_META_charset_to_fd()
+  in LUCharUtils for this purpose.
+* makeuctb now sets RawUni to UCT_ENC_8BIT if not otherwise set
+  and if there are char values above 127.
+* Change in HTuncache_current_document() to prevent caching of
+  UCStages info which should be discarded.  Still allow caching for this
+  in the node_anchor for source display, so that a META tag in the parsed
+  HTML can influence the display after using the SOURCE '\' key. - KW
+* Changed display_title() in GridText.c to not rely on sprintf() to get
+  the number of blanks right.  There were problems with C1 characters.
+* Added new lynx.cfg symbols ASSUME_CHARSET, 
+  ASSUME_LOCAL_CHARSET, and ASSUME_UNREC_CHARSET.  They are only
+  recognized if compiled with -DEXP_CHARTRANS.  They correspond to the
+  command line options -assume_charset, -assume_local_charset, and
+  -assume_unrec_charset.
+  The default for ASSUME_CHARSET is iso-8859-1 (corresponding to display
+  character set "ISO Latin 1").  If no ASSUME_LOCAL_CHARSET is set,
+  the explicit or default value for ASSUME_CHARSET will also be used for
+  local files.  ASSUME_UNREC_CHARSET has no default.  See added text
+  in lynx.cfg.
+* Changes in LYCharSets.c to HTMLSetCharacterHandling() and
+  HTMLSetUseDefaultRawMode() to support (hopefully) more consistent
+  and user-friendly handling of raw mode and its default.
+  
+1997-05-03
+ Lynx 2.7.1wb+ct-0.20
+  Now always check for LYlowest_eightbit[current_char_set]
+  near the top of HText_appendCharacter(), to prevent writing C1 control 
+  chars to the terminal if they are not valid as displayabable characters 
+  according to the selected "display character set" Option.
+  All this should be handled earlier in processing, and this check may
+  disappear again for testing, but somebody asked for it...
+  Slightly updated some doc files.
+
+1997-04-12
+ Lynx 2.7.1wb+ct-0.11
+  Added TRACE output to UCAuto.c
+  Changes in LYMail.c and LYPrint.c to send Content-Transfer-Encoding
+  header and/or charset parameter in mail
+
+1997-04-08
+ Lynx 2.7.1wb+ct-0.3
+  New translation tables def7_uni and koi8r_uni.  Use them.
+  Table def7 is based on RFC1345 and mnemonic,ds from ftp://dkuug.dk/i18n/
+  and previous Lynx replacements in LYCharSets.c and some IPA FAQ
+  convention and stuff for Ethiopic and KOI8-R.  It maps many of
+  the accented Latin characters to their unaccented counterparts.
+  Make def7_uni default table and associate it with us-ascii and
+  "7 bit approximations".
+  Lots of new entities from Hynek Med finally integrated.
+  Those include ascii characters and characters common between
+  Latin1 and Latin2.  Let's see what happens.
+  Added mappings for some "smart quote" characters to several
+  translation tables.
+  Make makeuctb slightly more flexible (accept Unicode range for
+  mapping to single code point).
+  Also changes for &Dstrok;, ETH;, and &eth; in LYCharSets.c.
+  These are basically just data changes; code still hasn't progressed
+  much, so for example translation of ALT strings (from anything but
+  iso-8859-1) still doesn't work.
+
+1997-03-20
+ Lynx 2.7ac-0.20
+  merged with FM's 27bugfixes up to 1997-03-20
+
+1997-03-20
+ Lynx 2.7ac-0.9
+  merged with FM's 27bugfixes up to 1997-03-17; adapted part of
+  FM's change re trademark character to the present chartrans code,
+  as follows:
+* Modified SGML.c to handle the numeric character reference &#8482; as
+  the named entity &trade; also in the non-chartrans case.  The
+  trademark character (given by &#8482; or &trade;) will be shown as
+  "(TM)" as the ASCII substitution unless the current display character
+  has a code point for the trademark character or unless overridden by a
+  chartrans translation table. The code of 1997-02-25 prevented showing
+  the trademark sign as "(R)" but did not work in all non-chartrans
+  cases. - KW
+
+1997-03-12
+ Lynx 2.7ac-0.6
+  some doc changes, make compilation in src/chrtrans less verbose,
+  no more *.h_old backup copies.
+
+1997-03-12
+ Lynx 2.7ac-0.5
+  patch from Tom Dickey for refinement of SVr4 (ncurses) color support
+
+1997-03-11
+ Lynx 2.7ac-0.4
+  New patches from Wayne for Win32/DOS applied.
+
+1997-03-11
+ Lynx 2.7ac-0.3
+  today's 27bugfixes also merged in.
+
+1997-03-11
+ Lynx 2.7ac-0.2
+* Merged code from Thomas E. Dickey and Jim Spath for auto configuration
+  and simple (SLang-like) curses color, which was based on 2.7wb+ct-0.4,
+  with 27bugfixes up to 1997-03-10.
+
+1997-03-03
+ Lynx 2.7wb+ct-0.4
+* (chartrans) Minor cleanups (makeuctb.c, chrtrans/Makefile, HTPlain.c)
+  to enable successful compilation on Win32.
+  Also changes and new files from Wayne to fix FTP and enable Mail for Win32,
+  and to compile chartrans code.
+
+1997-03-03
+ Lynx 2.7ct-0.8
+  Lynx 2.7 chartrans + 27bugfixes up to 1997-03-02
+
+1997-02-28
+ Lynx 2.7ct-0.7
+  Lynx 2.7 chartrans + 27bugfixes up to 1997-02-28
+  small correction in SGML.c (set_chartrans_handling)
+
+1997-02-27
+ Lynx 2.7ct-0.6
+  Lynx 2.7 chartrans + 27bugfixes up to 1997-02-26
+
+1997-02-26
+ Lynx 2.7ct-0.5
+  minor tweaks for packaging
+
+1997-02-26
+ Lynx 2.7ct-0.4
+  Ok, now really remove local configuration changes (for distribution)...
+
+1997-02-25
+ Lynx 2.7ct-0.3
+  merged with Fote's 27bugfixes up to 1997-02-25
+
+1997-02-25
+ Lynx 2.7ct-0.2
+  Removed some local changes from userdefs.h and Makefile.
+  Mapping of U+fffd (replacement) to 0x00 removed from the used
+  iso0x table files.
+
+1997-02-25
+ Lynx 2.7ct-0.1
+  Update to work with official Lynx 2.7 distribution.
+  Add showing of effective charset in LYShowInfo.c even if not explicitly
+  given.
+  No showing of (TM) as (R) any more - mostly changes in LYCharUtils.c
+  (but these are independent of the chartrans stuff, translation routines 
+  in LYCharUtils.c still not chartrans-ified).
+  Prefer HTTP-EQUIV over NAME in META tags.
+  Start managing changes with PRCS - the Project Revision Control System.
+ 
+1996-12-01
+ lynx-patch-2.6ct-0.2.pch
+  Update to work with 11-30-96 Composite Patch.
+  Two new translation tables: cp852, windows-1250.
+  Compiling without -DEXP_CHARTRANS now also works... but one still has to
+  manually remove (comment out) first line of src/Makefile for that.
+  Minor changes to README files, this file.
+
+1996-11-29
+ add-to-cp-2.6ct-0.1a.zip - install over Lynx2.6 + 11-28-96 CP.
+  Full files no diffs.
+ add-to-offi-2.6ct-0.1a.zip - install over Lynx2.6 to get 11-28-96 CP +
+  chartrans.  Full files, no diffs.
+
+ lynx-patch-2.6ct-0.1a.pch
+  Update to work with 11-28-96 Composite Patch.
+
+1996-11-28
+ lynx-newfiles-2.6ct-0.1.{zip,tar.gz}, lynx-patch-2.6ct-0.1.pch
+  First packaged and announced.  Works with 11-24-96 Composite Patch
+  from Hiram Lester.
diff --git a/docs/INSTALLATION.old b/docs/INSTALLATION.old
new file mode 100644
index 00000000..a73294e3
--- /dev/null
+++ b/docs/INSTALLATION.old
@@ -0,0 +1,399 @@
+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
new file mode 100644
index 00000000..7d44f84c
--- /dev/null
+++ b/docs/Makefile.old
@@ -0,0 +1,1106 @@
+##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) -DEXP_CHARTRANS # Your defines here
+
+# Set SITE_DEFS to one or more of the defines for lynx below:
+SITE_DEFS = $(DIR_DEFS) $(RP_DEFS) -DEXP_CHARTRANS -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  enable chartrans support w/ new charsets, UTF8 mode etc.
+#                  (needed in SITE_DEFS *and* SITE_LYDEFS !)
+# -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/README.chartrans b/docs/README.chartrans
new file mode 100644
index 00000000..0c0ebd9c
--- /dev/null
+++ b/docs/README.chartrans
@@ -0,0 +1,197 @@
+Lynx CHARTRANS
+
+ Features (in addition to those which Lynx already has):
+ 
+- Can (attempt to) translate from any document charset to any display
+   character set, *IF* the document charset is known by a translation 
+   table (compiled in at installation).
+
+ - Old method for specifying translations of Latin1 characters and
+   SGML entities still supported. (IBMPC-charsets.announce is still
+   relevant.)
+
+ - New method to define character sets: used for input charset as well
+   as display character set, translation tables compiled in from 
+   separate files (one per charset).
+
+ - Unicode (UTF8) support: can (attempt to) decode and translate UTF8 to
+   display character set, or pass through UTF to display (if terminal
+   or console understands UTF8).  [raw display of UTF only tested with Slang 
+   so far, does not always position everything correctly on screen]
+
+ - Support for CHARSET attribute on A tag [but not yet on LINK], as in
+   HTML i18n RFC 2070.  A link can suggest the target's charset in this way.
+
+ - EXPERIMENTAL, currently enabled only for Linux console: 
+   can (attempt to) automatically switch terminal mode and load new
+   code pages on change of display character set.
+
+ - some minor changes: sometimes invalid characters are displayed in a hex
+   notation Uxxxx (helps debugging, but I also regard it as at least not
+   worse than showing the wrong char without warning).
+
+Additions/changes to user interface:
+
+ - many new Display Character Sets are available on O)ptions screen.
+   (also can now use arrow keys, HOME, END etc. for cycling through the list). 
+
+ - new command line flags:
+   -assume_charset=...  assume this as charset for documents that don't
+                        specify a charset parameter in HTTP headers
+   -assume_unknown_charset=...  in case a charset parameter is not recognized 
+   -assume_local_charset=... assume this as charset of local file: docs 
+   also available as ASSUME_CHARSET etc. in lynx.cfg
+
+ - The "Raw" toggle (from -raw flag, '@' key, or Options screen)
+   o  should work as before for CJK charsets,
+   o  otherwise toggles the assumption "Default remote charset is same 
+      as Display Character Set" on or off.
+      Toggling of the assumed charset is between Display Character Set and
+      the specified ASSUME_CHARSET or, if they are the same, between the
+      specified ASSUME_CHARSET and ISO-8859-1.
+   o  The default for raw mode now depends on the Display Character Set as
+      well as on the specified ASSUME_CHARSET value.
+   (Try the "Transparent" Display Character Set for more "rawness".)
+
+Requirements:  same as for Lynx in general :)
+
+The chartrans code is now merged with Wayne Buttle's changes for
+32-bit MS Windows and DOS/DJGPP, with Thomas Dickey's and Jim Spath's
+emerging auto-configure mechanism, and with BUGFIXES from Foteos
+Macrides.  See the accompanying file CHANGES.few for the current
+status.
+
+
+A WARNING BEFORE YOU PROCEDE:
+
+This is experimental.  It works already nicely for me, but I have only
+tested it on Linux, compiled with Slang.  In some cases undisplayable bytes
+may get sent to the terminal which are then interpreted as control chars.
+Other usual warnings about alpha software apply...
+
+
+HOW TO GET SOURCES:
+
+The location of files mentioned below is currently at
+         <URL: http://sol.slcc.edu/lynx/klaus/merged/all/>
+but it is probably easier to get a full package of the development code
+from
+         <URL: http://sol.slcc.edu/lynx/current/>
+(different formats there, check it out.)
+Check both locations to find the newest version.
+
+There are three alternatives:
+( Replace the * in the followin filenames with the appropriate subversion )
+
+(1.)
+   Provided as a full Lynx distribution (for now..) - in zip format.
+   This contains the complete Lynx source package.
+
+   Just get lynx-2.7.1ac-*.zip.
+
+(2.)
+   Provided as add-on over the Lynx 2.7.1 distribution, i.e. all files that
+   are new or have changed - in zip format.
+   (a) Get the official Lynx 2.7.1 distribution - see list of download sites at
+           <URL: http://www.crl.com/~subir/lynx/sources.html>.
+   (b) Get add-to-offi-2.7.1ac-*.zip.
+   (c) Unpack the official 2.7.1 package, then unzip add-to-offi-2.7.1ac-*.zip
+       over that directory tree.
+
+(3.)
+   Provided in two files (for minimal download time) to install over the
+   Lynx 2.7.1 distribution - needs gunzip, tar, and patch.
+   (a) Get the official Lynx 2.7.1 distribution - see list of download sites at
+           <URL: http://www.crl.com/~subir/lynx/sources.html>.
+   (b) Get lynx-newfiles-2.7.1ac-*.tar.gz.
+   (c) Get lynx-patch-2.7.1ac-*.pch.gz.
+   (d) Unpack the official 2.7.1 package, then unpack 
+       lynx-newfiles-2.7.1ac-*.tar.gz over that directory tree.
+   (d) Apply patches from lynx-patch-2.7.1ac-*.pch.
+
+
+HOW TO INSTALL:
+
+(4) before compiling:
+
+    Check top level makefile or Makefile and userdefs.h as usual.
+
+    NOTE that there is a new "#define" in userdefs.h for MAX_CHARSETS
+    near the end (in "Section 3.").
+
+    NOTE that in the top-level Makefile, the -DEXP_CHARTRANS must be
+    in *both* SITE_DEFS *and* SITE_LYDEFS.
+
+(5) Building Lynx:
+
+    If you are compiling for VMS you have to figure out for yourself
+    how to modify the procedure, sorry.
+
+    What's supposed to happen (in addition to the usual things when
+    building Lynx): in the new subdirectory src/chrtrans, make should
+    first compile the auxiliary program `makeuctb', then invoke that
+    program to create xxxxx_yyy.h files from the provided xxxxx.yyy
+    translation table files.  (See README.* files in src/chrtrans for
+    more info.)
+
+    If all goes well, just invoking make from the top-level Lynx dir
+    as usual should do everything automatically.  If not, the makefiles
+    may need some tweaking... or:
+
+(6) Some things to look at if compilation fails:
+
+    In src/chrtrans/UCkd.h there is a typedef for an unsigned 16bit
+    numeric type which may need to be changed for your system.  
+    See comment near top there.
+
+    For recompiling Lynx, `make clean' should not be necessary if only
+    files in src/chrtrans have been changed.  On the other hand 
+    may not propagate to the src/chrtrans directory (depending how things
+    are going with auto-config), you may have to cd to that directory 
+    and `make clean' there to really clean up there.
+
+(7) To customize (add/change translation tables etc.):
+
+     See README.* files in src/chrtrans.
+     Make the necessary changes there, then recompile.
+     (A general `make clean' should not be necessary, but make sure
+     the ...uni.h file in src/chrtrans gets regenerated.)
+
+     Note that definition of new character entities (if e.g. you want
+     Lynx to recognize &Zcaron;) are not covered by these table files,
+     they have to be listed in HTMLDTD.c.  
+
+     _If you are on a Linux system_ and using Lynx on the console (i.e.
+     not xterm, not a dialup *into* the Linux box), you can compile
+     with -DEXP_CHARTRANS_AUTOSWITCH.  This is very useful for testing
+     the various Display Character Sets, Lynx will try to automatically
+     chage the console state.  You need to have the Linux kbd package
+     installed, with a working `setfont' command executable by the user,
+     and the right font files - check the source in src/UCAuto.c for
+     the files used and/or to change them!  
+     NOTE that with this enabled,
+     - Lynx currently will not clean up the console state at exit,
+       it will probably left like the last Display Character Set you used.
+     - Loading a font is global across _all_ virtual text consoles, so
+       using Lynx (compiled with this flag) may change the appearance of
+       text on other consoles (if that text contains characters 
+       beyond ASCII).
+
+(8) Some suggested Web pages for testing:
+
+    <URL:  http://www.tezcat.com/~kweide/lynx-chartrans/test/>
+
+    <URL:  http://www.isoc.org:8080/>,
+      especially 
+    <URL:  http://www.isoc.org:8080/liste_ml.htm>.
+
+    <URL:  http://www.accentsoft.com/un/un-all.htm>
+
+(9) Please report bugs, unexpected behavior, etc. 
+    to <lynx-dev@sig.net> or <kweide@tezcat.com>.
+
+    Suggestions for improvement would be welcome, as well as 
+    contributed translation tables (for stuff that is not available
+    at ftp://dkuug.dk or ftp://unicode.org).
+
+KW  1996-05-03