1997-08-23
* Mods in LYCharUtils.c and SGML.c to use upper case letters for hexadecimal
  digits (A - F) when using Uhhh substitutions for untranslated unicode
  characters.  This makes them stand out more clearly because the actual
  text characters are most likely to be lower case. - FM
1997-08-22
* Fixed typo in LYReadCFG.c when checking for a NOVICE mode default. - JN
  (Note that this and other lynx.cfg defaults which have 'o'ptions settings
  are overridden when the 'o'ptions are saved to the RC file. - FM)
1997-08-21
* Mods of HTML.c, LYExpandString() in LYCharUtils.c, and SGML.c to handle
  raw 8-bit characters in relation to the document charset and the current
  display character set for attribute values.  Note that we cannot handle
  a unicode-1-1-utf-8 document charset, because the initial character
  filter in SGML_character() of SGML.c loses multibyte utf-8 characters
  when received without it being in the S_text state.  The current looping
  tricks may need to be replaced by a proper state mechanism. - FM
1997-08-19
* Tweak of highlight() in LYUtils.c to ensure that split link names with a
  soft hyphen are handled identically for slang, VMS curses and Unix curses
  when such links are made current. - FM
1997-08-17
* Tweaks in print_wwwfile_to_fd() and print_crawl_to_fd() to handle soft
  hyphens at the ends of output lines. - KW & FM
* Don't send MIME types in Accept headers whose q values are outside of the
  allowed range 0.0 <= q <= 1.0 - KW
* Tweaks in HTInit.c to use the official names for image/png and image/tiff,
  but still support the image/x-* forms. - KW
* Use 0.01 rather than 0.001 as the q value for the global wildcard in
  Accept headers. - FM
1997-08-16
* Fixed a bug in LYNews.c which caused overwritting of the first three
  characters in the Subject for a followup. - FM
* Further modified HTHandleAuthInfo() in HTNews.c to take into account that
  an nntp server may close the connection on an AUTHINFO failure. - FM
* Worked in KW's mods in HTFWriter.c so that uncompressed files which will
  be handled by helper apps are passed directly to the helper apps in
  HTFWriter_free(), rather than looping back through HTLoadFile() as for
  files which will be handled by Lynx, itself. - FM
1997-08-15
* Modified the news gateway to try XGTITLE for wildcarded lists of
  available newsgroups (e.g., news:bionet.* for the bionet hierarchy,
  or news:* for all of its served newsgroups).  If that fails, Lynx
  retries with the old behavior of using LIST NEWSGROUPS and parsing
  the reply itself for the desired groups.  Note that LIST NEWSGROUPS
  can take a wildcarded argument for some nntp servers, but not all,
  so we don't risk it. - FM
* Fixed a bug in HTHandleAuthInfo() of yesterday's HTNews.c which could
  yield an infinite while() loop. - FM
1997-08-14
* Added nntp authorization (AUTHINFO) handling to the news gateway. - FM
* Added a "Loading cfg file '%s'." trace message in LYMain.c to indicate
  the absolute path of the configuration (lynx.cfg) file which was used
  at startup (if Lynx is invoked with the -trace command line switch). - FM
1997-08-13
* Tweaks of LYConvertToURL() in LYUtils.c and HTParseInet() in HTTCP.c
  to deal more coherantly with 'z'ap attempts during gethostbyname()
  calls. - FM
* Tweaks of split_line() and HText_endAppend() in GridText.c to handle
  trimming of spaces from the tails of link names more effectively. - FM
* Expanded the OL nesting depth and type counters to track up to 12 list
  depths before punting to the lowest negative number.  Note that the
  indentations still are limited to 6 nested depths, so use the TYPE
  attribute to distinquish OLs with deeper nestings. - FM
1997-08-12
* Mods of LYMainLoop.c to maintain treatment of a local startfile as
  text/html source when it does not have a suffix mapped to that MIME
  type and the -force_html switch was used. - FM
* Added .phtml to the default suffix mappings for text/html. - FM
* Mods of LYCurses.c to avoid using /dev/tty arbitrarily for stdin on
  Unix when compiling with slang versions greater than 0.99-35, based
  on JED's suggestion to lynx-dev. - FM
* Tweaks of HTCheckFnameForCompression() in GridText.c to avoid warnings
  from some compilers. - FM
1997-08-10
* Tweaks of the cp866 and koi8-r chartrans tables. - KW
1997-08-08
* Mods of HTTP.c so that download requests are converted to presentation
  requests for interactive users, and traversal requests are converted to
  cancels, when servers return non-success statuses with bodies which
  should be displayed to interactive users. - FM
* Added the "DOSCyrillic (cp866)" display character set to the chartrans
  support, and tweaked the other Cyrillic charset tables. - AAC
1997-08-07
* Tweaks of yesterdays mods in GridText.c. - FM
* Corrected storage class of some variables in UCMap.h. - TD
1997-08-06
* Modified HTMIME.c and LYCharUtils.c so that setting of suggested filenames
  via a filename=value pair in Content-Disposition headers and META elements
  is not restricted to the file disposition type. - FM
* Mods in GridText.c, LYGetFile.c and HTAnchor.c so that suggested filenames
  will have appropriate suffixes when 'd'ownloading, based on whether or not
  the file is gzipped or Unix compressed. - FM
1997-08-05
* Mods of the lead relative symbolic element stripping for http/https
  URLs in cases for which they would persist when resolved to an
  absolute URL.  The lastest URL draft is ambiguous about whether this
  should be considered an error, and leaves the handling of it up to the
  UA.  So we now get rid of all lead relative symbolic elements from the
  resolved http/https URLs, but no others, and still issue a Bad Partial
  Reference statusline message. - FM
* Fixed header parsing in HTMIME.c so that "Safe:" is recognized. - KW
* Changed confirmation prompts for HEAD (']') commands acting on a POST
  document, to reflect the fact that the POST request body will not
  actually be submitted in a HEAD request. - KW
* Reset LYCancelDownload to FALSE at top of getfile(), to prevent delayed
  effect which can otherwise occur. - KW
* Changed the NSL_FORK code in HTTCP.c so that the gethostbyname() call
  is retried without forking if the child process exits without returning
  enough data.  Also added trace output, to show whether something
  unusual has happened to the child process. - KW
* Tweaks of title handling in LYMainLoop.c and LYShowInfo.c so that the
  known title, or link name associated with ACTIVATE-ion, form submission,
  or a HEAD request, will be used in the INFO ('=') display. - FM
1997-08-04
* Added protections against spoof attempts or denial of service attacks
  via wrap arounds of port values at 65536. - FM
1997-08-03
* The IETF has indicated intent to adopt KW's "status 307" proposal for
  dealing with the status 302 problems, so HTTP.c and HTAlert.c implement
  that now.  The 302 status is "General (temporary) Redirection" which
  can be handled as 303 at the UA's discretion, so we do that in all cases,
  rather than prompting the user whether to do that when the 302 is for
  a POST submission.  The 307 (and 305) for POST submissions invokes a
  prompt whether to P)roceed or C)ancel, without the Use G)ET option.
  The 301 is treated as permanent, normally, but for POST submissions
  still is treated as temporary and invokes a prompt which includes the
  Use G)ET option, because scripts written to empirical behavior may
  still be expecting that (it's virtually never encountered in redirections
  of POSTs, though, because the document containing the form typically
  is redirected, so the user only sees the form if a local copy has been
  made, and it would be best to C)ancel and get a new local copy of the
  document from the correct http/https URL, to serve as a BASE for the
  form's ACTION). - FM
* Changed the float built-in style sheet elements to int based on DW's,
  KW's and BL's analyses that this improves performance without adverse
  consequences.  Note that this should be taken into account when/if
  external style sheet support is added for page formatting (e.g., for
  optimum handling by speech synthesizers and braille interfaces), beyond
  the current emphasis on colorizing. - FM
1997-08-02
* The cookie pre-draft has been adopted as an IETF ID:
  ftp://ds.internic.net/internet-drafts/draft-ietf-http-state-man-mec-03.txt
  so the code for combining Set-Cookie and Set-Cookie2 headers has been
  eliminated in LYCookie.c (see mods for 1997-07-31). - FM
1997-08-01
* Fixed typos in LYCookie.c. - FM
1997-07-31
* Mods of the cookie handling based on the latest pre-draft.  Add a
  Cookie2: $Version="1" header in any requests that use historical
  cookies in the Cookie: request header, so that modern servers will
  use Set-Cookie2 headers with modern cookies in their subsequent
  replies.  Limit the scheme for commentURLs to http or https, not
  just to network servers (e.g., gopher is now barred too).  Include
  a $Port attribute in modern Cookie request headers if it was set
  via a server's reply header.  The pre-draft indicates intention
  to drop the requirement to combine Set-Cookie2 and Set-Cookie
  headers if both types were received.  We're still combining them,
  but based on bona fide one-to-one correspondence checks (which were
  not specified in the earlier draft), so that's OK, and we'll get
  rid of that needless overhead if the current pre-draft holds up
  and becomes an official IETF draft. - FM
* Added a -nocc command line switch for disabling the Cc: prompt
  for self copies of mailings.  Note that this does not disable
  any CCs that have been incorporated within a mailto URL or form
  ACTION. - FM
* Added a NO_FORCED_CORE_DUMP compilation (userdefs.h) and configuration
  (lynx.cfg) symbol, normally set FALSE, which if changed to TRUE will
  block forced core dumps on Unix via abort() calls on fatal errors or
  assert() calls on potentially fatal error checks.  Also added a -core
  command line switch for toggling the default. - FM
* Updated the documentation and 'h'elp concerning the new symbol and
  switches. - FM
* Worked in KW's mods to support 'z'apping of large local file
  renditions. - FM
1997-07-30
* Mod in HTFWriter.c to change the statusline appropriately when an
  uncompression has completed. - FM
* Fixed a spaghetti ifdefing glitch in LYOptions.c - KW
* Mod in GridText.c to avoid traversing the full list of anchors when
  HText_endAnchor() is called with a non-zero anchor number and it
  corresponds to the last anchor added to the HText structure. - KW
1997-07-27
* Added checks in LYGetFile.c for URL schemes which should be rejected
  when received as redirections. - KW & FM
* Map charsets of the form "ibmNNN[...]" to "cpNNN[...]" in UCdomap.c if
  not already recognized.  Also recognize "windows-1252". - KW
* Added another check in LYLocal.c that LYNXDIRED URLs are from internally
  generated temporary files, complementary to those added on 1997-07-24
  and 1997-07-25. - KW
1997-07-26
* Changed the variable hline in LYUtils.c to hLine, so as not to conflict
  with a curses function or macro. - FM
* Fixed an esoteric glitch in highlight() of LYUtils.c which could cause
  the last character of a current link to receive WHEREIS search target
  emphasis if it happened to be the first character of the target (though
  perfection is unattainable, we should strive to achieve it :). - FM
1997-07-25
* Mods of the DIRED_SUPPORT to check the actual URLs of temporary files
  rather than just their titles when filtering for spoofing attempts via
  external files with internal URLs.  Also recast the PRIVATE my_spawn()
  to a PUBLIC LYExecv(), so that it can be used by any module (though
  presently it's still used only by LYLocal.c functions). - FM
* Tweaks of LYCharUtils.c to handle Set-Cookie HTTP-EQUIVs in META elements
  without risking crashes in LYCookie.c or HTParse.c. - FM
1997-07-24
* Tweak of LYMainLoop.c to allow submission of the ACTION for modifying
  permissions if both DIRED_SUPPORT and OK_PERMIT were defined, and the
  temporary form is the current document. - FM
* Made the version string "2.7.1f" to help make more clear whether the
  security patches described in our CERT bulletin have been applied,
  plus subsequent tweaks through today (too late for those who already
  added the patches and do no further fotemods.zip updating). - FM
* Modified the handling of "show color (&)" in the 'o'ptions menu and
  of values saved in the RC file along the lines suggested by KW and
  HL.  See the updated "Lynx Users Guide" for more information. - FM
1997-07-23
* Tweaks of the strtok() calls for textarea values in HTML.c, so that they
  will never be repeated after NULL has been returned, and thus won't cause
  linux-alpha to crash. - FM
* Oops.  Yesterday's update didn't have the modified HTMLDTD.c and SGML.c.
  They're in now. - FM
* Modified yesterday's "trailing comment" handler so that it treats '#'
  as a comment token only if it is somewhere after the last colon for the
  lynx.cfg entry and is preceded by a space or tab. - FM
1997-07-22
* Mods of LYReadCFG.c to include the bad string in the error message when
  processing of COLOR: entries fails (based on a patch from FMG), and to
  handle "trailing comments" (designated by a '#' token) for otherwise
  valid entries in lynx.cfg. - FM
* Added TT to the Utterly Tag and Attribute Soup group of HTML elements. - FM
* Tweaks in LYCurses.c to ensure that slang library and Lynx flags for
  whether color support is on stay in register. - FM
1997-07-21
* Added the "show color (&)" binary (ON/OFF) choice in the 'o'ption menu.
  It will be present if color is supported, and the setting can be saved
  to the .lynxrc file.  Once saved, it will be used as the startup default,
  but if OFF it can be overridden via the -color command line switch or
  the COLORTERM environment variable.  Also, updated the online 'h'elp
  accordingly. - FM
1997-07-20
* Tweaks of LYCharUtils.c and LYMainLoop.c to ensure that the output_utf8
  element is set and checked properly so that named (e.g, &zdot;),
  hexadecimal (e.g., &#x17c;) or decimal (e.g., &#380;) character references
  in text or in attribute values are converted to utf8 or other encodings
  (based on the current display character set) when the document is reloaded
  due to any changes in the 'o'ption menu which require a new rendering of
  the document (but still without forcing a proxy cache refresh when that is
  inappropriate; see the 1997-05-26 mods).  Note that only the display
  character sets which have src/chrtrans/foo_uni.tbl mappings can have such
  multibyte character references converted. - FM
1997-07-18
* Added support for chartrans handling of attribute values. - FM
* Mods in LYexit.c and LYCurses.c to ensure restoration of stderr (if it
  was changed for output to the trace log) on all exits. - BRL & FM
* Include an unsigned char typecast in the HASH_FUNCTION definition for
  HTAtom.c - CK
* Changed is_url() to return immediately if the string to check starts with 
  a slash character.  This prevents some false positives if the string
  contains ':' characters. - KW  (But check for the slash after stripping
  any lead space characters. - FM)
* Added support for "MACOS AppleShare IP FTP Server" to HTFTP.c (based on
  and tested with the current incarnation of ftp://www.unicode.org/). - KW
1997-07-16
* Added the Windows Cyrillic display character set. - AAC
* Define USE_DIRENT for the FreeBSD builds. - AAC
1997-07-15
* Added support for a commentURL attribute in cookies.  This attribute is
  under discussion in the HTTP-WG and not presently in the draft (see the
  1997-07-09 mods for the draft's URL), but would be extremely advantageous
  for multi-lingual and non-English-speaking sites because the comment
  attribute can have only ASCII characters in its value, whereas a request
  for the comment via a URL in turn allows use of charset and language
  negotiation for what the server returns.  The value of the commentURL is
  resolved and retained only if it's scheme points to a server (i.e., file
  and special lynx URLs are rejected), and if it is retained, is included
  as a link in the Cookie Jar Page.  If commentURL is not ultimately
  included in the revised State Management RFC, sites which wish to use
  it could do a User-Agent check for Lynx (and any other browsers which
  implement it). - FM
* Fixed a typo in HTCompressed() of HTFWriter.c so that the last dot in a
  tentative temporary filename is sought via strrchr(), as is done for
  HTSaveAndExecute() and HTSaveToFile(). - KW
1997-07-14
* Yet more tweaks of the cookie support.  We include $PATH and/or $DOMAIN
  attribute/value pairs in Cookie request headers only when their values
  were set explicitly via a server's Set-Cookie and/or Set-Cookie2 reply
  headers (and the cookies are $VERSION="1" or greater). - FM
* Added support for IFRAME homologous (but not identical) to that for FRAME.
  It is handled as a block with a blank line before and after style, and
  with margins and default alignment inherited from the containing block,
  division, or span.  The IFRAME rendition always begins with an emphasized
  "IFRAME: " label followed by the NAME attribute's value, if present, or
  the URL for the SRC attribute, serving as a link for the SRC, followed
  on a new line by any rendered IFRAME content. - FM
* Added handling of LEGEND elements.  The content is rendered in place,
  as for CAPTION elements, since we don't have multiple pass inlining
  capabilites.  Hopefully, if the LEGEND is intended to be ALIGN-ed at
  the "top" or "bottom" of the associated insert, the author will place
  the LEGEND element above or below it, respectively.  Note that LABEL
  elements similarly are rendered in place, and will be displayed
  interpretably only if the INPUT to which the LABEL's "for" attribute
  refers, immediately follows the LABEL element. - FM
* Added recognition of BUTTON elements, and handling of them (sorta :)
  when they are TYPE="submit" or TYPE="reset" in forms.  The default
  "submit" or "reset" string, or the value of a VALUE attribute, if
  present, is embedded in parentheses and used for the link, and the
  content is simply rendered and displayed in place.  Until we see what
  kind of markup the real world puts in such elements, it's too risky
  to try to use that rendition as the link.  Also, the W3C's HTML 4.0
  draft presently is very fuzzy about whether, and if so, when, an IMG
  element in the BUTTON content should be treated as an image map, so
  the present code doesn't try to cast any submitted BUTTON name/value
  pairs into the format for INPUTs with TYPE="image".  When the BUTTON
  is a script control rather than submit or reset button, a "[BUTTON]"
  pseudo-ALT is inserted to warn users of its presence, but the form
  is not disabled.  The W3C's HTML 4.0 draft makes scripting intrinsic,
  with no SGML-based fallbacks if it is not available or is disabled by
  security-conscious sites.  Dave Raggett of the W3C replied to criticisms
  of this in www-html@w3c.org by saying that he wished it have been
  otherwise, but "market forces" prevailed (Sigh...  I take back my NOTE
  of 1997-07-11.). - FM
1997-07-12
* More refinements of the cookie support in relation to recent discussions
  in the HTTP-WG, and for more fully effective protection against denial
  of service attacks.  If the same attribute appears more than once for
  the same cookie, ensure that the first instance will be used.  Limit
  the total number of cookies across Set-Cookie and Set-Cookie2 headers
  to 50 per server reply, and each cookie to a maximum of 4096 bytes. - FM
1997-07-11
* Added support for hexadecimal character references (&#xH;) as proposed
  in the W3C HTML 4.0 draft. - FM
* Fixed typo under case LY_SOFT_HYPHEN in display_line() of GridText.c - KW
  NOTE: The W3C HTML 4.0 draft explicitly specifies handling of &shy;,
  &#173; (and now also &#xAD;) in the manner long implemented by Lynx
  (i.e., as a truly soft hyphen), and not in the brain-dead manner
  implemented by Netscape and MSIE.  Is the W3C's "doublespeak" for
  "implemented" and "market forces" finally reverting back to the
  original principles and values of the Web -- in practice rather than
  just in "position" statements??? - FM
1997-07-10
* Various tweaks of the cookie support to handle likely (based on past
  experience in the real world :) abuses of Set-Cookie and Set-Cookie2
  headers from servers.  Most importantly, apply sanity checks to the
  values of port attributes so that any unquoted port list will not be
  misinterpreted as the start of a new cookie within the port list.
  Also added code to fold (CR LF TAB) Cookie request headers if they
  contain a long sequence of cookies which would exceed 1024 bytes on
  one line, since some servers suffer buffer overruns and crash in such
  cases. - FM
* Modified HTNews.c to use HTmmdecode() and HTrjis() for the Subject and
  Author strings in listings of news articles when using a Japanese display
  character set. - HEN
1997-07-09
* Massive updating and revamping of the cookie support in accordance with
  http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-state-man-mec-02.txt
  which is scheduled to replace RFC 2109 on July 15, 1997.  Noteworthy
  changes are that (1) the blanket port restriction is now lifted, and
  sharing of cookies among servers with matching domains but different
  ports is blocked only if a port attribute was included in the
  Set-Cookie2 header (or Set-Cookie header, though it's not expected
  there), with a value which defaults to the request's port, but can
  be a comma separated list of ports, and (2) the blanket restriction
  on sharing of SSL-encrypted (https) cookies with http servers is
  lifted, and normally depends on the Set-Cookie or Set-Cookie2 header
  having included a secure attribute.  However, a configuration option
  (see lynx.cfg) to FORCE_SSL_COOKIES_SECURE is now available, and the
  compilation or configuration default can be toggled via a -force_secure
  command line switch. - FM
1997-07-06
* Implemented popup windows for the 'o'ptions menu, homologous to those
  for SELECT blocks in forms.  They are implemented when select_popups
  is on, and include WHEREIS search and 123[g,p] features (very useful
  for navigating the choice list of 28 display character sets :).  Use
  the F_LINK_NUM command ('0') to invoke the prompt for a choice list
  number when in NUMBERS_AS_ARROWS mode.  The popups are not invoked for
  the simple, binary choice options.  Also modified the options menu so
  that the cursor is positioned to the left of choices when show_curser
  is on (but it is still positioned initially at the endings of strings
  when the line editor is invoked for options that have user-entered
  values).  When Lynx is built with FANCY_CURSES or slang, strings to
  be edited are cast to bold, and fixed values to be selected are cast
  to reverse (otherwise, you get whatever the system's standout() does
  for both editable strings and fixed values). - FM
1997-07-04 (KaBoom! :)
* Mods of HTMIME.c and HTFile.c to ignore Content-Type parameters other
  than charset when charset is not present, as we do when it is present
  and we know we can handle it. - FM
* Fixed bug in LYNews.c which could cause Lynx to crash when posting or
  sending followups to news groups and the Organization header was
  obtained from the /etc/organization file. - FM
* Fixed bug in LYEdit.c which could cause Lynx to crash when an editor
  to which a line number is passed as an argument is used and there are
  no links on the current page of the document to be edited. - FM
* Added information about the new $USER feature to the comments about
  TEMP_SPACE in userdefs.h. - FM
1997-07-03
* Tweaks of change_sug_filename() in LYUtils.c to make protections against
  buffer overruns explicit within the function. - FM
* Tweaks of the #ifdef'ing in HTTCP.c. - FM
1997-07-02
* Mods in LYDownload.c and LYPrint.c to treat a suggested output file
  entry of "/dev/null" on Unix, and "nl:" or "/nl/" paths on VMS (case
  insensitive), as a cancel (^G). - FM
* Mods in LYGetFile.c to include URLs with content from a form submission
  with method GET in the group for which Referer headers are never sent,
  because the content might include private (e.g., password or credit
  card) information which should not be visible in Referer logs. - FM
* Added -G 7 to the LYFLAGS and MCFLAGS for the ultrix and ultrix-slang
  Makefile targets when using the native ultrix compiler. - HM
* Added -DNSL_FORK to the LYFLAGS for all of the solaris2 and linux
  targets. - FM
1997-06-30
* Removed a redundant declaration in UCdomap.c which was causing some
  compilers to balk. - FM
* Fixed typos in SGML.c which could cause echoing of numeric character
  references for some of the display character sets. - FM
1997-06-29
* Worked in KW's chartrans support, casting all of its code to the Lynx
  Programming Style, adapting it for features not yet included in the
  development code set, and adding a build procedure for VMS.  With this
  support, the display character set need not match the document's charset
  when the latter is not iso-8859-1.  See the README files in src/chrtrans
  for more information.  Three new configuration symbols (ASSUME_CHARSET,
  ASSUME_LOCAL_CHARSET, and ASSUME_UNREC_CHARSET) and command line switches
  (-assume_charset=MIMEname, -assume_local_charset=MIMEname, and
  -assume_unrec_charset=MIMEname) are added.  See lynx.cfg for more
  information about them. - FM
* Updated lynx.hlp, lynx.man and the online 'h'elp concerning the chartrans
  support. - FM
1997-06-26
* Tweak of the "tag and attribute soup" parsing mods in HTML.c so that the
  PLAIN attribute works for UL blocks again. - FM
* More tweaks of LYMainLoop.c to issue informative statusline messages
  about attempts to ACTIVATE, DOWNLOAD, or submit URLs or ACTIONs which
  are disallowed in the current context and destined to fail, rather than
  acting on them and generating actual failures. - FM
* Mods of LYmktime() in LYUtils.c to support dd-mm-yyyy format for expires
  headers and cookie attributes. - FM
* Oops, hadn't included checks for whether there are links on the page
  in this morning's LYMainLoop.c mods to ensure appropriate statusline
  messages for attempts to bookmark special URLs that can't be bookmarked,
  which could yield a crash it there aren't any.  The checks are in there
  now. - FM
* Added ability to bookmark links from the Lynx List Page, as from the
  Visited Links Page, but not for those pages, themselves, since they
  are temporary files.  Note that Lynx List Page links will not have
  the documents' titles, as do those in the Visited Links Page, unless
  you've visited them before invoking the Lynx List Page. - FM
* Added explicit protections against buffer overruns in the LYDownload.c
  handling of suggested filenames. - FM
1997-06-24
* Mods in LYDownload.c to check whether the File= field in a LYNXDOWNLOAD
  URL has the value that was inserted into the URL via the most recent
  download options menu.  This prevents spoofing with arbitrary LYNXDOWNLOAD
  URLs entered via the 'g'oto or ECGOTO commands, or ACTIVATE-ed in a file
  other than the most recent download options menu which was created by
  Lynx internally. - FM
* Mods in LYMainLoop.c to ignore LYNXCOOKIE, LYNXDIRED, LYNXDOWNLOAD, and
  LYNXPRINT URLs if entered via a 'g'oto or ECGOTO command, and to issue
  a statusline message explaining that the special URL is not allowed as a
  goto.  This is just for informational purposes, and the above anti-spoof
  mod is not dependent on it. - FM
1997-06-20
* Now that we add or subtract attributes for Unix FANCY_CURSES, as for VMS
  curses and slang, the 1997-05-30 mods based on LE's patch for keeping track
  of whether links occur in an underlining context, and if so, restoring it
  when a current link is made non-current, should be extended to FANCY_CURSES
  as well.  So they are extended, now, in highlight() of LYUtils.c. - FM
* Added code in LYNewsPost() of LYNews.c for converting any EUC or SJIS to
  JIS (ISO-2022-JP) in posts or followups to Usenet news groups if the
  display character set is "Japanese (EUC)" or "Japanese (SJIS)".  The mods
  need testing by Japanese users, because the TO_JIS() function I added
  long ago in SGML.c has not actually been used before. - FM
* Modified the hack in LYPrint.c for mailing HTML source so that it never
  appends a charset parameter to the "text/html" value of the Content-Type
  header, because more often than not we don't really know what it is, and
  so instead we'll just assume that if Lynx is invoked to read that mailed
  message, its display character set will be the same as when the document
  was handled originally.  If not, it can be changed appropriately via the
  'o'ptions menu and the mailed message will be reloaded. - FM
1997-06-18
* Added a check for nonsense LINES and COLS values in setup() of LYCurses.c,
  homologous to the check in size_change() of LYUtils.c, and set LYlines and
  LYcols to the 80x24 default if they're nonsense.  The slang library and
  most curses implementations do the equivalent themselves, but we may as
  well make sure it's done. - FM
* Tweaks of the anti-spoof mods in HTFWriter.c for additional protection
  against extra %s entries in viewer command mappings. - FM
1997-06-17
* Came up with a low overhead way to restore the emphasis for WHEREIS
  search targets when links are made current or non-current and the
  target string starts before and/or extends past the end of the link
  name (hightext or hightext2) string (see 1997-06-14 mods), so the
  restoration works in that case as well, now. - FM
1997-06-14
* Fixed a longstanding bug in highlight() of LYUtils.c which caused seeking
  of a column position less than 0 and strange behavior when a link is made
  current, if show_cursor is on and the link begins at column 0 (as can
  happen in PRE blocks).  We now position the cursor on the first character
  of such links, so the current link will remain clear for those with speech
  or braille interfaces. - FM
* Added functions in LYCurses.c, along the lines of those in the development
  code, so that the [w]start_foo() and [w]stop_foo() functions no longer
  just replace character attributes for Unix FANCY_CURSES, but now add or
  subtract them as for VMS curses and slang. - FM
* More mods in GridText.c and LYUtils.c so that the handling of WHEREIS
  search target emphasis when links are made current and non-current is the
  full equivalent for Unix FANCY_CURSES of that for VMS curses and slang.
  Note that the restoration of search target emphasis does not succeed if
  the hit started before or extends beyond the link name (hightext or
  hightext2 string).  What it would take to succeed in that case as well
  doesn't seem worth the overhead, but I'm still thinking about it.  Also
  note that we still do not emphasize search target hits, but only do link
  or page re-positioning, for Unix curses when only standout() and standin()
  are supported.  In that case, standout() is being used for all links,
  including the current (with the latter indicated via cursor position by
  turning show_cursor on), so we don't want to create a totally confusing
  situation by using standout() for search target hits as well.  The code
  is still designed to degrade gracefully when the terminal does not have
  the capabilities of the curses or slang with which Lynx was built. - FM
1997-06-13
* Tweak of yesterday's LYGetFile.c mods.  Lost a lynx_edit_mode = FALSE
  statement that is still needed when DIRED_SUPPORT is defined. - FM
* Mods in LYForms.c so that the cursor is positioned at the left of the
  current option in select popup windows when show_cursor is on, as when
  the cursor is used to indicate the current link in the main document.
  This is important when Lynx is used with a speech or braille interface,
  or a terminal which does not respond to the highlighting/color for the
  current option.  When show_cursor is off, the cursor is still positioned
  to the right of the current option for curses, and is fully "hidden" in
  the lower right corner for slang, so that the hightlighting or color of
  the current option can be used without the distraction of a blinking
  cursor in the left-to-right reading field. - FM
* Added ability to change the show_cursor setting via the 'o'ptions menu
  and to save that as the default in the RC file (otherwise, the default
  is still that set in userdefs.h or lynx.cfg).  The -show_cursor command
  line switch toggles the default, however obtained, homologously to the
  -popup toggle.  Updated the online 'h'elp accordingly (option_help.html
  and Lynx_users_guide.html). - FM
1997-06-12
* Tweaks of the 1997-06-04 mods for restoring emphasis of WHEREIS search
  targets in link names when they are changed to the current link or again
  made non-current.  When the link is made current, the first and last
  characters of the link name never are emphasized, so they'll retain the
  attributes/color for the current link, and the user can see (if sighted)
  that the link was made current.  With this change, the restoration of
  emphasis also is interpretable with Unix FANCY_CURSES, so the block for
  that is lifted.  Note that I figured out why the bold+reverse+underline
  combination doesn't work for that.  The vanilla and this Lynx code are
  not adding or subtracting attributes for their start_foo() and stop_foo()
  functions (as is done for slang and VMS curses), but are replacing them,
  so you always end up with the last attribute in a series of start_foo()
  calls (underlining for the search target emphasis).  I don't know if
  ability to sum attributes applies to all Unix curses flavors for which
  FANCY_CURSES is defined in the Makefile, so I left the Unix, non-slang
  start_foo() and stop_foo() functions the way they are, for now. - FM
* Escape characters properly when constructing URLs from filenames
  in LYConvertToURL.  If a string given for startfile, home page, or
  a 'g'oto command which does not already have the form of an absolute 
  URL starting with a URL scheme and which does not start with '~' 
  (but may start with '/') specifies an existing file or directory in 
  valid Unix-like format for the native filesystem, i.e. without using
  escaping, it gets URL-escaped, otherwise it is assumed to already
  be URL-escaped. - KW  (Note that the development code is applying this
  test for VMS, and shouldn't. - FM)
* Mods in LYGetFile.c so that any '~' in file URLs is handled as when in
  startfile, home page, or 'g'oto commands.  Only the first '~' is converted
  to Home_Dir(), and only for the first symbolic element in the URL, and if
  it is followed by a username, that username is stripped (so that the
  "~username" becomes a reference to the home of the account running Lynx,
  as if only '~' had been used, and can't be used as a reference for an
  arbitrary home).  Note that we don't do this stripping for ftp URLs,
  because the ftp server should decide, itself, whether to grant access to
  arbitrary homes, based on the username and password that were used to
  log in.  Note, also, that if the account running Lynx is allowed access
  to the root of the file system for its home, then access to any arbitrary
  home in that file system can be gained from there.  Access to the root
  never is allowed for file URLs in the for-VMS code, but depends on the
  root's protection in the for-Unix code.  Also, any arbitrary path in file
  URLs will be attempted if it is specified as an absolute path.  The
  stripping of the username from "~username" in most cases on Unix only
  protects against probing for homes in other file systems, without the
  user knowing the corresponding absolute path. - FM
1997-06-11
* Mods in HTAABrow.c, HTTP.c and HTAlert.c so that auth_proxy is no
  longer a module wide global, and the structures which handle/create
  authentication/authorization headers maintain separate setup trees
  for proxy authentication/authorization versus for protected limbs of
  http/https data trees (realms) on the same server.  This ensures that
  each proxy's template, which is the global '*' for all paths (that are
  in fact full URLs) in its proxying requests, are kept distinct from
  the templates for true paths of the protected limbs on the same saver,
  even if the user fails to include that proxy in the no_proxy list, or
  the server's WebMaster fails to do the equivalent configuration for
  the server, and the realm names overlap.  Also modified the prompt
  strings for the username and password to be encrypted for protected
  document requests versus for proxy access so that they indicate
  explicitly whether the user's entries will be used for one or the
  other. - FM
* Added a -pauth=id:pw switch for proxy servers, homologous to the
  -auth=id:pw switch for protected documents, along the lines of AJL's
  patch.  Note that the -pauth value is used only for authorization
  headers to the first protected proxy server encountered, and the -auth
  value is used only for the authorization headers in document requests
  for the first protected limb encountered.  Now that we have an explicit
  switch for proxy authentication, it should be used explicitly for that,
  instead of still allowing use of the -auth=id:pw switch for either
  (IMHO).  Also, there's no serious need to make inclusion of the code
  for handling these switches a compilation option, because they are only
  available to users with shell access.  Updated the help files concerning
  these switches, and included advice to make sure any script files which
  use these switches have restricted access. - FM
1997-06-09
* More refinements of the code in GridText.c, HTML.c and LYCharUtils.c
  for handling visible versus hidden links, blank lines, stripping of
  the numbered brackets for links, and the interactions of these things
  with soft hyphens. - FM
1997-06-06
* Fixed typos in LYrcFile.c which caused failure to start two comments
  on new lines when writing to the RC file. - FM
* Changed a residual (void *) typecast to the explicit type in HTML.c. - FM
* Fixed a typo in the lead dot pair stripping code in LYLegitimizeHREF()
  of LYCharUtils.c. - FM
* Tweak of code in GridText.c for handling soft hyphens so that we don't
  display a hyphen if it's the first character in the line, or is preceded
  by a space, even if it is followed by a newline. - FM
* Mods of the hidden link handling and numbered bracket stripping code in
  GridText.c so that it succeeds no matter how many blank lines are in
  the anchor content. - FM
1997-06-04
* Mods in LYLegitimizeHREF() of LYCharUtils.c for dealing more effectively
  with fragments which have illegal characters, as is becoming common due
  to authoring tools such as MicroSoft's Frontpage and Netscape's HTML
  editor.  The actual URL-reference is still handled so as to yield a
  fully legitimate absolute URL, without any unescaped spaces, but the
  fragment is checked only for problem characters such as tab or newline,
  and otherwise is unmodified.  (Try the vanilla versus modified code with
  the http://www.cnib.org/library/ww_flw96.htm atrocity, brought to you
  discourtesy of Frontpage. :) - FM
* Worked in use of bold+reverse+underline highlighting of WHEREIS search
  hits for VMS curses, and slang on both VMS and Unix (with or without the
  color mode on), and added code in highlight() of LYUtils.c for restoring
  that highlighting when links are made current or non-current if the
  string for the hit was contained within the string for the link (won't
  be restored if the hit's string starts before or extends past the link's
  string).  Couldn't get any of this to work with curses and the solaris2
  target, so for Unix curses the hit string still is just underlined and
  not restored when links are made current or non-current. - FM
* Fixed typo in the 1997-06-01 LYOptions.c mods. - FM
1997-06-03
* Mods in HTList.c to skip setting up a list block for visible links if
  the document has only hidden links, and in HTML.c to include a notice
  about this with a suggestion to use the 'l'ist command.  Try it with
  the http://www.sony.com/ atrocity. - FM
* Tweak in LYMainLoop.c to fix a longstanding bug which would cause the
  curdoc.line and curdoc.link numbers to be mishandled, and thus cause
  the wrong page and current link to be restored on return to the document
  via PREV_DOC or the History Page, if the document was fetched originally
  with a fragment and a link on its first page had been activated. - FM
* Tweaks in GridText.c so that returns from image map menus to parent
  documents are not treated as if a different document is being sought,
  and thus any no-cache directives associated with the parent will be
  ignored unless another fetch is initiated within the parent or via
  another, externally existing document. - FM
* Added SEEK_FRAG_MAP_IN_CUR and SEEK_FRAG_AREA_IN_CUR configuration
  (lynx.cfg) options for how to resolve USEMAP attribute values in
  IMG or OBJECT tags and HREF attribute values in AREA tags when they
  consist solely of a fragment (USEMAP="#frag" or HREF="#frag").  The
  compilation default is TRUE, i.e., they are resolved with respect
  to the current document's URL, even if the base is different, as is
  being done for the HREF attribute values of Anchors and LINKs.  The
  compilation default seems to be working out, even though most of the
  currently deployed browsers still use the base. - FM
1997-06-02
* Mods in LYMain.c so as not to require that a lone "-" argument for
  invoking input of command line arguments from stdin be the only
  argument on the actual command line.  That requirement preluded use
  of this feature when the command for invoking Lynx was aliased so
  as to include arguments, because the lone "-" then could not be the
  only argument.  Also tweaked the code so that any stdin-derived
  arguments which need to be processed early in main() are so processed.
  The vanilla code had severly flawed logic in this respect.  The
  security considerations associated with switch handling have gotten
  hairy beyond reasonable bounds, but I think I've thought it all through
  (we'll see :), and have plugged some holes in the vanilla code for
  this feature.  Redirection of stdout and/or stderr to a file now also
  works reliably in conjunction with this feature. - FM
* Added an explanation in the PROBLEMS file of the bad getsockname() and
  getpeername() functions within SOCKETSHR 0.9D which affect the ftp
  gateway, and the URLs for Andy Harper's (A.HARPER@kcl.ac.uk) fixes of
  the SOCKETSHR 0.9D sources.
* In LYLocal.c, modified the code handling DIRED_MENU to do more careful
  checking of the selected file.  In addition to "TAG", "FILE", and "DIR", 
  DIRED_MENU definitions in lynx.cfg now also recognize LINK as a type.
  DIRED_MENU definitions with a type field of "LINK" are only used if the
  current selection is a symbolic link ("FILE" and "DIR" definitions are
  not used in that case).  The default menu definitions have been updated
  to reflect this change, and to avoid the showing of menu items whose
  action would always fail - KW
* Cast all of LYLocal.c into the Lynx programming style. - FM
1997-06-01
* Added support for numbered form fields, and options in SELECT popups,
  based on LE's patch.  The LINKS_AND_FORM_FIELDS_ARE_NUMBERED keypad
  mode can be defined in userdefs.h and via the 'o'ptions menu.  When
  in SELECT popups, the F_LINK_NUM ('0') command can be used in any mode
  to invoke a "Select option (or page) number:" prompt, which can take
  'g' or 'p' suffixes, homologously to the "Follow link (or page) number:"
  prompt in the main document with popups retracted.  Note that when in
  the main document, the F_LINK_NUM command has an implied 'g' suffix
  for form links (i.e., will position you on the form link, not, for
  example, ACTIVATE a submit button), but *not* in popup windows (i.e.,
  without a 'g' suffix, the option corresponding to the number will be
  selected, and the popup will be retracted, as if you had pressed
  ACTIVATE when positioned on that option).  The 123p feature is quite
  useful in popups with a very large number of options, and supplements
  the HOME, END and WHEREIS functions for seeking positions in the list
  (again, regardless of keypad mode, if F_LINK_NUM is used to invoke
  the prompt).  A "page" is defined as the number of lines within the
  vertical dimension of the popup box. - FM
* Mods in LYEdit.c to seek the current page and line when the editor
  is sedt on VMS. - FM
* Updated the online 'h'elp concerning the "Follow link (or page) number:"
  and "Select option (or page) number:" features (Lynx_users_guide.html,
  follow_help.html, keystroke_help.html and other_help.html). - FM
1997-05-30
* Worked in LE's patch for keeping track of whether links occur in an
  underlining context, and if so, restore it when slang color is on and
  a current link is made non-current, thereby actually dealing with the
  longstanding bug discussed in the 1997-05-27 mods (This is just a hobby,
  and I always reserve the right to change my mind! :). - FM
* Mods of LYForms.c and LYStrings.c to deal with form field values too
  long to fit in the line editor's buffer (such as long TEXTAREA values
  which have no newlines in them).  As much of the tail as fits in the
  buffer is offered for editing, with statusline messages explaining the
  situation.  If the tail is modified, it is combined with the unmodified
  head when the form field is made non-current.  The result can be edited
  further by making the form field current again.  If the form has a
  Reset button, it can be used to restore the original value.  The
  vanilla code would crash on buffer overflow (Ugh!  A potential
  security hole.). - FM
1997-05-29
* Restored underlining in conjunction with reversing for the current link
  with slang when colors are being used, but not otherwise. - FM
* The 1997-05-26 mods to bypass screen redraws on retractions of SELECT
  popups when the selected OPTION was not changed worked properly only
  for VMS curses.  Tweaked the for-slang code so that it now works like
  VMS curses (though not as efficiently).  However, with Unix curses,
  the delwin() - refresh() sequence does not restore what was there
  before the popup was invoked, and none of the tweaks I tried got that
  to work, so the poor Unix folks using Unix curses are now stuck again
  with screen redraws for every popup retraction.  - FM
1997-05-27
* Changed the label for the currently selected link from "Filename:" to
  "URL:" in the showinfo display, and fixed an alignment glitch for the
  9th item on the History and Visited Links pages. - KW
* Changed an "8-bit" occurring in HTInit.c to "8bit", and tweaked two
  comments in LYKeymap.c. - KW
* Tweak of the code in LYLegitimizeHREF() of LYCharUtils.c for stripping
  a dot pair as the first symbolic path element if that would result from
  valid resolving of a partial reference for submission to an http or https
  server.  The original code was not taking into account the possibility of
  the base having a path length greater than one, but only a lead slash. 
  (Note that the lead slash is not considered just a separator for http or
  https URLs in the Fielding URL draft.) - KW & FM
* Eliminated underlining in conjunction with reversing for the current
  link with slang, to avoid the longstanding bug of underlining being
  lost (and distracting color changes occurring) when that link ceases
  to be current and it was embedded in an underlined region of text.
  The attributes of the current link can be better handled in the
  development code based on configureable style sheets, so there's no
  point letting this bug ride, nor trying to deal with it through
  temporary internal mods, in this code set. - FM
1997-05-26
* Mods of display_title() in GridText.c to eliminate the "format"
  mask as in KW's 1997-05-14 development code mods, and to make the
  memory management more efficient. - FM
* Mods of change_form_link() in LYForms.c to bypass the screen redraw
  on retraction of a SELECT popup if the SELECT block is DISABLE-ed
  or the selected OPTION was not changed.  Note that the complete
  elimination of the screen redraw in the 1997-05-20 development code
  mods, i.e., even when the selected OPTION was changed, results in
  the change not being made evident to the user in the retracted popup
  unless the screen is redrawn fortuituously (e.g., due to subsequent
  paging). - FM
* Implemented -restrictions=suspend handling for slang (though it's
  intended for curses implementations which have problems with ^Z
  within Lynx; see the PROBLEMS file). - KW & FM
* Recognize linux console F1 key in LYgetch() (applies if -DNO_KEYPAD
  is in effect, as for all binaries built with slang). - KW
* Protect LYgetch() against returning raw values of keypad() symbols
  which are invalid when used later as an index into keymap[],
  override[], etc. - KW
* Change in LYUnEscapeToLatinOne() to use isdigit() instead of isalnum()
  for recognizing numeric character references like LYUnEscapeEntities()
  does. - KW
* Set HTTP_ACCEPT_CHARSET environment variable for the child process in
  LYCgi.c if pref_charset is not NULL. - KW
* Mods in LYMainLoop.c to force a reload if "preferred document lan(G)uage"
  or "preferred document c(H)arset" are changed via the 'o'ptions menu,
  and to set the "reloading" flag for forcing a proxy cache refresh if
  those or "user (A)gent" are changed and the current document has an
  http, https or lynxcgi scheme, but not force a proxy cache refresh if
  we're reloading due to an INLINE_TOGGLE, IMAGE_TOGGLE, or RAW_TOGGLE
  command. - KW & FM
1997-05-25
* Mods in LYMain.c to convert $USER if present in the TEMP_SPACE
  definition or LYNX_TEMP_SPACE environment variable to the string
  returned by getenv("USER"). - FM
* Fixed two typos for me->inFONT settings in HTML.c - TD
* Added chmod(file, 0600) calls for most files created by Lynx. - FM
1997-05-21
* Mods in HTML.c and LYCharUtils.c so that TABLE blocks are treated
  as divisions in the DIV nest, with a default alignment of HT_LEFT
  if the TABLE start tag lacks an ALIGN attribute, and otherwise,
  that attribute's value.  Nested TABLEs extend the DIV nest.  This
  avoids the problem in the vanilla code of TABLE content inheriting
  the alignment of a containing CENTER or DIV which is intended for
  alignment of the TABLE as a whole.  Also added support for ALIGN
  attributes in TR elements.  If the TR has no ALIGN attribute, it
  inherits that of the current division, which should be that of the
  current TABLE.  This, of course, still does not yield true TABLEs
  for truly tabular content, but makes TABLEs used for formatting
  more readable. - FM
1997-05-20
* Tweak of HTFWriter.c so that it does the anti-spoof tests normally
  done by tempname() (see the 1997-05-19 mods) in all cases for which
  it changes the temporary file suffix from any of those checked by
  tempname() itself.  At this point, every way I've thought of for
  trying to spoof Lynx via links for temporary files is blocked, but
  people should beat on today's code to see if there's any spoofing
  strategy I haven't yet blocked. - FM
* Modified the Lynx Trace Log handling so that it doesn't use actual
  redirection of stderr via freopen() calls, and restores the original
  value of stderr during any escape to shell.  This avoids the problem
  on Unix that sh and ksh send their prompt strings to stderr, and that
  bash sends both its prompt and command line echo to stderr, so they
  end up in the log instead of being visible.  I had tested the initial
  design on VMS and with csh on Unix, and thus didn't notice this
  foolishness for the other Unix shells.  Anyway, it's OK for all of
  them now. - FM
1997-05-19
* Tweak of HTFile.c so that we no longer lose an LYforce_HTML_mode
  directive if the file is gzipped or compressed and the uncompressed
  suffix is not mapped to text/html. - FM
* Modified tempname() in LYUtils.c so that it checks whether files
  with the current PID and target count already exist, and if so,
  increments the count until a name for a non-existing file has been
  created. - FM 
1997-05-18
* Mods in LYMainLoop.c and LYClean.c so that Control-G is treated as
  a synonym for 'n'o in quit confirmation prompts. - FM
* Mods in LYPrint.c to strip any gzip or compress suffix from the
  suggested filename, on the assumption that we're deal with a text/html
  or text/plain file that had a corresponding Content-Encoding and no
  Content-Disposition: file; filename=name.suffix  header indicating
  the appropriate filename after uncompression.  This assumption does
  apply for our current ftp gateway, and for most present-day http
  servers.  This mod in turn ensures that text/html files which are
  not being printed as source will have their uncompressed suffixes
  converted to .txt, indicated that they are rendered. - FM
1997-05-17
* Fixed long-standing bug in display_page() of GridText.c.  When it
  was updating the links structures, it wasn't re-initializing the
  form element if the links structure is not for a form field. - FM
* Mods in HTML.c to deal more effectively with H# headers used instead
  of LH in lists.  We now, in effect, treat them fully as if they were
  LH, so that their left indentations are in register with the current
  list nesting depth, and we apply better error recovery in cases where
  the author is mis-using H# for a FONT change rather than as an actual
  header. - FM
1997-05-16
* Oops, hadn't put the final HTTP.c for the proxy authentication mods in
  the zip on 1997-05-12 (minor typo fix).  It's in there now. - FM
* Tweak of PRE block handling in HTML.c to ensure an implied paragraph
  after the block if it is in a list and not followed by an LI. - FM
* Tweaks of SGML.c and LYCharUtils.c to allow any non-digit to terminate
  a numeric character reference once at least one digit has been found in
  the reference. - FM
1997-05-15
* Worked in JED's mods for taking a suspend into account during select()
  calls.  Note that this does not correct the problems with invoking a
  suspend on some systems, since nobody has figured out why there's a
  problem suspending on them.  It simply avoids display and/or command
  key glitches when you "fg" back to Lynx after a suspend. - FM
1997-05-13
* Tweak of case LYK_REFRESH: in LYMainLoop.c so that the REFRESH command
  still invokes an obligatory, complete refresh of the screen for slang
  on Unix with the new LY_SLclear() function (see 1997-05-09 mods). - FM
* Changed the local variable name, lines, in follow_link_number() of
  LYGetFile.c to nlines, to deal with the AIX 4.2 bug of treating lines
  as a macro.  Also changed the variable name, pages, to npages for
  logical complementarity (they both refer to the total number). - FM
* Mods in HTML.c, LYCharUtils.c and GridText.c to deal with links for
  positioning, specified via NAME or ID attributes, when they are embedded
  in Anchors which have an HREF, so that they now don't force premature
  closing of those Anchors.  Also tweaked the code for creating links for
  the sources of images or other for-GUI embedded objects when clickable
  images ('*') is toggled on, so they use those mods as well, when
  possible.  Note, however, that the clickable images feature is creating
  Anchors with HREFs which aren't actually there, and still can create
  technically invalid markup, on occassion, when the non-doctored markup
  actually is valid.  The latter mods still need some improvements in the
  formatting, but are OK to use for now, and my brain hurts from trying
  to think through all the possible markup we might encounter. - FM
* Tweaks of the Lynx Trace Log handling to deal with reloads when the
  HText structure for the log has been dumped.  Made the first letter
  of the filename uppercase (Lynx.trace), complementary to Lynx.leaks.
  Eliminated the log from the Visited Links Page so it can't be sought
  there as a forward link.  Use the History Page if you want to 'd'ownload
  the log, or use the 'p'rint option while viewing the log.  Note that
  suffix maps do tail matching, and thus the so-called suffixes need not
  begin with a dot.  If you want to use an external viewer for the log,
  you can put:
  	SUFFIX:Lynx.trace:application/x-LynxTrace
  	VIEWER:application/x-LynxTrace:most +s %s
  in your lynx.cfg, or their equivalents in your mime.types and mailcap
  files. - FM
1997-05-12
* Added support for proxy authentication. - AJL & FM
* Updated follow_help.html to indicate that 0 is the universal
  F_LINK_NUM mapping for invoking the "Follow link (or page) number:"
  prompt. - FM
1997-05-11
* Tweaks in LYMainLoop.c to ensure that the LYforce_HTML_mode flag is
  reset reliably, so it doesn't carry over to requests for text/plain
  documents, as it was doing under some circumstances in the vanilla
  code, e.g., when a bookmark file was used as the startfile via a
  file://localhost/path URL rather than via the -book switch. - FM
1997-05-10
* Fixed a typo in statusline() of LYUtils.c.  The check for whether
  the string is zero length before bothering to convert CJK multi-bytes
  was checking a holding buffer instead of the string. - FM
* Fixed a bug in LYHandleMETA() of LYCharUtils.c.  The check for a
  URL following the SECONDS value in REFRESH directives was not
  taking into account that an EOL might follow the digits for the
  SECONDS value. - FM
* Changed the behavior of boolean_choice() in LYOptions.c so that the
  cursor is positioned immediately at the option display line instead
  of staying at the statusline instructions until an initial entry is
  made, and modified the statusline instructions accordingly. - LE & FM
* Changes to avoid memory leaks in LYCookie.c - KW
* Added a check for a NULL pointer in the LYCookie.c code for blocking
  sharing of SSL encrypted cookies with http servers, based on a patch
  from RT, and added a comment on why code for a block based on the
  scheme is there, despite its being redundant with the current blanket
  restriction based of the ports. - FM
* Mapped 0 to F_LINK_NUM (as suggested by KW), and restored 5 to a dead
  key when in NUMBERS_AS_ARROWS mode, so that 0 invokes the "Follow link
  (or page) number:" prompt under all circumstances (but with the 0 not
  treated as the first digit of the number entry).  That's a better way
  to do it, because then the F_LINK_NUM command and explanation always
  appears in the "Current Key Map" display, and only the mappings of
  numbers to functions drop out when going from NUMBERS_AS_ARROWS to
  LINKS_ARE_NUMBERS mode (as they should, 'cuz the numbers no longer
  are mapped to functions; though maybe they should stay mapped to
  functions now that we have an explicit command key for invoking the
  prompt; something to think about...). - FM
* Updated the PROBLEMS file to indicate that you should try changing
  -lresolve to -lbind if you have upgraded to the bind-8.1 or later
  library on a Sun system and keep getting the message "Alert!:  Unable
  to connect to remote host". - FM
1997-05-09
* Typo fix in follow_help.html. - FM
* Added an LY_SLclear() function in LYCurses.c as a more efficient
  substitute for slang of the curses clear(), based on a patch from
  JED. - FM
* Added a USE_TRACE_LOG compilation (userdefs.h) symbol and -tlog command
  line toggle of the compilation default (normally TRUE), for directing
  syserr messages to a lynx.trace file in the user's home directory when
  TRACE mode has been turned on (either via the -trace command line switch,
  or the TOGGLE_TRACE (Control-T) command.  Also added a TRACE_LOG command
  (normally ';') for viewing the "Lynx Trace Log" (lynx.trace) at any time,
  if one has been initiated during the current session.  The trace log
  feature is disabled automatically in anonymous or validation accounts,
  and should not be used in any account which could have different users
  simultaneously.  The mods work well to the extent I've exercised them
  thus far on VMS and for the solaris2 target, but possibly need more
  refinements, depending on the behavior for other Unix flavors of
  freopen(), which is used for redirecting stderr to the log.  Updated
  lynx.man, lynx.hlp, and the online 'h'elp to describe these new
  features. - FM
1997-05-07
* Added another argument in follow_link_number() of LYGetFile.c for
  returning the number entered at the "Follow link (or page) number:"
  prompt to the mainloop(), and modified the statusline error messages
  that may be issued from the mainloop() in conjunction the with 'g' or
  'p' suffixes so that they report that number when appropriate. - FM
* Tweaked case HTML_DD: in HTML.c so that it checks whether a wrap
  has just occurred naturally before imposing a newline for DD start
  tags.  Without that check, seemingly random, extra newlines could
  occur in the DL/DT/DD blocks. - FM
* Created a follow_help.html for the keystroke_commands subdirectory
  of the online 'h'elp, describing the "Follow link (or page) number:"
  features, and added links to it in Lynx_users_guide.html and
  keystroke_help.html. - FM
1997-05-06
* Further tweaked KW's mainloop() tweak (see yesterday's entry), so that
  newdoc.link is reintialized properly when we're going to, but not
  ACTIVATE-ing, a link in the current page due to a 'g' suffix for a
  "Follow link (or page) number:" entry.  Otherwise, if the number with
  a 'g' suffix was used to make the last link on the current page the
  current link, and then a NEXT_LINK command was used, one could end
  up on a link beyond the first one in the next page.  Also added a
  statusline message if the 'g' suffix is used with a number which
  corresponds to a link that already is current. - FM
* Tweaked yesterday's LYList.c mods so that an OL with the CONTINUE
  attribute is used when a "Hidden links:" list is appended to a
  "Visible links:" list and NUMBERS_AS_ARROWS mode is on.  This allows
  you to see the number to enter at "Follow link (or page) number:"
  prompts, as when LINKS_ARE_NUMBERED mode is on. - FM
* Mods in HTML.c for LI and LH handling so that a pointless wrap will not
  occur at the spacer following the bullet in UL blocks or the Arabic
  number, Roman numeral, or upper- or lowercase letter in OL blocks if
  the subsequent text has no spaces, itself, up to the right margin.
  In such cases, that text now stays on the initial LI or LH line, and
  wraps at the right margin to the left indentation for a second or
  greater line in the LI or LH. - FM
1997-05-05
* Added HText_AddHiddenLink(), HText_HiddenLinkCount(), and
  HText_HiddenLinkAt() functions in GridText.c for keeping track of the
  addresses (URL, plus fragment if present) for links that were converted
  to hidden by HText_endAnchor() due to their having no visible link name,
  and modified showlist() and printlist() in LYList.c so that if any hidden
  links were create during the rendition, the "References in this document:"
  menu for the 'l'ist command or appendix on dumps segregates and clearly
  labels the visible versus hidden links.  This may help obviate an apparent
  need for people to treat some bugs in the vanilla or development code as
  if they were features. - FM
* Plugged a memory leak in LYEntify() of LYCharUtils.c. - FM
* Tweak in mainloop() handling of DO_GOTOLINK_STUFF.  Going to a link with
  the 'g' suffix and then immediately ACTIVATE-ing that link could show the
  wrong page of the new document, since newdoc.line was not being reset. - KW
1997-05-04
* Tweak of 'g'oto handling in LYMainLoop.c complementary to yesterday's
  tweaks for valid handling of a no_cache anchor element in conjunction
  with the presence or absense of a fragment appended to the 'g'oto URL
  and whether the actual URL (i.e., preceding any positioning instruction
  via a fragment) corresponds to the currently loaded document.  Try:
  	http://www.wfbr.edu/lynx/no-cache.html
	http://www.wfbr.edu/lynx/expires.html
  for testing today's and yesterday's mods. - FM
* Fixed glitch in HText_endAnchor() of GridText.c which caused failure
  to decrement the visible anchor count in NUMBERS_AS_ARROWS mode when
  anchors are found to be content-less (hidden), thereby causing their
  inclusion inappropriately in the 'l'ist menu . - FM
1997-05-03
* Added support for setting an anchor's no_cache element based on a
  comparison between Expires and Date headers if both were received
  and we didn't set it based on a Cache-Control directive.  Also
  added equivalent support for a comparison between an Expires value
  from a META tag and a Date header.  We still compare Expires header
  or META values versus the system time if no Date header was received,
  and still do not accept Date values from META tags because they are
  unlikely to be reliable. - FM
* Tweaks and extensive expansions of the comments for the code in
  HTAccess.c and GridText.c which checks whether we should override
  a no_cache anchor element if we are using a fragment for positioning
  in the currently loaded document, homologously to our override for
  PREV_DOC commands or ACTIVATE-tions via the History Page, but to
  respect it under other circumstances, in compliance with both the
  HTTP/1.0 and HTTP/1.1 RFCs, the meaning of fragments as defined in
  the URL RFCs and drafts, and of NAME- and ID-based positioning in
  the HTML RFCs and drafts (accessible via the online 'h'elp). - FM
1997-05-02
* Fixed a bug in LYAddImageMap() of LYMap.c which could cause multiple
  insertions of the same MAP into the LynxMaps structure, and crashes
  on some systems due to the consequent multiple FREE()'s at exit. - FM
1997-05-01
* More mods in HTML.c, LYCharUtils.c and GridText.c for rational handling
  of potentially wrapped form fields in PRE blocks.  We now artificially
  wrap the line if the form field would start within 6 columns from the
  right margin.  This makes sure that editing windows and the highlighted
  segments of submit or reset buttons will not ever be ridiculously short,
  and is homologous to our use of a collapsible space before input fields
  and buttons when not in PRE blocks to promote a wrap there instead of
  within the fields or buttons. - FM
* Expanded the WHEREIS query support so that it also locates the values
  of form fields within the current document and repositions or pages
  accordingly, as for normal (Anchor) links and for text strings.  Note
  that if the hit was for an OPTION value in a retracted SELECT popup,
  you are positioned on the retracted window, and must pop it up and
  search again to be positioned on the OPTION value with the hit, unless
  it already is the selected OPTION.  The mods are hairy enough without
  trying to do the latter automatically, at least for now. - FM
1997-04-29
* Added support for a 'p' suffix, like the 'g' suffix for making a link
  number the current link rather than ACTIVATE-ing it (see the 1997-04-24
  mods), but for displaying the page indicated by the number preceding the
  'p' suffix entered at the "follow link (or page) number:" prompt.  When
  NUMBERS_AS_ARROWS mode is on, the '5' key invokes that prompt but is not
  treated as the first digit (see the 1997-04-26 mods).  If the number
  entered at the prompt is '1' or less followed by the 'p' suffix, or only
  'p' is entered, you get the same behavior as for the HOME command.  If
  the number is equal to or greater than the number of pages, you get the
  last page displayed as you would if you had used successive PAGE_DOWN
  commands from the HOME position to reach it.  This differs from the END
  command, which fills the screen with lines from the end of the document
  if you are not already displaying the end of the document.  Note that if
  you enter a number without a suffix (to ACTIVATE the link with that number)
  or with the 'g' suffix (to make the link with that number the current link)
  it must correspond to a valid link number or an error statusline message
  will be issued, in contrast to the 'p' suffix for which an out of range
  number is treated as a request to display the first or last actual page in
  the current document. - FM
* Fixed some typos in lynx.man. - LWV
* More modifications of the anchor counting code for HTGetLinkInfo() in
  GridText.c so that it properly skips hidden form fields and anchors
  without selectable text. - KW
* More modifications in GridText.c and HTML.c so that it deals rationally
  with submit or reset button values, and the underscore placeholders for
  other form fields, when in versus not in PRE blocks.  The entire submit
  or reset button values are now always displayed, whether or not a portion
  of it was wrapped, but we still can only highlight the portion before the
  wrap to indicate a link for submission of the form or for resetting the
  form field values. - FM
1997-04-28
* Updated lynx_url_support.html so as to make clear that the offer to
  include the currently displayed document with right-angle-bracket
  prefixing for mailto, newsreply, and snewsreply URLs is made only if
  the user has defined an external editor via the Options Menu, and that
  the user is expected to edit this inclusion so that it retains only
  those passages relevant to the email or followup message which the
  user will add. - FM
* Tweak of INPUT handling in HTML.c so that we use nbsp instead of any
  spaces when loading a submit or reset button's actual value instead
  of a series of underscores into the HText structure, so that we
  still promote a wrap, if needed, at the space we ensured would be
  present before each INPUT. - FM
1997-04-27
* Tweak of Control-C and Control-G handling for popup_options() in
  LYForms.c.  They were being sought improperly as command keys rather
  than as raw keyboard entries.  Note that only Control-G should be
  used as "cancel" within popup windows on Unix, because Control-C
  is not being trapped to a handler as on VMS. - LE & FM 
* Tweak of the anchor counting code for HTGetLinkInfo() in GridText.c
  so that it takes form fields into account when making a link current
  based on a "Follow link number" entry with the 'g' suffix. - KW
1997-04-26
* Tweak of the 1997-04-23 mods in LYCharUtils.c for stripping lead dot
  pairs in the path for http or https requests.  An inappropriate FREE()
  was occuring when the lead symbolic element had a single dot, rather
  than pair. - FM
* When NUMBERS_AS_ARROWS mode is on, '5' is normally a dead key.  Made
  it a command to invoke the "Follow link number" prompt in that mode,
  but without being used as the first digit for the link number (still
  is used when LINKS_ARE_NUMBERED mode is on).  That feature may not
  be useful with unfamiliar documents in NUMBERS_AS_ARROWS mode, but
  for example, when invoking a bookmark file, if you know that your
  favorite bookmark link is number 108, you can enter '5', followed by
  "108" at the prompt, to ACTIVATE it, rather than having to page and/or
  down-arrow to it first, or you can use "108g" at the prompt, so that
  Lynx will page "automatically" and make that the current link. - FM
1997-04-25
* Mods in LYMainLoop.c, Gridtext.c, and HTAccess.c for more efficient
  and reliable decisions on whether to respect an anchor's no_cache
  element when acting on commands that would load another rendered
  document presently in the HText cache versus seek another position
  in the currently loaded document, and expanded the comments about
  the logic of the code for these decisions. - FM 
* Added information in the "Lynx bookmarks" section of the Users Guide
  about appropriate versus unsupported modifications when editing the
  bookmark files. - FM
1997-04-24
* Added an LYHandleSELECT function in LYCharUtils.c for handling SELECT
  start and end tags, in lieu of the previous code in HTML.c, but via
  SGML.c calls to HTML_start_element() or HTML_end_element().  Also put
  code in the latter two functions to deal with functionally embedded
  or unclosed SELECT elements due to bad HTML, with precautions to
  avoid throwing the HTML.c stack out of whack. - FM
* Added an LYHandleP() function in LYCharUtils.c for handling P start
  and end tags, in lieu of the previous code in HTML.c, but via SGML.c
  calls to HTML_start_element() or HTML_end_element(), and modified
  SGML.c to call HTML_end_element() for P end tags, instead of the old
  hack to use HTML_start_element() for both start and end tags. - FM 
* Worked in KW's development code mods for treating a 'g' appended to
  the number in the statusline entry when in LINK_ARE_NUMBERED mode
  as an instruction to make the link with that number the current link
  (including paging down or up if it is not presently on the screen)
  instead of ACTIVATE-ing it.  Without the 'g', the link corresponding
  to that number is ACTIVATE-ed, as in previous Lynx versions. - FM 
1997-04-23
* Modified LYCharUtils.c, HTML.c and LYMessages_en.h so that if a
  partial reference (HREF or SRC value) would be resolved to an http
  or https URL which has only two dots as the first symbolic element in
  the path (e.g., http://host/../foo.html), such that the server would
  reject the request, that element is excluded from the resultant URL,
  but a statusline message is issued (once per document) about a bad
  partial reference, as immediate feedback which might lead to the
  document provider correcting the bad partial reference(s).  We still
  retain that first symbolic element, in compliance with the IETF RFCs
  and IDs for resolving URLs, with other URL schemes (e.g., ftp). - FM
1997-04-22
* SGML_abort() did not free memory used by the SGML.c parser stack.
  Now it does, but still doesn't call HTML_end_element() for the
  stacked elements (it's an abort after all...) - KW
* Plugged memory leak in deleteLinks() of HTAnchor.c. - KW
* When dumping or outputting a rendered document via the 'p'rint menu,
  Lynx would use the underscore placeholders for submit/image/reset
  buttons as for other INPUT fields.  We now load the values of
  submit/image/reset buttons instead of placeholders into the HText
  structure, so the values will be seen when dumping or outputting
  via the 'p'rint menu.  See the comments under case HTML_INPUT: in
  HTML.c for the still less than optimal things that happen if a
  wrap occurs within the INPUT value or placeholder strings, as might
  happen in PRE blocks, or for strings wider than the screen. - LE & FM
1997-04-21
* Tweaks of the 1997-04-11 and 1997-04-09 mods in HText_endAnchor() of
  GridText.c so as to take possible wrapping of Anchor content into
  account when deciding whether or not to implement the Anchor as an
  ACTIVATE-able link. - FM
1997-04-20
* Tweaks in LYCharUtils.c to bind META CONTENT to a header value only
  via an HTTP-EQUIV attribute (i.e., not via a NAME attribute). - FM
* Mod in HTAccess.c to ignore the anchor's no_cache element if we're
  seeking a position in the currently loaded document. - FM
* Fixed a typo in the bookmark file lead text. - DK
1997-04-19
* Changed the inappropriate StrAllocCat() to StrAllocCopy() for
  loading the XLOADIMAGE_COMMAND in LYReadCFG.c. - PC
1997-04-18
* Based on recent discussions in www-html@w3.org, added HY and SHY
  to the DTD (treated as synonyms; one or the other is most likely
  to be used in future HTML specs, so for now, we support both), as
  markup equivalent to the named entity &shy; and numeric character
  reference &#173; (soft hyphen).  Note that Lynx implements soft
  hyphens as specified in IETF RFC 2070 (link "HTML i18n" in the
  Users Guide).  Use of a tag instead of entity is preferable for
  a soft hyphen because browsers which do not support soft hyphen
  will ignore it as an "unknown tag" instead of inappropriately
  inserting a hyphen or displaying the raw entity.  Also added WBR,
  which is handled like soft hyphen (indicating a permissible wrap
  point), but does not insert a hyphen at the wrap. - FM
1997-04-17
* Mods in HTML.c, HTML.h, and LYMessages_en.h to issue an HTML stack
  overrun message only once per document, and as a statusline message
  if not in TRACE mode, and to check in HTML_end_element() for
  correspondence between the SGML and HTML stacks if an overrun should
  occur. - FM
* Corrections in HTML.c for the bounds checks associated with DIV and
  CENTER nesting levels, and for an HTML stack underrun. - KW
* Plugged a memory leak under case HTML_IMG: of HTML_start_element() in
  HTML.c, and removed an inappropriate if(){} in HText_endAnchor() of
  GridText.c. - FM & KW
* Modified the lead text created for bookmark files in LYBoomark.c so
  that it indicates that an editor can be used to delete or reorder
  the links, but that the format within lines should not be changed,
  nor other HTML markup added.  Note that the new lead text will be
  used only when new bookmark files are created via the 'a'dd bookmark
  link command.  A new bookmark file is not created if the one being
  sought already exists, so existing ones will still have the old
  lead text. - FM
1997-04-15
* Miscellanous additional tweaks in HTML.c for more robust error recovery
  from bad HTML involving emphasis or style elements (B, BLINK, CITE, EM,
  FONT, I, STRONG, and U), or HREF-less NAME-ed Anchors without matching
  end tags. - FM
* Modified the declarations in HTMLDTD.c and code in SGML.C, HTML.c, and
  GridText.c to handle A, B, BLINK, CITE, EM, FONT, I, STRONG, and U
  container elements homologously to the modified handling of FORM (see
  1997-04-05 mods) so that if they are invalidly interdigitated or have
  spurious end tags in the markup, substitutions of the "expected" end
  tags by the SGML.c stack-based parser will not be made, and without
  messing up the HTML.c stack-based parser.  Appears to work reliably
  for all of the elements, and to be reasonably crash safe (hopefully
  as safe as the vanilla v2.7.1), but there are no guarantees. - FM
1997-04-14
* Tweaked LYAddImageMap() in LYMap.c so that it removes all pre-existing
  AREA element entries when updating MAP element content, and set the
  no_cache anchor element in LYLoadIMGmap() so that the updated MAPs
  always will be used when rendering. - FM
* Created an LYHaveImageMap() function in LYMap.c, and trimmed yesterday's
  mods in HTML.c so that they use that function (can't let HTML.c get so
  big again that it chokes some compilers 8-). - FM
* Removed two spurious lines under case LYK_PRINT: in LYMainLoop.c
  (from an old cut and paste from case LYK_HISTORY: done too late
  at night 8-). - FM
1997-04-13
* Modified the handling of BASE for resolving HREFs in relation to MAP
  and AREA elements, and USEMAPs in IMG and OBJECT elements.  The
  formally released code was treating such links equivalently to the
  handling of fragments for positioning the display to ID-ed elements
  or NAME-ed Anchors, and assuming they're in the same document if the
  associated HREF value begins with a '#', rather than resolving versus
  the BASE, and was always resolving versus the BASE for MAP ID or NAME
  attributes, and for the AREA HREFs in MAP content.  We now always
  resolve the MAP ID or NAME attributes versus the current stream's
  address (since the MAP must be in it or we wouldn't be handling it),
  but still resolve the AREA HREFs versus the BASE, if one was present.
  According the original draft and the current HTML 3.2 Proposed Standard,
  MAPs need not be in the same document as the IMG or OBJECT elements
  which specify links to the MAPs.  Because MAPs are "deferred objects",
  they logically should be placed above any IMG or OBJECT elements which
  reference them in the same document (as is done for SCRIPTs), but this
  isn't stated in the specs, nor always done in practice.  Also, there
  aren't any guidelines in any specs on whether to resolve versus the
  BASE or current stream's address.  So for now, the code checks for
  whether the absolute address when resolved versus the current stream's
  address is in the LynxMaps structure, as would be true if the MAP were
  placed above the IMG or OBJECT element in the same document, and uses
  that if so, but otherwise uses the BASE (and authors who place the
  MAPs further down in the same document should be informed about
  "deferred objects" and encouraged to move them up 8-). - FM
* Fixed bug in HTML_free() for the case when LYMapsOnly is set.  We
  didn't create an HText structure for the stream (just scanned it for
  MAPs and processed them into LYMap.c's LynxMaps structure), nor do
  we want to create a blank one (as was being done) since we didn't
  render the stream, nor would we have a me->target set.  So we just
  free any me elements that might still be allocated (though they
  should have been freed already), and return rather than continuing
  through the rest of the HTML_free() code. - FM
1997-04-11
* Fixed bugs in Gridtext.c and HTML.c which could cause mishandling
  of anchors in LINKS_ARE_NUMBERS mode if a line wrap occurred in
  the numbered bracket or the anchor content following the bracket,
  and failures to suppress the numbered bracket if the anchor content
  was empty due to ALT="" in an IMG tag, or if Lynx was configured or
  toggled to suppress the link for the server-side image map if both
  ISMAP and USEMAP attibutes were present in the IMG tag. - FM
* Extended the disk_save restriction to the print menu as well as
  the download menu, and accordingly updated lynx.hlp, lynx.man, and
  Lynx_users_guide.html. -  NHE & FM
1997-04-09
* Tweak to ensure that a newline isn't inserted by virtue of a
  FORM start tag if it's in the first line of a list element and
  no text precedes it other than a UL's bullet or OL's number
  on that line. -  FM
* Added pauses for the "Bad HTML" statusline messages under cases
  HTML_HTML and HTML_BODY in HTML_end_element(), and eliminated
  their checks for an unclosed FORM because we no longer expect
  that to cause a serious problem. - LE & FM
* Added a NO_ISMAP_IF_USEMAP configuration symbol and -ismap
  command line toggle for suppressing inclusion of a link for the
  server-side-image-map if an IMG or OBJECT element has both ISMAP
  and USEMAP attributes such that a client-side-image-map link is
  created.  Updated lynx.man, lynx.hlp and Lynx_users_guide.html
  accordingly. - FM
* Fixed a glitch in HText_endAnchor() of Gridtext.c which could
  cause dangling Anchors in LINKS_ARE_NUMBERED mode if the Anchor's
  content was handled in a manner which caused it to become zero
  length (e.g., due to an IMG element with ALT=""). - FM
* Moved the check for NEWS_POSTING to case 'N' in LYReadCFG.c
  (was in case 'I', ugh). - FM
* Typo fixes for the comment concerning NO_ANONYMOUS_EMAIL in
  userdefs.h - NHE & FM
1997-04-08
* Use a generic test for a non-SGML_EMPTY element for bypassing the
  stack pop in HTML_end_element() of HTML.c instead of an explicit
  test for HTML_FORM. - KW
1997-04-05
* Handle invalidly interdigitated container elements or spurious
  container end tags without substitutions of "expected" FORM end
  tags by the SGML.c stack-based parser, and without messing up the
  HTML.c stack-based parser.  Reliably succeeds in not closing FORMs
  before all of the FORM elements, including submit buttons, have
  been processed.  Should be reasonably crash safe (hopefully as
  safe as the vanilla v2.7.1), but there are no guarantees. - FM
=======================================================================
---  Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997)   ---
=======================================================================
