summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--docs/CHANGES2.3458
-rw-r--r--docs/CHANGES2.4891
-rw-r--r--docs/CHANGES2.51696
-rw-r--r--docs/CHANGES2.6732
-rw-r--r--docs/CHANGES2.7831
-rw-r--r--docs/CHANGES2.83399
-rw-r--r--docs/CRAWL.announce131
-rw-r--r--docs/FM.announce72
-rw-r--r--docs/IBMPC-charsets.announce74
-rw-r--r--docs/OS-390.announce93
-rw-r--r--docs/README.TRST158
-rw-r--r--docs/README.chartrans164
-rw-r--r--docs/README.cookies60
-rw-r--r--docs/README.defines148
-rw-r--r--docs/README.jp130
-rw-r--r--docs/README.metrics283
-rw-r--r--docs/README.options81
-rw-r--r--docs/README.release14
-rw-r--r--docs/README.rootcerts308
-rw-r--r--docs/README.ssl69
-rw-r--r--docs/README.sslcerts265
-rw-r--r--docs/SOCKETSHR.announce67
-rw-r--r--docs/TCPWARE.announce30
-rw-r--r--docs/VMSWAIS.announce28
-rw-r--r--docs/djgpp.key214
-rw-r--r--docs/pdcurses.key123
-rw-r--r--docs/slang.key4
-rw-r--r--docs/win-386.announce40
28 files changed, 10563 insertions, 0 deletions
diff --git a/docs/CHANGES2.3 b/docs/CHANGES2.3
new file mode 100644
index 0000000..f1a480a
--- /dev/null
+++ b/docs/CHANGES2.3
@@ -0,0 +1,458 @@
+--- RELEASE of 2.3 (19-May-1994) ---
+5-19-94
+* Better memory allocation routines used for some VMS systems.
+5-19-94
+* Non-interactive (-source) access to documents requiring access authorization
+ not allowed to avoid crashes.
+3-30-94
+* Lynx exports the environment variable LYNX_VERSION on UNIX systems
+ with the current version number as the value.
+3-29-94
+* added "action=" handling to ISINDEX tags. (Is that in the spec?)
+3-27-94
+* fixed Telnet security problem
+3-19-94
+* added .mailcap and mailcap support as well as mime.types support
+ for the configuration of viewers and extension mappings.
+ The test command is now implemented so that viewers can be conditionally
+ setup.
+3-17-94
+* Revamped the FTP code to recognize different server types and to parse
+ full directory listings (LIST output). File types, sizes and dates
+ are displayed when possible.
+3-16-94
+* added transparent support for mosaic bookmark files. Just point
+ Lynx at your existing default mosaic bookmark file and Lynx will
+ handle the rest. Viewing, addition, and removal are supported.
+3-15-94
+* added second line of reverse video to show multiline links better.
+3-10-94
+* added configurable MIME types and viewers to lynx.cfg. MIME types
+ and VIEWERS can be configured by following the instructions within
+ the newest lynx.cfg file.
+3-?-94
+* added second %s argument to PRINTER and DOWNLOADER definitions.
+ If a second %s is present in the command definition it will be
+ filled in by a suggested filename which is derived from the URL
+ of the document. See lynx.cfg for more details.
+3-?-94
+* got code from CERN to fix HTBTree FTP bug. Large ftp lists should
+ not crash anymore.
+3-9-94
+* added no_proxy environment variable. set it to a comma delimited list
+ of domains or hosts that should not be proxyed. (Thanks CERN :)
+ USAGE: (UNIX)
+ setenv no_proxy "domain1.dom, domain2.dom, domain3, etc"
+3-?-94
+* Fixed Referer: field handleing so that it doesn't crash on really
+ long URL's
+3-?-94
+* True popup menus are now supported for non-multiple SELECT lists.
+2-28-94
+* fixed the delete-a-bookmark command and bound it to 'r' for remove.
+ (thanks to David Trueman for the fix)
+
+---------- RELEASE of 2.2 ------------------
+2-9-94
+* added 'd' for download current link. Can be used to force a download
+ of any file.
+* 'r' removed as a comment key. Use 'c' or reconfigure your keys to
+ add 'r' back in. (I would like to use 'r' in the future to mean
+ remove current bookmark link)
+* Found the bug in the HTTP redirection code that was causing it
+ not to work. So HTTP redirection appears to work now!
+* Added Referer: header to HTTP requests to list the URL of
+ the document listing the requsted URL. Here's an extract from CERN:
+ This optional header field allows the client to specify,
+ for the server's benefit, the address ( URI ) of the document
+ (or element within the document) from which the URI in the
+ request was obtained.
+
+ This allows a server to generate lists of back-links to documents,
+ for interest, logging, etc. It allows bad links to be traced
+ for maintenance.
+
+2-8-94
+* changed novice line to be displayed on bottom two lines with the
+ status line moved up two lines.
+1-27-94
+* Made configurable keymappings a reality. Keys can be remapped in
+ the lynx.cfg file. (diffs from David Trueman)
+* Got code from Foteos to make 'a' work for VMS connection interrupts.
+1-24-94
+* Moving closer towards configurable keymappings. New keyhandleing
+ code will make it very easy to implement. (diffs from David Trueman)
+1-14-94
+* Lynx FTP now supports PASV code. (fixes to CERN (Dave Raggert?) PASV code
+ from John Ellson) It is not enabled by default. Line 43 in
+ WWW/Library/Implementation/HTFTP must be commented out for
+ PASV code to be used. This was done because not all FTP sites
+ can support PASV FTP.
+1-13-94
+* slight change in forms user interface. For the better, I hope you will
+ agree. Text input fields are now active as soon as the cursor pointer
+ is over them. Therefore you may begin typing into the text field
+ as soon as you come to it. Tab, and up and down arrow keys will
+ move off of the text input field. The only problem with this is as
+ follows. If you are in the habit of using the number keys (keypad)
+ the or h,j,k,l vi keys, as soon as you move over the text link
+ you will begin seeing numbers or hjk or l show up in the text field.
+ In other words, your movement commands are now broken :( You must
+ use true arrow keys or the tab key to move off of the text field.
+ I've tried this out and it seems to work alright. I don't think
+ that users unfamiliar with this will have too hard a time figureing
+ it out. Once you see numbers or letter appearing it becomes fairly
+ obvious whats going on. I'll put a message at the bottom of the
+ screen saying "use tab or arrow keys to move off of link."
+* added mods by David Trueman to implement -restrictions commandline
+ option. -restrictions allows a list of services to be disabled
+ selectively. -restrictions takes the form of
+ "lynx -restrictions=[default],[all],[inside_telnet],[outside_telnet],[shell],\
+ [editor],[bookmark],[option_save],[print],[file_url],[download],[exec]"
+
+ all restricts all options.
+ default same as commandline option -anonymous. Disables
+ default services for anonymous users. Currently set to,
+ all restricted except for: inside_telnet, outside_telnet, and
+ goto. Defaults settable within userdefs.h
+ inside_telnet disallow telnets for people coming from inside your
+ domain.
+ outside_telnet disallow telnets for people coming from outside your
+ domain.
+ shell disallow shell escapes
+ editor disallow editing
+ bookmark disallow changing the location of the bookmark file.
+ options_save disallow saving options in .lynxrc
+ print disallow most print options
+ goto disable the 'g' (goto) command.
+ file_url disallow using G)oto to go to file: URL's
+ download disallow saving binary files to disk in the download menu.
+ exec disable execution scripts
+ exec_frozen disallow the user from changing the execution link
+ setting in the O)ptions menu.
+1-12-93
+* added new more informative messages for form links.
+1-11-93
+* fixed -dump and -source options so that they work for
+ binary files now.
+* Interruptable I/0 now completely works for UNIX systems.
+ VMS is next. Just hit an 'a' for abort anytime during a
+ transfer to abort. If there is a partial file to show, it
+ will be shown.
+* Added command line option -show_curser. If enabled the curser
+ will not be hidden in the right hand corner but will instead
+ be positioned at the start of the currently selected link.
+ show curser is the default for systems without FANCY_CURSES
+ capibilities, and the default configuration can be changed in
+ userdefs.h
+1-9-93
+* Added NNTP posting capibilities. Currently uses external inews
+ program which will be included in the utils directory.
+ Would someone like to patch in some freeware inews code, or
+ send me some?
+1-7-93
+* fixed bug in password handling which cuased it to be displayed
+ accidentally :( (Danny Mayer)
+1-6-94
+* bold and emphasis now use curses underlining to represent
+ ephasized text. The use of _underline_ chars before and after
+ the text is now removed.
+1-5-94
+* Added configurable download menu so that binary files may
+ be downloaded using any protocal. Download menu is displayed
+ after selecting a non-displayable file.
+* Added exec links. 4 types currently defined:
+ files ending in: .csh, .ksh, .sh, (for UNIX) and .com (for VMS);
+ Use exec link controls to turn on and off exec links.
+* Gopher menues are now within PRE so that spaces are not
+ collapsed in menu entries.
+* added configurable character sets. Can be set in lynx.cfg
+ by the user in the options screen or in the users .lynxrc file
+ current sets are: ISO Latin I, IBM PC Character set, & 7 bit
+ approximations. New sets can be added to src/LYCharSets.c
+
+----------RELEASE of Lynx 2.1 and 2.1.1----------------------
+-grey area-
+* Ability to FTP to VMS systems. (Foteos Macrides)
+* Fixed lots of display and interupt problems (Foteos Macrides)
+* The Lynx Bookmark file is now interpreted as an HTML document.
+ Old Lynx bookmark files must be converted using the lynx2html
+ program or deleted.
+* HTML+ forms as implemented by XMosaic now work.
+ fill in the empty spaces and press the submit button to
+ submit the form.
+* The TEXTAREA tag isn't done yet. It will currently only
+ give a one line text area. The next version of Lynx will
+ include a true textarea implementation once I figure out a
+ reasonable interface.
+* Incorporated WWWlib 2.14 and fixed up the descrip.mms files.
+ Foteos Macrides made VMS port changes and wrote a really nice
+ build.com script to make compilation on VMS systems really easy.
+ Foteos also ported Lynx to OpenVMS for alpha axp systems.
+* 's' now means search a searchable indexed document through the
+ server, and can no longer be used to search for strings within
+ the displayed document.
+* '/' now only searches through the current displayed document for
+ strings and can not be used for searchable index documents.
+* Capital 'Q' now quits without asking for confirmation.
+* 'm' for Main Menu now askes for confirmation and does NOT clear
+ the history stack.
+* Blockquote style changed slightly.
+* fixed bug with A and other tags messing up formatting
+ withing PRE segments.
+* Verbose Gopher option removed, verbose gopher functionality
+ is now set permenantly on.
+* Default editor is now configurable in the lynx.cfg file.
+* Default bookmark file is now configurable in the lynx.cfg file.
+
+12-15-93
+* ownership is no longer inherited.
+* link rev="owner" href="mailto:ADDRESS" now accepted as well as
+ link rev="made" href="mailto:ADDRESS" to define the URL of the
+ owner or person responsible for the info.
+* 's' now only searches ISINDEX server documents.
+* '/' always means search within the document.
+
+-grey area-
+* still doing massive rewrite. Debugging!!
+
+11-30-93
+* anonymous users cannot change the bookmark page! (thanks to Jyrki Kuoppal for
+ pointing out a security hole)
+
+-grey area-
+* massive rewrite. Removed all Lynx internal format code and
+ restructured all the source files.
+
+11-8-93
+* added   (non-breaking space),   and  
+
+---------- RELEASE of 2.0.12 -----------------
+11-1-93
+* Change HTInit.c so that unsupported types are not sent out
+ in accept parameters. For non X screen only text/html and
+ application/octet-stream are sent.
+
+10-26-93
+* descriptive title added to files mailed from lynx
+
+10-25-93
+* disabled FTP connection caching to help fix multiple FTP problems
+
+10-23-93
+* added preliminary level 1 forms support.
+
+10-20-93
+* fixed a bunch of gopher holes
+* gopher lists are turned into URL's now instead of lynx
+ internal format document links
+* local documents ending in .html can now be referenced with
+ just a filename and/or path from the command line.
+
+10-19-93
+* Added preloaded searches to gopher URL's. They previously
+ didn't work. This is readily apparent as preloaded CSO
+ searches, which alot of people wanted.
+* removed old hytelnet compatibility code which looked in
+ multiple directories to find the correct file. If you still
+ need this capibility talk to me.
+
+10-12-93
+* The users specified editor is now spawned for mail messages.
+ If no editor is defined or if the user is anonymous, the built-in
+ lynx mail sender is used.
+
+10-11-93
+* changed all static data structures to be dynamic
+ This was a pretty major change of code which may add several
+ bugs.
+* rewrote parse_links routine to make it more efficient and to
+ work with dynamic structures.
+
+10-6-93
+* added progress messages to HTTP transfers.
+
+10-5-93
+* added -cache=# command line option to specify the number
+ of WWW documents cached in memory.
+
+9-28-93
+* added VMS port fixes from Foteos Macrides. Lynx now
+ compiles and works on VMS!
+* fixed ftp bug in WWWlib that didn't de-escape URL's before
+ sending request to FTP server.
+
+9-21-93
+* fixed coredump bug for some files with no links.
+
+9-3-93
+* Moved many configuration options including printer setup to
+ lynx.cfg file. The default placement of the lynx.cfg file
+ will be /usr/local/lib & sys$public
+
+9-1-93
+* Removed STARTDIR variable from userdefs.h STARTDIR is now inferred
+ from the STARTFILE.
+
+8-30-93
+* Fixed bug with only one link selectable out of many on the last line
+ of the display.
+* Ported to SVR4 courtesy of Nickolay Saukh (from Russia, Wow this is
+ really getting around!)
+* Uneditable documents don't get refetched. (Nickolay Saukh)
+* National language support through LOCALE
+ (instead of ISOLATIN1), protected by #ifdef LOCALE (Nickolay Saukh)
+
+------Release of Lynx 2.0.11--------------------------------
+8-27-93
+* Caused major international incident when a large bug was discovered after
+ release. :)
+* Fixed internal document hypertext refernces with URL's. '#selector'
+ strings now work again.
+
+8-24-93
+* When files come through on pre HTTP/1.0 servers they are now
+ recognized by their file extensions
+
+8-23-93
+* Lynx can now speak to old NCSA pre HTTP/1.0 servers
+* fixed ALT bug that had to do with style changes not
+ happening before the alt was printed.
+
+8-21-93
+* updated the man file lynx.1.
+
+8-19-93
+* updated help and converted it to HTML. Made a new help location and
+ server. The new default help file is
+ http://kufacts.cc.ukans.edu/lynx_help/lynx_help_main.html
+
+8-15-93
+* changed '\' to toggle between source and no source. When you press
+ '\' while viewing a rendered HTML document you will get the HTML source
+ when you press '\' while viewing HTML source you will get the
+ rendered HTML.
+* Added ALT attribute to IMG tag. When ALT is available the contents
+ are displayed. When ALT is missing [IMAGE] is displayed. When
+ ALT="" nothing is displayed.
+
+8-14-93
+* Added document reload command. CTRL-R when pressed will reload
+ the document into memory and redisplay it, clearing the screen.
+ This is very useful when editing documents, outside of Lynx while
+ using Lynx for rendering.
+* Added source view mode. '\' when pressed will reload the document
+ and display the HTML source. (doesn't work for gopher directoryies right
+ now, but gopher isn't HTML anyways)
+* fixed bug in LibWWW that caused it not to be able to convert to
+ www/source.
+* fixed bug in LibWWW that caused most binary file transfers to fail
+* added binary file transfer ability. When binary files are selected
+ the user is prompted for a file name to save to. The default directory
+ is the one the user started in.
+* Lynx now reloads local HTML files and re-renders them after editing.
+
+??-??-??
+* At some point I added the ability to edit HTML files on the local
+ machine.
+
+8-12-93
+* Added Nested Lists, up to six levels, with different bullets
+ for each level.
+* Due to the fact that nearly everyone seems to use P to mean
+ two returns within the same style, and Mosaic has been kind
+ enough to support this meaning, :( :( :( I have changed
+ the P tag to reflect this interpretation. P can be used
+ anywhere and will mean insert two returns. (i.e., two BR tags)
+
+8-11-93
+* Made the default Mime type for unknown file types on ftp servers
+ to be text/plain. Previously the WWWLibrary had the default
+ as application/octet-stream which meant that most files could not
+ be viewed.
+* Changed the ADDRESS style to be more like XMosaic
+ Left flush, newline top and bottom
+* The Statusline now displays the URL when retrieving files.
+* added BR (linebreak) tag!
+ The BR tag inserts a line break and maintains the current style!
+ The BR tag may be used anywhere.
+* added HR (horizontal rule tag!)
+ The HR tag puts a horizontal line seperating two bodies of text.
+ The HR tag may be used anywhere.
+
+8-8-93
+* All spaces, tabs and returns are now collapsed down do one
+ space.
+* fixed bug whiched caused certain links beginning at the
+ begining of a line to be bad.
+* added '*' (stars) to unordered lists and numbers to ordered
+ lists.
+* changed dir lists to be more like menu lists.
+* all emphasis, physical and symantic, now have _underlines_
+ around them to show emphasis.
+
+
+RELEASE OF VER 2.0.10 -----------------------------------------------
+
+7-8-93
+Added [IMAGE] in all places where IMG tags appear.
+added WWW_HOME environment variable support.
+fixed searching in WWW.
+removed tildas from mail messages for security reasons.
+added emacs-like key defs.
+changed gopher dir routines and Verbose format of directories
+
+6-30-93
+Forgot to put all kinds of bug fixes and stuff in here during the
+past month. I have been working on upgrading to the 2.X WWWlibrary
+Today I changed 'g' to mean goto a url, and 'v' to be view the
+bookmark page.
+
+5-30-93
+Fixed problem with ftp: URL not being recognized and not working.
+
+5-28-93
+Tried to remove the use of tabs and replace them with appropriate
+spaces. This was done to support brain dead curses packages that
+don't handle tabs. (like linux)
+
+5-20-93
+Fixed socket problem which was causing a problem with telnet's
+connecting
+
+5-18-93
+Fixed SUN curses problem, now works with the /usr/5lib routines
+
+4-9-93
+Added an option to turn on link numbering
+
+4-7-93
+Fixed read_rc() bug which caused .lynxrc files to be read incorrectly
+Fixed file cacheing bug which only allowed searching to be performed
+once. (it cached the answer and displayed that each time a new
+search was requested)
+
+4-2-93
+Fixed VMS I/O bug and TCP routines.
+
+4-1-93
+Ported 2.0 to VMS
+
+3-17-93
+Fixed a bug: Multiply defined procedure async_abort in
+the files get_file and get_bin_file
+
+3-16-93
+Optomized Gopher TCP routines, increased speed by a factor of 10!
+
+3-9-93
+Added WWW support by integrating the WWWlib1.4
+
+2-10-93
+Added home page support and append features.
+
+12-22-92
+Added support for Image types using xloadimage for X-terminals.
+
+12-1-92
+Added gopher binary file types
diff --git a/docs/CHANGES2.4 b/docs/CHANGES2.4
new file mode 100644
index 0000000..19221e3
--- /dev/null
+++ b/docs/CHANGES2.4
@@ -0,0 +1,891 @@
+--- Rename of Lynx2-3-FM and release as Lynx2-4 (08-June-1995) ---
+==============================================================================
+06-08-95
+* All of the changes from lynx2-3-FM are now located at ftp2.cc.ukans.edu.
+ We will call this version lynx2-4 and all new changes will be added here.
+ - JP
+06-05-95
+* Added isc support based on post to lynx-dev from Ami Fischman
+ (a540ami@pic.ucla.edu). - FM
+06-04-95
+* Initialize t1->name before the StrAllocCopy() in LYMainLoop.c for
+ DIRED_SUPPORT tagging. - Rick Mallett (rmallett@ccs.carleton.ca)
+* Don't bother creating a /tmp copy of local files for downloading
+ under the DIRED_SUPPORT, and don't include "Save to disk" in the
+ download menu for such files. - RM
+* Deal with any newlines or tabs in statusline messages, along lines
+ in patch from Peter Marquardt. - FM
+* Various fixes to ensure terminations of strings, along lines suggested
+ by PM. - FM
+* Made HTAlert messages more readable in trace mode.
+* Replaced info.cern.ch with www.w3.org in userdefs.h and lynx.cfg. - GL
+* Allow definition of the global configuration file (lynx.cfg) path and
+ name via a "LYNX_CFG" VMS logical or Unix environment variable. Will
+ override the "LYNX_CFG_FILE" definition in userdefs.h. The -cfg command
+ line switch will override those. SYS$LOGIN (VMS) or '~' (Unix) can be
+ used in the path to treat the global configuration file as a personal
+ configuration file ($HOME will be substituted for '~'). Meets objective
+ in patch posted by Danny Meyer (mayer@ljsrv2.enet.dec.com) but does
+ not seek lynx.cfg in the user's HOME directory without an explicit
+ directive to do so. Issue a screen message and then exit if the
+ configuration file is not readeable (rather than continuing as if
+ one had been found and read). - FM
+* Added protections from NAMEless INPUT or TEXTAREA tags. - FM
+05-29-95
+* Changed close(*s) typo in HTTCP.c to NETCLOSE(*s). Caused tight loops if
+ on error *s became stdin. - Peter_Marquardt (wwwutz@cha01.tfh-berlin.de)
+05-20-95
+* Mods of proxying/gatewaying code, replace obsolete info.cern.ch default
+ URL addresses with www.w3.org, and add option to use the new www.w3.org
+ wais search gateway in cover page for wais searches. - FM
+05-10-95
+* If a startfile specified on the command line maps to a MIME type
+ which invokes an alternate display device, allow -homepage, if also
+ specified, to be substituted for startfile on quiting from the display
+ device, rather than forcing an exit due to the original startfile having
+ been neither text/html nor text/plain. Based on a patch from GL, with
+ protections against possible infinite getfile() loops added. - FM
+* Include -t switch when pico is the editor for reply_by_mail() in
+ LYMail.c. - GL
+05-04-95
+* Oops. Had zipped the wrong LYReadCFG.c in yesterday's mods. - FM
+05-03-95
+* Do not override any external proxy and no_proxy variables with those
+ in lynx.cfg. Bug fixes in code for setting proxy variables on Unix,
+ based on patches from Roman Czyborra (czyborra@cs.tu-berlin.de). - FM
+* Fixes for tagging when Lynx jumps to another screen and then comes back,
+ and deal with possibility of screen outputs from compress/decompress
+ utilities. - GL
+* Added support for Sequent's DYNIX/ptx operating system, and bug fixes
+ in HTTCP.c's BSDselect(). - Rodney Barnett (RBarnett@us.teltech.com)
+* Increased limits in select() loops to 5000 tries. - FM
+* Specify /nomember for compilations with DECC. It's not the default
+ on AXP and the code assumes byte alignment. - FM
+04-19-95
+* Added Alan Hirsh's script (LynxDir:VMSPrint.com) for dealing with busy
+ VMS print queues such that Lynx might otherwise delete the temporary
+ file before it has been queued for printing. - FM
+* Added lots of type casting to the mathematical operations in GridText.c
+ to minimize possible sizing/alignment problems for DECC/AXP (and any
+ Unix flavors that use the Alpha chip). - FM
+04-17-95
+* Use test=test -z "$LYNX_VERSION" like test=test -n "$LYNX_VERSION"
+ in mailcap files simply as flags for non-LYNX versus LYNX environment,
+ without actually bothering to execute a test. - FM
+* Issue "** Bad HTML!!! Use -trace to diagnose. **" statusline messages
+ when bad HTML is encountered, and suppress those statusline messages in
+ favor of the TRACE messages when -trace is used. - FM
+* Fixed anchor deletion problem in yesterday's ISMAP mods. - FM
+* Removed -ltermcap from AIX makes (AIX doesn't use it). - FM
+04-16-95
+* Send a 0,0 coordinate pair if a user clicks on an ISMAP link, so that
+ it's handled equivalently to clicks on an ISMAP submit button, and
+ (typically) will return the server's default. Note that the default
+ often is the parent document, and if so, the current document will
+ be returned via redirection (pointlessly 8-). However, this mod
+ allows the WebMaster to use a pure-text document as the default for
+ Lynx. - FM
+* Protections against crashes for inappropriately positioned form tags. - FM
+* Fixes in handling of configurable INEWS path. - FM
+* Support for VT500 series terminals. - George Cook (cook@wvnvaxa.wvnet.edu)
+04-12-95
+* Makefile tweaks for bsdi and aix4. - FM
+04-11-95
+* Mods for building with BSD Interative (bsdi). - FM
+04-08-95
+* Added translation of HTML entities and decimal escaping for the
+ VALUEs of INPUT and OPTION tags. - FM
+* For TYPE="image" INPUT tags, use "[IMAGE]-Submit" as a pseudo-ALT
+ string, and submit a 0,0 coordinate pair if it's clicked, which
+ typically will invoke the server's default (I guess something is
+ better than nothing. 8-). - FM
+* Handle (possibly multiple) angle brackets in bookmark and showinfo
+ link names. - FM
+* Fixed typo in for-ultrix code in LYMain.c. - FM
+04-04-95
+* Added ability to set proxy environment variables via lynx.cfg. - FM
+04-01-95
+* Added handling of the HTML 3.0 attributes for ISINDEX tags:
+ ISINDEX HREF="reference" PROMPT="string"
+ The ACTION attribute didn't make it into HTML 2.0. For now, we'll keep
+ supporting it in Lynx by treating it as a synonym for HREF. - FM
+03-31-95
+* Mods for AIX v4.1.1 and addition of make aix4. - FM
+* Added prototype and extern declarations for BSDselect(). - FM
+* Fixed bugs in form_getstr() that could clobber the stack. - GL
+* Fixes for symlink handling. - GL
+* Made LYShowInfo.c aware of the setuid, setgid and sticky file modes,
+ and nicer mode display if the file doesn't have the read bit set. - GL
+03-30-95
+* Fixed glitch in BASE tag handling. - FM
+03-29-95
+* Initialize pointers in add_trusted() of LYGetFile.c before the
+ StrAllocCopy() calls. - FM
+03-26-95
+* Miscellaneous TRACE and related messaging tweaks. - FM
+03-24-95
+* Handle defaulted localhost in file BASE tags, and related tweaks of
+ defaulted localhost handling in file URLs. - FM
+* Use RM_PATH for both file and directory deletions with the DIRED_SUPPORT
+ remove function. - GL
+--- STARTING 2.3-FM ---
+==============================================================================
+03-23-95
+* Designate this code set as lynx2-3-FM to avoid any confusion with the
+ official releases at UKans. - FM
+* Tweaks of code for defaulted localhost in file URLs. Don't require
+ any host field marker in such URLs - FM
+03-21-95
+* Added handling of defaulted localhost in file URLs. - FM
+* More protections against bad HTML. - FM
+* SYSLOGing enhancements. - GL
+* Suspend curses during my_spawn()'s, and fixes of code for the child
+ and error return detection. - GL
+03-20-95
+* More protections against potentially infinite loops. - FM
+03-16-95
+* Enhancements of 'c'omment and mailto handling. - FM
+* Mods to build.com for enabling submission to BATCH. - FM
+* Ultrix terminal-handling fix. - Roman Czyborra (czyborra@cs.tu-berlin.de)
+03-15-95
+* Fixed bug in for-Unix directory listing code to screen out inaccessible
+ parent directories. Was also being applied to ftp listings. - FM
+* Made bolding of H1 through H7 headers a lynx.cfg option, with the
+ non-bolding as the compilation default. - FM
+03-13-95
+* Fixed bug in setting link[].lname elements to empty strings for form
+ INPUT_ANCHORs. Was causing showinfo() to report the links from the
+ previous document (yet another memory leak bites the dust 8-). - FM
+* Numerous fixups of bold and underline handling. - FM
+03-09-95
+* Increased the while() loop limit for select() tries in HTTCP.c to 500. - FM
+* Memory allocation/free fixes in HTAccess.c. - FM
+* Makefile and documentation tweaks. - FM
+03-07-95
+* Implemented HT_BOLD when specified for headers in DefaultStyle.c. H1 is
+ now uppercase, bold, and centered. H2 - H7 are lower or mixed case, bold,
+ and progressively indented. - FM
+* Miscellaneous enhancements of menu displays. - FM
+* Allow tabs and '$' in lynxexec commands. - FM
+* More TOUPPER/TOLOWER fixes. - FM
+03-06-95
+* Added ability to set the INEWS path in lynx.cfg. - FM
+03-05-95
+* Separated the newspost URL into newspost versus newsreply, and modified
+ LYNews.c to behave more rationally for new versus followup posting. - FM
+* Added "mode reader" command for news list and article requests. - FM
+* Enabled saving of list_dir_style settings in the user's RC file. - FM
+* Don't restrict rearming SIGINT in LYClean.c for IGNORE_CTRL_C to just
+ SVR4. - FM
+* Added numerous protections against core_dumps/ACCVIOs in HTML.c for bad
+ HTML. Should also help reduce likelihood of infinite while() loops and
+ a runaway CPU if binary files are mistyped and rendering is attempted. - FM
+* Added (unsigned char) type casts in addch() calls for proper handling of
+ high value ISOLATIN1 characters. - FM
+* Limited the while() loop for select()'s in HTTCP.c to 50 tries, to help
+ reduce likelyhood of a runaway CPU on undetected terminal disconnects. - FM
+* Fixed typo in build.com. - FM
+* Added Craig's lynx_help and about_lynx files for the lynx2-3-7 distribution,
+ updated for lynx2-3-9 BETA. - FM
+--- STARTING 2.3.9 BETA ---
+==============================================================================
+02-20-95
+* Updated doc files and passed on to UKans for archiving on the
+ ftp2.cc.ukans.edu server as 2.3.8 BETA. - FM
+02-17-95
+* Further updates of building procedures for VMS. - FM
+* Further updates of lynx.man, lynx.hlp and documentation. Indicate
+ that the inside_foo and outside_foo restrictions are not selective
+ on systems which lack utmp. - FM
+* Changed yesterday's DGUX define fo DGUX_OLD, because only older
+ Data General systems need it. - FM
+02-16-95
+* Added Jeff's updates of lynx.man and lynx.hlp, further updated for
+ v2.3.8 - FM
+* Fixed typos in LYMail.c and HTTPC.c. - FM
+* Cleaned up #ifdef'ing for -DIGNORE_CTRL_C. - FM
+* Added -DDGUX for using inet_addr(host).s_addr instead of inet_addr(host)
+ in HTParseInet() of HTTCP.c (Data General may need it). - FM
+* Don't report "-help" as an invalid option. - FM
+02-15-95
+* Handle HTML entities and decimal escaping in ALT strings. - FM
+* Build fixups for TCPWARE. - FM
+02-14-95
+* Added transmission of Accept-Language headers. A default preferred
+ language is defined in userdefs.h. It can be overridden via lynx.cfg.
+ Users can change that via the 'o'ptions menu and save their preference
+ in their RC file. - FM
+* Tweak of FIXED record handling on VMS. - FM
+* Defined Unix ZIP_PATH and UNZIP_PATH in userdefs.h. - FM
+02-12-95
+* Added -localhost switch for restricting access to files and servers
+ on the local host. - FM
+* Added -nobrowse switch for disabling directory browsing. - FM
+* Added -selective switch for requiring a .www_browsable file in
+ each directory for browsing access to it. The enabling files
+ are not included in the directory listings. - FM
+* Fixed up displaying of README files in directory listings on
+ VMS. - FM
+* Replaced all tolower() and toupper() calls with the TOUPPER() and
+ TOLOWER() macros in HTUtils.h (should help deal with some of the
+ strange behavior reported for some flavors of Unix; see header of
+ HTUtils.h). - FM
+Worked in mods from David Trueman (david@cs.dal.ca) - FM:
+* Don't issue the ../ link in Unix local directory listings if the parent
+ directory is not readable (was already dealt with on VMS - FM).
+* Include an Organization: header in Unix news postings, if possible
+ (was already dealt with on VMS - FM).
+* Don't allow the editing of Unix mail headers because that is error
+ prone (no change on VMS; editable pseudo-headers are included for
+ informational purposes, but the real headers are those of the
+ account running Lynx - FM).
+* Don't hardcode the Unix mv command; use MV_PATH define in userdefs.h.
+* Moved the Unix COPY_COMAND define to userdefs.h as COPY_PATH.
+* Completed the Unix ZIP support.
+02-10-95
+* Added code for converting the headers of downloaded binaries on VMS
+ to indicate FIXED 512 record format. See the documentation in
+ userdefs.h, lynx.cfg and FIXED512.COM for more information. - FM
+02-08-95
+* Fixed glitch in HTInit.c which mis-casted the default MIME type for
+ files with a .sh extension, causing the EXEC_SCRIPT function to be
+ disfunctional. - FM
+* I think I finally have Lynx showing "(p# of N)" properly in the title
+ lines (we'll see if perfection has really been achieved 8-). - FM
+* Extended directory browsing on VMS to the -homepage specification,
+ if included on the command line, e.g., lynx -homepage=sys$login
+ will start up Lynx with the default startfile, but the 'm'ain menu
+ command will yield listings of the home directory. - FM
+* Added -fileversions switch on VMS for including all versions of files
+ in directory browser listings (otherwise, only the highest version is
+ listed, with no version numbers displayed). - FM
+* Modified LYEdit.c to use fopen(filename,"a") instead of access(filename,2)
+ to verify write access for editing files (checking "append" access appears
+ to be a more reliable way to do it across platforms/flavors). - FM
+02-07-95
+* Implemented directory browsing for VMS. - FM
+* Fixed printer command handling to actually prompt for and use a second
+ filename argument if two "%s" strings are in the command map. - FM
+* Added anti-Unix-shell-spoofing code for all of the filename argument
+ handling. - FM
+* Fixed glitch in getenv(DISPLAY) calls on VMS.
+02-04-95
+* Fixed a glitch in BASE support. Should now work properly when both
+ standard and Lynx-specific hrefs are in the document. - FM
+02-03-95
+* Added support for posting to newsgroups from Lynx on VMS via the
+ ANU-NEWS software. - FM
+* Numerous href parsing enhancements. - FM
+* Enhancements and bug fixes of news displays. - FM
+* Enabled display of Linknames with angle brackets (as for news URLs)
+ in the showinfo page. - FM
+* Ensured that a file URL which is really an ftp URL will yield an
+ "FTP is Disabled" statusline message when it's disabled. - FM
+02-01-95
+* Defined out the LYK_VERSION code and made Control-V a dead key again,
+ since including the Lynx name and version strings in the showinfo ('=')
+ and 'o'ptions displays is adequate, and people on different platforms
+ or flavors associate Control-V with other functions. - FM
+01-31-95
+* Beefed up the BASE support. - FM
+* Made all WWWLib cover pages and menus HTTP/1.0 compliant (to ensure
+ resetting of any BASE tags) and gave them more pizzaz. - FM
+* Trim terminal slashes in ftp paths if not the Welcome directory, so
+ we'll get "Up to" links. Terminal slashes in file paths still force
+ that directory to be treated as the Welcome directory. For example,
+ ftp://host/blah/foo/ will have an "Up to blah" link listed, but
+ file://host/blah/foo/ will treat /blah/foo/ as "Welcome" (both ftp
+ and file "Up to" links are blocked by -DNO_PARENT_DIR_REFERENCE). - FM
+* The VMS SOCKETSHR_TCP support can't yet handle telnet, tn3270 or
+ rlogin URL's (Andy Harper is working on it; be patient 8-). Modified
+ HTTelnet.c to compile properly and behave rationally when such URL's
+ aren't supported. - FM
+* Corrected doc files based on Larry Virden's (lvirden@cas.org) careful
+ (or is it carefull) proof-reading. Thanks Larry! - FM
+* More type casts for ANSI C compliance. - FM
+01-30-95
+* Added numerous type casts for ANSI C compliance. - FM
+01-29-95
+* Prototyped HTHostName() for yesterday's mods in HTAccess.c. - FM
+* Updated lynx.cfg. - FM
+01-28-95
+* Added lynx name and version to the showinfo page and options menu. - FM
+* Tweaked Danny's news proxying mods for selective no_proxy directives
+ with a port field (119) for news, and added equivalent code for wais
+ (port 210). - FM
+* Updated the INSTALLATION file (I hope people read it 8-). - FM
+* Hadn't included last night's typo fix in the archived fileset. - FM
+01-27-95
+* Added Danny Mayer's (mayer@ljo.dec.com) mods for proper handling of
+ no_proxy directives for news (NNTPSERVER) hosts. - FM
+* Worked in Ari Luotonen's (luotonen@dxcern.cern.ch) mods for sending
+ a "Pragma: no-cache" header for use by a proxy server in conjunction
+ with the RELOAD command. - FM
+* Fixed to handle file URL's appropriately in conjunction with proxying
+ of ftp URL's. For file URL's on the local host, direct access is
+ attempted, with no ftp attempt if that fails, whether or not proxying
+ is in effect, and whether or not no_proxy directives have been set.
+ Both ftp URL's, and file URL's on a remote host, are sought via ftp
+ without a direct access attempt. File URL's for remote hosts are
+ converted to ftp URL's before submission to a proxy server, so no
+ special procedure need be implemented to induce the proxy server to
+ act on them (You shouldn't continue using file URL's when you intend
+ ftp, but Lynx will handle such URL's properly when encountered in
+ old documents that use file when ftp is intended.) - FM
+* Fixed typo in yesterday's "psychotherapy". - FM
+01-26-95
+* Escaping of ISINDEX queries needed more tweaks to work properly with
+ high value IsoLatin1 characters. - FM
+* Applied psychotherapy to the schizophrenic behavior that was exhibited
+ when download, upload, print, history or showinfo commands were used
+ during displays of each other's menus or temporary files. - FM
+* Enabled downloading of links from the history page. - FM
+01-25-95
+* Added LYK_VERSION command (^V) for showing version of Lynx. - FM
+* Include file fixes for TCPWARE. - FM
+* Fixed bug in showinfo() which caused core dumps when invoked while
+ positioned on any form field which has a "linkname" but a NULL
+ "filename". - FM
+* Fixed glitch in 'p'rint menu. - FM
+01-24-95
+* Enabled SOCKSification for any Unix flavor via the SITE-LYDEFS,
+ SITE-DEFS and SOCKSLIB definitions in the top-level Makefile. Added
+ info in INSTALLATION on how to do it for VMS. Included notes that you
+ are better off building Lynx normally, and instead using a SOCKSified
+ proxy server to get through a firewall. - FM
+* Added instructions in INSTALLATION for setting up proxy service. - FM
+* Fixed multiple submit button handling to distiguish which button was
+ activated when they have the same name, and include only that button's
+ name/value pair in the submission. - FM
+* Figured out how to apply all security and restrictions checks for
+ redirecting URLs returned by ISINDEX searches, and accordingly lifted
+ the bypasses for the previously insecure access types. - FM
+* Added option to use Jerry Whelan's (guru@bradley.edu) BSDselect() for
+ SVR4 systems with the "type any key" problem. - FM
+01-23-95
+* Fixed up escaping of queries in HTSearch(). - FM
+* Updated the sample jumps files. - FM
+* Worked in socksification mods from Reese Ferry (reesef@VNET.IBM.COM) - FM
+* Enabled use of LOCALE for international characters with any Unix flavor
+ (not just sun) via a define in the top level Makefile. - FM
+01-22-95
+* Updated the lynx.cfg configuration file. - FM
+* Implemented BASE handling. - FM
+01-21-95
+* Fixed -cfg switch handling so that the specified, alternate configuration
+ file properly is read instead of the default system file specified in
+ userdefs.h. - FM
+* Made 'p'rint, 'd'ownload and 'u'pload menu lists single spaced. - FM
+* Fixed HTFileFormat() in HTFile.c so that it properly processes the
+ suffix-to-MIME-type mappings when version numbers are in local file
+ URLs on VMS. We therefore no longer trim off the version number if
+ if was included, and Lynx will now access and process that version
+ rather than only the highest version. - FM
+01-18-95
+* Makefile fixes for convex and linux. - FM
+01-17-95
+* More Makefile fixes. - FM
+01-14-95
+* Fixes for FreeBSD. - FM
+01-12-95
+* Made the "ls -l" emulation in local directory listings a compilation
+ option (see the top level Makefile). - FM
+* Made inclusion of "Up to" parent links in local directory listings a
+ compilation option (see top level Makefile). - FM
+* Message fix for checkmail on Unix. - FM
+* Fixes for SCO with gcc. - FM
+01-11-95
+* Restored original hash table function in HTAnchor.c without (hopefully 8-)
+ reviving anchor deletion problems. - FM
+* Fixed typo in HTAccess.c. - FM
+* Added code in HTFile.c from Timothy Newsham (newsham@aloha.net) for
+ generating long style Unix listings (ls -l). - FM
+01-10-95
+* Escape dashes in lynx.man. - FM
+* Added NetBSD support from Bryan T. Vold (btv@wiley.HealthPartners.COM). - FM
+* Made anchor searches in hash tables case-sensitive (so paths which
+ differ only in their case can be distinguished, as people using the
+ DIRED support kept requesting) without (hopefully 8-) reviving anchor
+ deletion problems. - FM
+01-09-95
+* More Makefile and code fixes for building properly with various systems
+ and compilers. - FM
+01-06-95
+* Numerous fixes for handling signals (e.g., SIGWINCH) received during
+ keystroke fetches, without (hopefully 8-) reviving the problem of
+ runaway CPU's on undetected terminal disconnects. - FM
+* More Makefile and code fixes for building properly with various systems
+ and compilers. - FM
+01-05-95
+* Changed define for syslog() logging to SYSLOG_REQUESTED_URLS and picked up
+ logging of ISINDEX search requests that don't go through getfile(). - FM
+* More fixes for redirection returned via ISINDEX searches. - FM
+* Fixed missing newline character at end of last .lynxrc entry. - FM
+* More Makefile tweaks. - FM
+* More additions in LYCurses.h for compilers which fail to check whether TRUE
+ and FALSE are already defined before defining them in curses.h. - FM
+01-03-95
+* Fix for redirection returned via ISINDEX searches. - FM
+12-29-94
+* Yet more top level Makefile tweaks. - FM
+* Fix bcopy problem for UCX. - Martin Zinser (zinser@vscn.gsi.de)
+* Fix ioctl() problem for UCX. - MZ
+12-27-94
+* More top level Makefile tweaks. - FM
+12-26-94
+* Added Lou Montulli's procedure for PURIFY to the top level Makefile. - FM
+12-23-94
+* Added Lou Montulli's memory leak fixes. - FM
+* Fixed HTLoadedDocumentTitle() call in LYGetFile.c. - FM
+--- RELEASE of 2.3.8 BETA ---
+12-22-94
+* The WFEB code as of 12-15-94 has been archived at UKans as lynx2-3-7,
+ so we'll make this lynx2-3-8 to avoid confusion. - FM
+* Added bookmark_exec restriction for disallowing use of lynxexec URL's
+ in the user's bookmark file or converted Mosaic hotlist. - FM
+* Enable any lynxexec URL in JUMPFILE if EXEC_LINKS has been defined.
+ This allows you to set both LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE
+ to TRUE and a single TRUSTED_EXEC rule that will always fail (e.g.,
+ TRUSTED_EXEC:none), so that *ONLY* the lynxexec URL's in the jumps
+ file will be acted upon. - FM
+* Disallow lynxexec URL's in G)oto if no_shell is set or if
+ LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE is TRUE. - FM
+12-21-94
+* Include LYFLAGS in the BSDI_Makefile. - FM
+* Numerous mods based on patches from David Trueman - FM:
+* Changed SUN4 ifdef for implementing the "reverse clear screen hack" to
+ REVERSE_CLEAR_SCREEN_PROBLEM since not all sun4 systems experience this
+ problem.
+* Changed a few messages to use key_for_func() instead of a hard-coded
+ key mapping.
+* Allow control-C as well as control-G to abort or cancel on Unix (as
+ already on VMS). On VMS, control-C and control-Y evoke a "Do you really
+ want to quit?" prompt, and a 'n'o reply gets handled as if control-G
+ has been entered in the first place. On Unix, control-C is treated
+ simply as a synonym for control-G, and control-Y is not an interrupt
+ signal. This seems the best way to handle those control signals, based
+ on what VMSers versus Unixites would expect them to do.
+* Added code to disallow the writing of files beginning with a dot if
+ NO_DOT_FILES is set TRUE in userdefs.h and/or lynx.cfg.
+* Added possibility of logging URL access via syslog() on Unix (ifdef'd
+ with LOGGING).
+* Improved and made more flexible the security for lynxexec URL's. The
+ default behaviour is the same as now, but source locations and the path
+ (Unix) or name (VMS) of programs to be executed can be restricted via
+ TRUSTED_EXEC rules in the lynx.cfg file.
+* Convert ~ in lynxexec paths to $HOME on Unix.
+* Several changes in DIRED support. Tidied and consolidated code. Changed
+ the way tags are freed (fixing a bug where they did not always get cleared
+ properly). Changed all programs to *_PATH defines. Changed the display
+ of tags so they work with numbered links.
+* Added another restriction to disallow telnet port specifications in
+ G)oto URL's.
+* A bit of special case code in jump handling. If key mapping is G, allow it
+ to be typed as "go target".
+* Change strncmp in remap() to strcmp() (bug fix).
+* Report offending bad option in main().
+* In mainloop(), make \r same as \t and \n.
+* Combine LYK_REMOVE code with LYK_DEL_BOOKMARK so that they can share the
+ same key map.
+* If show_cursor is true, position cursor 1 position before the link, which
+ makes it less likely that the link is obscured in defective terminal
+ programs
+12-15-94
+* More fixes in LYno_attr_char_case_strstr() and LYno_attr_char_strstr() - FM
+* People didn't like having to erase the default WHEREIS ('/') search string
+ when it wasn't what they wanted in a new document (though most didn't know
+ that it can be done easily via ^U), and Lynx doesn't have real editing via
+ LYgetstr() (just deletion from the end of the string), so I got rid of the
+ the editing offer. The previous search string is still buffered across
+ document fetches, and can be used across documents via NEXT ('n'). You
+ also can use WHEREIS without a search string entry to turn off highlighting
+ within the current document, and then NEXT to restore it. If control-G is
+ used instead of a blank string to cancel a WHEREIS command, it does not
+ turn off the highlighting. So everything everyone asked for is now
+ possible (once you figure out how to do it 8-). - FM
+12-14-94
+* Oops! Fixes in tcp.h for MULTINET with DECC/VAX had left SOCKET_ERRNO
+ undefined for all the other VMS TCPIP packages. That's what I get for
+ working on this stuff too late at night. - FM
+* Additional ANSI compliance fixes in HTTCP.c for builds with DECC/VAX and
+ non-MULTINET VMS TCPIP packages. - FM
+12-13-94
+* Modified searches for strings within the currently displayed document
+ ('/', as opposed to 's' for ISINDEX searches) so that the highlighting of
+ the search string is not retained when the current document is changed,
+ and added recall buffering of the search string so that it's offered as
+ the default for editing or reuse on subsequent '/' commands. Also, we
+ now force redraws on invokations of such searches so that hits will be
+ highlighted even if they occur on the current page. Links with hits such
+ that they have embedded highlighting of the search strings will not have
+ the embedded highlighting restored when the cursor is moved onto and then
+ off of them (helps to distinguished whether it's intended or the due to
+ the search), but will be restored whenever the page is redrawn. All
+ embedded highlighting also is restored when the 'n'ext command is used to
+ repeat the search in the current document, even if the returned hits do not
+ cause a page change. Note that these searches first search only the links,
+ and position you on the first link with a hit occurring after the current
+ link. If there were no hits in the links, then the text is searched and
+ the first hit occurring after the current link is positioned at the top of
+ the page. They never did, and still do not, search both the link and text
+ portions of the document simultaneously. Also note that ISINDEX searches
+ never have and still do not yield highlighting of the query string(s) in
+ the returned document.
+* Fixed LYno_attr_char_case_strstr() and LYno_attr_char_strstr() in
+ HTStrings.c so that they properly ignore any attribute characters in
+ the comparison string and return a pointer to the correct location
+ of a match with the target string. - FM
+12-12-94
+* Modified FTP gateway to display 230- as well as 250- information/help
+ messages, and on non-Unix as well as Unix systems. - FM
+--- RELEASE of 2.3.7 BETA ---
+12-11-94
+* Further tweaked explanatory comments in the configuration and samples
+ files, and updated the instruction files. - FM
+12-09-94
+* Modifed PassesTest() in HTInit.c to avoid the overhead of system() calls
+ by using getenv() when test -n "$DISPLAY" and test -z "$DISPLAY"
+ commands are encountered in the mailcap file. Otherwise, needlessly
+ expensive system() calls potentially could be made for virtually every
+ viewer mapping in that file!. For Lynx, those two strings in the mailcap
+ file now are equivalent to the :XWINDOWS and :NON_XWINDOWS flags,
+ respectively, for VIEWER: assignments in lynx.cfg. - FM
+* Also modified PassesTest() so that it simply treats test -n "LYNX_VERSION"
+ as success. Why spawn a system() command to see if Lynx is running, when
+ it obviously is!. However, that string can be included in the mailcap
+ file for assignments that should be restricted to Lynx if other software
+ also uses the file. - FM
+* The above two mods make it unnecessary to actually use a "test" script for
+ differentially setting viewers in XWINDOWS versus NON_XWINDOWS environments,
+ so VMSers also can use the mailcap files for differential assigments of
+ viewers, without those DCL error messages about "test" which have been
+ mystifying so many people. However, yesterday's mods do make it possible
+ for VMSers to use a "test" script for checking other environment or system
+ features, and thereby setting viewer switches differentially, analogously
+ to the command line switches for Lynx itself. - FM
+* Modified comments in samples/mailcap to indicate these enhancements. - FM
+* Modified comments in userdefs.h to describe correctly what the Lynx code
+ does as of v2.3: Any SUFFIX or VIEWER mappings in lynx.cfg will be
+ overridden in src/HTInit.c if they also appear there. Then, any mappings
+ in mime.type or mailcap will override those from lynx.cfg and src/HTInit.c.
+ The XLOADIMAGE definition is used in src/HTIinit.c, and you can use
+ mailcap, but not lynx.cfg, to override it. - FM
+* Modified comments in lynx.cfg and samples/lynx.cfg to indicate what Lynx
+ really does, and the use of mailcap files to do what lynx.cfg had claimed
+ it could do but doesn't. - FM
+* Fully implemented multiple submit button support for both POST and GET
+ forms. - FM
+* Added LYK_RESUBMIT keymap (with default binding to 'x' and 'X') for forcing
+ submissions of forms to servers (i.e., never use cache). LYK_ACTIVATE
+ (with default binding to right-arrow and RETURN) still fetches from cache
+ if available. Statusline help describes these commands when positioned
+ on a submit button. - FM
+12-08-94
+* Fixed HText_submitForm() in GridText.c to handle submitting INPUT types
+ (e.g., type="image") which have name/value pairs. - FM
+* Modified DCLspawn to recognize -1 on failure and 0 or 1 on success as
+ return or exit values of scripts, and report -1 or 0 as it's own return
+ value. If a "test" script is used on VMS in conjunction with .mailcap
+ for setting viewers, it should return -1 if the test fails and 0 or 1 if
+ it passes (the "test" script can be DCL or an exectutable, and should be
+ defined as a foreign command). If you don't have a "test" script, don't
+ include that instruction in .mailcap. - FM
+* The tmpaddress pointer in do_www_search() of GridText.c needed to be
+ initalized to NULL. - FM
+12-07-94
+* Made sufficiently ANSI compliant to build with DECC on VMS without using
+ the /stand=vaxc qualifier, and further modified so that Lynx will build
+ and run (extremely well 8-) with DECC/VAX. Whooh, that took some doing!
+ These mods are also desireable for builds on Unix. - FM
+12-02-94
+* Fixed the query recall buffer in do_www_search() of GridText.c to restore
+ the +'s to spaces and unescape properly. - FM
+* Include file and define fix ups, for SOCKETSHR/NETLIB support and convex
+ builds, in tcp.h, LYShowInfo.c and top level Makefile. - FM
+11-27-94
+* Fixed bugs associated with failure to check the post_data element in
+ addition to the address element when making push/pop decisions for the
+ history stack, and when checking whether a requested document has been
+ loaded successfully. The address element is insufficient for documents
+ returned by POST'ed forms. - FM
+* Check -trace switch earlier in LYMain.c so that trace messages associated
+ with setting up the Lynx configuration will actually be displayed. - GL
+11-23-94
+* More fix ups for the SOCKETSHR/NETLIB support. Close to "all set" but needs
+ more field testing with the full range of TCPIP packages for VMS. - FM
+* Added HP_TERMINAL define for the DIM workaround to the REVERSE problem with
+ HP terminals. If not defined, SNAKE builds will not make that substitution
+ (would be better to do this in a way that checks the terminal at run time,
+ but we'll hold off on that for now). - FM
+--- RELEASE of 2.3.6 BETA ---
+11-21-94
+* Replaced ucx$inetdef.h with socketshr_library:ioctl.h for the
+ SOCKETSHR_TCP builds. Note that the ioctl.h is not presently included
+ in the binary distribution of SOCKETSHR/NETLIB. You have to get it from
+ the sources distribution. - FM
+11-18-94
+* Added Andy Harper's (A.Harper@bay.cc.kcl.ac.uk) "first round" support for
+ SOCKETSHR/NETLIB (see SOCKETSHR.ANNOUNCE). Note that it is presently
+ including ucx$inetdef.h which is not provided with SOCKETSHR or NETLIB
+ source sets, and may not be available to non-UCX sites. We're checking
+ into how to deal with that. - FM
+* Made recall buffering of shortcuts for the 'J'ump command a configuration
+ file option (in userdefs.h and/or lynx.cfg). - FM
+* Added clearerr() before the GetChar() in LYStrings.c. - FM
+* Made the optional novice help lines conform to the "standard default"
+ key bindings. Edit them appropriately in userdefs.h if you plan to use
+ other bindings with that feature.
+* Added George Lindholm's (lindholm@ucs.ubc.ca) Makefile patch for making it
+ just a tad easier to set up local compile options. - FM
+* Eliminated serial free() in LYSanctify() of LYGetFile.c. - FM
+* Restricted all "hack to fix reverse clear screen problem" code to
+ SUN4 (had missed one 8-). - FM
+11-15-94
+* Eliminated separate list and atexit deletions of redirecting anchors. - FM
+* Added Rick Dyson's (Dyson@IowaSP.Physics.UIowa.EDU) updates of the
+ descrip.mms files. - FM
+11-12-94
+* Worked in Malcolm MacArthur's (mcscs2mm@zippy.dct.ac.uk) mods for reading
+ a printer's page length from the configuration file and calculating the
+ correct number of pages for the statusline query on whether to continue
+ if the document is longer than 4 printer pages. Further modified that
+ code to use the current LYlines for the computation when the built in
+ "print to screen" option is selected. See the comments concerning
+ "PRINTER:" definitions in lynx.cfg for more information. - FM
+* Fixed HTInetStatus() in HTTCP.c to use SOCKET_ERRNO instead of errno,
+ based on the platform/transport-specific definitions in tcp.h. Thanks
+ to Danny Mayer (mayer@ljo.dec.com) for tracking down this glitch. - FM
+11-10-94
+* Added David Trueman's latest clever enhancement: The command line option
+ -homepage=URL separates the notion of a home page (or main screen) from
+ the start file. So, lynx -homepage=URL1 URL2 will start up with URL2
+ but the MAIN_MENU key will take the user to URL1 rather than URL2. This
+ is useful for public accounts that start up with an information page or
+ form, that then leads the user to a URL for the actual home page. The
+ MAIN_MENU key can thereafter be used whenever the user wishes to return
+ to the actual home page. - FM
+* Enlarged string buffer in LYEdit.c to handle large paths. - FM
+* Made 'K'eymap title and descriptions easier to edit for alternate languages
+ (e.g., Dutch or Greek) as required by Dick Wesseling (but, alas, the editing
+ still has to be done in LYKeymap.c, because it's too much to move into
+ userdefs.h; someday Lynx will have real internationalization code 8-) - FM
+* Added titles to tops of jumps files so that the nesting level will be reset
+ on reloads. - FM
+11-09-94
+* More prototyping and include file fixes in LYJump.c and LYMainLoop.c - FM
+11-08-94
+* Prototyping fix in LYJump.c. - FM
+* Miscellaneous fixes in src/descrip.mms. - FM
+* Hadn't included patch for latest LYUtils.c in lynx2-3-5.patches. - FM
+11-07-94
+* At popular request (already 8-), changed the "Jump to:" query to work
+ exactly like the "goto:" query. The previous entry is recalled, a '?'
+ must be entered explicitly to fetch the shortcut list (with an instruction
+ about that added to the prompt), and a blank entry or Control-G returns
+ the user to the current document. - FM
+--- RELEASE of 2.3.5 BETA ---
+11-05-94
+* Numerous wonderful enhancements based on patches from David Trueman, and
+ entensions of those mods. Briefly:
+* Implemented 'K'eymap command for showing all of the key bindings currently
+ in effect, with a description of their functions. This is faster and
+ more helpful than the online help's description of the default key
+ bindings. Must be uppercase 'K' if VI keys are ON, otherwise the command
+ is case-insensitive. Try it, you'll love it! - FM
+* Implemented 'J'ump command for using "shortcut" names to access URL's in a
+ local "jumps.html" file that has a sorted DL list which maps each target
+ (shortcut) DT to it's full URL DD (see the sample jumps files added to
+ the distribution). The URL's could be local or remote resources, or
+ lynxexec or launch file URL's for system utilities (e.g., the shortcut
+ "news" could invoke the news reader, "mail" the mail utility, "swing" the
+ VMS File/Directory Management Utility, etc.). This feature is enabled by
+ defining JUMPFILE in userdefs.h or lynx.cfg, and can be disabled via at
+ run time via -restrictions=jump as a commandline switch. Must be uppercase
+ 'J' if VI keys are ON, otherwise the command is case-insensitive. Try it,
+ you'll love this too! - FM
+* Added a CHECKMAIL symbol which if set TRUE in userdefs.h or lynx.cfg will
+ report the existance of unread mail at Lynx startup, and arrivals of new
+ mail, via statusline messages. VMSers can block unsoliticed system NEWMAIL
+ screen broadcasts ($ SET BROADCAST/NOMAIL) when using this feature. It
+ can be disabled at run time via the -restrictions=mail switch, which also
+ disables standard mail functions in Lynx, but still allows 'J'umps via a
+ "mail" shortcut to a lynxexec URL for a script which could perform security
+ functions before permitting or rejecting access to the mail utility. The
+ hackers will really love this! - FM
+* Added ability to toggle the novice help line to show all of the principle
+ commands. - FM
+* Miscellanous bugs and memory leaks found and fixed in conjuction with
+ adding and enhancing the above features. - FM
+* The code may need some tweaking to build and run properly on some flavors
+ of Unix (appears to be all set for VMS). - FM
+11-01-94
+* Fixed bug if editor is dereferenced. - David Trueman (david@cs.dal.ca)
+* Enable alternate boxing of popup windows via defines for BOXVERT and
+ BOXHORI in userdefs.h - Dick Wesseling (ftu@fi.ruu.nl)
+* Check for LYCursesON before making any Curses calls in cleanup() - DW
+10-31-94
+* Looks like the last of the problems deleting anchors has been solved
+ by Dick Wasseling, so the bypass is lifted again. - FM
+* If CANT_EDIT_UNWRITABLE_FILES is defined on Unix, write access is
+ required to edit files (write and delete access are always required
+ on VMS). - Alex Whittaker (alex@biu.icnet.uk)
+* Moved "Press RETURN ..." text to userdefs.h. - AW
+10-28-94
+* Uncache documents or bookmark file before reloads (via Control-R or
+ 'r'emove command) in LYMainLoop.c. - FM
+* Uncache showinfo display or print, download, option, etc, menus before
+ reloading those in GridText.c. - Dick Wesseling (ftu@fi.ruu.nl)
+* Above two fixes still don't completely solve the anchor deletion problem,
+ so we're still bypassing.
+* Enable iso entity translations inside TITLEs - DW
+10-26-94
+* Problems when deleting anchors have been reported, apparently for
+ documents which have been (re)loaded with LYforce_no_cache. So,
+ we'll retore the bypass until that problem is tracked down. - FM
+10-25-94
+* Added coded for disabling mail for -anonymous via CAN_ANONYMOUS_MAIL in
+ userdefs.h, and via -restrictions=mail (default is enabled). - FM
+10-21-94
+* Added Danny Mayer's (mayer@ljo.dec.com) samples/lynx.com - FM
+10-05-94
+* Modified tcp.h to deal with conflicting typedefing in the MultiNet
+ types.h and time.h versus those for DECC. - FM
+* Define FANCY_CURSES for linux-ncurses. - FM
+09-30-94
+* -restrictions help list in LYMain.c should indicate "option_save" (not
+ "options_save") for disabling the saving of options in .lynxrc. - FM
+09-29-94
+Mods based on patches from George Lindholm (lindholm@ucs.ubc.ca) - FM:
+* Fixed problem when IGNORE_CTRL_C is defined, that was created by the
+ fix for runaway processes on Unix when undetected terminal disconnects
+ occurred.
+* Added options to disable rlogin and/or ftp access.
+09-28-94
+* Use "hack to fix reverse clear screen problem" in GridText.c if SUN4 is
+ defined (still need clarification on the exact nature of the problem
+ to decide if this is the best way to handle it; it bothers me to have
+ this kind of hack in the code 8-) - FM
+Mods based on patches from George Lindholm (lindholm@ucs.ubc.ca) - FM:
+* Move the "quit" text to userdefs.h from LYMainLoop.c for easier
+ customization.
+* Typo fix for buttons submit value in GridText.c
+* Renable SIGINT signal for SVR4 machines if control-c is to be ignored
+ when editing.
+* Solaris fixes for LYCurses.h.
+* Recognize pico as a special editor.
+* Fix -restrictions help text.
+* Fix -telnet and -news options so that they actually do something.
+* Fix upload code so that you can have more than one uploader option,
+ and fix for freeing a static variable.
+* Various prototype fixes.
+* -editor command line option signals that the editor can't be changed.
+* Added a SYSTEM_EDITOR option to lynx.cfg for a locked editor.
+--- RELEASE of 2.3.4 BETA ---
+09-27-94
+* Alas! I think I've tracked down and fixed all the bugs that were causing
+ ACCVIOs/CoreDumps if anchors were deleted/freed when freeing the cached
+ documents. So now we do delete/free them. This plugs a major memory
+ leak in Lynx (which we knew about, but heretofore had to live with). - FM
+* Added Danny Mayer's (mayer@ljo.dec.com) fix so that MIME types are handled
+ case-insensitively. - FM
+* Restored text/html (WWW_HTML) as the default MIME type when an HTTP/1.0
+ server fails to send it in the headers. This happens because it's the
+ default in Mosaic and developers using that don't realize their server or
+ script code is failing to send it (other MIME types will be caught as an
+ error, and the code will be fixed by the developers). Garrett's change to
+ application/octet-stream (WWW_UNKNOWN) was technically correct. You can
+ change it back to that where indicated in HTMIME.c if you prefer that Lynx
+ be technically correct but functionally wrong when dealing with this
+ situation. - FM
+--- RELEASE of 2.3.3 BETA ---
+09-22-94
+* Finished up redirection handling. Will now handle serial redirections
+ across multiple sites (with an arbitrary limit of 10, to prevent the
+ possibilily of an infinite loop of circular redirections), works properly
+ with redirections via the VALUE fields of OPTION tags, and no longer alters
+ any anchor addresses, avoiding all the problems that caused in the hash
+ table. - FM
+* Worked in Rick Mallett's (rmallett@ccs.carleton.ca) fix for runaway
+ processes on Unix when undetected terminal disconnects occur. - FM
+* Added Eric Jon Rostetter's (ERIC@uoft02.utoledo.edu) code for proper
+ keyboard handling with DEC eightbit terminals. - FM
+* Added David Greer's (david_greer@robelle.com) mods for curses on
+ HP terminals. - FM
+--- RELEASE of 2.3.2 BETA ---
+09-17-94
+* More fix ups of forms structure handling, freeing and redirecting. - FM
+* Fixed problem with free's of startfile, thanks to Dick Wesseling
+ ftu@fi.ruu.nl - FM
+09-14-94
+* More memory leak and redirection fix ups (still not perfect). - FM
+* Various mods to speed up memory management with VAXC on VAXen (still
+ slow compared to DECC on AXPen). - FM
+09-13-94
+* If an ISINDEX document is one returned by a previous search, the 's'
+ command puts up the query which returned it, for editting as a new query
+ (use Control-U to erase, Control-G to abort) Otherwise, no string is
+ offered in the prompt for a database query. If the previous query is
+ submitted without modification, a message to use Control-R to resubmit
+ the same query is display (so that the search will not be repeated
+ inadvertantly). - FM
+09-12-94
+* Fixed failure to load the popped menu properly when a gopher search was
+ selected and a NULL string, Control-G, or arrow key is entered to cancel
+ the prompt for a query. - FM
+* Hit lists/documents returned by ISINDEX searches are now always displayed
+ at their tops. They no longer inherit, inappropriately, the page and link
+ numbers of the previous list/document. - FM
+09-11-94
+* Fixed redirection handling so that the hash tables are updated and the
+ history stack works properly, including with forms that have VALUE
+ fields in OPTION tags that return Location: URL's for searches (e.g.,
+ the CUSI forms at Nexor). Whew, that took some doing! - FM
+09-05-94
+* Fixed up remaining problems with OPTION VALUE="foo" handling and the
+ associated popup window positioning and scrolling. - FM
+* Fixed bugs and several inadequacies in the history structure and code
+ (still needs some redesigning to deal more effectively with all aspects
+ of documents returned by forms and/or redirection). - FM
+* Now deals properly with anchors in a single document returned by
+ a form. - FM
+* Command line file specs on VMS can now be any valid explicit, wildcarded,
+ partial, or relative VMS specification, and will be converted to a valid
+ file://localhost/ URL, so that partial or relative URL's within the file
+ also will be interpretted properly. - FM
+* Now trims trailing white space and won't get tripped up by '=' characters
+ when reading configuration files. - FM
+* Miscellaneous bug fixes and enhancements. - FM
+* Tracked down and eliminated more memory leaks. - FM
+--- RELEASE of 2.3.1 BETA ---
+7-08-94
+* Correction handling of OPTION VALUE="" implemented.
+* Miscellaneous bugs corrected.
+6-17-94
+* Option to log memory leaks at exit by defining LY_FIND_LEAKS at compilation.
+6-17-94
+* Check amount of allocated memory, rather than just number of documents
+ cached, before deciding to remove the oldest document (implemented for
+ VMS with VAXC, not yet for Unix or VMS with DECC).
+6-16-94
+* VMS bookmark file version numbers are reset on additions of bookmarks.
+6-16-94
+* Gopher URL's with /hGET%20/ are converted to http URL's, as in the UMN
+ Unix/VMS gopher+ client.
+6-16-94
+* Added DIRECT_WAIS support for VMS
+6-16-94
+* Added build support for VMS TCPWare TCP/IP
+5-28-94
+* Increased nesting of HTML elements from 40 to 400. Hopefully this will limit
+ won't be encountered often.
+5-28-94
+* Modified for handling of Telnet URLs with spaces/other characters in the
+ username.
+5-26-94
+* Began terminating memory leaks with extreme predjudice.
+5-24-94
+* WAIS searches will now work when they are of type "www/present" as opposed
+ to only viewing the source.
+5-23-94
+* Added VMS CMU TCP/IP support, thanks to Andy Harper.
+--- RELEASE of 2.3 (19-May-1994, see CHANGES2-3) ---
diff --git a/docs/CHANGES2.5 b/docs/CHANGES2.5
new file mode 100644
index 0000000..6d2980c
--- /dev/null
+++ b/docs/CHANGES2.5
@@ -0,0 +1,1696 @@
+--- Rename of Lynx2-4-FM and release as Lynx2-5 (02-May-1996) ---
+==============================================================================
+05-02-96 ---- Release of Lynx2-5 ----
+* Modified documentation, help, and example files based on feedback for
+ yesterday's Lynx2-5 pre-release. - FM
+* Include ";q=0.001" whenever "iso8859-1" or "us-ascii" are autoappended
+ to Accept-charset headers. - FM
+* Added SITE_LIBS symbol in Makefile for convenient linking to any
+ site-specific libraries associated with any site-specific patches. - FM
+* Fixed an unsigned char typecast in GridText.c - FM
+* Eliminated statusline and TRACE warnings about possibly strange formatting
+ when TABLEs are in a document. - FM
+05-01-96
+* Renamed Lynx2-4-FM for pre-release as Lynx2-5
+04-30-96
+* Modified the fatal error messages such that they direct the user to
+ the local system administrator to confirm a bug before reporting it
+ to lynx-dev, and started updated the help and about files for the
+ switch to lynx-dev@sig.net as the primary list server. - FM
+04-28-96
+* Made use of ordered versus unordered lists and inclusion of article dates
+ in listings for news groups compilation and configuration options in
+ userdefs.h and lynx.cfg. - FM
+04-27-96
+* Added -realm switch for restricting URLs to the realm of the startfile.
+ The bookmark and jumps files are always considered as part of the realm.
+ Any execution links or form ACTIONs are permitted if obtained from
+ documents in the realm, but any switches that restrict bookmark operations
+ will still apply. For example, -book -realm will use the bookmark file
+ as the startfile, and restrict URLs to files in the user's account. Adding
+ -restrictions=bookmark_exec will block execution links in the bookmark
+ file, but not in other files within the realm (i.e., in the user's
+ account). If the startfile is an http URL, the realm will be equivalent
+ to that in http authorization procedures. Can be used with -traversal
+ for restricting the traversal to documents within the starting realm
+ for an http server. - FM
+* Fixed bug in form structure which could cause POST to be treated as
+ GET. - FM
+04-25-96
+* Added code to send Host: headers as described in the 23-Apr-96 HTTP/1.1
+ draft. - FM
+04-23-96
+* Modified HTMIME.c to pass documents with an ISO-8859-3 through -9, EUC-KR,
+ or ISO-2022-KR charset specified in the Content-Type header, to set the
+ flag for not doing 8-bit reverse translations, and to issue a statusline
+ message about the charset instead of forcing a download offer. Will have
+ garbage in the displays of 8-bit characters if one doesn't have the
+ corresponding charset installed for the terminal, but no harm should be
+ done, and those who do can get the files displayed instead of just being
+ up the creek without a paddle. Korean escape sequences will still be
+ trashed, since be have no translation functions as for Japanese, and we
+ still force a download offer if there is a mismatch for the supported
+ character sets, so the user can cancel and then modify the terminal setup
+ and charset choice appropriately. - FM
+* Increased the maximum number of attributes for tags (was too small for
+ OBJECT), updated the DTD for SCRIPT, and added the STYLE attribute for
+ all tags which presently, or might someday, accept it. - FM
+04-21-96
+* Modified the news gateway to use an ordered list with the numbers and
+ dates of the articles indicated in newsgroup listings. - FM
+* Fixed the checking and passing of the mailto argument in LYMainLoop.c
+ to mailmsg() in LYMail.c. - FM
+04-20-96
+* Fixed bugs in parsing of nntp and snews partial HREFs, and in the
+ parsing of NNTP message headers for creation of mailto and newspost
+ or newsrepy links. - FM
+04-19-96
+* Added OBJECT and BODYTEXT to the DTD, based on the 12-Apr-96 W3C draft.
+ The code for INSERT is still there, and should be remove if OBJECT
+ becomes a stable replacement. Code to handle data URLs for OBJECTs
+ not yet attempted. - FM
+* More tweaks for Japanese character handling. - FM
+04-18-96
+* If LINKS_ARE_NUMBERED is on, include the list of references in the
+ outputs of 'p'rint menu options, analogously to the output with
+ -dump. - FM
+04-14-96
+* Mods to report the content of SCRIPT, STYLE and ALIAS blocks in trace
+ mode. - FM
+* Made ¨, ¯ and ™ synonyms for ¨, &hibar; and ®,
+ respectively. - FM
+* Fixed typo in second line link highlighting code for slang. - ES
+04-13-96
+* More tweaks of Japanese character handling. - FM
+* Reinitialize timeout values after select() calls in LYUtils.c. - ES
+04-12-96
+* More tweaks of Japanese character handling. - FM
+* Tweak of target line and link setting when toggling to image_links mode
+ in LYMainLoop.c. - FM
+* Tweaks of circular buffer handling based on analyses from Mike Castle
+ (mcastle@umr.edu) and Bryan T. Vold (btv@ldl.HealthPartners.COM). - FM
+* Fixed typo for NeXT in tcp.h, based on feedback from LWV - FM
+* Reinitialize timeout values after select() calls in HTTCP.c. - Erik
+ Sundkvist (ess@lysator.liu.se)
+04-11-96
+* More tweaks of Japanese character handling. - FM
+* Added code for handling charset mappings for file and ftp URLs. - FM
+ You can set the mappings via lynx.cfg (or mime.types), e.g.:
+ SUFFIX:.html8R:text/html; charset=KOI8-R
+ SUFFIX:.txt8R:text/plain; charset=KOI8-R
+* Tweak of charset handling in HTMIME.c - FM
+04-09-96
+* Modified news gateway to handle split header lines. - FM
+* Tweaks of authorization header handling to make failures due to bad
+ headers from the http server clear to the Lynx user. - FM
+04-08-96
+* Yet more tweaks of memory management. - FM
+04-07-96
+* Tweaks for handling Japanese received via gateways. - FM
+04-06-96
+* More memory management tweaks. - FM
+04-05-96
+* Updated lynx.man, lynx.hlp and the online help files. - FM
+* Tweaks of INPUT, TEXTAREA and SELECT popup OPTION handling when
+ Japanese character translations are on. - FM
+04-04-96
+* Created new zip. Yesterday's appears to have been bad. - FM
+04-03-96
+* More optimizations and bug fixes based on patches from JED. - FM
+* More mods for handling keyboard input via SLANG library functions,
+ based on patches from JED. Note that the code for IGNORE_CTRL_C
+ has been bypassed in those mods, as they presently stand. - FM
+04-02-96
+* Added "first pass" handling of P end tags. - FM
+* Mods of HTCheckForInterrupt() for SLANG, based on patches from JED.
+ Note that the for-SLANG code is not taking possible SOCKSification of
+ Lynx into account. - FM
+* Use 3 for ^C instead of 7 for ^G as the argument for the slang abort
+ key in calls to SLang_init_tty(). - JED
+* Tweaks of make for clix. - AM
+03-31-96
+* More tweaks of memory management. - FM
+03-30-96
+* Added support for Japanese translations of text/plain in addition to
+ text/html documents, and for ALTs and form fields (see 03-26-96 mods).
+ Needs checking. Also added an LYK_JPN_TOGGLE, mapped to '@' by default,
+ for toggling JAPANESE mode ON and OFF, and code to indicate the situation
+ in the 'o'ptions menu. - FM
+* Added make for ultrix-slang and decstation-slang, and tweaks of LYCgi.c
+ for ultrix. - Alvian Tam (atm@newt.phys.unsw.edu.au)
+* Found and fixed some typos in yesterday's mods. - FM
+03-29-96
+* Added build-slang.com for building Lynx with the SLANG library instead
+ of curses on VMS. - FM
+* Mod to treat an EOF with errno of EINTR when GetChar() is defined as
+ getchar() in LYgetch() as due to a Ctrl-Z suspend, and invoke another
+ character fetch instead of exit on error. Based on patch from Gregory
+ Neil Shapiro (gshapiro@WPI.EDU). - FM
+* Numerous optimizations and bug fixes based on patches from JED. - FM
+03-28-96
+* More tweaks of SLANG support. - FM
+* Yet more tweaks of the HTList functions and macros, and their associated
+ memory management. - FM
+03-27-96
+* Fixed bug which could cause a crash if links are numbered and you
+ activate a link via a number when there are no links on the currently
+ displayed page. - FM
+* Tweaks of Content-Encoding header handling, and more detailed messages
+ about it in trace mode. - FM
+03-26-96
+* Added code in HTMIME.c for taking into account Content-Encoding headers,
+ so that compressed text/html or text/plain files are not displayed
+ inappropriately based on their Content-Type. - FM
+* Added "first pass" support for Japanese character translations, based on
+ patches for Lynx2-4-1 by Takuya Asada (asada@icsd6.tj.chiba-u.ac.jp). Is
+ to be checked out by Nelson Henry Eric (nelsonhe@ews07.nara.kindai.ac.jp)
+ because I have no way to check it here. Translations can be made the
+ default behavior by setting JAPANESE to TRUE in userdefs.h and/or
+ lynx.cfg. The default can be toggled via a "-jpn" command line switch.
+ If made TRUE by any means, the value of KANJI_CODE set in userdefs.h
+ and or lynx.cfg (EUC, SJIS, or NONE) will be applied, and can be changed
+ via "-euc", "-sjis" or "-ascii" command line switches, for setting Kanji
+ code translations to EUC, Shift JIS, or disabling it, respectively. Note
+ that Japanese translations are not yet performed in the line editor
+ (LYgetstr() of LYStrings.c and form_getstr() of LYForms.c), for form
+ field values, or for gateways (let's first see if what I've done so far
+ works right 8-) - FM
+* Added "LY" prefix for pop(), pop_num() and push() function names to
+ avoid possible conflicts with the ncurses library functions, and fixed
+ continuation line typo in solaris2 make, based on feedback from PN. - FM
+03-23-96
+* Tweaks of memory management in the CSO/PH gateway. - FM
+* Tweaks of wait() versus waitpid() handling for NeXT, aix4 and mips,
+ based on feedback from PN. - FM
+03-22-96
+* Tweaks of SLANG support for Unix, and finished up code support for it on
+ VMS (but tested only with OpenVMS/AXP). Haven't yet decided how to add
+ VMS build support for it in the COM and MMS files. Get the SLANG library
+ code from ftp://space.mit.edu/pub/davis and then add USE_SLANG in the
+ DEFINE list and the path to it's headers in the INCLUDE list for the
+ compilation, and [path]slang.olb/lib in the link list immediately before
+ the OPT file. We still need the curses library in the OPT file, because
+ that's not just curses functions on VMS and we're using ones not replaced
+ by the SLANG library (Try it, you'll like it! 8-). - FM
+* Tweaks for NeXT, based on feedback from Paul Nevai
+ (nevai@ops.mps.ohio-state.edu). - FM
+03-20-96
+* Tweaks of code for sorting directory listings by date (take into account
+ the 6-month-old time versus year rule on Unix). - FM
+* Tweaks of memory management for HTList-based buffers (use internal
+ allocations, instead of the libwww macros). - FM
+* Added solaris2-slang to Makefile, and tweaks of the sun4 makes. - LWV
+03-19-96
+* Tweak of MAP handling so that the ordered lists are displayed exactly
+ in the order of the resolved AREA tags.
+03-18-96
+* Added SLANG support (for colorized Lynx) based on patches from JED.
+ The make support is for linux and sun4, but it should be portable to
+ other Unix flavors. I have it working on VMS, but the SLANG interrupt
+ and exit handlers are incompatible with the current ones for VMS in
+ Lynx (and with the VMS debugger), so I haven't yet included SLANG
+ support in build.com or the MMS files. - FM
+03-17-96
+* Tweaks of 'd'ownload menu handling on returns to it from a DOWNLOADER
+ action. - FM
+* Added various anti-crash protections and cleaner code from John E. Davis
+ (davis@space.mit.edu) for trimming trailing white space and finding
+ unescaped colons in LYReadCFG.c, and cleaned up and more fully commented
+ the functions and subfunctions in that and the LYMainLoop.c modules. - FM
+03-16-96
+* Fixed routine which sorts directory listings by date (based on 'o'ptions
+ menu setting) to do it accurately and in reverse chronological order. - FM
+03-15-96
+* Added code to create links for likely URLs in results returned by
+ the CSO/PH and finger gateways. Try:
+ gopher://ns.bradley.edu:105/2 or:
+ cso://ns.bradley.edu/ and search for David Henderson.
+ Also try:
+ gopher://cegt201.bradley.edu:79/0/w%20davidh or:
+ finger://cegt201.bradley.edu/w/davidh as URL.s - FM
+* Added LYK_INTERRUPT handling for the CSO/PH and finger gateways, and
+ made their memory management more efficient. - FM
+* Made the my_spawn() function in LYLocal.c more portable by using
+ waitpid() instead of wait(). - FM
+* Restored the Lynx2-3 behavior of seeking the current position and link
+ on return from 'e'dit. May be wrong if the file was modified, but it
+ might be in the right ball park, and nothing really bad will happen if
+ it's far off. - FM
+03-14-96
+* Added -reload switch for instructing Lynx to send "Pragma: no-cache" and
+ "Cache-Control: no-cache" headers when requesting the startfile from an
+ http server (doesn't apply to subsequent fetches, or to non-http startfile
+ URLs). - Peter Ekberg (peda@lysator.liu.se)
+* Put the correct LYMain.c, which declares no_change_exec_perms, in the zip
+ (second try, hope I really did 8-). - FM
+03-13-96
+* Yet more tweaks of the CSO/PH gateway. - FM
+* Yet more tweaks of the finger gateway. - FM
+03-12-96
+* Made the URL and command buffering in the finger gateway secure from stack
+ modifications, beautified the HTLoadFinger() and response() functions, and
+ added support for the following URL formats for sending a "", "/w",
+ "username", or "/w username" command to the finger server:
+ finger://host finger://@host
+ finger://host/ finger://@host/
+ finger://host/%2fw finger://@host/w
+ finger://host/w finger://host/w/
+ finger://host/username[@host] finger://username@host
+ finger://host/username[@host]/ finger://username@host/
+ finger://host/w/username[@host] finger://username@host/w
+ finger://host/%2fw%20username[@host] finger://host/username[@host]/w
+* Replaced the _tolower macro in the CSO/PH gateway with TOLOWER. - FM
+* Tweaks of DIRED_SUPPORT. Added NO_CHANGE_EXECUTE_PERMS compilation
+ symbol and change_exec_perms restrictions switch for restricting
+ changes of the eXecute permissions to directories, and not files,
+ when OK_PERMIT has been set. - Earl Fogel (fogel@duke.usask.ca) & FM
+* Added make support for Intergraph CLIX (note that some online help files
+ must be edited and renamed to meet this Unix flavor's 14 character file
+ name limit). - Alex Matulich (matuli_a@marlin.navsea.navy.mil)
+03-11-96
+* Added support for using finger://host/w/username to send "/w username"
+ to finger (port 79) servers. - FM
+* Tweaks of alignment handling to deal with (illegally) embedded CENTER
+ containers (typically due to omission of an end tag for the first
+ CENTER of the pair; ugh!). - FM
+03-10-96
+* Added form-based CSO/PH (port 105) gateway. Can be invoked via a
+ cso://host[:port]/ or gopher://host[:port]/2 URL. If the gopher
+ format is used and a query token is appended (?[query]), the old
+ ISINDEX-based gateway will be used. - FM
+03-07-96
+* Added NO_FROM_HEADER configuration symbol in lynx.cfg, and -nofrom
+ command line switch, for blocking all transmissions of From headers
+ by Lynx. - FM
+* Added NO_REFERER_HEADER configuration symbol in lynx.cfg, and -noreferer
+ command line switch, for blocking all transmissions of Referer headers
+ by Lynx. - FM
+* Enhancements of the 'o'ptions menu. - FM
+03-06-96
+* Restored the Lynx2-3 behavior of seeking the current document position
+ and link on (^R)eloads. Will be wrong if the document is actually a
+ changing script output, or SSI with changes in the sizes of inserts,
+ and any form entries will be lost with no warning about that if no
+ form links are in the currently displayed page (and there may be other
+ glitches I don't remember any more). However, it's correct, and more
+ convenient, most of the time, and nothing really bad will happen if
+ it's wrong. - FM
+03-05-96
+* Added SAVE_SPACE configuration symbol in lynx.cfg, and LYNX_SAVE_SPACE
+ environment variable (Unix) or logical (VMS) for setting a default path
+ prefix in suggested filenames in Save to Disk operations of the 'p'rint
+ and 'd'ownload menus. If not set, only a filename will be suggested,
+ for saving in the current default directory. See the INSTALLATION file
+ and lynx.cfg for more information. - FM
+03-02-96
+* If an IMG tag has both ISMAP and USEMAP attributes, create links for
+ both, and use the ALT string, if present, for the USEMAP link. The
+ server-side script might have a content-rich default set up for non-GUI
+ clients, so we may as well be able to try it, and still have our own
+ USEMAP listing available if it's a site unconcerned about text and
+ braille clients, or GUI clients with image loading turned off. - FM
+* Tweaks of MAP code to maximize efficiency of fetching and processing
+ MAPs from a different document. - FM
+* Make sure the traversal code doesn't get tripped up by any HREFs
+ which contain newline characters due to misparsing (e.g., because a
+ close-double-quote wasn't present where required, and soft_dquotes
+ wasn't toggled ON, or invalid comments were present, and mimimal or
+ historical comment parsing weren't toggled ON). - FM
+* Renamed LYK_RESUBMIT ('x' or 'X') to LYK_NOCACHE and modified it's code
+ so that it applies to normal links as well as form submit buttons. If
+ used instead of LYK_ACTIVATE, any HText cache from a previous submission
+ or request will be dumped, and the submission or request will be made
+ with the "Pragma: no-cache" and "Cache-Control: no-cache" headers
+ included, to ensure that a proxy/cache server also will not return a
+ cached copy (assuming it respects either of those headers). - FM
+03-01-96
+* Converted the client-side image MAP code to a protocol which returns
+ a stream, rather than using a temporary file. This allows saving
+ the link as a bookmark, for fetching the MAP and creating a listing
+ without need to fetch and render the original document. Also enabled
+ direct downloading of the MAP listing. - FM
+02-29-96
+* Added handling of client-side image MAPs. If both USEMAP and ISMAP
+ attributes are present, the client-side MAP is used instead of the
+ the server-side script. The MAPs can be in the same or different
+ documents. The HREFs of the AREA tags are presented as a list,
+ with their ALTs (if present, otherwise their HREFs) as the link names
+ in the list. Added a TITLE attribute for MAPs, which will be ignored
+ by GUI clients, but if present will be used by Lynx as an H1 for the
+ list (MAP NAME="welcomemap" TITLE="Welcome Map"). Otherwise, the
+ IMG's ALT (if present, otherwise "[USEMAP]") will be used as an H1
+ in the list. The MAP's resolved URL also is shown in the list, since
+ the URL for the list is a temporary file. - FM
+02-25-96
+* Added a MINIMAL_COMMENTS configuration symbol, which if set TRUE in
+ lynx.cfg will emulate the Netscape v2.0 comment parsing bug of seeking
+ only a '-->' terminator, and not interpreting '--' pairs as serial
+ comments within the overall comment element. The compilation default
+ is FALSE, but we'll set it TRUE in lynx.cfg until Netscape gets its
+ comment parsing right, and "decorative" dashes in comment elements
+ cease to be so common in "Enhance for Netscape" pages. Also added
+ a '-minimal' command line switch for toggling the Mininal or Valid
+ configuration setting, and an LYK_MINIMAL command key toggle (mapped
+ by default to backquote). Note that setting Historical comments on
+ will override the Minimal or Valid setting (i.e., any '>' will be
+ treated as the terminator of a comment element). A statusline
+ message indicates whether Historical, Minimal or Valid comment
+ parsing has gone into effect when the LYK_MINIMAL or LYK_HISTORICAL
+ command key toggles are used (i.e., those two toggles in effect are
+ a "troggle"). - FM
+02-22-96
+* Tweak of HTList manipulations. - FM
+* Additions to the online help. - FM
+* Unescape any hex escaped username and/or password in ftp URLs. - FM
+02-20-96
+* Handle timeout disconnects of cached NNTP connections. - FM
+* Allow head or tail match specifications (e.g., comp.infosystems.*
+ or *.unix) in news, nntp and snews URLs (That's illegal, so don't
+ use it in public documents.). - FM
+* Tweak of bookmark handling. - Ismael Cordeiro (ismael@CAM.ORG)
+02-16-96
+* Tweak of the new code for setting a default CHECKED radio button. - FM
+02-15-96
+* Issue a sensible exit message if a non-http URL is used as the startfile
+ with -traversal. - FM
+* Tweaks of bookmark handling. - FM
+* Tweaks of Home_Dir() type casting. - FM
+02-14-96 Happy Valentine's Day!!!
+* Tweaks of charset conversions. - FM
+02-12-96
+* Made inclusion of Unix DIRED_SUPPORT the compilation default, and
+ its refinement easier to understand and set in the Makefile. - Will
+ Mengarini (seldon@eskimo.com) & FM
+* Changed (X) and ( ) to [X] and [ ] for indicating checked or unchecked
+ checkboxes. For radio buttons, we still use (*) and ( ). - FM
+02-11-96
+* Distinguish checkboxes from radio buttons in the Lynx display by using
+ (X) versus (*), respectively, when they are checked or selected. - FM
+* Make the first radio button in a series with the same NAME checked by
+ default if none of them had CHECKED specified. - FM
+02-09-96
+* Added LYK_HISTORICAL and LYK_SOFT_DQUOTES, mapped by default to the
+ the single- and double-quote keys, respectively, for toggling valid
+ versus "historical" comment parsing, and valid versus "old Mosaic-
+ and Netscape-like" double-quote parsing. - FM
+* Added SCRIPT to the DTD and code to ensure that bad comments in its
+ content don't generate garbage in the display. - FM
+* Added -DSVR4 to the make for solaris2. - KH
+* Use copy instead of rename in descrip.mms for putting lynx.exe in the
+ top directory, as in build.com. - FM
+* Added TITLE attribute to FORM, and code to use it for the Subject in
+ mailto ACTIONs. It's not in the spec, but better to offer it than
+ to settle into Netscape's ?subject=foo tack-on kludge which breaks
+ mailto for clients which haven't added code to cope with it. - FM
+02-08-96
+* Added -book switch for using the bookmark page as the startfile. The
+ default or command line startfile will still be set for the 'm'ain screen
+ command, and be used as the startfile if the bookmark page is unavailable
+ or blank. - FM
+* Fixed glitch for Unix in yesterday's LYMail.c mods. - FM
+* Try graceful alternatives if getenv("HOME") returns NULL. - Kenneth Herron
+ (kherron@campus.mci.net) & FM
+02-07-96
+* Added support for the ?subject=foo tack-on kludge to specify the Subject
+ in mailto ACTIONs and HREFs. - FM
+* Convert Explorer's semi-colon Internet address separators to commas
+ before acting on mailto address lists on Unix or VMS. - FM
+* Made EMBED empty again (the W3C container version has been replaced
+ by INSERT, and Netscape still has it empty). - FM
+02-06-96
+* Tweaks of descrip.mms files for VMS. - FM
+02-04-96
+* Fixed caching of news/nntp connections so that we access the correct host
+ when more than one has been specified. - FM
+02-03-96
+* Added ndash and mdash to the entities conversion tables. The W3C's
+ DTD specifies those, whereas the text descriptions say endash and
+ emdash, so we'll cover all the bases by supporting all four. - FM
+* Reduced the "en" metric for TAB to 2 per column. Was 12, to be
+ compatible with UdiWWW, but that's pixels. You can change the enval
+ initialization in HTML.c from 2 to 12 if you want the old behavior. - FM
+* Force use of DECC in build.com if that compiler is installed on VMS,
+ and make sure external logicals don't defeat a choice of DECC via
+ descrip.mms. - FM
+02-02-96
+* Mods to handle lone CRs as newlines when dislaying text/plain files
+ from MAC servers. Note that they'll stay CRs when downloading, or
+ fetching with -source, but be handled as newlines when the '\' source
+ toggle is used for text/html files and their source is displayed as
+ text/plain. - FM
+01-31-96
+* Added dummy initializers in LYCharSets.c and LYEditmap.c to ensure the
+ modules are linked if the external model is common block and they are
+ placed in a library. - FM
+01-30-96
+* For submissions of forms with a mailto ACTION, allow the user to edit
+ the default Subject string (the TITLE of the document containing the
+ form) via a statusline prompt, or to cancel the submission via Ctrl-G
+ at the prompt, analogously to 'c'omments or for anchors with a mailto
+ HREF. - FM
+01-29-96
+* Typo fixes in HTML.c, LYJump.c and LYGetFile.c. - PM
+01-28-96
+* Tweaks of redirection handling. - FM
+01-27-96
+* Support use of the TITLE attribute for setting the Subject in LINKs with
+ REV="made" or REV="owner" and a mailto HREF, equivalently to its use
+ with anchors in the BODY. - FM
+* Always use the parent document's URL for X-URL in mailto anchors, but
+ still use mailto:address if it was entered as a 'g'oto. - FM
+* Improvements of the code in LYMainLoop.c for checking the types of
+ links (first make sure that there are links to check 8-). - FM
+01-26-96
+* Made LYCharSets.c an object module instead of header for HTML.c, and
+ created LYCharUtils.c with character-related functions from HTML.c,
+ to reduce the size of HTML.c (got a report of memory exhaustion when
+ trying to compile HTML.c). - FM
+* Added BGSOUND to the DTD and code for creating a link to the source
+ when clickable_images is set. - FM
+01-24-96
+* Tweak of URL resolving when http servers return the obsolete file URL
+ format for what are actually ftp URLs (as DEC's servers are doing). - FM
+* Added LYE_LOWER and LYE_UPPER for lower or upper casing lines with the
+ line editor. Default bindings are Ctrl-K and Ctrl-T, respectively (not
+ "intuitive" but they're the only "safe" non-printing keys left 8-). - FM
+01-23-96
+* Yet more tweaks aimed at getting Lynx to compile across versions of
+ MultiNet through v3.5A and DECC through v5.2 or VAXC. Pat Rankin
+ is trying to cope with this mess for compilations with MultiNet and
+ his VMS port of GNUC (cross your fingers 8-). - FM
+* Updates of the help and about files. - FM
+* Tweak of sendmail path for BSDI. - Bennett Todd (bet@ritz.mordor.com)
+01-22-96
+* More tweaks for dealing with header conflicts in MultiNet v3.5A with
+ DECC v5.2. - FM
+* Tweak of our kludge to append a 0,0 coordinate pair for ISMAP URLs. - FM
+* Tweaks of base handling in HTML.c. - FM
+01-20-96
+* Mods for builds with NetBSD, or MultiNet v3.5A with DECC v5.2 (they
+ have conficting headers). FM & PR
+01-18-96
+* Improved and corrected the fatal error messages. - FM
+01-17-96
+* Added ability to set the NNTPSERVER environment variable via lynx.cfg if
+ it has not been set externally (analogously to the proxy variables). - FM
+* Tweaks of proxy handling. - FM
+* Modifed the "Accept-Language: " header handling so that is uses the
+ "perferred document lang(G)uage" string without any modifications.
+ This allows the user to specify a comma-separated string with quality
+ values included, exactly to his/her requirements. - FM
+01-16-96
+* Modified the traversal code so that it always outputs to an error file if
+ requests fail or unknown statuses are received from the http server. - FM
+* Added target "sun4-ncurses" to the Makefile. - Bennett E. Todd
+ (bet@nyc.fcmc.com)
+* Tweaks of "preferred document lan(G)uage" and "preferred document c(H)arset"
+ 'o'ptions handling. Send only the preferrence or comma-separated list of
+ preferrences in the "Accept-Language: " and "Accept-Charset: " headers.
+ Append ", en" if "en" isn't present, and ", ISO-8859-1" and/or ", US-ASCII"
+ if those aren't present, rather than relying on servers to honor defaults,
+ but still don't send an "Accept-Charset: " header at all if no preference
+ has been specified by the user. - FM
+* Fixed typos in the about and help files. - FM
+01-15-96
+* Tweaks of bold and underline setting in split_line() of GritText.c. - FM
+* Fixed handling of FORM start tags with no ACTION specified. - FM
+* Tweaks of "IBM PC character set" and added "IBM PC codepage 850"
+ (ISO8859-1, see IBMPC-charsets.announce). - Mike Brown (mike@hyperreal.com)
+* Check in userdefs.h whether LYNX_CGF_FILE has been defined via the
+ Makefile, build.com or descrip.mms. - PG
+* Created CHANGES2-3 with changes through release of Lynx2-3 on 04-19-94,
+ and CHANGES2-4 with subsequent changes through the rename of lynx2-3-FM
+ to Lynx2-4 and its release on 06-18-95, and deleted those sections from
+ this file. - FM
+* Added the new Copyright and links to it in about_lynx.html. - FM
+01-11-96
+* Tweaks of HTWAIS.c for compatibility across versions of FreeWAIS. - FM
+* Unescape any hex escaped percents in mailto URLs and ACTIONs. - FM
+01-10-96
+* Added an LYCheckForProxyURL() function, and a PROXY_URL_TYPE return value
+ for is_url(), so that Lynx can proxy URLs with an unknown scheme if a
+ proxy for the scheme has been set, e.g., if "foo_proxy" has been set
+ to "http://host/", then "foo:blah", where "blah" may or may not begin
+ with a slash, will be handled as "http://host/foo:blah". Components of
+ "blah" will be checked versus "no_proxy", if set, but since we don't
+ know the default port for scheme "foo", the checks for any ports
+ associated with the no_proxy values may not be reliable (but if we
+ don't proxy, nor know the scheme, nor find "foo:blah" as a local file,
+ the URL would fail, anyway) - FM
+* Fixed typo in VMSPrint.com. - Paul Farnham (farnham@pasco.wednet.edu)
+01-06-96
+* Tweak of traversal code. - FM
+01-04-96
+* Tweak of dynamic SOCKS mods. - TZ
+01-03-96
+* Added circular recall buffers for JUMP shortcuts. If multiple jumps
+ files are installed, each has it's own recall buffer. If Lynx was built
+ with PERMIT_GOTO_FROM_JUMP defined, any random URLs accessed via the JUMP
+ command are placed in the goto circular buffer, not that for shortcuts,
+ and a JUMP entry of the single character ':' for the target is treated
+ as a command to invoke the circular buffer of previously resolved goto
+ URLs (as if 'g'oto followed by Up-Arrow were used). - FM
+* Added GOTOBUFFER, homologous to JUMPBUFFER, for specifying via userdefs.h
+ and/or lynx.cfg whether to offer the previous goto URL, if any, for
+ reuse or editing whenever the 'g'oto command is entered, or simply rely
+ on invoking the circular buffer via the Up-Arrow and Down-Arrow keys for
+ accessing previously resolved goto URLs. - FM
+* Tweak of 'g'oto recall buffering loop in LYMainLoop.c. - AH
+01-02-96
+* Added circular recall buffering for 'g'oto URLs. Is invoked (if previous
+ URLs have been entered) via Up-Arrow or Down-Arrow after entering the
+ 'g'oto command. - FM
+* Added circular recall buffering for WHEREIS queries. Buffer is shared with
+ that for ISINDEX queries, and invoked via Up-Arrow or Down-Arrow following
+ the WHEREIS ('/') command. The 'n'ext command still uses the last WHEREIS
+ query, not necessarily the last entry in the recall buffer, which might
+ have been entered via a 's'earch command for an ISINDEX document. - FM
+* Extended treatment of FORMs which have only one INPUT (TYPE="text") field
+ for user entries as SUBMITting on press of RETURN in that field, so that
+ this behavior is retained if INPUT TYPE="hidden" fields are present. - FM
+* Tweaks of bookmark deletion sanity checks. - DT
+01-01-96 (Happy New Year!!!!)
+* Added circular recall buffer for ISINDEX queries. Up-Arrow will cylce
+ you from the most current query in the list to previous ones, and roll
+ from the oldest to the most current. Down-Arrow will cycle from the
+ oldest query to subsequent ones, and roll from the most current to the
+ oldest. If a previous query is reused, it is removed from the recall
+ buffer and reinserted as the most current.- FM
+* Plugged memory leaks in LYUtils.c and LYJump.c. - FM
+12-30-95
+* Added LOCALHOST_ALIAS symbols for lynx.cfg which can be set to local
+ host aliases or to trusted hosts at other sites which will be accepted
+ as "local" when the -localhost switch is set. - FM
+* Added the endash and emdash entities. - FM
+12-29-95
+* Use exit(0) versus exit(-1) more consistently for normal versus abnormal
+ exits, respectively. - FM
+12-26-95
+* Tweak of RELOAD handling for lynxcgi URLs. - FM
+* More anti-crash protections for bad HTML. - FM
+* Tweak of dynamic SOCKS mods. - TZ
+12-23-95
+* Tweaks of directory building on VMS. - FM
+* Tweaks of log file declarations for direct wais builds. - FM
+* Tweak of DIRED_SUPPORT mods so that non-TAG entries don't show up when
+ there are tagged files. - DT
+12-22-95
+* Added HTMake_VMS_name() to HTFTP.c for use by Unix as well as VMS with
+ VMS ftp servers. - FM
+* Added INSERT and ALIAS to the DTD, updated PARAM and OVERLAY, and made
+ FIG a paragraphing block, all as described in the 12-21-95 W3C working
+ draft for INSERT. In contrast to FIG, the INSERT and "heritage" EMBED
+ and APPLET elements invoke paragraphing only if their content displayed
+ by Lynx dictates it. The rules for resolving the sources for INSERTs or
+ for handling its ISMAP attribute are extremely complicated, and are not
+ implemented. Let's wait to see how people in the "real world" try to
+ make sense of them and actually use INSERT (if they do 8-). We still
+ create source links in "clickable_image" mode for the "heritage" versions
+ of FIG, OVERLAY, EMBED and APPLET markup, and send a 0,0 cooridinate pair
+ for IMG with the ISMAP attribute. See comments in HTML.c - FM
+12-21-95
+* Fixed bug in yesterday's ftp password-handling mods that could cause a
+ crash, and handle ftp://user:@host/path as specified in RFC 1738. - FM
+* Added protection against crashes for SELECT tags without the (required)
+ NAME attribute. - FM
+* Added code in HTFTP.c for recognizing MS Windows (Chameleon NEWT) servers
+ and parsing their LIST output (tested on ftp://emoryi.jpl.nasa.gov/) - FM
+* Another typo fix for VMS GNUC in HTFinger.c. - FM
+* Modified HTFTP.c to use personal_mail_address, if available, for the
+ password with anoymous FTP. It will still use "user@" (trim off the
+ host) if the host does not contain a dot and thus could not be a fully
+ qualified domain name, so it will work with Unix servers such as
+ ftp.uu.net (see get_connection() in HTFTP.c), but this will cause it
+ to fail with MS Windows servers. - FM
+* Added lots more info to the trace output for the ftp gateway. - FM
+12-20-95
+* Modified HTFTP.c to handle a hex escaped slash (%2F) following the
+ "punctuation" slash according to the strict provisions of RFC 1738
+ when connected to VMS ftp servers, so that a device can be in the
+ path and not be mishandled as a subdirectory, e.g., the URL
+ ftp://user:password@host/%2Fsys$common/syshlp
+ will create a directory listing for sys$common:[syshlp]. - FM
+* Fixed typo for VMS GNUC in HTFinger.c. - FM
+12-19-95
+* Enhancements of Unix DIRED_SUPPORT (see header of LYLocal.c). - DT
+12-18-95
+* Tweaks of element and entity structure alignments. - FM
+12-17-95
+* Tweaks of APPLET CODEBASE attribute resolving. - FM
+* Added support for a -nosocks command line switch to turn off SOCKS proxy
+ usage if Lynx was SOCKSified. - Thomas Zerucha (tz@execpc.com)
+12-16-95
+* Added the APPLET element and attributes to the DTD, and code for
+ creating links to the Applet code via image_links - FM
+* Added code to handle password fields in telnet URLs. - FM
+* Expanded EMBED as an "attribute soup" (for compatibility with
+ old versions of Netscape). - FM
+12-15-95
+* Added PARAM, and its attributes in the W3C draft for EMBED, to the DTD,
+ and code in HTML.c to minimize the possiblity of an INPUT belonging to
+ an EMBED being misassociated with a standard FORM container. - FM
+* Added "first pass" EMBED handling. Should be OK with both the W3C
+ container version and the Netscape "attribute soup" version (we'll
+ see 8-). The clickable_image switch and toggle ('*') are now misnomers.
+ They will cause creation of links to the EMBED SRCs whether they are
+ images or not. - FM
+* Enhancements of Unix uploading (see header of LYUpload.c). - GL
+12-14-95
+* Modified LYUnEscapeEntities() and LYExpandString() in HTML.c to make
+ it more likely that they'll be handled correctly across flavors of
+ compilers. - FM
+* Changed NETSCAPE_QUOTES and -netscape_quotes to SOFT_DQUOTES and
+ -soft_dquotes. - FM
+* Added '&' to the exclusion list for VMS suggested file names. - FM
+12-13-95
+* Added CAN_ANONYMOUS_GOTO_TELNET_PORT symbol which if set TRUE in
+ userdefs.h will allow anonymous users to specify a port in 'g'oto
+ commands for telnet URLs. - FM
+* Added NETSCAPE_QUOTES symbol which if set TRUE in lynx.cfg will cause
+ Lynx to emulate the Netscape bug of treating '>' as a co-terminator
+ of a double-quoted attribute value and the tag which contains it. - FM
+* Forgot to define FORM_LINK_RESUBMIT_MESSAGE in the distribution's
+ userdefs.h for yesterday's mods. - FM
+* Forgot to put the HTFile.c with the LIST_FORMAT mods into the
+ distribution (maybe I should just concentrate on Christmas 8-). - FM
+12-12-95
+* Changed handling of the no-cache META directive so that it applies to
+ the document which contains the META tag, rather than to any form submit
+ buttons within it. The form's CGI script should return a stream which
+ contains the directive to force resubmissions, and any (e.g., ISINDEX)
+ script or (e.g., foo.shtml) document can include the directive to
+ force reloading by Lynx. - FM
+* Added ALWAYS_RESUBMIT_FORMS symbol in userdefs.h and lynx.cfg for setting
+ forced resubmissions of forms, and a -resubmit_forms command line switch
+ for toggling the default. - FM
+12-11-95
+* Moved values of LYStrings.h function key definitions from 0x80 - 0x8D to
+ 0x100 - 0x10D and modified all the structures and functions in LYKeymap.c
+ and LYEditmap.c accordingly. - FM
+* Added the KOI8-R (Russian) character set. - Andrey A. Chernov
+ (ache@astral.msk.su).
+* Replace gets() with fgets() for the Unix setup() in LYCurses.c - AAC
+* Tweaks for building with FreeBSD. - AAC & FM
+* Added handling of META directives for ISO-8859-2 and KOI8-R if the
+ document is text/html and a server header didn't already set the
+ charset. - AAC & FM
+12-10-95
+* Tweaks of memory management. - FM
+* Made the LONG_LIST parameters for Unix local directory listings
+ configurable via userdefs.h and lynx.cfg - DT
+12-09-95
+* Added code for re-computing and retaining the current link if it is still
+ on the page when using the LYK_UP_TWO and LYK_DOWN_TWO commands. - FM
+* Added support for nested emphasis tags (they're all still displayed as
+ HT_UNDERLINE, but no longer terminated prematurely). - FM
+12-08-95
+* Added more suffix maps in HTInit.c. - FM
+* Tweak of META attribute definitions. - FM
+12-06-95
+* Don't reject LYNXKEYMAP and lynxcgi URLs with the -localhost switch. - FM
+12-05-95
+* Made the loaded_texts list in GridText.c functionally "circular", so
+ that returning to a cached document causes it to be treated as the most
+ current, and dumps of cache, when necessary to load a new document, are
+ done for the least recently viewed rather than least recently fetched
+ document. - FM
+* Show the METHOD and ACTION in showinfo() of LYShowInfo.c if invoked when
+ the cursor is positioned on a submit button. - FM
+* If the user mode is advanced, keep showing the URL in the statusline
+ when Lynx is in forms mode but the link is not a form field. - FM
+12-03-95
+* Tweaks of code for submissions of forms with only a single INPUT
+ (TYPE="text") field. - FM
+12-02-95
+* Treat any META directives with a NAME or HTTP-EQUIV value of "Pragma"
+ or "Cache-Control" and a CONTROL value of "no-cache" as an instruction
+ always to resubmit any form(s) in the document. - FM
+* Added parsing of META directives. Functions can be added where indicated
+ in HTML.c. - FM
+* Include the HTTP/1.1 "Cache-Control: no-cache" header together with the
+ HTTP/1.0 "Pragma: no-cache" header for reload or resubmit requests. - FM
+* Fixed bug in the check for an all-space ALT in IMG when creating a
+ link for its SRC. - FM
+* Fixed parsing of square-bracketted DOCTYPE fields. - FM
+12-01-95
+* Improvments of logic for indentations within lists. - FM
+11-30-95
+* For resiliency, treat upper case letters as equivalent to lower case in
+ scheme names (e.g., allow "HTTP" as well as "http"), by converting them
+ to the appropriate case before entering them into the anchor hash table
+ or otherwise acting on them. - FM
+* Added ability to change the default reply to the "really quit" prompt
+ from "[Y]" to "[N]" via a compilation symbol in userdefs.h. - DT
+11-29-95
+* Added ALIGN attribute for HR (default is "center"). - FM
+11-28-95
+* If a form has a single field, and it's INPUT TYPE="text", treat
+ RETURN as a submit command for it. - FM
+* Added START as a synonym for the SEQNUM attribute in OL. - FM
+11-27-95
+* Enhancements of the wais gateway. - FM
+11-26-95
+* Fixed up HREF, ACTION and SRC resolving to be conformant with RFC 1808
+ (except that we don't yet support a ";params" field). - FM
+11-25-95
+* Tweaks of yesterday's jumps file mods. - FM
+11-24-95
+* Enhancements of 'J'umps file handling, including ability to install
+ multiple jumps files mapped to different keys and associated with
+ different statusline prompts and recall buffers. - DT & FM
+* Deal with ALTs that have only spaces when in clickable_image mode. - FM
+* Worked in WM's mods to make the REVERSE_CLEAR_SCREEN_PROBLEM workaround
+ a configuration option via ENABLE_SCROLLBACK in lynx.cfg and a command
+ line toggle (-enable_scrollback), for use with comm programs which have
+ screen display buffers that can be accessed for review independently
+ of the Lynx commands (see comments in lynx.cfg). - FM
+11-23-95
+* Use the BASE, if present, instead of the original document URL, as the
+ default ACTION for forms. - FM
+* Tweaks of paragraph alignment handling. - FM
+* Make sure we don't realloc() a NULL env pointer in LYCgi.c. - DT
+* Cancel bookmark deletion if the line does not have a complete link or if
+ there is more than one link on the line. - DT
+11-21-95
+* Fixed bad logic in the setting of bold and/or underline starting points
+ in new lines created via split_line() of GridText.c. - FM
+* Added case KEY_BACKSPACE in LYgetch() of LYStrings.c. - GL
+11-19-95
+* Fixed problem of SELECT causing all immediately following white space
+ to be ignored. - FM
+* More tweaks of paragraphing, and handling of labeled blocks within
+ PRE blocks. - FM
+11-18-95
+* Added INFOSECS, MESSAGESECS and ALERTSECS symbols in userdefs.h and
+ lynx.cfg for setting the durations of statusline pauses (important when
+ using Lynx with a braille-based access). See comments in userdefs.h and
+ lynx.cfg for more information. - FM
+* More tweaks of paragraph handling. - FM
+* Include the Reference lists is crawl output files if the -number_links
+ switch was included and the -nolist switch wasn't. - FM
+11-17-95
+* Tweaks of finger and telnet gateways. - FM
+* Added handling of MARQUEE equivalently to BANNER. - FM
+* Various tweaks of 8-bit character and related HTML handling (OLs
+ or ULs without attributes or some wrong combinations were crashing
+ Lynx). - FM
+11-16-95
+* Implemented the ID attribute for TAB, and the TO and INDENT attributes
+ when its ALIGN attribute is "left" (the default) and the style's
+ alignment is HT_LEFT (the default). If these conditions don't apply,
+ or if the TAB target is outside the current margins or would overlap
+ prior text, a collapsible space is inserted instead of TABing. The
+ INDENT values are in "en" units, treated as 12 per column. Added
+ tabtest.html in the test subdirectory to illustrate TABing. - FM
+11-15-95
+* Added the HTML 3.0 DTD structures and definitions for SPOT, and fully
+ implemented it (use SPOT ID="foo" as SGML_EMPTY instead of named anchors
+ with no content). - FM
+* Added the HTML 3.0 DTD structures and definitions for TAB. For now, it
+ simply puts a collapsible space in the text stream if the TO attribute
+ is present. - FM
+* Added the top-level HTML 3.0 DTD structures and definitions for MATH, and
+ implemented it's ID attribute. The markup is captured as HTML_LITTERAL,
+ and until we have a processor, is output as is, in brackets to alert the
+ user about the situation. - FM
+11-14-95
+* Tweaks of LYK_UP_LINK and LYK_DOWN_LINK handling, and added them to the
+ default mapping as '<' and '>'. - FM
+* Tweaks of LYK_TOOLBAR handling. - FM
+11-13-95
+* Added LYK_TOOLBAR (mapped by default to '#') for jumping up to the pseudo
+ Toolbar or Banner if present in the current document. Using '#' instead
+ of Home to jump there allows you to Left-Arrow back to where you were in
+ the current document. Set up a BANNER in about_lynx-dev.html to serve
+ as an example of this feature. - FM
+* Added the HTML 3.0 DTD structures and definitions for BANNER, implemented
+ its ID attribute, and set it up to act as a pseudo Toolbar if one hasn't
+ been set up already via REL attributes of LINKs. - FM
+* Tweaks of paragraphing for CAPTION, CREDIT, FOOTNOTE, and NOTE. - FM
+11-12-95
+* Handle (i.e., ignore) any P that immediately follows an LI, DT or DD. - FM
+* Cancel any file fetch and viewer spawn or launch during traverals. - FM
+11-11-95
+* Added finger gateway (finger://host[/request]) based on patches from
+ Martin Hamilton (martin@mrrl.lut.ac.uk). - FM
+* Added LYE_TAB for mapping keys to act as LYE_ENTER, but return '\t' so
+ that the behavior of TAB is emulated in TEXTAREAs, and mapped Do to
+ LYE_TAB in the default binding. - FM
+* Fixed glitch in handling of DEC extended characters which contain two
+ digits (affected Do and Find). - FM
+* Better documented that disabling access to hidden (dot) files also
+ disables ability to create such files via Lynx. - FM
+11-10-95
+* Added handling of mailto as a form ACTION. See http://www.q-d.com/swc.htm
+ for software to extract and unescape the mailed content. - FM
+* Added lynxprog URL handling, which is identical to lynxexec URL handling
+ except that the user is not prompted to enter RETURN before returning
+ to Lynx. Use lynxprog for scripts or programs such as mail which do not
+ need an enforced pause to let the user read the screen output. - FM
+* Removed code in HTFile.c for treating ',' as a synomym of '.' for
+ hidden files (nobody seems to know why that was being done 8-). - FM
+* Moved inclusions from LYBookmark to tcp.h. - FM
+11-08-95
+* Extend optional hidden (dot) file/directory support to Unix, and embellished
+ it on VMS and Unix with regulation via a command line switch and 'o'ptions
+ menu setting. See userdefs.h and lynx.cfg for more information. - GL & FM
+* Added support on Unix for straight tar files and a compile time option that
+ disables the ability to extract files from an archive file (since there is
+ no control over the files extracted). - GL
+11-07-95
+* More tweaks of 8-bit character handling. - FM
+* Added "Macintosh (8 bit)" character set. - Neil K. Guy
+ (nkg@freenet.vancouver.bc.ca)
+* Added "Example Lynx Optimized User Home Page" to the online 'h'elp. - FM
+11-05-95
+* Fixed Cc: header handling for email on Unix. - FM
+11-04-95
+* Reference the current character set for any raw 8-bit characters in
+ text/plain streams (but don't translate named or decimal escaped
+ entities, since that's specific for text/html). - FM
+* Block any illegal control or escape characters in text/plain streams,
+ to avoid problems if a binary ftp or local file was mistyped and sent
+ to the screen as that Content-type. - FM
+* Eliminated mod in SGML.c which emulated Netscape's bug of treating '>'
+ as both a close-double-quote and close-tag (Netscape v2.0 fixed its
+ bug, so hopefully the bad HTML with it will go away. 8-). - FM
+11-02-95
+* Assume an ISO-8859-1 character set for all local files. If it's
+ actually ISO-8859-2 and the terminal is using that, set the Lynx
+ CharSet option to "ISO Latin 1" so that 8-bit characters will be
+ sent raw to the terminal. - FM
+* Added Martin Ramsch's iso8859-1.html to the test subdirectory.
+ Use it to complete the conversion tables in LYCharSets.c. - FM
+* Don't block insertion of a lead space for INPUTs in PRE blocks, so
+ alignments will be compatible with those of graphic clients. - FM
+* Don't block all access to the 'p'rint menu for the print restriction
+ (should still offer printer options which have the TRUE flag set;
+ all access is still blocked for -validate). - FM
+* Replaced the STDfoo_FILENO symbols in LYCgi.c with the more portable
+ fileno(stdfoo). - WM
+* Added NCURSESINCDIR compilation symbol for setting the path to the
+ NCURSES header file in LYCurses.h to that of the latest version. - GL
+* Tweaks of interrupt handling on VMS.
+10-31-95
+* Added more suffix maps in HTInit.c. - FM
+* Mods in LYCgi.c which hopefully makes the code more portable across
+ Unix flavors. - FM
+10-28-95
+* Tweaks of global flag initializations and resets in HTML.c. - FM
+* Added RESOLVLIB symbol in the top Makefile for including -lresolv
+ in the LIBS= list, if needed, for SUN 3 or 4 OS, and comments about
+ that in the Makefile, and INSTALLATION and PROBLEMS files based on an
+ explanation from Will Mengarini (seldon@eskimo.com). - FM
+10-27-95
+* Mods of top level Makefile: Added NOPORT compilation symbol for forcing
+ use of PASV in ftp URLs. Added NO_S_IFSOCK compilation symbol for Unix
+ flavors which lack an S_IFSOCK definition for lstat(). - FM
+* Reload the current document whenever the character set is changed. - FM
+* Don't reference entities for raw (or decimal escaped) 8-bit characters
+ if the document is not text/html, or for any local files if the charset
+ is Latin. - FM
+* Made Ctrl-H a synonym for DELETE instead of Left-Arrow in the line
+ editor. - FM
+10-25-95
+* Handle all characters in strings for the new line editor as unsigned
+ so they don't go negative if 8-bit. - DW
+* Restored proper handling of the MAXLENGTH attribute in INPUTs for
+ strings entered with the new line editor. - FM
+10-24-95
+* Deal with all non-printing characters when setting up the SELECT
+ pop-up window strings. - FM
+* Handle raw 8-bit characters via reference to the ISO-LATIN1 named
+ entities so they in turn can be referenced to the currently selected
+ character set. - FM
+* Yet more tweaks of non-breaking space handling. - FM
+10-22-95
+* Improved treatment of the startpage URL with -traversal so that it only
+ blocks traversals of links on other servers. Any links on the same
+ http server which shouldn't be traversed may be blocked via explicit
+ and/or wildcarded entries in REJECT.DAT. Updated CRAWL.announce to
+ make this more clear. - FM
+* Typo fixes in top-level Makefile. - Steve Jeske (jeske@pa.dec.com)
+10-21-95
+* Handle decimal escaped entities via reference to the ISO-LATIN1 named
+ entities so they in turn can be referenced to the currently selected
+ character set. - FM
+10-20-95
+* Tweaks of formatting for LONG_LIST directory lists and README file
+ inclusions in HTFile.c and HTVMSUtils.c. - FM
+* Tweaks of decimal escaped non-breaking space handling in HTML.c. - FM
+* Force unescaping of hidden VALUEs for INPUTs as ISO-LATIN1. - FM
+* Added ".shtml" and ".htmlx" as text/html extensions in HTInit.c. - FM
+10-18-95
+* Made parsing of the name and address out of the NNTP From: header more
+ reliable in HTNews.c. - FM
+* Added "LYNX_TEMP_SPACE" environment variable (Unix) or VMS logical,
+ which if present at run time will be used instead of the the TEMP_SPACE
+ definition in userdefs.h as the path prefix for temporary files. - FM
+10-17-95
+* Added TYPE attritute for OL, and coordinated it with the SEQNUM and
+ CONTINUE attributes. The default TYPE is "1" (Arabic numbers), and
+ SEQNUM values for it can range from -29997 to the system's maximum
+ integer. The Alphabetic TYPEs are "A" (upper case) and "a" (lower
+ case), and can range from 1 (" A." or " a.") to 18278 ("ZZZ." or
+ "zzz."). The Roman TYPES are "I" (upper case) and "i" (lower case),
+ and can range from 1 (" I." or " i.") to 3000 ("MMM." or "mmm.").
+ SEQNUM values should always be Arabic, and will be converted to
+ other types (e.g., SEQNUM="27" TYPE="a" will yield "aa." for the
+ next LI). The CONTINUE attribute will cause the sequence and TYPE
+ of the preceding OL to be continued for LIs in the current OL. - FM
+10-16-95
+* Treat a value of "*" for "no_proxy" as a global override of any
+ existing proxy variables. - FM
+10-15-95
+* Deal with raw or decimal escaped non-breaking space characters in
+ SGML_character() of SGML.c and LYUnEscapeEntities() of HTML.c. - FM
+10-14-95
+* Updated info about lynx-dev in lynx.man and lynx.hlp. - FM
+* Don't force LINKS_ARE_NUMBERED in dumps if -nolist was included. - FM
+* Output the References list for dumps with OL-style numbering. - FM
+* More tweaks of "anti-spoof" handling for telnet URLs. - FM
+10-13-95
+* Block direct access to the telnet prompt for telnet URLs entered without
+ a host field. - FM
+* Include the TRUSTED flag in spawns for OpenVMS/AXP v6.1 or greater. - FM
+10-12-95
+* Convert any strings in news articles that look like URLs into links. - FM
+* Use the Followup header in news articles, if present, for followups.
+ Otherwise, use the Newsgroups header. - FM
+* Ignore any invalid ISO 646 7-bit control characters or ISO 8859 8-bit
+ control characters in SGML_character() of SGML.c. - FM
+10-11-95
+* Typo fix in HTTCP.c for non-MULTINET VMS builds. - Gary Chow (garyc@mrs.com)
+10-09-95
+* Assume the root as path in HTParse() of HTParse.c if the access and host
+ but no path are given, and the access is http, https, or ftp. - FM
+10-05-95
+* Make sure the FREE(x) macro gets defined for HTTCP.c. - FM
+10-04-95
+* Mods in HTTCP.c to prevent string buffer overruns. - FM
+* Prevent possible string buffer underrun for terminal white space trims
+ in GridText.c. - Renato Buda (renato@peoplebank.co.uk)
+10-01-95
+* Updated the listserv and archive addresses in the about and help files. - FM
+09-30-95
+* Added support for Windows_NT FTP servers. - FM
+* Added ability to send a self copy of mail via a Cc: header on Unix
+ (sending of self copies is set via the mail software itself on VMS). - FM
+* Tweaks of SOCKET_ERRNO handling in HTTCP.C. - FM
+* Include unistd.h more consistently on Unix (via tcp.h) if NO_UNISTD_H
+ is not defined. - FM
+* Modified the FreeBSD and NetBSD libwww Makefiles to use the
+ CommonMakefile. - FM
+* Makefile addition (snake3) for the HP-UX purchased compiler. - Andy
+ Finkenstadt (genie@panix.com)
+09-29-95
+* Deal with HTAlert.c function calls to LYgetstr(), e.g., for a password,
+ when doing a -dump or -source non-interactive fetch. - FM
+* Output HTAlert() messages to both stderr and stdout in TRACE mode. - FM
+09-28-95
+* Added a description of the line editor's default key bindings to the
+ help file set. - FM
+* Tweaks of the line editor. - FM
+* Declare DCLspawn_exception() in LYCurses.c as unsigned int only for
+ DECC (otherwise as int, for VAXC and GNUC). - FM
+09-27-95
+* Added common line editor for forms and prompted queries, with configurable
+ line editor key bindings. See LYStrings.h and LYEditmap.c for the default
+ configuration. - DW & FM
+* Tweaks of build.com's symbol assignments when in batch mode. - MM
+09-22-95
+* Added ISO-8859-2 CharSet, and mods for Accept-Charsets handling based
+ on patches from Mark Martinec (Mark.Martinec@nsc.ijs.si). - FM
+09-19-95
+* Tweaks of OL attribute handling. Allow negative SEQNUM values. Keep
+ better track of CONTINUE versus non-CONTINUE OL sequences within nests.
+ Allow CONTINUE in the first OL of a new nest, set to the last LI count
+ of the previous nest (at any depth in that previous nest). - FM
+09-17-95
+* Tweak of LYUnEscapeEntities() in HTML.c. - DW & FM
+* Another tweak of groupid handling in LYShowInfo.c. - DW
+* More fixes of 7-bit character approximations. - DW
+* More help and about file tweaks. - DSL
+09-16-95
+* Added the HTML 3.0 DTD structures and definitions for DIV, and implemented
+ its ALIGN and ID attributes. I think I have it behaving rationally if it
+ is used together with CENTER, LEFT and/or RIGHT (Though they're all treated
+ as DIVs by Lynx, and shouldn't be embedded in each other, somebody will do
+ that anyway!. 8-). - FM
+* Added the HTML 3.0 DTD structures and definitions for FN (Footnote). It
+ should be handled as a popup window, but for now, it's implemented as a
+ labelled block and has the same style and behavior as a NOTE with an ID
+ attribute. - FM
+* Some compilers can't handle the continuation line in yesterday's
+ LYCurses.h. Made it one long line. - FM
+09-16-95
+* Further enhanced the online help and about files. - FM
+* Added -DNO_FILIO_H to Makefile for SCO. - FM
+* Worked in stuff from 14-Sep-95 lynx2-4-2 upgrade. - FM:
+--------------------------------------------------------
+ 09-06-95
+ * Added patch to compile Lynx on BSDI with Ncurses package. -RK
+ 09-06-95
+ * Ported Lynx to DG-UX. - RK
+--------------------------------------------------------
+09-12-95
+* Further modified HTNews.c so that it returns unmodified news messages
+ when the display is toggled to source ('\') or when downloading them,
+ so uuencoded messages always can be saved without corruption, and so
+ I also changed the SCAN_FOR_BURIED_NEWS_REFS compilation default to
+ TRUE. - FM
+* Simplified a compound if() in HTParse.c which may have been giving the
+ AIX v4.1 compiler a headache. - FM
+09-11-95
+* Eliminated distinct style sheets for CAPTION and CREDIT so their content
+ will inherit the current style, and added HTML_EnsureDoubleSpace() and
+ HTML_ResetParagraphAlignment() in HTML.c for coping with the absence of
+ distinct style sheets for those elements, and for FIG.
+09-10-95
+* Added SCAN_FOR_BURIED_NEWS_REFS configuration symbol in lynx.cfg, with
+ a compilation default of FALSE, and a -buried_news switch for toggling
+ the default. When TRUE, Lynx scans the bodies of news articles for
+ references and converts them to news links, but creates false news
+ links if any email addresses are enclosed in angle brackets, and can
+ trash uuencoded messages. - FM
+* Eliminated distinct style sheet for FIG so its content will inherit the
+ current style and display appropriately within lists. Should be OK if
+ people use valid HTML 3.0 in it's content for non-graphic clients. - FM
+* Added links for the W3C HTML 2.0 and 3.0 specifications and for the
+ HAL HTML validation service to the Lynx help file set.
+* Made the BOLD_NAME_ANCHORS compilation symbols FALSE by default. Most
+ documents now include emphasis tags for NAME (ID) anchors if it's desired,
+ because the most common graphic clients don't emphasize them by default,
+ so we should adjust to that in Lynx as well (IMHO 8-). Added emphasis
+ tags for the NAME anchors in the Lynx help files. - FM
+* Eliminated forced uppercasing of H1 headers. Most documents have mixed
+ casing and we should preserve it (IMHO 8-). Added a BOLD_H1 configuration
+ symbol, set FALSE by default, for making H1 headers bold even if BOLD_HEADERS
+ is FALSE. Modify the two configuration symbols in lynx.cfg for the pattern
+ or header emphasis which pleases you. - FM
+* Tweak of list paragraphing. Added HText_PeviousLineSize() in GridText.c
+ for determining if the previous line had only non-printing characters. - FM
+09-09-95
+* Impelemented true paragraphing and the P ALIGN attribute within lists (UL,
+ OL and DL blocks) and within ADDRESS blocks. Paragraphs within lists have
+ one blank line inserted. Within ADDRESS blocks, a newline will be created
+ if needed, but no blank lines are inserted. Use BR, not P, to force extra
+ newlines within blocks. Do not place a P immediately following the LI or
+ DD tags. Alignments of P blocks are done with respect to the "second line"
+ margins of LI or DD elements. - FM
+09-08-95
+* Convert '~' to getenv("HOME") in file URLs whether or not DIRED_SUPPORT
+ is defined. - FM
+* Tweak of TR and more tweaks of HR handling. Added HText_LastLineSize()
+ and HText_TrueLineSize() functions in GridText.c for determining if
+ lines have only non-printing characters in decisions on whether to
+ insert additional newlines. - FM
+09-07-95
+* Act on Page-Up, Page-Down, Home, End, Find and Select in the form_getstr()
+ editor (hoping they have their default mappings 8-). Also act on Remove
+ and Control-D as delete keys in that line editor (as in the LYgetstr()
+ line editor). - FM
+* Tweak of HR handling. - FM
+* Mods to prevent creating multiple copies of temporary printer files. - FM
+* More fixes for NeXT. Temporary files for VIEWER, DOWNLOADER or PRINTER
+ commands on NeXT all have the ".html" default suffix replaced with ones
+ indicative of the Content-type. - FM
+09-06-95
+* Mods to prevent creating multiple copies of temporary viewer or downloader
+ files. - FM
+* Fixes for NeXT. - FM
+09-05-95
+* Enabled the -help switch when no configuration file is available and
+ Lynx would otherwise exit (i.e., it now outputs the help message before
+ it exits). - FM
+* Documented the -child switch. - FM
+* Fixed and documented the -nolog switch. - FM
+* Changed the -linknums switch to -number_links, fixed the code to work,
+ and documented the switch. - FM
+* Made handling of escaped colons (\:) in VIEWER commands reliable. - FM
+09-04-95
+* Implemented the PLAIN attribute for UL, and the SEQNUM and CONTINUE
+ attributes for OL. - FM
+* Updated the DTD structures and definitions for DD, DL, DT, LI, OL and UL
+ to HTML 3.0, added LH, and implemented full HTML 3.0 ID handling for those,
+ and B, BLINK, BR, CENTER, CITE, CODE, DFN, DIR, EM, FORM, KBD, I, LEFT,
+ LISTING, MENU, PLAINTEXT, PRE, RIGHT, SAMP, STRONG, TT, U, VAR and XMP
+ (some of which are obsoleted in HTML 3.0, but what the heck 8-). - FM
+09-03-95
+* Made bolding of NAME (ID) anchor contents configurable in lynx.cfg. - FM
+09-02-95
+* Tweaks of FIG and OVERLAY handling: Only put up [FIGURE] (and +[OVERLAY])
+ links if clickable_images is set. Assume P ALIGN="left" if contained
+ text does not begin with an explicit tag that sets an alignment. - FM
+* Implemented full HTML 3.0 ID handling for IMG. - FM
+* Tweaks for FreeBSD. - Masafumi NAKANE (t94303mn@sfc.keio.ac.jp)
+08-31-95
+* Added support for using a TITLE attribute as the subject in anchors with a
+ mailto HREF (A HREF="mailto:address" TITLE="RE: subject"). - FM
+08-30-95
+* Implemented full HTML 3.0 ID handling for A, ADDRESS, BLOCKQUOTE, BQ,
+ CAPTION, CREDIT, FIG, H1 - H6, HR, INPUT, NOTE, OPTION, P, SELECT, TABLE,
+ TD, TEXTAREA, TH and TR. - FM
+* Updated the DTD structures and definitions for ADDRESS to HTML 3.0. - FM
+* Block insertion of any escape sequence characters or substitutes when
+ editing form INPUTs or TEXTAREAs. - FM
+08-29-95
+* Tweak of ALIGN attribute handling in paragraphs. - FM
+* Protect against hanging on escape sequences if received (illegally) in
+ documents typed as text/plain or text/html. - FM
+08-28-95
+* Declared DCLspawn_exception() as an unsigned int to keep DECC happy. - FM
+08-27-95
+* Give LYUpload() a return value (because LYLocal.c has been testing for
+ one all these years 8-). - FM
+* Force reload on return from 'o'ptions menu if HTfileSortMethod or
+ keypad_mode are changed. - FM
+* Force no cache of keymap display whenever vi_keys or emacs_keys are
+ changed. - FM
+* Added Remove and Control-D as Delete synonyms for removing characters to
+ the left of the cursor in the LYgetstr() line editor, and Control-F as
+ Right-arrow synonym for moving the cursor to the right. - FM
+08-24-95
+* Modified prompted string editing via LYgetstr() along lines in patch
+ from PM (editing of form INPUT and TEXTAREA strings is unchanged).
+ Here's how the prompted string editing works: Left-arrow and Backspace
+ (Control-H) move the cursor to the left, and Right-arrow to the right,
+ within the string. Characters are INSERTed at the cursor position.
+ Delete removes characters to the left of the cursor. Home, Find and
+ Control-A move the cursor to the beginning of the string. End, Select
+ and Control-E move the cursor to the end. Control-U erases the string.
+ Control-G cancels at any time. Return accepts if a string is present,
+ or cancels if it was fully erased or never entered. A right-curley
+ brace appears in the right-most column when the string has segment(s)
+ scrolled off screen, and if left scrolled, the cursor sits on it for
+ further editing with the above command keys (or acceptance via Return).
+ Long strings scroll both left and right between the prompt string and
+ right-curley brace. Had to modify 17 files to make this line editor
+ crash safe (I hope people like it! 8-). - FM
+08-22-95
+* Use a macro in parse_arg() of LYMain.c to ensure proper handling of
+ switches which take a value and might have a space instead of an '='
+ between the name and value. - DW
+* Insulate any system RTL's getline() from the one in HTInit.c. - DW
+* Enabled editing of titles when adding bookmarks. - FM
+08-21-95
+* Fixed the IBM PC character set in LYCharSets.c (Note: The PC-set has the
+ currency symbol but it is a control character - ^O - so there is a chance
+ that curses or the user's terminal may discard it. Did not fix the
+ Icelandic characters). - DW
+* Check whether getpwuid() and getgrid() have returned NULL pointers in
+ LYShowInfo.c. - DW
+* Break up the too elaborate, compound assignment statements in LYList.c
+ so no compilers get tripped up by evaluation order effects. - DW
+* Worked in mods from DW to cope with CR, CRLF or LF all as EOL in HTML.c
+ and GridText.c (not sure if they take into account all of the consequences
+ of Lou's "big cheat" in GridText.c, but they appear to, so far). - FM
+* Explicitly preserve the Lynx bookmark file mode on Unix. - DSL
+08-20-95
+* More documentation and help updates. - FM
+08-19-95
+* Updated INSTALLATION and comments in userdefs.h and lynx.cfg. - FM
+* If save to disk was done via the download menu, and a VMS rename() attempt
+ succeeded so we don't spawn a COPY, we no longer can access the file via
+ the download menu, so pop in that situation. - FM
+* Worked in stuff from 16-Aug-95 lynx2-4-2 upgrade. Most had already been
+ added to lynx2-4-FM. This is the new stuff. - FM:
+---------------------------------------------------
+ 08-16-95
+ * Applied patch from Peter van Heusden (pch@ucthpx.uct.ac.za) to fix
+ a bug when lynx encounters an OPTION tag before the style is
+ ever updated. - CL
+ 08-09-95
+ * Added some tweaks to Makefile and LYCurses.h to get lynx to properly
+ compile on ISC. Thanks to Robert Salter (salter1@master.nsbf.nasa.gov).
+---------------------------------------------------
+08-18-95
+* Added a -validate switch for turning off everything except http URLs,
+ helpfiles, and secure menus in Lynx. Can be used with -dump in CGI
+ scripts, but is intended for use with anonymous telnet logins. In the
+ latter case, the user can start with his/her server's or userdir homepage,
+ and validate everything, while able to manipulate the display features
+ (e.g., whether or not links are numbered) and turn on trace (Control-T,
+ then Control-R to reload) when a "Bad HTML" document is encountered. The
+ telnet approach is particularly useful when used with the 'l'ist feature.
+ When used with -dump, compare it with versus without -nolist. - FM
+* Added a missing curley brace in EF's (08-16-95) patches. - FM
+08-17-95
+* Added HISTORICAL_COMMENTS symbol which if set TRUE in lynx.cfg will cause
+ Lynx to revert to the "historical" behavior of treating any '>' as a
+ comment terminator instead of (a valid) '-->', and a -historical switch
+ for toggling the default behavior. - FM
+* Added a -nolist switch for turning off the link list feature in dumps. - FM
+* Modified SGML.c so that it still substitutes the expected end tag if a
+ different one is encountered (e.g, due to a document having interdigitated
+ instead of validly embedded tags), but doesn't do a wind down of the
+ element stack. This gives it a better chance of recovering from bad
+ HTML, and the sanity checks I've added thus far in HTML.c appear to still
+ be adequate for avoiding crashes (we'll see 8-). - FM
+08-16-95
+* Mods to support within-document anchors in documents returned via
+ lynxcgi scripts. - FM
+* Worked in EF's patches to handle changes of keymaps under DIRED_SUPPORT
+ with OK_OVERRIDE, and to give the user some feedback during an Install
+ command. - FM
+08-15-95
+* Don't include a Referer header for 'g'oto URLs. - FM
+* Added patches from PR for compilations with VMS port of GNUC: Modified
+ several prototypes to avoid GNUC warnings about conflicts with ones in
+ lib$routines.h, and added code in HTVMS_WaisUI.c to deal with an obscure
+ glitch for GNUC v2.6.[123] and v2.7.0 (not present in v2.6.0 or earlier,
+ and fixed in v2.7.1). - FM
+* Worked in code from PR as LYVMS_FixedLengthRecords() in HTFWriter.c to
+ change attributes of binary files on VMS from Stream_LF to FIXED 512,
+ no implied carriage control, best try contiguous. Replaces the spawn
+ to execute FIXED512.COM. - FM
+08-14-95
+* Modified TEXTAREA handling to succeed or fail on bad HTML equivalently
+ to Netscape. - FM
+08-12-95
+* Mods to avoid crashes and to do something reasonable with OPTION strings
+ that are wider than the available popup window width. Truncation is
+ indicated by omission of a terminating ']' in the window link, and the
+ window, when popped up, is made equal to the screen width (but we can't
+ wrap the strings within the window, so they're truncated if they still
+ don't fit). - FM
+* Mods to handle INPUT fields that are packaged in PRE and would extend past
+ the wrap column. No way to make that perfect without a major redesign,
+ but it's better now. - FM
+08-10-95
+* Handle 'g'oto entries equivalently to STARTFILE and HOMEPAGE, i.e., if
+ the user's entry isn't a URL, convert it to a file URL if it's a file
+ or directory on the local system, otherwise convert it to an http URL.
+ For example, "~/" will be converted to a file URL for listing the HOME
+ directory (on both Unix and VMS), and "www.netscape.com" will become
+ "http://www.netscape.com". - FM
+* Fix LYCurses.h to deal with definitions of TRUE and FALSE in cursesX.h
+ on ultrix. - Brian Exelbierd (bex@ncsu.edu)
+* Made SYSTEM_MAIL, and MAIL_ADRS on VMS, configurable in lynx.cfg. - FM
+08-08-95
+* Fixed two initialization problems that could account for reports of
+ inappropriate HEAD requests in pops of cached documents. - FM
+* More tweaks for coping with bad HTML. - FM
+* Fixed bug in code for bypassing bad SUFFIX: or VIEWER: entries. - FM
+08-06-95
+* Added code in GridText.c to deal with syntactically OK but symantically
+ nonsensical uses of ALT="" in IMG tags (i.e., when the IMG is structured
+ to provide the anchor for a link, and so the anchor ends up with nothing
+ but nonprinting characters for bolding), and removed the forcing of an
+ "[ISMAP]" pseudo-ALT in HTML.c. The show_anchor element in TextAnchor
+ structures is now set to NO whenever an anchor does not have any
+ printing characters. - FM
+* Modified HTML.c to issue only one "Bad HTML" statusline message per
+ document (unless it's one of those unbelievably bad CGI script outputs
+ that are functionally multiple, concatenated documents 8-), and similarly
+ for "Table in Form" and "Form in Table" informational messages. - FM
+* Don't bother prompting whether to send a HEAD request for the current
+ document if there are no links on the page (but still prompt if the user
+ makes a HEAD request when positioned on an inappropriate form link). - FM
+08-05-95
+* Added code in SGML.c for storing Identfiers (e.g., !DOCTYPE) and Comments
+ (i.e., tags beginning with !--) and for reporting them in trace mode.
+ Serves as a model for actually using them someday (i.e, functions for
+ analyzing them could be called where we presently just invoke a trace
+ output to stderr). - FM
+08-03-95
+* Modified SGML.c to handle comments as in the current specs, and put
+ Paul Gilmartin's (pg@sweng.stortek.com) TestComment.html in the
+ test subdirectory. - FM
+* Added binary extensions in HTInit.c that were giving people problems
+ on FTP servers. - FM
+08-02-95
+* Added explicit check for CMU in telnet support with SOCKETSHR-built
+ images. - SB
+* Added -link switch for setting the count in lnk#.dat files with -crawl
+ (needed if you interrupt a traversal and want to pick up again where
+ you left off). - DM
+* More tweaks of -traversal code and Makefile. All known bugs appear to
+ have been dealt with at this point. Updated lynx.man, lynx.hlp and
+ help files to include the -traversal and -crawl switches. - FM
+08-01-95
+* Changed the SEQUENT compilation sympbol to PTX2 and added a ptx2 procedure
+ to the Makefile for Sequent Symmetry DYNIX/ptx v2, because more current
+ versions reportedly have solved the problems which the conditional
+ compilation attempted to address. - FM
+* Force in the "[ISMAP]" pseudo-ALT if someone uses ALT="" for an IMG tag
+ that has ISMAP specified. - FM
+* Tweaks of the -traversal code (still experimental). - DM & FM
+07-31-95
+* Worked in code from David Mathog (mathog@seqaxp.bio.caltech.edu) for
+ implementing the TRAVERSAL function from old versions of Lynx, but via
+ a command line switch (-traversal) instead of in a separately compiled
+ executable, and for a CRAWL function, invoked via a command line switch
+ (-crawl), which allows Lynx to be used as the front end for a Web Crawler.
+ See CRAWL.announce for more information. - FM
+* More tweaks of LYCurses.c and LYCgi.c for GNUC on VMS. - SB
+* More tweaks of src/Makefile. - DSL
+07-30-95
+* Tweaks of yesterday's Makefile and descrip.mms files. - FM
+07-29-95
+* Tweak in HTFTP.c to ensure that Lynx doesn't sit around waiting for an
+ FTP server's good-bye message if the server closes the connection itself
+ and doesn't send one. - FM
+* Added GNUC support to the VMS descrip.mms files. - FM
+* Tweaks of HTWAIS.c socket handling on VMS (I can't reproduce a reported
+ problem with SOCKETSHR/NetLIB, but these tweaks might help). - FM
+* Added my guesses at code for HTTelnet.c to implement telnet, tn3270 and
+ rlogin support, if available, when building with SOCKETSHR/NetLIB on
+ VMS. - FM
+07-28-95
+* Mods for Sequent Symmetry DYNIX/ptx - Mark Kolmar (mkolmar@ccs.nslsilus.org)
+* Added GL's lynxcgi patches posted to lynx-dev, plus some tweaks. - FM
+* Worked in GL's lynxcgi mods as in Lynx2-4-2:
+ --------------------------------------------
+ Added George Lindholm's LYNXCGI feature. This allows lynx to bypass
+ http daemons to run local CGI scripts using a URL of the form
+ "lynxcgi:/path/cgi-script". To implement in Lynx, LYNXCGI_LINKS
+ must be uncommented in userdefs.h and TRUSTED_LYNXCGI must be fixed
+ in lynx.cfg. It doesn't handle redirection or mime-types and
+ scripts should probably generate partial URLs when referring back to
+ itself. If the file you're going after isn't an executable then it
+ will be loaded as regular file. This makes it possible to go back
+ and forth between cgi-scripts and .html files.
+ I changed the way TRUSTED_LYNXCGIs are recorded because they don't
+ work quite the same as TRUSTED_EXECs do. Also, George says it works
+ fine on SunOS and Solaris, and it seems to work fine on Linux. - CL
+ --------------------------------------------
+* Don't block access to the download menu when both no_download and
+ no_disk_save are set if any of the download commands have always_enabled
+ set (ie. present a reduced menu, with those still available). - FM
+* More tweaks of help and html files. - DSL
+07-26-95
+* Added support for GNUC in the VMS .com files. Should now compile and link
+ automatically for GNUC via build.com, but that needs testing. - FM
+* Reorganized VMS option files into ones for the transport and ones for the
+ compiler, with corresponding updates of the .com and .mms files. - FM
+* Tweaks of mods for GNUC on VMS, based on further discussions with
+ SB. - FM
+* Tweaks of -help output. - Daniel S. Lewart (d-lewart@uiuc.edu)
+07-25-95
+* Ugh!! Blew it for Unix when setting up the GLOBALDEF/GLOBALREF definitions
+ in tcp.h for VAXC vs. DECC vs. GNUC on VMS this morning (I'm a night
+ person 8-). - FM
+* Worked in code for compiling with the VMS port of GNUC, based on patches
+ from Sterling Bjorndahl (bjorndahl@augustana.ab.ca) and advice from
+ Pat Rankin (rankin@eql.caltech.edu). Needs testing, and the linking
+ procedure still needs to be addressed explicitly. - FM
+* Prevent possibility of a null pointer dereference if an ISMAP anchor
+ fetch fails. - David Trueman (david@cs.dal.ca)
+07-21-95
+* Added LYK_HEAD (mapped by default to ']') to send HEAD requests for the
+ current document or link (always sent with LYforce_no_cache). - FM
+* More lynx.man, lynx.hlp, help file and documentation updates. - FM
+07-19-95
+* Put back "-mime_headers" with mods like those in lynx2-4-2, i.e., so that
+ a source dump is forced. Both "-mine_headers" and "-head" show the status
+ line as well as the MIME headers. - FM
+* Modified "-error_file" to show the complete status line, as well as the
+ URL and METHOD, and to concatenate entries instead of creating separate
+ files for each request. - FM
+* Updated the lynx.man, lynx.hlp and lynx_help files. - FM
+07-18-95
+* Changed "-mime_headers" to "-head" and implemented it as a HEAD request
+ for fetching the MIME headers as text/plain. - FM
+07-17-95
+* Removed 00DIFFERENT from this distribution. - FM
+* Made use of _underline_ format in dumps optional via SUBSTITUTE_UNDERSCORES
+ definitions in userdefs.h and/or lynx.cfg, and added a "-underscore"
+ command line switch for toggling the default on or off. - FM
+* Use system("exec $SHELL") for spawning the default shell on Unix. - Paul
+ Gilmartin (pg@sweng.stortek.com)
+* Fixed typo in check for news vs. nntp URLs in HTNews.c. - Wilson Cheung
+ (wcheung@netcom.com)
+* Added code to the VMS setup() for dealing with curses conficts if someone
+ used -post_data or -get_data without specifying -dump under conditions
+ which require it, so it's not forced in LYMain.c as on Unix. If fact,
+ -get_data and -post_data are very useful in interactive invokations. - FM
+* Fixed memory leak in the -post_data and -get_data handling. - FM
+* Added LYNX_HOST_NAME in userdefs.h and lynx.cfg for defining an alias
+ which will be treated equivalently to "localhost" and HTHostName (the
+ fully qualified domain name of the system running Lynx) in checks for
+ URLs on the local host (e.g., when the -localhost switch is set). - FM
+* Added in or improved descriptions for the new switches in the Lynx
+ command line help and Lynx_users_guide.html. - FM
+07-16-95
+* Tweaks of yesterday's startfile and -homepage mods, and added treatment
+ of '~' as SYS$LOGIN when used as the lead character on VMS (e.g., on
+ VMS as on Unix, lynx ~/ will create a listing of the login directory
+ for the account running lynx). - FM
+* Worked in stuff from 13-Jul-95 lynx2-4-1 upgrade. Most had already been
+ added to lynx2-4-FM. This is the new stuff. - FM:
+---------------------------------------------------
+ 07-13-95
+* Added some command line patches from Peter Brooks - CL:
+ (pbrooks@micromind.com). The new command lines are:
+ -post_data, -get_data = send form data from stdin and dumps results.
+ -auth=ID:PASSWD = sets authorization stuff at startup.
+ -mime_header = prints mime header with -source.
+ -noredir = prevents automatic redirection
+ -error_file=file = prints HTTP status code to file. (Not sure of
+ his motivation on this one, something to do with SlipKnot,
+ I think.)
+ (Replaced Peter's strdup()'s with more portable code. - FM)
+ 07-11-95
+* Added Erik Olson's (olson@phys.washngton.edu) patch to use the
+ _underline_ format when using the -dump option. - CL
+ (Kept the old code, #ifdef'ed out, to make this optional someday. - FM)
+ 07-07-95
+* Fixed a bug in local_dired. Specifically, a pointer to a fixed array
+ was being fed into StrAllocCopy as the destination. Linux was choking
+ on this although OSF/1 and AIX seemed to handle it better. - CL
+---------------------------------------------------
+07-15-95
+* If a command line "startfile" and/or -homepage is not a URL, and can't
+ be located as a file or directory on the local system, treat it as an
+ http URL, e.g., www.wfeb.edu will be treated as http://www.wfeb.edu - FM
+07-13-95
+* Added nntp URL handling (nntp://news_host[:port]/path). Made it read
+ access only (use news URLs for both read and post access). - FM
+07-12-95
+* Added code for proxying https and snews URLs. The Netsite proxy server
+ can proxy them without need for SSL code in the clients themselves, i.e.,
+ for Lynx as publically distributed (need client-resident SSL code and
+ tunneling for the CERN proxy server, sorry). - FM
+* Added the CONNECT protocol to our local code, so that SSL URLs can be
+ tunneled through proxy servers, and reorganized some code so that patches
+ for the SSL hooks can be applied easily if NSA regulations are relaxed. - FM
+07-11-95
+* More tweaks of alignment code. - FM
+* Fixed bad code for removing trailing white space in GridText.c, LYrcFile.c,
+ LYReadCFG.c and LYUtils.c. - FM
+* Added snews and nttp protocols, which simply inform the user that they
+ aren't implemented. - FM
+* The claim is that even mere hooks to the RSA and SSL libraries are
+ objectionable to the NSA, so I removed then from the public distribution,
+ but left in the https protocol, which simply informs the user that it
+ isn't implemented. - FM
+07-08-95
+* Worked in Lou Montulli's (montulli@netscape.com) code for https URL
+ handling into the Common Library. To actually use it, you have to
+ get the RSA and SSL libraries, which are restricted to US citizens
+ (it works if you are and do 8-). I can't include those in this
+ distribution, because by US law that would in turn restrict it to
+ US citizens. - FM
+* Tweaks of paragraph alignment code. - FM
+07-07-95
+* If we are not allowed to change the status of the "lynxexec
+ execution of links" from the option screen then we shouldn't be
+ allowed to change it from the .lynxrc file either. - GL
+* Added George Lindholm's patch to add uudecode support to Lynx's file
+ manager. Unfortunately, uudecode puts the uudecoded file in the
+ current working directory, namely the directory where lynx is started.
+ I haven't thought of a workaround yet, so I made lynx print a
+ statusline message informing the user. - CL
+07-06-95
+* Modified redirection-handling code in HTTP.c to ensure that we get all of
+ the headers before trying to track down the Location: header. - FM
+* For move's or rename's in the local DIRED code, don't write the new file
+ name into the same buffer as the old. - Earl Fogel (fogel@duke.usask.ca)
+07-05-95
+* Added GL's mods to use a stream-based procedure for displaying the
+ current Lynx keymap. Faster and more efficient than the temporary
+ file-based procedure. - FM
+07-04-95 (Enjoy the fireworks!!! 8-)
+* More mods of SGML/HTML parsing to help recover from bad HTML. - FM
+* Fixed some cryptic initialization problems in the Common Library's
+ centering and right alignment code, that we're now using, by changing
+ the malloc's in HTChunk.c to calloc's. - FM
+* Secured some unsafe code in the LYstrncpy() function. - FM
+* Increased the connect() and select() while()-looping limit in HTTCP.c
+ to 30,000 tries. - FM
+* Tweak of HR WIDTH attribute handling. - FM
+07-03-95
+* Updated the DTD structures and definitions for HR to HTML 3.0, plus
+ its Netscape WIDTH and SIZE attributes, and implemented WIDTH, e.g.,
+ HR WIDTH="50%" yields a centered horizontal rule half the width
+ between the current left and right margins. - FM
+* Fixed problem of header end tags not yielding line breaks when embedded
+ in CENTER, LEFT or RIGHT tags. - FM
+07-02-95
+* Added MAKE_PSEUDO_ALTS_FOR_INLINES in userdefs.h and lynx.cfg which can
+ be defined FALSE to treat inlines without an ALT string as having ALT=""
+ instead of inserting the pseudo-ALT string "[INLINE]" into the document.
+ The configuration file default can be toggled via a -pseudo_inlines
+ command line switch, and the user can toggle the inclusion of pseudo-ALT
+ strings on or off at run time via LYK_INLINE_TOGGLE (mapped by default
+ to '['). - FM
+* Made the -image_links command line switch a toggle for the configuration
+ file default setting. - FM
+* Enabled processing of forms that use TABLE for formatting. I don't see any
+ risk of crashes, and they might end up usable. Messages warn the user that
+ the display of the form may be strange. - FM
+* Relaxed anti-crash protections for forms with bad HTML (usually due
+ to interdigitated instead of embedded tags, written by providers with
+ Netscape or Mosaic clients, which are insensitive to such fundamentally
+ bad HTML). I got the code to still work with several bad forms on the
+ Net, and if a crash should occur, the user has been tipped off via the
+ statusline or trace message about the nature of the problem. - FM
+07-01-95
+* Restored the meaning of the P element to be the beginning of a paragraph,
+ updated its structures and definitions in the DTD to HTML 3.0, and
+ implemented its ALIGN attribute (left, center, right). Note that it
+ no longer forces double spacing (you'll get the spacing defined in
+ the stylesheet for the current element, which may or may not be
+ double) and empty paragraphs (serial Ps) will not yield additional
+ newlines (use serial BRs for that). - FM
+* If both download options and disk saves are restricted, don't fetch
+ binary files with a download offer when their links are activated
+ (just issue a statusline message that the file can't be displayed),
+ and issue a "disabled" statusline message for any overt 'd'ownload
+ attemps. - FM
+* For disk saves in LYDownload.c, on VMS attempt a rename() first, and then
+ a spawned DCL copy if that fails. - FM
+* Added memory exhaustion checks for all mallocs, reallocs and callocs in
+ the LYfoo modules. - FM
+* Added CL's realloc() substitute for AIX and ultrix in GridText.c. - FM
+* Map extensions .html3 and .ht3 to text/html in HTInit.c. - FM
+06-29-95
+* Added code to enable creation of links for all images. Can be made the
+ default by setting MAKE_LINKS_FOR_ALL_IMAGES to TRUE in userdefs.h and/or
+ lynx.cfg (not advised). Can be implemented for the session via a command
+ line switch, -image_links, e.g., use lynx -dump -image_links to get links
+ for all images, as well as standard links, listed in the output. Can be
+ toggled on and off at run time via LYK_IMAGE_TOGGLE (mapped by default to
+ '*'). Use that in conjuction with the LYK_LIST command to get a list of
+ links that includes all images, e.g., for adding them as bookmarks. The
+ toggle also invokes a reload, so that the change will be implemented for
+ the current and any future documents, but if you return to cached
+ documents, those will need to be reloaded explicitly. See comments in
+ userdefs.h and lynx.cfg for more information. - FM
+* Don't restrict use of Control-T for toggling trace mode to advanced
+ usermode (i.e., make it available in all usermodes, so people might
+ follow the instructions in "BAD HTML" statusline messages to check
+ the document in trace mode). - FM
+* Modified LYList.c to indicate the anchor NAME/ID, if present, following
+ the TITLE, if known, in interactive 'l'ists.
+* Modified SGML.c to treat '>' as both a close-double-quote and close-tag.
+ Now Lynx acts like Netscape, in that respect, so all that bad HTML
+ Netscape users are generating will not bother Lynx. - FM
+06-28-95
+* Oops, missed an initialization in this morning's centering and right
+ alignment mods. - FM
+* Fixed up HTML.c to bypass HTML 3.0 attribute checks for start tags generated
+ by the Common Library's non-http access types (gopher, ftp, news, wais)
+ Could crash, otherwise. - FM
+* Fixed up GridText.c code to take non-printing control characters properly
+ into account when formatting centered or right-aligned text. - FM
+* Mods to improve appropriate carryover or cancelling of alignment attributes
+ across successive elements. - FM
+* Implemented Netscape LEFT and RIGHT extensions, homologously to CENTER. - FM
+* Implemented Netscape BLINK extension as HT_UNDERLINE. - FM
+06-26-95
+* Updated the DTD structures and definitions for H1 - H6 to HTML 3.0 and
+ implemented their ALIGN attribute (left, right and center). - FM
+* Implemented the Netscape CENTER extension. - FM
+06-25-95
+* Updated the DTD structures and definitions for FORM, INPUT, TEXTAREA,
+ SELECT and OPTION to HTML 3.0. - FM
+* Implemented the HTML 3.0 DISABLED attribute for FORM elements. - FM
+* INPUT type "scribble" implemented as "text" according to the HTML 3.0
+ recommendation for non-GUI clients. - FM
+* Added protections against problems with INPUT types "range" and "file"
+ until they're implemented (will be tricky, but do-able 8-). - FM
+06-23-95
+* Added all ISO8859-1 entities to the DTD. - FM
+06-22-95
+* Updated the DTD structures and definitions for A and IMG to HTML 3.0, and
+ implemented their ID attribute. - FM
+* Tweaks of FIG handling. - FM
+* It is somehow inappropriate to teach our users to write correct HTML and
+ to tell them to always check it before publishing, when Lynx's on-line
+ help gives such a bad example :-} (not to mention versions from a couple
+ of months back). Better now. - Mark Martinec (Mark.Martinec@nsc.ijs.si)
+06-20-95
+* Made the DTD structures and definitions for the HTML 3.0 elements
+ BQ, CAPTION, CREDIT, FIG, NOTE and OVERLAY complete, and added
+ those for STYLE, TABLE, TD, TH and TR.
+* Tweaks of yesterday's HTML 3.0 additions (still just "first pass"). - FM
+* Added code for avoiding potential problems with stylesheets and tables
+ in HTML 3.0 documents. - FM
+06-19-95
+* Added "first pass" handling of HTML 3.0 elements BQ, CAPTION, CREDIT,
+ FIG, NOTE and OVERLAY. - FM
+06-17-95
+* Close the configuration file on completion of the big while() in
+ LYReadCFG.c. - PM
+* Added 00DIFFERENT to keep track of files in this code set which
+ presently differ from those in the latest development code set
+ at UKans (currently, lynx2-4-1.zip of 15-Jun-95). - FM
+* Tweak of the pseudo-toolbar code. The 'l'ist command now displays the
+ TITLE (or RelValue, if TITLE is defaulted) of those links if they have
+ never been accessed, or their actual HTML titles if accessed, at the
+ top of the links list, so you can use that command instead of LYK_HOME
+ to reach the toolbar links at any time, and then left-arrow to where
+ you were in the current document instead of having to page back down
+ to that location. - FM
+06-16-95
+* Added LINK REL="RelValue" HREF="foo" TITLE="TitleValue" HTML 3.0
+ handling (as in http://www.hpl.hp.co.uk/people/dsr/html3/dochead.html
+ of 28-Mar-95). The HREF and REL values are required (the LINK will be
+ ignored if either is missing or has a zero-length value). TITLE is
+ optional, i.e., the RelValue will be used as the link name if TITLE
+ is omitted. Currently registered toolbar RelValues are: Home, ToC,
+ Index, Glossary, Copyright, Up, Next, Previous, Help, and Bookmark.
+ The Bookmark links are intended to have TITLEs (e.g., "Order Form").
+ The others have RelValues that yield self-evident link names. The LINKs
+ should be placed in the HEAD section, so they'll be displayed in a manner
+ simulating a toolbar (but not a real one, since we don't have Windows and
+ mouse support; use your LYK_HOME command to access it at any time 8-).
+ The BODY should have a line-breaking element (e.g, H1) to set them off.
+ For now, the Banner RelValue is treated like another toolbar element.
+ The StyleSheet RelValue is ignored, since we don't yet have loadable
+ stylesheet handling. - FM
+* Fixed up the 06-13-95 NO_ANONYMOUS_EMAIL patch to be appropriate for
+ VMS - FM.
+06-14-95
+* Added LYK_LIST command ('l' or 'L'; must be uppercase if VI keys are on)
+ for creating an ACTIVATEable list of references (links) in the current
+ document. If LINKS_ARE_NUMBERED is on, it's a UL, otherwise it's an
+ OL. Visited links have the TITLE displayed, otherwise the HREF is
+ displayed. - FM
+* Added code to append a list of references (links), if present in the
+ document, when -dump is used. Dumps are done with LINKS_ARE_NUMBERED
+ turned on. The reference list is numbered, and always shows the HREFs,
+ so that they can be referenced to the links in the document. - FM
+* Updated help files. - FM
+--- lynx2-4-1 on ftp2.cc.ukans.edu (added to lynx2-4-FM on 06-16-95)
+06-13-95
+* Added George Lindholm's patch to add -r (recurse) to the zip call in DIRED.
+ - JP
+06-12-95
+* Added George Lindholm's new file permission patch. Here's his description:
+ "Here is a rewamped version of my earlier file permission patch. This version
+ uses a html page to prompt for user input (rather than having the user
+ enter a obscure unix chmod string) using checkboxes." - JP
+* Added George Lindholm's addition of a compiler flag (NO_ANONYMOUS_EMAIL).
+ If NO_ANONYMOUS_EMAIL is set the user will not be able to add their own
+ from header. This will only work if the mail package being used will
+ add this information. - JP
+--- lynx2-4-1 on ftp2.cc.ukans.edu
+06-09-95
+* Replaced info.cern.ch with www.w3.org in html and make files. Designated
+ this code as 2.4-FM, for local use. - FM
+--- STARTING 2.4-FM ---
+--- Rename of Lynx2-3-FM and release as Lynx2-4 (08-June-1995) ---
+ (see CHANGES2-4 and CHANGES2-3)
diff --git a/docs/CHANGES2.6 b/docs/CHANGES2.6
new file mode 100644
index 0000000..73c158a
--- /dev/null
+++ b/docs/CHANGES2.6
@@ -0,0 +1,732 @@
+--- Rename of Lynx2-5FM and release as Lynx2-6 (02-Sep-1996) ---
+==============================================================================
+09-02-96 ---- Release of Lynx2-6 ----
+* More expansions of the online 'h'elp files. - FM
+* Updated the PROBLEMS file. - FM
+09-01-96
+* More expansions of the online 'h'elp files. - FM
+* Tweaks of list handling. - FM
+* Miscellaneous code cleanups and annotations. - FM
+08-31-96
+* Further updates and expansions of the online 'h'elp files. - FM
+* Tweaks of alignment handling with bad HTML. - FM
+* Added JIS X 0201 Japanese Kana string support. - TA & FM
+08-30-96
+* Further updates and expansions of the online 'h'elp files. - FM
+* Typo fixes in the help and doc files. - LWV
+* Tweaks of ENCTYPE handling for FORM submissions. - FM
+08-29-96
+* Today's distribution is a pre-release of v2.6. The projected official
+ release date is 09-02-96.
+* Tweaks of numeric character reference handling. - FM
+* Typo fix in LYShowInfo.c. - IC
+08-28-96
+* Added handling of ENCTYPE="application/sgml-form-urlencoded" in FORMs
+ as a directive to use semi-colons instead of ampersands as name=value
+ separators, and to indicate that as the Content-Type for POSTs. - FM
+* Convert ampersands in addresses and link names, and angle-brackets in
+ link names, to SGML entities when creating bookmarks and showinfo ('=')
+ link 'l'ist, client-side-image-map, and history list text/html streams
+ or temporary files. - FM
+* More SGML compliance mods for the handling of attribute values which
+ represent URLs or URL components. - FM
+* Tweaks of form INPUT, TEXTAREA, SELECT and OPTION handling. - FM
+* Check EAGAIN on socket connect or select attempts for all platforms and
+ flavors. - FM
+* Include both <time.h> and <sys/time.h> in tcp.h for AIX.
+* Adding warning and info in the INSTALLATION file and userdefs.h on how
+ to cope with telnetd environment variable spamming for anonymous accounts
+ running Lynx captively. - FM
+08-24-96
+* Enhancements of the History List handling. Show each link's actual address
+ in addition to the titles, since the actual addresses can't be determined
+ via showinfo or the 'l'ist display, and links in the History List derived
+ from searches can have the same titles but different searchparts or hidden
+ content appended. If a link in the History List is activated, is still
+ cached, has POST content, and ALWAYS_RESUBMIT_POSTS was configured off (as
+ recommended) and wasn't toggled on via -resubmit_posts, prompt the user
+ whether to resubmit the form (versus retrieve the cached rendition from
+ the previous submission). We don't bother prompting on PREV_DOC ("back")
+ fetches, and still resubmit forms with POST content whenever their submit
+ buttons are activated, i.e., regardless of whether ALWAYS_RESUBMIT_POSTS
+ has been configured or toggled on. - FM
+* If a user attempts to add a bookmark while viewing a document returned
+ via a form submission with POST content, and it contains links, offer
+ the current link with it's link name for editing. Otherwise, display
+ a statusline message that documents from forms with POST content cannot
+ be saved as bookmarks. - FM
+08-23-96
+* Added UP_HALF and DOWN_HALF commands, mapped by default to '(' and ')',
+ for going back or forward half a page in the document. These are
+ complementary to UP_TWO and DOWN_TWO, for going back or forward two
+ lines (remember to use the 'K'eymap command for a list of all of the
+ keystroke command bindings currently in effect, since they may have
+ been changed via lynx.cfg from the defaults described in the online
+ 'H'elp). - FM
+* Made the Control-A and Control-E keys default synonyms for HOME and END,
+ complementary to their use for going to the beginning or end of the line
+ when using the line editor. - FM
+* Don't lose track of source versus present mode on returns from temporary
+ menu files to documents derived from forms with method POST. - FM
+* Ugh, I had deleted one too many lines from HTTP.c when stripping out my
+ SSL hooks for the distribution copy (no wonder the Authorization mods
+ worked fine for me but nobody else 8-). - FM
+08-22-96
+* Added handling of named entities and numeric character references in
+ the values of most of the non-URL attributes (we don't waste overhead
+ doing that for the values of simple attributes, like ALIGN, which have
+ designated strings). - FM
+08-21-96
+* Safely handle named entities and numeric character references in the values
+ of BASE, LINK, HREF, SRC, ACTION, DATA, CODEBASE and CODE attributes, and
+ in the URL field for the CONTENT of META with a "Refresh" HTTP-EQUIV or
+ NAME. They are converted in relation to the "ISO Latin 1" Character Set
+ array regardless of the selected Character Set (except that nbsp and shy
+ remain 160 and 173), then 8-bit translations are hex escaped (as they
+ should have been in the markup 8-), and ESC is hex escaped or omitted
+ depending on whether a CJK character set has been selected. There's no
+ way to do it such that the resolved URL always will be valid no matter
+ what yoyos or CGI scripts put in document instances, but this strategy
+ maximizes the chances while making sure no "dangerous" characters, based
+ on the selected Character Set, are ever sent to the screen (it used to be
+ HyperText Markup Language, not HyperGraphic Markup Language 8-)- FM
+* Allow Control-G or a zero-length username or password to act as a cancel
+ of the request (and restoration of the current document) when an http
+ server invokes prompting for Authorization. - FM
+* When using a proxy server, report the target host instead of the proxy
+ in prompts for Authorization. - FM
+* Show MIME types of files, if known, whenever a download offer is forced,
+ regardless of why it was forced (i.e, not only for mismatches between
+ the document's charset and the selected character set). - FM
+08-20-96
+* Yet more tweaks of MIME header parsing. - FM
+08-19-96
+* Enhancements of the news gateway. - FM
+* Tweaks of Content-Type and charset handling. - FM
+* Tweaks of MIME header parsing. - FM
+08-18-96
+* Tweaks of the news gateway and its documentation. - FM
+08-17-96
+* Added overt (rational 8-) handling of all status codes that might be
+ returned (appropriately or inappropriately 8-) from HTTP/1.1 http
+ servers, and massively annotated the code in HTTP.c. - FM
+* Added parsing in HTMIME.c, and at least trace mode reporting, for all
+ http server reply and entity headers as in the 08-12-96 HTTP/1.1 draft.
+ We should not get many of them, unless we declare ourselves as an HTTP/1.1
+ client and send the appropriate request headers, but they're all available
+ now for use as more HTTP/1.1 features are added. - FM
+08-16-96
+* Added handling of "Pragma: no-cache" or "Cache-Control: no-cache" headers
+ from http servers, and polished up the code for handling them via META
+ directives. - FM
+08-15-96
+* Modified form handling so that Lynx always resubmits forms if their method
+ is POST, even if their content was not changed, when their submit buttons
+ or submitting text input are activated. Changed the ALWAYS_RESUBMIT_FORMS
+ compilation and configuration definitions, and -resubmit_forms command
+ line toggle, to ALWAYS_RESUBMIT_POSTS, and -resubmit_posts. When FALSE,
+ you still get the previously returned document from a POSTed form if that
+ document had links which you activated, and then go back with the PREV_DOC
+ command or via the history list. If set TRUE, the form will be resubmitted
+ under those circumstances as well. Documents returned by forms with method
+ GET still require use of the RESUBMIT command to resubmit if the forms'
+ content was not changed, and forms with a mailto action still always mail
+ the content on activation of the submit button or submitting text input
+ (no document is returned, so the PREV_DOC command and history list behaviors
+ are irrelevant). - FM
+* Use space to plus conversions for values of submitted form content (Ugh,
+ Lynx has been using %20 all these years! It worked because they are
+ unescaped to space, anyway. 8-). - FM
+* Polished up and massively annotated the redirection handling code. If
+ a user approves redirection of a form with POST content, it will not be
+ freed and the submission will not be converted to a contentless GET request
+ unless the status was 303 (See Other). For 300 (Multiple Choices), the
+ returned document is offered, which should include links with descriptions
+ of their media types. The returned document (if any) is now displayed for
+ any redirection status code if no Location: header was present, and for
+ unknown 3xx codes (i.e., greater than 305). If Lynx gets an inappropriate
+ 304 (Not Modified), it switches to HEAD mode and displays the status line,
+ and anything else returned by the server, as text/plain. A 301 (Moved
+ Permanently) will be treated as 302 (Moved Temporarily) for form submissions
+ with POST content. Otherwise, Lynx will use the new URL for the remainder
+ of the current session (users will have to do a 'r'emove and 'a'dd for their
+ bookmarks themselves, for now). A 305 (Use Proxy) will not be honored if
+ Lynx is already using a proxy, and instead the returned document will be
+ displayed. The limit on serial redirections was dropped from the current
+ 10 to 5, as recommended in the August 10, 1996 HTTP/1.1 draft. - FM
+08-13-96
+* Mods to accommodate the HTTP/1.1 300 - 305 Redirection status codes, and
+ to require user confirmation for any redirection of POST content. - FM
+* Tweaks of OBJECT handling. - FM
+08-12-96
+* Implemented all aspects of OBJECT that make sense for a text client.
+ Will descend though nested OBJECTs. Can be used for presenting PRE
+ formatted character-cell versions of images, and appears to handle
+ all likely uses of the SHAPES and USEMAP attributes in OBJECTs. The
+ pseudo-ALTs for links to non-script DATA values (i.e, the for-GUI
+ sources) when offered as links (e.g., in clickable_images mode), if
+ not a markup-specified string (e.g., based on a TITLE attribute),
+ are (IMAGE) or (OBJECT), based on whether the nature of the source
+ can be inferred from the context, or an explicit TYPE attribute in
+ the OBJECT start tag. The use of parens instead of square-brackets
+ indicates that the links are for OBJECTs as opposed to IMGs. - FM
+* Tweaks of SELECT and OPTION handling. - FM
+08-09-96
+* Lots more stuff added to the online help files. - FM
+* Added state code in SGML.c to avoid getting tripped up by any single or
+ double quotes in CJK escape sequences that are within single or double
+ quoted attribute values. - TA
+* Restrict resetting the Kanji code flag on white space to Japanese
+ (i.e., not also Chinese, Taipai, or Korean). - TA
+* Added handling of EPLF lines (with local time) for the FTP gateway. -
+ D. J. Bernstein (djb@koobera.math.uic.edu)
+08-08-96
+* Added code for handling captured OBJECT content with the SHAPES
+ attribute equivalently to our handling of FIG, and with USEMAP and/or
+ ISMAP content equivalently to our handling of IMG.
+* Added code for capturing potentially nested container elements that
+ require pre-processing, e.g., OBJECT, and for passing the processed
+ markup back to the SGML parser to be inserted within the ongoing HTML
+ stream.
+* Added CHECK_EAGAIN Makefile definition for non-SVR4 Unix flavors which
+ might need it for socket connect() and select() calls. - FM
+* Tweaks of keyboard input with slang when LYCursesON is FALSE. - FM
+08-06-96
+* Terminate and start a new Accept: header line if the current one will
+ exceed 1 KB (shouldn't be necessary, but otherwise the long lines cause
+ an error for WebSitePro and crash Netscape servers, and perhaps have
+ adversed effects on some other http servers with ill designed code for
+ content negotiation). - FM
+* Give temporary files suffixes matched to the Content-Type for all flavors
+ of Unix and for VMS, not just for NeXT. - FM
+* Tweak of Location: header parsing in HTTP.c (trim all lead spaces). - FM
+08-05-96
+* More help and documentation updates. - FM
+08-04-96
+* Updated the online help files. - FM
+08-03-96
+* Mods of "user (A)gent" 'o'ption handling. Also added a "useragent"
+ -restriction, included in the defaults for anonymous accounts. See
+ the "Lynx options menu" section of the "Lynx Users Guide" via the
+ online 'h'elp for more information. - FM
+* Tweaks of messaging for unsupported URLs. - FM
+* Tweaks of interrupt handling on VMS. - FM
+08-02-96
+* Added handling of Refresh in META tags. The URL is presented as a link
+ pointed to by a "REFRESH(n sec):" label, where "n" is the seconds
+ parameter from the META tag, and you must activate it yourself, which
+ should enable people using Lynx via a braille interface to examine
+ the initial document before it is refreshed. The META format is:
+ <META HTTP-EQUIV=refresh CONTENT="n; URL=url"> where "n" can be "0" or
+ a positive integer, and the "; URL=url" field is optional, defaulting
+ to the document's own address. Netscape's docs say that "url" should
+ be a complete URL, but their client doesn't require it, and so it's
+ users don't reliably use complete URLs. Lynx therefore resolves "url"
+ versus the document's own address if it is not complete. - FM
+08-01-96
+* Added handling of ENCTYPE="text/plain" for FORMs with a mailto ACTION.
+ The name=value pairs are not hex escaped, and physical newlines instead
+ of '&' separate the pairs, so that the content is readable directly. - FM
+* Added SUBJECT attribute as synonym for TITLE in FORMs (Some clients
+ are using it instead of TITLE for mailto ACTIONs, ugh!). - FM
+* Tweaks of DEL, S, STRIKE, and INS handling. - FM
+* Handle any newline characters in quoted INPUT values. - FM
+* Added news-ncurses and news-slang Makefile targets, and tweaks of headers
+ for sony_news. - Makoto MATSUSHITA (matusita@ics.es.osaka-u.ac.jp)
+07-30-96
+* Finished and incorporated lynx_url_support.html in the online help,
+ and updated lynx_help_main.html. - FM
+* Tweaks of ID attribute handling. - FM
+* Tweaks of the gopher gateway. - FM
+* Updated IBMPC-charsets.announce. - MB
+07-26-96
+* Set the default anonymous account restrictions if Lynx is invoked in
+ the account pointed to by ANONYMOUS_USER, or with the -anonymous switch,
+ before processing any additional command line restrictions, so that any
+ greater restrictions will not drop back to the compilation defaults.
+ Note that the full set of -validate restrictions always are enforced for
+ that switch, i.e., no matter what other switches or compilation options
+ are used, and whether or not the account is anonymous. - FM
+* Implemented handling of the ANONYMOUS_USER definition on VMS (equivalently
+ to it's implementation on Unix). - FM
+* Tweaks of mailto URL handling and setting of the default subject via
+ TITLE attributes. - FM
+* Tweak of the news gateway's handling of the author (From:) field. - FM
+07-25-96
+* If a server returns redirection without a complete URL indicated, resolve
+ it relative to the original request instead of issuing an error message
+ (this is incorrect behavior, but that's another trashed standard, and
+ Lynx may as well handle the situation as standard-less clients do). - FM
+* Move the NO_JUMPFILE and JUMP_PROMPT definitions to LYMessages_en.h - FM
+* Added code for selective disabling of goto by scheme in anonymous accounts,
+ along lines of patch from Doug Lawson (dlawson@epfl2.epflbalto.org). - FM
+* Ignore any viewer mappings for text/html or text/plain in mailcap
+ files. - FM
+07-22-96
+* Updated ptx target and added ptx-slang. - Alan Coopersmith
+ (alanc@CSUA.Berkeley.EDU)
+* Added all the new elements and attributes from the July 12 HTML 3.2/Cougar
+ DTD, and implemented the new IMG TITLE attribute for use with USEMAP.
+* Added a -startfile_ok switch for allowing a non-http startfile or homepage
+ with -validate, and restored the behavior of not allowing *any* non-http
+ URLs by default.
+07-19-96
+* Treat PLAIN and TYPE="plain" as equivalent in UL tags. - FM
+* Fixed the mispositioning of thinsp in HTMLDTD.c. - FM
+07-18-96
+* Moved the statusline prompt, message, and warning string definitions
+ out of userdefs.h into an LYMessages_en.h header. See the comments
+ in userdefs.h and LYMessages_en.h for more information. - FM
+* Removed the -lc from the LIBS= list of the snake3 and snake3-slang
+ targets, added a description of the HP/UX 10.10 select() problems
+ and reported (but not yet satisfactory) workarounds in the PROBLEMS
+ file, and a note in the Makefile to read the PROBLEMS file. - FM
+07-17-96
+* Numerous typecasts added for optimized compilations. - FM
+* Tweaks for ISC. - WS
+* Changed make to $(MAKE) and -g to -O for Unix targets (may need
+ tweaking for some flavors 8-). - FM
+* Added news target for SONY NEWS-OS 4.2.1R based on patch from
+ Kazuya 'Sharl' Masuda (masuda@sp.hudson.co.jp) and TA. - FM
+* Fixed typo in LYList.c from yesterday's mods. - FM
+07-16-96
+* Plugged memory leaks associated with temporary file names. - FM
+* Finally figured out what was creating orphan child anchors, and plugged
+ that memory leak in HTAnchor_delete(). - FM
+* Replace <sys/select.h> with <sys/timeb.h> for SCO in tcp.h. - BL
+* Mods to avoid warning about redefinition of signal when building on
+ VMS with old versions of SOCKETSHR (irrelevant, but might worry
+ people who don't know that the warning can be ignored). - FM
+07-15-96
+* Plugged various memory leaks in FORM handling code. - FM
+07-13-96
+* Add the startfile, and homepage if different, to the 'g'oto recall
+ buffer so that they are available for editing in addition to any
+ overtly entered 'g'oto URLs. - FM
+* Changed TRUSTED_URL to ALWAYS_TRUSTED_EXEC for clarity, and plugged
+ memory leaks and some security holes in that code. - FM
+* Fixed typo in code for handling Z compressed files. - FM
+07-12-96
+* Added handling of &thinsp; (&#8201;), and handling of &#8194; as &ensp;,
+ &#8195; as &emsp;, &#8211; as &ndash; or &endash;, &#8212; as &mdash; or
+ &emdash;, and &#8482; as &trade; (treated as &reg; &#174;), based on the
+ Cougar DTD. - FM
+* Increased the line buffer size in HTLoadHTTP() and limited the deflt string
+ length in HTPrompt() to avoid possibilities of buffer overruns. - FM
+07-11-96
+* Block access to file: URLs via network served files or bookmarks in
+ addition to 'g'oto entries when -restrictions=file_url is set (one of
+ the default restrictions for -anonymous). - FM
+* Extended compressed file handling to the ftp gateway and local files.
+ If you ACTIVATE the link instead of overtly invoking a 'd'ownload, and
+ the path with the gz or Z stripped maps to a displayable Content-Type or
+ one for which you have a viewer or helper app, the file will be treated
+ as if it had a Content-Encoding: header indicating the compression (i.e.,
+ uncompressed and displayed or passed to the viewer or helper app). - FM
+* Mods to send http servers an Accept-Encoding: header indicating gzip and
+ compress, and to block inclusion of our new, internal www/compressed MIME
+ type in the Accept: header list. - FM
+* Changed the names of the lex_buffer and lex_lines globals to HTlex_buffer
+ and HTlex_lines in case name conflicts are causing segmentation faults on
+ linux for long usernames in authorization requests, and changed all
+ malloc()'s to calloc()'s in that code in case there's an initialization
+ glitch I don't yet see. - FM
+07-09-96
+* Use the username and password of an -auth= command line argument only
+ for the first realm that requests authorization, so they don't preclude
+ access to other realms later in any interactive session that might have
+ a different username and/or password, and handle inclusion of only a
+ username or only a password in the -auth= argument. - FM
+* Tweaks of memory leak plugs in authorization handling functions (hopefully
+ now avoiding segmentation faults on linux 8-). - FM
+* Include -lc in the first position of the LIBS= list for snake3 targets.
+ - Donald S. Teiser <dsteis01@homer.louisville.edu)
+* Enhancements of Makefile. - LWV
+07-07-96
+* Tweaks of code for uncompressing on the fly. Will now force a download
+ offer without uncompressing if there is no presentation mapping for the
+ Content-Type. - FM
+* Retain blank lines within TEXTAREA content (but not trailing blanks). - DT
+07-07-96
+* Added functions for uncompressing and handling documents which have
+ Content-Encoding headers that indicate "x-gzip", "gzip", "x-compress",
+ or "compress" (instead of forcing a download offer). The files are
+ not uncompressed if they were fetched via the 'd'ownload command.
+ Note, however, that if you activate a link for a compressed image or
+ other binary file, and don't have a viewer or helper app mapped for it,
+ it will already have been uncompressed before a D)ownload or C)ancel
+ offer can be made, so use the 'd'ownload command directly if it is
+ your intention to download such files. Note also that on VMS "gzip -d"
+ is used for both gz and Z uncompression. See the INSTALLATION file for
+ info on getting the VMS port of gzip. - FM
+07-06-96
+* Allow any startfile and homepage in -validate mode even if they are not
+ http URLs. - FM
+* Made all the 'o'ptions menu statusline prompts and informational messages
+ strings that can be defined in userdefs.h for different languages. - FM
+* Mods to send one Accept header as a comma-separated list instead of a
+ series of individual Accept header statements. - FM
+07-05-96
+* Added NO_FILE_REFERER configuration symbol and -nofilereferer switch
+ for disabling transmissions of Referer headers for any file URLs (is
+ a subset of what NO_REFERER_HEADER and -noreferer disable). - FM
+* Tweaks to facilitate additions of security-related patches. - FM
+07-04-96
+* Added NEWS_CHUNK_SIZE and NEWS_MAX_CHUNK configuration symbols and
+ -newschunksize and -newsmaxchunk switches for regulating the chunking
+ of news article listings. See comments in lynx.cfg for explanation. - FM
+07-02-96
+* Tweaks of URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES handling (was
+ doing double scheme prefixing under some circumstances). - FM
+* Fixed problem of potential crashes with bad HTML which lacks any
+ OPTION tags in SELECT containers (Yes, HTML that bad is really out
+ there! 8-). - FM
+* Fixed problem of potential infinite loop in HText_endAppend() for documents
+ that contain nothing but SCRIPTs and empty OBJECT containers (as in the
+ Microsoft ActiveX demos). -FM
+07-01-96
+* Added circular recall buffer for paths used as the second argument in
+ 'd'ownload and 'p'rint menu commands. Use the up- and down-arrow keys
+ to access then at the statusline prompt, equivalently to the recalls for
+ previous 'g'oto URLs, 'j'ump shortcuts, and ISINDEX or WHEREIS search
+ queries. - FM
+* Modified the LYMail.c functions to work as intended with both curses
+ and slang (through v0.9-33) on both Unix and VMS. - FM
+06-30-96
+* Changed yesterday's symbols to URL_DOMAIN_PREFIXES and URL_DOMAIN_SUFFIXES
+ and added code to guess the scheme based on the first field of the domain
+ name (e.g., gopher.wfbr.edu will become gopher://gopher.wfbr.edu instead
+ an http://host URL). Note also that a partial host string can contain a
+ dot within it and still be tested with prefixes and suffixes if the DNS
+ lookup fails with the host string as entered (e.g., cc.ukans will become
+ http://www.cc.ukans.edu), and only dots at the end or beginning of the
+ partial host string will block prepending or appending, respectively, of
+ items from the prefix or suffix lists (e.g., ftp.foo. will block use of
+ items from the prefix list, but permit tests from the suffix list, and
+ will become ftp://ftp.foo.dom if the ftp.foo.dom lookup succeeds). - FM
+06-29-96
+* Added HTTP_DOMAIN_PREFIXES and HTTP_DOMAIN_SUFFIXES in userdefs.h and
+ lynx.cfg for defining lists and setting the order of domain name prefixes
+ and suffixes to use when creating http:// URLs from command line and
+ 'g'oto arguments which are not already URLs and cannot be opened via a
+ file://localhost URL (see 05-30-96 entry). - FM
+06-28-96
+* Tweaks of MIME header handling. - FM
+06-27-96
+* Do not send a referer header for links obtained from the history list,
+ bookmark file, or jumps file. - FM
+* Made sorts by name case-sensitive in ftp and file listings. - FM
+* Added osf-slang make target. - FM
+* Enable ^C (SIGINT) interrupts during spawns on Unix (^C and ^Y interrupts
+ were already being enabled for VMS ). - FM
+* Fixed glitch in WHEREIS search handling. - Michael Barabanov
+ (baraban@luz.cs.nmt.edu)
+06-26-96
+* Tweaks of ftp gateway for VM/CMS servers based on feedback from PG. - FM
+* More tweaks of 'o'ptions menu and DISPLAY handling. - FM
+* Tweaks for builds with WIN_TCP on VMS. - FM
+06-24-96
+* Modified 'o'ptions menu handling to allow NULLing of strings which were
+ set at startup. Note that if you NULL (or set) the DISPLAY variable,
+ Lynx configured itself for X/Motif or not based on whether it was set
+ (or NULL) at startup, and you need to restart Lynx to really change the
+ configuration for 'd'ownload forces versus X/Motif viewer spawns. - FM
+* More tweaks of language code, to make the HTCJK enum checks more
+ portable. - FM
+06-23-96
+* Set up handling of nested DIV tags with ALIGN attributes (and CENTER,
+ which is treated as DIV ALIGN="center"). - FM
+* Removed INSERT, ALIAS and MH from the DTD, and their associated code
+ from HTML.c and GridText.c. - FM
+06-22-96
+* Tweaks of character set handling. - FM
+* Added function for graphic boxing of popups with curses on VMS. - FM
+06-21-96
+* Mods to translate CJK escape sequences and take Kanji into account when
+ handling statusline() messages. That's in effect if a CJK character set
+ is selected, and regardless of the raw or CJK mode setting, because the
+ strings are coming from definitions in userdefs.h, not the document that
+ is being rendered or displayed. - FM
+* Added more statusline() string definitions in userdefs.h. - FM
+* Ignore a server's Content-Encoding header if it inappropriately indicates
+ "8bit" or "7bit" (should be indicated a compression scheme). - FM
+* Mods to use charset strings as in the 07-Jun-1996 HTTP/1.1 draft, and to
+ check for those as well as their common synonyms. - FM
+* Mods to revive clearok() functionality with the slang 0.99-33 library
+ (need it for Kanji handling and for VMS), and to deal with the definition
+ conflicts for the (poorly added) TRUE and FALSE definitions in the new
+ slang library's SLcurses.h. - FM
+06-20-96
+* Added handling of the SFS file system on VM ftp servers, tested on
+ ftp://ubvm.cc.buffalo.edu/ (be sure to escape the colons if you use SFS
+ paths, e.g., ftp://ubvm.cc.buffalo.edu/vmsysu%3alistserv.webshare) - FM
+* More memory management enhancements and leak plugs. - FM
+* Added -DUNIX and -DSCO to the sco and sco5 libwww targets. - BL
+06-17-96
+* Added handling of &shy;, &#173;, and 8-bit 173 for ISO-Latin-1 documents,
+ as a soft hyphen for all of the character sets. - FM
+* Polished up and massively annotated the new character set handling
+ code. - FM
+* Made all the dummy libwww headers in WWW/Library/Implementation
+ compatible with the new, actually used, headers in /src. - FM
+* Fixed some bad ifdef-ing for statusline string definitions which
+ were added to userdefs.h. - FM
+06-15-96
+* Added many more userdefs.h definitions for statusline() and HTAlert()
+ messages. - FM
+* Tweaks of ALT string handling when they are used as forced link names
+ for USEMAP, AREA, IMG, EMBED or APPLET sources. - FM
+* Oops, hadn't put the new HTML.h in the zip. - FM
+* Fixed casing typo for HTCJK.h inclusion in HTMIME.c. - LWV
+06-14-96
+* Updated the help files, lynx.man and lynx.hlp concerning the character
+ set handling. - FM
+* Changed the -jpn switch to a generic -raw switch, and the LYK_JPN_TOGGLE
+ ('@') to a generic LYK_RAW_TOGGLE. The toggling also can be done via
+ the 'o'ptions menu, in conjunction with selecting character sets. See
+ the comments about CHARACTER_SET in userdefs.h and lynx.cfg for more
+ information. The toggle determines whether raw 8-bit characters in the
+ document are assumed to be ISO-8859-1, and therefore translated for the
+ non-"ISO Latin 1" character sets based on their LYCharSets.c arrays, or
+ are assumed to match the character set (e.g, 8-bit ISO-8859-2 when the
+ "ISO Latin 2" set is selected, or Kanji when a CJK set is selected) and
+ therefore processed raw. Use raw or CJK mode when you know the charset
+ of the document is a match to your selected character set, but no header
+ or suffix has indicated that the charset is not ISO-8859-1. Be careful
+ about this when "Other ISO Latin" is selected, since the document could
+ be, e.g., ISO-8859-3, but you are using, e.g., ISO-8859-5. - FM
+* Added "Other ISO Latin", "Chinese", "Japanese (EUC)", "Japanese (SJIS)",
+ "Korean", and "Taipei (Big5)", character sets, which presently translate
+ 8-bit ISO-8859-1 named and numeric entities to 7-bit approximations, and
+ added a default "CHARACTER_SET" definition in userdefs.h, complementary
+ to that in lynx.cfg. - FM
+* Worked in the expanded CJK (Chinese, Japanese, Korean) escape sequence and
+ Kanji handling from Takuya ASADA's June 11, 1996 Lynx2-5CJK (available in
+ ftp://ftp.three-a.co.jp/pub/www/lynx). - FM
+06-11-96
+* Tweak of the ftp gateway to handle Reflection Unix emulation servers. - FM
+* Made lynx_version_putenv_command a global so we can free it at exit
+ via free_lynx_globals() in LYMain.c. - FM
+06-10-96
+* Convert a 0xFFFF value from slang in LYgetch() to 7 (^G) to cancel
+ whatever called it, instead of exiting on error. - FM
+* Tweaks of Makefile to use symbolic, $(include) and $(lib) paths with
+ ncurses for convex, NeXT and sun4, and for SOCKSLIB. - LWV
+* Tweaks of mail editor handling based on patch from Arne Riiber
+ (riiber@systek.no). - FM
+06-09-96
+* Had overdone it plugging memory leaks and was freeing the proxy, news
+ server, and lynx version variables too soon. - FM
+06-07-96
+* Moved the Kanji handling variables into HText structure elements to make
+ the GridText.c functions reentrant for them, and added code for regulating
+ them via charset parameters in server headers or META tags. The recognized
+ parameters are EUC-JP, Shift-JIS, ISO-2022-JP, ISO-2022-JP-2, and EUC-KR.
+ E.g., a META with:
+ HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift-JIS"
+ will set up handling of the document as Shift-JIS. - FM
+* Made handling of Kanji more reliable when SJIS is the default, based
+ on the strategy in Takuya ASADA's Japanized Lynx2-4-2. - FM
+* K&Rized the Ichikawa ISO-2022-JP MIME header handling functions and added
+ them to HTMIME.c, together with Takuya ASADA's (asada@three-a.co.jp)
+ function for guessing whether an escape has been lost and filling it in,
+ and use them for checking news headers. - FM
+* Retry DCL spawns without the TRUSTED flag if it was included and we
+ got back an INVARG status. - Robert C. Gray (gray@cyberodyssey.com)
+06-06-96
+* Plugged lots of memory leaks. - FM
+* Handle colons in code for expanding host names and prepending http://
+ (e.g., wfbr:8002 will become http://www.wfbr.edu:8002/). - FM
+* More tweaks of character conversions. - FM
+* Block crashes if illegal markup such as Anchors are present in the
+ OPTION strings for SELECT. - FM
+06-04-96
+* Mods of entity and end tag handling in SGML.c and LYCharUtils.c. - FM
+* Tweaks of make target for sun4-slang. - NHE
+06-03-96
+* More tweaks of the ftp gateway. - FM
+* More anti-crash protections for bad HTML. - FM
+* Tweaks of LYCharUtils.c and SGML.c. - KW
+* Enclose the username for rlogin URLs in double-quotes on VMS to preserve
+ mixed casing if present. - Robert C. Gray (gray@cyberodyssey.com)
+06-02-96
+* Made DEFAULT_CACHE_SIZE and DEFAULT_VIRTUAL_MEMORY_SIZE configurable via
+ lynx.cfg. - FM
+* Added comments in HTFTP.c to make more clear some of the counterintuitive
+ things being done, and why. - FM
+* Oops, had left my ISSPACE() debugging macro in HTFTP.c yesterday. Is
+ now back to isspace(). - FM
+06-01-96
+* Added support for ;type=I (or A or D) to specify Image or ASCII transfer
+ modes, or a Directory, in ftp URLs. - FM
+* Added support for VM/CMS ftp servers. Note that 'd'ownloaded text files
+ will have CRLF as line terminators, due to their use of ASCII records
+ (tested on ftp://pucc.princeton.edu/anonymou.376). - FM
+* Added support for use of a tilde on Unix ftp servers to indicate that you
+ want a listing of the user's login directory instead of the root (i.e.,
+ ftp://user@host/~ or ftp://user@host/~username will cause Lynx to attempt
+ a listing of the translated ~ or ~username). Paths can be appended (e.g.,
+ ftp://user@host/~/subdirectory). This should not be used with anonymous
+ ftp, or in public documents. It yields the behavior on Unix or Unix-like
+ ftp servers which should occur without the tilde, based on RFC 1738. Note
+ that the valid behavior involving use of %2f is implemented for VMS (see
+ the 12-20-95 entry, below), but the behavior for Unix and Unix-like ftp
+ servers emulates Lynx's Unix DIRED_SUPPORT. - FM
+* Mods of CSO/PH gateway to deal with discontinuous field name tokens
+ (e.g., "NYU fax" instead of "NYU_fax"). - FM
+* More fixes for the putenv_command pointer in LYMain.c. - CC
+* Add curly braces to the current hack for mininizing reversals of
+ trace messages with slang. - KW
+05-30-96
+* Modified the http:// prepending code to try expanded host names if the
+ the first (or only) element does not contain a dot and is not a known
+ host name. Will first try it as www.host.com, then www.host.edu, then
+ www.host.net, then www.host.org, e.g., wfbr/dir/lynx will become an
+ http://www.wfbr.edu/dir/lynx URL. - FM
+* Added handling of MSDOS_SERVER ftp server type (tested on ftp.hayes.com)
+ and corrected WINDOWS_NT_SERVER handling (tested on ftp.boca.org). - FM
+* Reset any modified, non-HT-LEFT styles in HTML_free() if they were not
+ reset in HTML_end_element() due to missing end tags. - FM
+* Initialize the putenv_command pointer in LYMain.c. - Christophe Colle
+ (colle@krtkg1.rug.ac.be)
+* Include LYLocal.h in LYCgi.c. - Carl Hansen (hansen@best.com)
+05-28-96
+* Made all mainloop() statusline() message strings definitions in userdefs.h
+ for easier modification to other languages (we'll move them to a catalog
+ someday 8-). - FM
+* Added string definitions in userdefs.h for statusline messages identifying
+ active or DISABLED radio buttons. - FM
+* More tweaks of character conversions. Note that numeric entities with
+ values greater than 255 are displayed as text, until we are able to
+ handle them as Unicode. - FM
+* Implemented ID handling for BDO. - FM
+05-27-96
+* Added nested handling of Q, so that it alternates between double-quotes
+ and single-quotes, with directionality of start and end single-quotes
+ (should someday check the LANG and DIR attributes, and character set,
+ to use other quoting conventions if appropriate). - FM
+* Use [DEL: ... :DEL] labeling to indicate DEL content, and [INS: ... :INS]
+ labeling to indicate INS, S, and STRIKE content. - FM
+* Added ID handling for ABBREV, ACRONYM, AU, AUTHOR, BIG, DEL, INS, Q, S,
+ SMALL, SUB, SUP and SPAN. - FM
+* Added code to clear the screen of any trace messages directed to the
+ screen, once the full page has been created. - FM
+* Added code to minimize slang's casting of trace messages as reverse when
+ directed to the screen instead of a file. - FM
+05-26-96
+* More tweaks of character conversions. - FM
+* Added submit_enctype elements to the forms structures as will be needed to
+ implement INPUTS with TYPE="file" (someday 8-), and set disabled for FORM
+ fields if the ENCTYPE is multipart/form-data, until we can handle that
+ (someday 8-), so the user won't fill out the FORM pointlessly. - FM
+* Made the third argument of SLang_init_tty() 1 so that '\n' will be treated
+ as CRLF when trace messages are sent to the screen instead of to a file.
+ Might cause problems with the slang screen management functions, but
+ doesn't seem to according to KW. - FM
+05-25-96
+* Mods to pass 8-bit control characters entered via the line editor. They
+ should be assumed to be valid if the user entered them, and could indeed
+ be valid for Japanese and Russian. - FM
+* Check for a NULL return value from initscr() on Unix. - Geert Jan de Groot
+ (GeertJan.deGroot@ripe.net)
+* Tweaks of character conversions, and of 8-bit character handling with
+ slang. - Klaus Weide (kweide@tezcat.com)
+* Added TRUSTED_URL for specifying lynxexec and lynxprog URLs which always
+ are permitted, based on patches from David Drum (david@more.net). - FM
+05-21-96
+* Made the LOCAL_DOMAIN symbol configurable via lynx.cfg. - FM
+* Added descriptions of the quality (q=) and maxbytes (mxb=) parameters
+ in the sample mailcap file. - FM
+* Added a maxbytes element to the libwww presentation and converter
+ structures, and code for specifying a maximum for mailcap entries via
+ a semi-colon-separated mxb=value field, where "value" is a positive
+ integer (e.g., ; mxb=1000000). The default is 0, meaning no maximum.
+ If the value exceeds 0, a maxbytes parameter will be appended in the
+ Accept: header for the Content-Type. - FM
+05-20-96
+* Added code for specifying a quality parameter for mailcap entries via
+ a semi-colon-separated q=value field, where "value" is a floating point
+ number (e.g., ; q=0.002), and for appending the quality parameters in
+ Accept: headers if the values are less than 1.0. - FM
+* Treat screen width as 80 for the startup page when doing traversals with
+ a slang-build Lynx to prevent a crash. - FM
+05-19-96
+* Mods in HTML.c to make resolving of local file URLs more efficient. - FM
+* Tweaks of Makefile for slang. - Ed Doolittle (dolittle@math.toronto.edu)
+05-18-96
+* Added FRAME elements and attributes to the DTD, and code for creating
+ links to the SRCs. - FM
+* Added numerous sanity checks for valid but inappropriate combinations
+ of attributes based on the HTML 3.2 DTD.
+05-17-96
+* Added support for TYPE and VALUE attributes of LIs in OLs. TYPEs
+ are equivalent to those for OL, and VALUE is equivalent to START
+ or SEQNUM for OL. See the 11-28-95, 10-17-95, 09-19-95 and 09-04-95
+ entries in this file. If a TYPE is changed via an LI, the change
+ persists for subsequent LIs of that OL. The VALUE set for an LI
+ similarly increments for subsequent LIs in that OL. - FM
+05-16-96
+* Made SGML_character() in SGML.c fully reentrant. - FM
+* Set up capturing of marked sections, and DOCTYPE, ELEMENT, ATTLIST and
+ ENTITY declarations in SGML.c. Lynx doesn't do anything with them yet,
+ besides reporting them in trace mode, but they at least won't create
+ garbage in the display if they start being used for the "next generation"
+ of clients. - FM
+* Set up base code for CSIs (Client Side Includes, homologous to SSIs).
+ See the comments for LYDoCSI() in LYUtils.c. It should be moved to a
+ separate module if someone wants to work on CSIs seriously. LYDoCSI()
+ is called from SGML.c if the document was obtained via a file URL on
+ the local host and has comments that begin with "!--#". - FM
+05-15-96
+* Add a MIME charset parameter to POST Content-Type headers if it's not
+ ISO-8859-1 or US-ASCII and the server included the parameter when it
+ sent the form (but don't do it simply on the basis of the user's current
+ character set, because if the server didn't include the parameter, it's
+ CGI script probably won't parse the client header either, and will return
+ an error instead of processing the form submission). - FM
+05-14-96
+* Tweaks for Unixware and addition of a unixware-slang Makefile target based
+ on patches from Thanh Ma (tma@encore.com). - FM
+* Tweaks for SCO and addition of an sco5 Makefile target based on patches
+ from Bela Lubkin (filbo@armory.com). - FM
+* Include ;q=0.001 for the wildcard (*/*) Accept header. - FM
+05-13-96
+* Added support for a host field in news URLs, analogous to that for nntp
+ URLs. Though illegal according to the current RFCs, discussions with a
+ W3C member about this Netscapism indicate that Lynx may as well support
+ it now, rather than continue failing when it is encountered. - FM
+05-12-96
+* Added an explicit GetYX definition for slang in LYForms.c. - FM
+05-11-96
+* Eliminated the NCURSESINCDIR compilation symbol and added NCURSESHEADER,
+ so the default now is to seek ncurses/curses.h and -DNCURSESHEADER invokes
+ a seek for the (now obsolete 8-) ncurses.h. - FM
+* Added an explicit GetYX definition for slang in LYStrings.c (now avoids
+ reference to stdscr). - FM
+* Mods in tcp.h for TCPWARE builds on VMS with DECC. - FM
+05-08-96
+* Fixed typo in Makefile entry for linux. - LWV
+05-07-96
+* Added LYPassHighCTRL boolean for passing normally illegal 8-bit control
+ characters, and set it TRUE when the KOI8-R character set is selected
+ (note that they also are passed when Japanese character support is
+ toggled ON). - FM
+05-06-96
+* Mods in SGML.c to handle "<URL:" as text instead of an unknown tag. - FM
+05-05-96
+* Added typecasts of the third arguments for the getsockname() and
+ accept() calls in HTFTP.c to void pointers, to avoid conflicts with
+ their declarations as int versus unsigned int across platforms and
+ flavors. - FM
+* Renamed the for-VMS opendir(), readdir() and closedir() to HTVMSopendir(),
+ HTVMSreaddir() and HTVMSclosedir(), and the for-UCX ioctl() to HTioctl(),
+ to avoid possible conflicts with their additions to newer versions of
+ VMS and UCX. - FM
+05-04-96
+* Fixed typo which was placing a space instead of a slash between the
+ User-Agent name and version. - Tim Rowley (tor@cs.brown.edu)
+
+--- STARTING 2.5FM ---
+--- Rename of Lynx2-4-FM and release as Lynx2-5 (02-May-1996) ---
+ (see CHANGES2-5, CHANGES2-4 and CHANGES2-3)
+==============================================================================
diff --git a/docs/CHANGES2.7 b/docs/CHANGES2.7
new file mode 100644
index 0000000..559ebd2
--- /dev/null
+++ b/docs/CHANGES2.7
@@ -0,0 +1,831 @@
+=======================================================================
+--- 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/CHANGES2.8 b/docs/CHANGES2.8
new file mode 100644
index 0000000..a7ae1a6
--- /dev/null
+++ b/docs/CHANGES2.8
@@ -0,0 +1,3399 @@
+=======================================================================
+--- Release of Lynx v2.8 (March 10, 1998) ---
+=======================================================================
+
+1998-03-10
+* omit platform-specifics about release (recommended by HN). - TD
+* drop samples/lynx.cfg since it is redundant (recommended by HN). - TD
+* modify makefile.in so that "make install-cfg" does not edit lynx.cfg
+ to point at local helpfiles, while "make install-help" will now do
+ that (reported by LP). - TD
+1998-03-07
+* move ifdef's for EXP_8BIT_TOUPPER inside UPPER8 function to allow
+ check for DOS/WINDOWS display charsets. - LP
+1998-03-06
+* clarify relationship between the configure script and userdefs.h with
+ respect to the LYNX_CFG_FILE definition. - TD
+* newer CF_FIND_LIBRARY autoconf macro, to allow ncurses library in /lib
+ only, needed for SUSE Linux. - TD
+* add casts to UPPER8 function's comparison for equality of parameters, and
+ to TOUPPER macro to guard against sign-extension due to prototype. - AAC
+* correct spelling of -lcur_colr library in aclocal.m4, change order of
+ tests to put -lHcurses second on HP-UX (patch by Jonathan Sergent).
+* restore simple zmodem downloader script, displaced by recent undocumented
+ change (there are some concerns about security or permissions with the
+ alternate script). - DK
+* DOSPATH localfile patch: corrected display of file://localhost/c:/,
+ which was displayed as file://localhost/c%3A/ (tweak LYConvertToUrl() in
+ LYUtils.c). Now we may start "lynx c:" or 'go' c: and not see these
+ strange letters. On the other hand, if % and # symbols found in local
+ path it will be escaped as before (note that #fragment is not supposed here
+ to be used from command line...) - LP
+* workaround error in vendor's terminfo description of 'dtterm' by ensuring
+ we limit color pair-number accordingly. - TD
+1998-03-04
+* strip -g compiler option if not otherwise specified, for debugging (note
+ that autoconf 2.12 does not try to use -O option due to concerns about
+ compiler optimization). - TD
+* correct value of $host_os used in CF_CURSES_LIBS for special-case of
+ HP's -lHcurses (Jonathan Sergent <sergent@ecn.purdue.edu>).
+* correct def7_uni.tbl for Greek letters, note about UPPER8 assumption
+ added to chrtrans/README.format. - LP
+* few comments corrected. - LP
+1998-02-28
+* create new PRCS revision (2.8pre) for pre-release testing of Lynx 2.8 -TD
+* remove RELEASE_STATEMENT, merging it into README as per HN's
+ recommendation - TD
+* comments/minor changes to HTDOS.c, HTDOS.h, LYUtils.c - LP
+* document recent fix for RAW_DOS_KEY_HACK in lynx.cfg - DK
+* rename CHANGES.new to docs/CHANGES2.8 - TD
+* undo last minor change to UPPER8 - LP
+1998-02-27
+* add RELEASE_STATEMENT file. - TD
+* modify slang configuration to add fake 'scrollok()' - JED
+* modify LYmktime() so that 2-digit years must be greater/equal to 70 to be in
+ 1900's (patch by Bela Lubkin). Also adjust parse_windows_nt_dir_entry() and
+ parse_cms_dir_entry() as noted by Bela - TD
+* comment-out entries in cp1252_uni.tbl which correspond to nonprinting
+ control-characters - LP
+* add logic in SGML.c to correspond with 2.7.2 logic for codes used by
+ Microsoft FrontPage. - LP
+* remove unneeded code for nbsp, ensp, emsp, thinsp and shy from handle_entity()
+ in SGML.c - LP
+* ifdef UPPER8 function with EXP_8BIT_TOUPPER,
+ add configure option --enable-8bit-toupper to allow testing. - TD
+* case-insensitive search and 8bit letters: It was realized that
+ information about upper/lower mapping got from TOUPPER which depends on
+ locale in its 8bit and usually fails on non-UNIX systems. We introduce
+ UPPER8 and strcasecomp8 to implement 8-bit aware case-independent search
+ using one simple assumption: 8bit upper/lower case letters have their
+ "7bit approximation" images in def7_uni.tbl matched case-insensitively
+ (7bit). The cost of this assumption is that several differently accented
+ letters may be interpreted as equal but this is negligible if the search
+ string is more than one character long. (LYStrings.c, also HTString.c
+ and LYMainLoop.c). - LP, TD
+* add SunOS 4.x-specific ifdef to quiet redefinition warnings for sys/ioctl.h
+ vs sys/termios.h - TD
+* convert usage/options messages into arrays to simplify maintenance. - TD
+* add "-useragent" command-line option to set "User-Agent" (request by Merlin
+ Mathesius <merlin_mathesius@swissbank.com>). - LP
+* tweak HTML in LYDownload.c, LYPrint.c to restore some double-spacing effects
+ altered in 'collapsible spaces' change 1998-01-25 (reported by James Elkinton
+ <zio@blueneptune.com>). - LP
+* use strncasecomp/strcasecomp consistently throughout to avoid library
+ dependency on strncasecmp/strcasecmp. - TD
+* correct lengths in several strncasecmp calls for command-line options
+ (though -w is still an abbreviation for -width). - TD
+* test-build with BSD curses on OS/2 EMX (does not display properly), and
+ with ncurses -TD
+* add configure check CF_FUNC_LSTAT -TD
+* modify CF_CHECK_ERRNO so that configure script on OS/2 EMX finds
+ sys_errlist[] -TD
+* reset styles[] and styleSheet list in DefaultStyle.c, HTML.c so that when
+ a user reloads a page with ^R, we undo changes to those data structures
+ (reported by Larry Virden). - TD
+* remove extra copy of HTML.h from Implementation directory. - TD
+* add CF_GCC_ATTRIBUTES to configure script, to use in flushing out unused
+ parameter warnings (and later, to support prototypes for logging). - TD
+* rename 'extra_entities' to 'unicode_entities' (recommended by LP) - TD
+* add configure option --use-default-colors, to allow background color to use
+ default value (request by SUNAGAWA Keiki <Keiki_Sunagawa@yokogawa.co.jp>) -TD
+* change default for --disable-internal-links so it is normally-off - TD
+1998-02-19
+* add configure test CF_FIONBIO, some ifdef's (e.g., S_IFLNK) to support
+ build on OS/2 EMX. - TD
+* add configure option --disable-extended-dtd, for testing - TD
+* split-out entities.h from HTMLDTD.c - TD
+* remove obsolete mapping in "private" e000 area of mnem_suni.tbl,
+ mnem2_suni.tbl, rfc_suni.tbl - LP
+* remove unused function HTMLGetLatinOneValue() - LP
+* remove logic that would attempt lookup of Unicode entities by index into the
+ unicode_entities.put_entity method (e.g., of HTML_dtd), in HTML.c
+ (HTML_put_entity) and HTMLGen.c (HTMLGen_put_entity) - LP
+* tweaks to HTPlain.c, LYCharUtils.c and SGML.c, remove extra checks for
+ Unicode mdash, ndash, trade, as well as "iso-8859-2", "koi8-r", since they
+ are done in the chartrans tables - LP
+* add an alias 'H' for F1 when using RAWDOSKEYHACK (LYStrings.c) - DK
+* restore -DRAWDOSKEYHACK to src/makefile.dos, reported by DK - TD
+* correct a typo in CF_CURSES_LIBS configure macro, which caused the configure
+ script to not add termcap library to the list - TD
+* correct --disable-internal-links, by adding DONT_TRACK_INTERNAL_LINKS to
+ config.hin - TD
+1998-02-13
+* use size_t in SGML_dtd. - TD
+* remove extra trademark symbol and quotes from chrtrans/*.tbl, since
+ they are in the default def7_uni.tbl - LP
+* New item to lynx.cfg added: PREPEND_CHARSET_TO_SOURCE (similar to BASE), we
+ need it to resolve charset for downloaded/printed HTML sources which became
+ local. This is really useful because downloaded and printed texts may
+ happened to have different charsets so assume_local_charset fails. For
+ downloaded source meta charset added from HTTP charset header (if and only if
+ present). For printed source meta charset added from display_charset (real
+ charset after chrtrans). If the original source has its own meta charset
+ and we add the second on top - Lynx currently use those on top and ignore
+ others (old) value (that is correct, although non standard like BASE on top).
+ The compilation default is FALSE (compatibility). - LP
+* modify ncurses mouse behavior to match slang (use button 3 rather than
+ button 2 for "previous document" (reported by Michael Ritzert) - TD
+* use case-independent comparison for tail-only comparison in override_proxy
+ (patch by pg@sweng.stortek.com) - TD
+* remove unneeded definitions of ALT_CHAR_SET, NCURSES_VERSION in
+ src/makefile.dos - DK
+* correct syntax for the RAW_DOS_KEY_HACK in lynx.cfg, add a little information
+ on how to compile this. Also patched makefile.dos to make compilation of the
+ raw dos key hack the default when compiling in DOS. - DK
+* change back to boolean since the logic was unused: UCCanTranslateFromTo(),
+ UCCanTranslateUniTo(), and UCCanUniTranslateFrom(). - TD
+* Mods of SGML.c and LYCharUtils.c to improve handling of entities,
+ obsolete stuff removed (not all yet). - LP
+* -localhost mode: disable interpreting BASE HREF= if local_host_only
+ to resolve local html files with BASE (Lynx add base to downloaded
+ sources and this may affect links if looking them with -localhost).
+ (tweak in html.c). - LP
+* Modify HTMLGetEntityUCValue in LYCharSets.c:
+ we begin to move from old style entities[] to unicode-based. - LP
+* added a few comments. - LP
+1998-02-07
+* Fixed a bug in HTTP.c which could cause trashing of authorization info
+ for an origin HTTP(s) server if the request is being proxied. - FM
+* Tweak in HTTP.c so that the reloading variable is not reset until
+ after any resubmissions due to authorization challenges. - FM
+* Tweaks of userdefs.h, lynx.cfg, LYMessages_en.h, LYMain.c, LYMainLoop.c,
+ LYClean.c, LYReadCFG.c, and LYGlobalDefs.h so that the QUIT_DEFAULT_YES
+ compilation symbol can be overridden in lynx.cfg, in keeping with
+ the principle that only strict security-related compilation symbols
+ cannot be overridden at run time. - FM
+1998-02-05
+* adjust formatting, comments & some messages in WWW files to simplify
+ comparison with 2.7.2 version. (I have preserved some chunks of difference,
+ ifdef'd NOTUSED_FOTEMODS or NOTDEFINED for ease of comparison -- these may be
+ removed at a later time, when we are done absorbing changes from 2.7.2) - TD
+* Update SGML entity to Unicode table in HTMLDTD.c from ftp.unicode.org -
+ lots of new entities, iso-latin-1 now included there.
+ See also new files in test/ directory: sgml.html and unicode.html.
+ Tweak a few typos in test/*.html according to sgml.html.
+ Add a few new entries in def7_uni.tbl according to sgml.html - LP
+* Cleanup iso01-iso09, cp866 tables against ones found at ftp.unicode.org -LP
+* Strip the fat from LYCharSets.c - unnecessary obsoleted tables removed
+ and redirected to SevenBitApproximation table (ones which have unicode tables
+ override it anyway, those for CJK had exactly the same tables as
+ SevenBit..). - LP
+* Remove obsolete "Other ISO Latin" charset, which works _exactly_ the same
+ as "7 bit approximation" (See the note on 06-14-96 where it comes from) -LP
+* Sort the list of charsets in Options according to 2.7.2 for 1997-10-15,
+ see the comments in UCinit at the bottom of UCDomap.c - LP
+* add ifdef to HTFile.c to workaround conflicting S_IFIFO vs S_IFSOCK
+ (e.g., on Apollo, from a report by Dave Eaton <dwe@arde.com>) - TD
+* updated INSTALLATION (patch by HN) - TD
+* modify DOS handling of CTL-C and CTL-BREAK handling for DOS to allow
+ exiting via SIGINT when pressing CTL-C or CTL-BREAK regardless of the
+ BREAK setting in DOS. This leaves the BREAK setting unchanged unless
+ CTL-C or CTL-BREAK is actually pressed (in which case it leaves BREAK
+ ON) - DK
+* add note about Lynx vs frames to User's Guide (from Al Gilman) - TD
+1998-01-27
+* correct lynx.man to reference section "1" (one), not "l", since it is
+ not installed in the latter (reported by Jason Castonguay
+ <jcast@ntplx.net>) - TD
+* fix for VMS declarations of mainloop() and from_hex() (reported by FM) - TD
+* add to include-paths in libmake.com, build.com (reported by FM, citing
+ Brian Tillman) - TD
+* revert HTML.c to use LYHandleSELECT() - TD
+* align cases for function keys in LYStrings.c with 2.7.2 - TD
+* remove EXP_CHARTRANS ifdef's - TD
+* remove symbol USE_SIZECHANGEHACK -TD
+* adjust formatting, comments & some messages in most remaining ./src files to
+ simplify comparison with 2.7.2 version. - TD
+1998-01-25
+* Changed the utf-8 Display Character Set string to "UNICODE UTF-8"
+ (i.e., added the hyphen between UTF and 8), and fixed typos in
+ the comments about iso-8859-5. -LP, FM
+* Modified HTML.c to add collapsible spaces before and after IMG ALT
+ strings or pseudo-ALTs whether or not the IMG element is within
+ Anchor content. The occasional absence of such spaces due to poor
+ HTML was problematic for blind users. Note that markup which uses
+ an image for a fancy letter with the ASCII letter as an ALT will
+ have that letter separated from the rest of the word. Also note
+ that these spaces will not be collapsed in PRE blocks, but IMG is
+ invalid in PRE blocks. The spaces could be omitted when IMG is
+ used invalidly in PRE blocks, but that would revive the problem
+ for blind users that they might not be present at all, so it seems
+ better to suffer extra spaces in such cases. - FM
+1998-01-24
+* Tweak in HTAccess.c to reset the title element in anchors on forced
+ reloads. - FM
+1998-01-22
+* Tweaks in HTML.c to prevent collapsing of blank lines within TEXTAREA
+ default values. Note that we still strip any leading or trailing
+ blank lines (reported by Edward S. Marshall <emarshal@xnet.com>). - FM
+* Tweaks of LYCurses.c, LYMain.c, LYOptions.c, LYReadCFG.c, LYUtils.c
+ and LYAuto.c to ensure properly setting, with internal buffering, and
+ avoid memory leaks for the display and homedir values (reported by
+ pg@sweng.stortek.com). - FM
+* include userdefs.h in LYCurses.h to address redefinition warnings for
+ curses-related configuration. - TD
+* adjust formatting, comments & some messages in recently-modified files to
+ simplify comparison with 2.7.2 version. - TD
+* remove obsolete logic from UCCanTranslateFromTo, (recommended by LP). - TD
+* make character set names (e.g., cp437, cp850, next) consistent in lynx.cfg,
+ userdefs.h (reported by LP). - TD
+* change configure script to check for termcap library before curses, in case
+ it is dependent. - TD
+* More corrections in the Russian Cyrillic area of def7_uni.tbl. - LP
+1998-01-17
+* correct logic for no_color_video by ensuring that if not defined, it
+ doesn't disable underline with color. - TD
+* remove NSL_CLONE - didn't build. - TD
+1998-01-16
+* eliminate gcc "shadowed variable", "nested declaration", "no previous
+ prototype" warnings. - TD
+* add --disable-internal-links configure option. - TD
+* remove W3C gateway (patch by DK, based on email from Gerald Oskoboiny
+ <gerald@w3.org>). - TD
+* documentation updates (patch by JS). - TD
+* add CONTENT_TYPE to environment of lynxcgi POST documents (reported by
+ Ty Sarna <tsarna@endicor.com> & FM). - TD
+* add NSL_CLONE ifdef that enables use of the Linux clone() call instead of
+ fork() for the gethostbyname() calls in HTTCP.c. (patch by Ryan Nielsen
+ <ran@haxor.com>). - TD
+from the lynx code. I think the following patch does this.
+1998-01-15
+* Tweak of the NSL_FORK code in HTTCP.c to prevent zombie processes from
+ being created when gethostbyname() is interrupted. - RN
+* Corrected the Russian Cyrillic area of the def7_uni.tbl Unicode to
+ 7-bit approximations conversion table. - LP
+* Mods of UCAux.c, LYCharUtils.c, SGML.c and HTPlain.c to use 7-bit
+ approximations instead of 8th bit stripping when the document charset
+ is koi8-r and the Display Character Set does not have the corresponding
+ characters. - FM
+* Tweaks in HTML.c to ignore a newline character immediately following
+ a PRE start tag more consistently. When PRE blocks are used to create
+ blank lines, you should get only as many as are actually included in
+ the PRE block, unless you include less than the number specified for
+ "before" the block to which you return, in which case you'll get the
+ latter number of blank lines. - FM
+1998-01-13
+* Fixed a typo in the HTParse() code of HTParse.c for checking whether
+ a colon in the host field indeed delimits a port number. - FM
+* Changed the internal MIME names for all Microsoft Windows codepages
+ from cp#### to windows-####, since the latter is used more commonly
+ as the charset value in META elements and/or Content-Type headers,
+ and most of them have been registered that way with IANA. Note,
+ however, that Microsoft uses cp instead of windows- prefixes in the
+ charset names for the Unicode conversion tables submitted to the
+ Unicode Consortium. Also note that we still treat cp, cp-, and ibm
+ prefixes as synonyms for the windows- prefix. - FM
+1998-01-06
+* work around for 'keypad()' function w/o corresponding key defines
+ (reported by Francisco A. Tomei Torres for NeXTstep 4.0). - TD
+* quote message in install rule, just in case (from HN). - TD
+* correct expression to supply default value of .cfg file's pathname
+ (reported by LE & Ambrose Li <acli@acli.interlog.com>). - TD
+* correct dependency of .cfg files upon $(libdir) in makefile.in - TD
+1998-01-04
+* correct temporary filename for -traversal -crawl (patch by Doug Kaufman). - TD
+* correct redefinition of SYSTEM_MAIL_FLAGS. (reported by Doug Kaufman). - TD
+* uncache current document when character set may have changed (patch
+ by Andrey A. Chernov) - TD
+* modify Linux setfont code to restore the original font on exit - TD
+* correct missing backslash (again) in makefile.in
+ (reported by Mark Mentovai - again) - TD
+1998-01-02
+* workaround for sed expression when rerunning configure with config.cache
+ for slang libraries (reported by Hynek Med). - TD
+* fix indicated by Laura Eaves (LE) for LYUCFullyTranslateString_1() - TD
+* modify SPAWNING_MSG for DOSPATH configuration, avoid unnecessary use
+ of clear-screen in shell (patch by Doug Kaufman). - TD
+* remove install-help from list for install rule, adding message to
+ indicate how to install it. - TD
+* install lynx.lss only if color-style is configured. - TD
+* correct filemode for DJGPP when processing config-file, patch by
+ Doug Kaufman). - TD
+* add LYNX_LSS_FILE to config.hin, reported by Ambrose Li
+ <acli@acli.interlog.com>. - TD
+* new copy of INSTALLATION file from HN. - TD
+* add COPY* to install rule. - TD
+* simplify includes in UCdomap.c by using include-path in makefiles. - TD
+* build configure script with patched autoconf to workaround limited
+ environment space on CLIX 3.1 - TD
+* rename mnemonic_suni.tbl to mnem2_suni.tbl to accommodate 'make' on
+ older system with 14-character name-limit. - TD
+* sorted some lists (e.g., character sets) which were unreadable. - TD
+* incorporate most of FM's changes from 971124 to 971230 (see below). - TD
+ (Note: don't try to use fflush(stdin) -- it's an FAQ -- nonstandard,
+ dumps core on some platforms).
+1997-12-30
+* Added Unicode translation support for "DosBaltRim (cp775)" and
+ "WinBaltRim (cp1257)". - FM
+1997-12-29
+* Fixed bug in the order of re-initializations for the 1997-12-22
+ get_connection() mods. - FM
+* Fixed typos in some LYCharUtils.c comment. - FM
+* Fixed typo in LYrcFile.c comments concerning the NO_FROM_HEADER
+ symbol. - DK
+1997-12-24
+* resolve conflict between autoconf $INSTALL and lynx's INSTALL_PATH
+ (reported by Scott McGee). - TD
+* modify CF_CHECK_FUNCDECL to work with non-gcc compilers. - TD
+* add <stdio.h> to prototype test for getgrgid getgrnam, needed on SVr3. - TD
+* add install-lss to makefile.in. - TD
+* modify order of includes in LYKeymap.c so that USE_EXTERNALS is defined
+ if it comes from userdefs.h (inferred from a report by Larry Virden). - TD
+* correct spelling of USE_EXTERNALS which prevented --enable-externs from
+ working. - TD
+* move assignment to stderr from VMSexit to cleanup function (reported
+ by Brian Tillman & FM). - TD
+* modify UCChangeTerminalCodepage() to not use stderr, disentangling it
+ from stderr/logfile hack. - TD
+* rename docs/CHANGES2-* files to docs/CHANGES2.* (reported by
+ Doug Kaufman). - TD
+* add start_color() call to DOSPATH version of start_curses() to
+ fix problem reported by Doug Kaufman - TD
+* correct typo in ColorCode() function (reported by Doug Kaufman) - TD
+* modify comments in makefile.in (patch by HN) - TD
+* minor fixes for CF_CHECK_ERRNO, CF_SIZECHANGE, CF_SLANG_CPPFLAGS
+ macros. - TD
+* add configure option --enable-nsl-fork to turn on code defined by
+ NSL_FORK. - TD
+* add configure option --enable-links to turn on code defined by
+ UNDERLINE_LINKS. - TD
+* add configure option --enable-font-switch, to turn on code defined by
+ EXP_CHARTRANS_AUTOSWITCH. - TD
+* modify configure CF_CURSES_LIBS test to look also for ncurses,
+ since some systems do not have a "curses" library (reported by
+ Michael Ritzert). - TD
+1997-12-22
+* Reworked -width=NUMBER command line switch for specifying the screen
+ width for formatting of dumps (default is 80; forced wraps occur at one
+ column less than the screen width, i.e., at 79 by default). - FM
+* Tweak of get_connection() in HTFTP.c to re-initialize the elements of
+ the connection structure when using a previously allocated connection
+ object. -DW, FM
+* Mods of LYexit.c, LYClean.c, LYMain.c and LYMainLoop.c to fflush() all
+ standard file descriptors in conjunction with all fopen() and fclose()
+ operations on the TRACE log and redirections of stderr via equality
+ statements (see 1997-12-16, 1997-12-13 and 1997-07-18 mods). - FM
+1997-12-18
+* forgotten last } UN-inserted (John Line) - WB
+* few commented messages corrected according to RFC2068 (HTTP1.1)
+ (Leonid Pauzner) - WB
+1997-12-17
+* Changed all %i tokens to %d or %ld in functions that always get decimal
+ values in their arguments. - FM
+1997-12-17 (all patches by Leonid Pauzner)
+* open text mode while writing lynx.rc and bookmarks files
+ LYrcFile.c and LYBookmark.c (forgotten last } inserted). - WB
+* add a comment about binary mode in LYMain.c and pile them
+ in one ifdef - WB
+* few misprinted characters (in comments) corrected in
+ \chrtrans\cp850_uni.tbl - WB
+1997-12-16
+* Further mods in LYClean.c (see 1997-12-13 mods) do block the
+ *stderr = LYOrigStderr; statement in cleanup() for VMS with VAXC. - FM
+* Added an ELGOTO keystroke command, mapped by default to upper case 'E'
+ (lower case 'e' still invokes the editor for the current document, if
+ it is a local file), for passing the URL (or ACTION) of the current
+ link to the line editor for editing as a goto URL. Works like the
+ ECGOTO ('G') keystroke command for editing the URL of the current
+ document as a goto URL, i.e., if the URL is not modified, is set to
+ a zero-length string, or ^G is entered, the command is cancelled. - FM
+* Mods of LYMainLoop.c to disallow ECGOTO or ELGOTO commands for File
+ Management (DIRED_SUPPORT) menu URLs. - FM
+1997-12-15
+* Added reporting of the Discard value (YES or NO), in the Cookie Jar Page
+ (note that until we have code for storing cookies beyond the current
+ session, Lynx behaves as if Discard were set, whether or not it was set
+ by the server, but we still report the server's instructions, as we do
+ for the Maximum Gobble Date). - FM
+1997-12-14
+* added a lynx.cfg switch to turn on/off extended dos translations for keys.
+ -WB
+* added minor DOS tweaks by Doug Kaufman and myself. - WB
+* fixed windows binary mode piping. - WB
+1997-12-13
+* Tweaks in LYList.c to make the link numbers correspond with those in
+ the current document when LINKS_AND_FORM_FIELDS_ARE_NUMBERED in on,
+ and to show the current document's URL in the display. - FM
+* Mods in HTTP.c to show the body of a 305 return status instead of ever
+ acting on it. A number of security/privacy problems with this status
+ are being discussed in the HTTP-WG, and it's likely to be dropped or
+ deprecated in the next revision of the HTTP/1.1 specs. - FM
+* Restored the v2.7.1 HTmmdecode() that's specific for iso-2022-jp in
+ HTMIME.c. We still only call it when HTCJK == JAPANESE, and the
+ generalized version reportedly has problems. - FM
+* Removed the *stderr = LYOrigStderr; statement from VMSexit() in LYCurses.c
+ and added it to the if() claused section which closes the TRACE log file,
+ if opened, in cleanup() of LYClean.c. This is just a stab in the dark
+ for dealing with reported problems on exit with VAXC on VAXen. We may
+ need to use freopen() for redirecting TRACE messages to a file for VAXC
+ or VAXen (there's no apparent problem with the current code with DECC
+ on VMS/AXP). - FM
+* Added more function key cases to the keypad() mode switch() in LYgetch()
+ of LYStrings.c. We don't need them with this code set, but they may as
+ well be there for completeness. - FM
+* check for and use ncurses default-color extension, use to make the
+ color-style configuration usable on xterm with white background. - TD
+* add cases in LYgetch() for remaining VT220-compatible codes, reported
+ by Michael Ritzert and FM. - TD
+* add configure test to see if slang can be linked without curses or
+ termcap libraries, request by John Davis. - TD
+* set umask in mkdirs.sh script to work around users who have set root's
+ umask to 077. - TD
+* split up install rule to install-bin, install-cfg, install-man and
+ install-help. - TD
+* suppress suffixes in top-level makefile so 'make' won't try to create
+ a file named "install" from install.sh - TD
+* make $(CPPFLAGS) inherit consistently from top-level makefile. - TD
+ (reported by Mark Mentovai)
+* add configure option --enable-externs, to turn on USE_EXTERNS. - TD
+* use explicit comparison for enum values, fix compile problem with VAX C
+ for UCAux functions (reported by Brian Tillman). - TD
+1997-12-03
+* Remove CHANGES.configure, since it is redundant. - TD
+* Make -g3 option check for OSF/1 3.2 consistent with -Olimit check. - TD
+* Use 'result' rather than 'time' in mktime.c to avoid shadowing. - TD
+* Use wborder only if configure finds it, not ifdef FANCY_CURSES. - PHDM
+* List of systems having strerror replaced by configure test. - PHDM
+* Beautifying of mktime.c (`now' was misleading). - PHDM
+1997-12-02
+* Mods in LYCookie.c to prompt whether to accept (or reject) cookies with
+ an invalid domain value which yields a hostname prefix with a dot (as
+ specified in section 4.3.2 of the IETF cookie drafts and RFC), rather
+ than rejecting it silently. Note that it is rejected in non-interactive
+ (-dump or -source) mode, because the user can't be prompted. - FM
+1997-11-27
+* Added a PREPEND_BASE_TO_SOURCE configuration symbol in lynx.cfg which
+ can be set FALSE to suppress prepending of a Request URL comment and
+ BASE element to text/html sources retrieved for 'd'ownloading or passed
+ to 'p'rint functions. Note that this prepending is not done for -source
+ dumps unless the -base switch also was included on the command line, and
+ the latter switch overrides the setting of the PREPEND_BASE_TO_SOURCE
+ configuration variable. - FM
+1997-11-25
+* Mods in LYMail.c and LYPrint.c to handle to=address(es), cc=address(es),
+ subject=string, keywords=word_list, and body=message fields in the
+ ?searchpart of mailto URLs as specified in the 1997-11-16 draft:
+ ftp://ftp.isi.edu/internet-drafts/draft-hoffman-mailto-url-03.txt
+ The cc=address(es) values are now handled as a Cc: header, and a self
+ copy, if confirmed on prompt, is added to the Cc: header. Note that
+ the draft now allows mailto:?to=address(es)[&foo=blah] as a format,
+ i.e., without an address before the ?searchpart. The Netscape
+ ?searchpart tack-on broke all pre-existing implementations of mailto,
+ and this breaks Lynx's support through v2.7.1. Though it's now
+ supported in this code set, don't use it. Complaints and formal
+ requests to provide this functionality via a new scheme (e.g.,
+ mail: or smtp:) without breaking existing implementation of mailto:,
+ including from TimBL (HimSelf :), thus far have fallen on deaf ears.
+ You can send email to those deaf ears via:
+ mailto:masinter@parc.xerox.com%20(Larry%20Masinter)
+ Don't allow the IETF backward compatibility principle to go down
+ the drain. - FM
+* Mods to support use of the PMDF SEND command on VMS in conjunction with
+ a temporary header file, so that all headers specified in the ?searchpart
+ of mailto URLs can be included in the mailing, and made that the compilation
+ default in userdefs.h to go with the default MAIL_ADRS mask for PMDF (If
+ the "generic" VMS MAIL utility is used, not all of the headers can be
+ specified on the command line, as it requires). Look at the code in
+ LYMail.c and LYPrint.c that is used when isPMDF is TRUE as a model of how
+ to do this with other header-file-capable VMS mailers (but I don't have
+ any besides PMDF, and can't do it for you :). - FM
+* Tweak of the 1997-11-17 URL parsing mods so that relative symbolic
+ elements immediately preceding a ?searchpart are handled identically
+ to when a ?searchpart is not present. - FM
+* Added support for setting both SYSTEM_MAIL and SYSTEM_MAIL_FLAGS in
+ both userdefs.h and lynx.cfg. - FM
+1997-11-23
+* integrate PHDM's patch. - TD
+* Check for existence of sys/wait.h. - PHDM
+* Do not include sys/stat.h twice. - PHDM
+* New autoconf-macros to check if a function is declared after including a
+ specific set of files. - PHDM
+* Declare strstr if it is not declared by string.h. - PHDM
+* Declare getgrgid and getgrnam if not declared by grp.h. - PHDM
+* Provide strstr and mktime implementations, and use them if needed. - PHDM
+* Always include sys/types.h in HTUtils.h. - PHDM
+* define NO_GROUPS if we do not have getgroups. - PHDM
+* define NEED_REMOVE also if test yields unknown. - PHDM
+* define mode_t if not done by system include files. - PHDM (phdm@macqel.be)
+* change CF_UNION_WAIT to use compile+link rather than compile, to ensure
+ that we pick up the wait-macros rather than an implied function, which
+ should fix configure problems on NeXT for Francisco A. Tomei Torres
+ <fatomei2@mail.unm.edu>. - TD
+* spelling nit from Larry Virden. - TD
+* add osf3.0 to special case compiler options using -g3 in place of
+ -O -g, from Harsh Kumar <harsh@krcl.ernet.in>. - TD
+* remove redundant "-c" option from $(installbin) in makefile.in, reported
+ by Michael Warner <warner@wsu.edu>, for OSF/1 4.0. - TD
+* if configure --srcdir is not used, comment-out rmdir's in "make distclean"
+ rule. - TD
+* modify recent erase/clear change so that it applies only to FANCY_CURSES,
+ since BSD curses does not otherwise clear the screen when restoring after
+ popup. - TD
+* modify change for boxes so this builds with BSD curses, which has no
+ wborder() function. - TD
+* reverse ifdef for NO_SIZECHANGEHACK to USE_SIZECHANGEHACK, which is
+ normally off, since this code did not work with BSD 4.4 curses, SVr4
+ curses, or ncurses 4.1 with xterm. (Will make a configure test if anyone
+ can identify a configuration that works). - TD
+1997-11-21
+* Changed LYE_LINKN to LYE_LKCMD (still mapped by default to Ctrl-V; may
+ need to be entered twice for some systems) for invoking a prompt to
+ enter any Lynx keystroke command when in form text fields. - FM
+1997-11-20
+* Added an LYK_CLEAR_AUTH command, mapped to underscore ('_') by default,
+ which clears all authorization info for the current session. This is
+ recommended for the situation when one leaves one's terminal but doesn't
+ want to end the browser session, nor want others to be able to retrieve
+ protected documents with previously entered username and password info.
+ Note that we don't yet have a way to block access to any protected
+ documents which are still in cache. - FM
+1997-11-19
+* Tweak of HTTP.c to ensure closing of the connection when interrupted
+ ('z'apped) on the first socket read. - FM
+1997-11-18
+* Mods to use the explicit label "Bad HTML:" in trace messages corresponding
+ to BAD_HTML_USE_TRACE messages. - FM, KW
+* Tweak of the restored TABLE-in-PRE block handling to deal with the
+ case when it's encased in a CENTER or DIV with ALIGN="center". - FM
+* Changed docs/README.defines to refer to INSTALLATION file - HN
+1997-11-17
+* Changed the default ASCII BOXVERT and BOXHORI definitions from '*' to
+ to '|' and '-', and new function LYbox() for non-VMS (n)curses. - FM
+* Use explicitly specified characters for drawing the corners of popup
+ boxes with non-VMS (n)curses if we have also specified characters for
+ vertical and horizontal lines. - KW
+* Mods in HTTP.c to trim any "LYNXIMGMAP:" leader from Referer header
+ values and strip the #fragment when making http(s) requests via links
+ in the pseudo-documents constructed for MAP elements. - FM, KW
+* Mods of SGML parsing to better handle SELECT blocks with invalid markup,
+ in effect for both TagSoup and SortaSGML parsing (for the latter just
+ in case it doesn't already prevent invalid markup from being passed on).
+ Only OPTION elements are accepted in SELECT blocks.
+ Otherwise, if the element is a form-related start tag, the
+ SELECT block is closed and the new form-related element is started.
+ All other elements are ignored. A FORM end or start tag ends any open
+ SELECT block and the current FORM (before starting another FORM if
+ it is a start tag). Note that we now support SELECT blocks outside
+ of FORM blocks, which some providers are using for "informational"
+ popups, but no Lynx user would do anything that awful, right? - FM
+* Tweak in LYMainLoop.c to override an LYresubmit_posts flag if we are
+ reloading a popped document due to a NOT_FOUND or NULLFILE return
+ value from getfile(). - FM
+ (But if the document that would be loaded after such a failure has POST
+ data and is not in memory, still jump to the PREV_DOC code, see enttry
+ for 1997-11-03. - KW)
+* Worked in a variant of AJL's suggestion of setting LINES and COLUMNS
+ artificially high before the initscr() call with Unix curses, then
+ using a dummy call to size_change() for setting LYlines and LYcols
+ to the actual screen dimensions, so that increases in the screen size
+ during the Lynx session, and not just decreases, can be handled.
+ Note that one still needs to do a RELOAD (^R) overtly to create a
+ new HText structure based on the current screen size. - FM
+ (The new code can be disabled by defining NO_SIZECHANGEHACK, in case
+ some curses version or terminal cannot deal with it. - KW)
+* Tweaks of the chartrans code. - FM, KW
+* Change in HTNews.c to ignore very long bogus newsgroup names when listing
+ available groups. - KW
+* Tweaks in code for highlighting search text in anchors, to better deal with
+ terminals in UTF-8 mode. - KW
+* Mods to ignore anything past a '?' character when simplifying URL paths,
+ as is now more clearly specified in the Fielding URL draft. Note that
+ we still assume a ';' is not in fact a parameter delimiter, or won't
+ have a value with characters that could be misinterpreted as relative
+ path specs. - FM
+* Increased the redirection limit to the original Lynx's value of 10,
+ because the HTTP/1.1 draft no longer will restrict it to 5, but instead
+ will leave it to the discretion of the browser (and I like 10, as a
+ reminder of the "good old days" :). - FM
+1997-11-15
+* Mods of parsing in HTML.c to restore support for the TABLE-in-PRE-block
+ HTML kludge described in http://ppewww.ph.gla.ac.uk/~flavell/tablejob.html,
+ which stopped working in conjunction with the 1997-05-21 mods (see below)
+ for treating TABLEs as DIVisions to support ALIGNment attributes in TABLE
+ markup. The PRE-in-TABLE-block HTML kludge was not affected by those mods
+ but works only with the TagSoup parsing mode. - FM, KW
+1997-11-12
+* Made handling of the 'x' in hexadecimal character references (&#xH;)
+ case insensitive, as for the "alphabetic digits" (a-f, A-F). - FM
+* Added a LINKN command key in the line editor, mapped to Ctrl-V, for
+ invoking the F_LINK_NUM prompt when in form text fields. Ctrl-V is
+ still a dead key under other circumstances in the line editor. - FM
+* remove options --with-lss-file and --with-cfg-file, since the corresponding
+ files will always be installed under $(libdir), reported by Henry Eric
+ Nelson (HN). - TD
+* modify configure script and makefile templates to permit builds with the
+ --srcdir option, noted by Philippe De Muyter. - TD
+1997-11-08
+* Added Unicode support for "DosArabic (cp864)", "WinArabic (cp1256)",
+ "DosGreek (cp737)", "DosGreek2 (cp869)", "WinGreek (cp1253)",
+ "DosHebrew (cp862)", and "WinHebrew (cp1255)". Note that we still
+ have no code for taking DIR attributes, or directionality in general,
+ into account. - FM
+* Mods to handle "cp-#" charset names as synonyms for "cp#", and some
+ cp# names as synonyms for "windows-#". -FM, KW
+1997-11-07
+* Change of LY_SLrefresh() in LYCurses.c as suggested by JED - FM
+* add logic to make install-directories as needed. - TD
+* remove --disable-char-trans option (ifdef's still remain). - TD
+* correct type used in first compile-test for union wait. - TD
+* correct order of deletions in "make distclean" rule. - TD
+* new versions of macros used to check for ncurses version. - TD
+* don't suppress -I/usr/local/include when checking -I/usr/local/include/*,
+ to accommodate older versions of gcc. - TD
+1997-11-06
+* Use erase() instead of clear() in some places, to avoid unnecessary full
+ screen repainting even for UNIX (and similar) curses. Renamed LY_SLclear
+ to LY_SLerase, but it is used for erase() and clear() now, so there should
+ be no change in behavior for slang introduced by this. - KW
+* Added new format for lines in chartrans .tbl files: U+NNNN "a string" where
+ the string can have C backslash-escaped characters. This allows to write
+ replacement strings with 8-bit characters that won't be garbled when the
+ .tbl files are transferred in some non-binary way. Note there is no ':'
+ between the Unicode value and the beginning quote character. - KW
+* Changes to HTMLDTD.c (for SortaSGML parsing) and HTML.c (second line of
+ defense) for dealing with invalid SELECT tags. Also tolerate SELECT
+ outside of forms. - KW
+* Change in HTLocalName for DOSPATH so that it doesn't depend on whether
+ HTDOS_name returns a pointer to static memory or not. - KW
+* Started new file docs/README.defines. Renamed CHANGES to CHANGES2-7,
+ removed duplicate 2-7-1 entries. Minor changes to INSTALLATION, other
+ files. CHANGES.chartrans is gone. - KW
+* Tweaked color style stuff again. Statusline may behave better. - KW
+* Don't use memmove for HEAD in HTNews.c. - KW
+* For UNIX, use normal umask permissions, instead of the extra-cautious temp
+ file permissions, for files saved to disk by the default actions for PRINT
+ and DOWNLOAD. - KW
+* Changes (untested) in the code dealing with reading of compressed files in
+ HTFile.c, in parallel to the code for other systems. - KW
+* Mods to avoid va_start redefinition warnings when building with slang. - FM
+1997-11-05
+* Change in LYForms.c to avoid full screen repaint after popup is retracted
+ for slang. - KW, FM
+1997-11-03
+* Internal links code revised. Some details follow, but first a summary
+ of the basic premises. Links in a document given as href="#fragment" or
+ href="" (empty, but href attribute is present) mean something different
+ from href="url#fragment" or href="url" (where url is a non-empty absolute
+ or relative URL not including a fragment), they are internal links pointing
+ to an element or a location within the same copy of the document (or to the
+ document itself, for href=""). In contrast, a URL-Reference with a non-
+ empty URL refers to a (generally...) external resource. If the "url"
+ happens to coincide with (or, if it is relative, resolve to) the URL from
+ which the current document was retrieved, the current document is a
+ representation of the resource, but not the same thing. In most such cases
+ we can treat href="#fragment" and href="url#fragment" the same way, i.e.
+ activating such a link is interpreted as a request to reposition within
+ the current document; we are using the current document as a cache copy
+ of the resource (like we would other documents in the memory cache). But
+ if we have marked our copy as no-cache, it seems more consistent to treat
+ activation of a href="url#fragment" link as a request for retrieving a
+ new copy and _then_ locating #fragment in it, as we do for "any-other-url
+ #fragment" if we have cached a document which represents "any-other-url"
+ and which is marked no-cache. Following a href="" link should just result
+ in repositioning to the start of the document, not in a new retrieval for
+ no-cache documents.
+ If the current document is the result of a POST submission, there is in
+ general no way to refer to its underlying resource with a URL, since there
+ is no URL notation for "url+post_data". Internal links can be used within
+ the context of this document, but there is no way to hyperlink to it or
+ parts of it from "outside". A link to a href="url" or href="url#fragment"
+ target should always imply a GET retrieval, whether it occurs within a
+ document from a POST submission or not, for consistency.
+ This understanding also applies to other than <A href=..> uses of URL-
+ References in documents, for example the link implied between a USEMAP
+ attribute and a MAP element; but not to all uses, for example a FORM's
+ ACTION requires an external resource and not an internal reference, so
+ ACTION="" is resolved to an absolute URL (using a base URL if one is
+ given).
+ The semantics for URL-less URL-References are given in Internet Draft
+ <http://www.ics.uci.edu/~fielding/url/draft-fielding-url-syntax-09.txt>,
+ including that "Traversal of such a reference should not result in an
+ additional retrieval action." No comparable prescriptions are made for
+ references which have a URL, in particular it is not stated that they
+ should be treated as equivalent when the URL coincides with or resolves
+ to the current document's retrieval URL.
+ The changes to the Lynx code attempt to implement what is outlined above,
+ by keeping track of how a link destination was originally specified. href=
+ "#fragment" and href="" links are still "resolved" into a "url#fragment"
+ and "url" form, for use internally, and if an explicit NOCACHE action is
+ requested, and for generating lists of links etc., and in general for use
+ outside of the context of the current document.
+ To the best of my knowledge they do not lead to unwanted (or misdirected)
+ resubmission of POST content without prompting the user for confirmation
+ (although the prompt texts probably need improvement). - KW
+* The notion of the context of the "current document" is extended, so that
+ auxiliary LYNXIMGMAP documents generated by Lynx are within the scope of
+ the underlying document, i.e., the document containing the MAP and AREA
+ elements. Although they are treated as separate documents for display
+ and internal handling, following links between the underlying document
+ and its LYNXIMGMAP documents will result in display from cached data
+ (if available) even for no-cache documents, if a fragment-only (or empty)
+ URL-Reference was used in the HTML. This includes the link generated for
+ pointing from the IMG to the LYNXIMGMAP if the USEMAP attribute value was
+ was fragment-only; the LYNXIMGMAP is normally regenerated from the list
+ of MAP and AREA elements kept internally when a link to it is activated.
+ (Note that a LYNXIMGMAP screen is still not reloaded from external sources
+ even when RELOAD or NOCACHE keys are used, if data for the MAP is found
+ in the internal list; but that reloading the underlying document will
+ refresh the internal lists.) - KW
+* List Page screens are also in the context of the underlying document, so
+ that internal links in the underlying document can be listed and activated
+ from the List Page. When following an internal link from a List Page, it
+ is not pushed on the history stack (similar to the History List Page), to
+ reduce the chance of confusion when walking back through history. - KW
+* LYNXIMGMAP and List Page auxiliary documents can now be associated with
+ POST data. This does not mean that the data is posted to a "LYNXIMGMAP:"
+ or "file:" URL, which is impossible; but that the underlying document is
+ associated with the POST data. This way these aux documents can still
+ have links regarded as "internal" pointing to the document of which they
+ are logically a part, keeping track of what POST data are applicable if
+ several form submissions have occurred. Normally the underlying document
+ should be in the document cache when such a link is activated, so that
+ resubmission of the POST can be overridden. If it is not found,
+ resubmission may happen after user confirmation. Although the POST data
+ content is not shown on such aux pages, it can be inspected with the INFO
+ ('=') command. Note that the association of LYNXIMGMAPs and List Pages
+ with POST data automatically excludes them from various operations which
+ may otherwise be possible, such as bookmarking or inclusion in the
+ 'V'isited Links Page. Note also that such aux pages are treated internally
+ as different documents from their POST-free counterparts with the same
+ address, which might be generated for example after typing the address
+ at a 'g'oto prompt while viewing a different text. It may be possible to
+ generate confusing situations, but regenerating the displayed data (by
+ invoking 'L'IST again, or by following a LYNXIMGMAP: link) will always
+ show the currently applicable information.
+ For image maps, the change implements link-following capabilities which
+ come naturally to graphical UAs, which can handle IMG USEMAP and the
+ corresponding MAP elements from the same data stream as objects within
+ the same document instance. - KW
+* To implement the above, MAP and AREA information from a POST response is
+ not kept in the global list shared by all other documents, but in a separate
+ list specific to the underlying (containing) document and the POST data.
+ The specific lists are managed with the underlying document's anchor
+ structure so that they can automatically expire after the anchor is removed
+ from memory and will not stay around and accumulate until session end. - KW
+* POST data is kept in mainloop when following an internal link, but is now
+ always dropped for links that were given with a URL. This removes the
+ limitation by which a link in a POST response to the URL of the POST
+ submission script would be inappropriately converted to a resubmission of
+ the POST data. (example: search form from <http://www.marshall.edu/htbin/
+ calendar>) - KW
+* Changes to the PREV_DOC handling in mainloop. When encountering documents
+ that may need to be reloaded while walking back in history, because they
+ have POST data associated and are not marked "safe" and are either not found
+ in the memory cache or -resubmit_posts has been set, the user is prompted
+ for confirmation as before; if the reply is 'n' the document will be skipped
+ but if the user cancels with ^G the walkback operation is cancelled and the
+ currently viewed document remains loaded. Some of the aux documents which
+ can new be associated with POST data may be automatically skipped if their
+ document structures are not any more in memory. - KW
+* When following a link marked internal from a List Page and confirmation is
+ required, ^G may also have the different effect of cancelling the operation
+ while responding 'n' may attempt to follow the link as a GET request (i.e.
+ with POST data dropped). - KW
+* In some situations, automatic popping from the history stack in mainloop
+ after getfile fails to load a new document could lead to resubmission of
+ a previous POST request without prompting. This is now avoided by jumping
+ to the code handling PREV_DOC. - KW
+* Use new LYinternal_flag variable for propagating info to HTAccess, rather
+ than overloading LYoverride_no_cache. - KW
+* Tweaks for bad form tag soup with crashes on unclosed SELECT. Changes in
+ HTML.c and GridText.c to prevent memory leaks resulting from insanely
+ placed or unclosed form field tags, hopefully not introducing other
+ problems... - KW
+1997-11-02
+* Changes in HTParse's scan to leave additional '#' characters alone after
+ the first has been found when scanning (from left) for fragments, and
+ to apply the "don't treat '#' as start of a fragment for some kinds of
+ URLs" hack only when the '#' will become part of what has been scanned
+ as a path. NNTP articles with more than '#' in the message-id are now
+ accessible with the "news:" or "nntp:" schemes. We should actually always
+ escape when generating URLs and unescape when parsing them instead. - KW
+* Changed HTUnEscape to leave '%' alone if not followed by two valid hex
+ digits. - KW
+* Allow the HEAD key and -head and -mime_header flags for "lynxcgi:" URLs
+ and for "news:" and "nntp:" URLs that specify a single news article. - KW
+* Change to writing of POST data in LYCgi.c, to close file descriptor after
+ done writing and before reading as suggested by mhw@bcs.org.uk (Mark
+ H. Wilkinson), and to check status from the write() call and retry if
+ needed. Note that the code is not appropriate for handling large
+ amounts of POST data, since it still first does all the writing and
+ then all the reading. - KW
+1997-11-01
+* Added support for presentation of text/plain files in SOURCE ('\') mode,
+ homologously to text/html files, rather than treating the command as a
+ synonym for 'd'ownload when viewing a text/plain file. Note that if the
+ text/plain file has no long lines, the display of it will not change,
+ but otherwise, the long lines will not be wrapped in SOURCE mode, and
+ thus can be 'p'rinted without line wrapping. One still should use
+ 'd'ownload for a faithful copy of the file, i.e., without charset
+ conversions and expansions of TABs. - FM
+1997-10-30
+* Get numbering of links on List Page right, by faking hidden links for
+ form fields which get counted but are not selectable. - KW
+* Allow LYNXHIST: links in List Page since the History Page may get
+ 'L'isted... - KW
+* Mods of HTML.c parsing to close any open Anchor or emphasis elements
+ at the starts of TABLE elements, as the Big Two's TABLE handlers appear
+ to do now. - FM
+* Tweaks of charset handling via META elements and CHARSET attributes. - FM
+1997-10-29
+* Tweak of SortaSGML DTD for insane HTML with FORM start before HEAD. - KW
+* Prevent memory leaks from HTChunks for option and textarea with very
+ bad markup, added TRACE and BAD_HTML_USE_TRACE warnings for those. - KW
+* Don't call tigetnum("ncv") for _WINDOWS - BD
+* Added Unicode tables for the "DEC Multinational", "Macintosh (8 bit)",
+ and "NeXT character set" display character sets. - FM
+1997-10-28
+* Disable setting of the `reloading' flag in HTLoadDocument which would
+ generate no-cache headers for request where this is not appropriate. - KW
+* Memory leak for first OPTION in SELECT removed. - KW
+* Changed HTDOS_name to not return pointer to static area. - Binh Do
+ <bdo@mailman.epnet.com>
+* Changes to INSTALLATION file. - HN
+* Fix in HTMIME.c to recognize Content-location. - KW
+1997-10-27
+* Don't disable FORMs that have INPUTs with TYPE="file" or TYPE="range"
+ since those fields may be optional and the rest of the FORM may be
+ valid to submit. - FM
+* Updated links to www.w3.org in help files. - KW
+* Some changes for DOS compilation. - DK
+* Changes to INSTALLATION file. - HN
+* Tweaks of internal links stuff. - KW
+* Allow HEAD on URLs starting with LYNXIMGMAP:http by stripping the
+ prefix. - KW
+* Reverted LYCheckForCSI() to previous incarnation. - KW
+1997-10-26
+* If compiled with -DDONT_TRACK_INTERNAL_LINKS, behavior with respect to
+ internal links as in FM's code. - KW
+* Some chartrans tweaks. - KW
+1997-10-25
+* Changes to INSTALLATION file. - HN
+* Make temp file names conform to 8+3 naming convention for DOS, and
+ give LYNX_TEMP_SPACE priority over TEMP and TMP for DOS. - DK
+* Create temp file names with '-' char as separator between pid and
+ sequential number for non-8+3 systems, to prevent (unlikely)
+ collision. - KW
+1997-10-24
+* Change in HTML.c to use the base (rather than current document, if the
+ base differs) in all cases for form ACTIONs (i.e., if the ACTION is
+ empty, or has a lone fragment, or an ACTION attribute is not included)
+ as specified in the -07 to -09 Fielding URL drafts. - FM
+1997-10-23
+* Fixed a few typos and glued together a few URLs to make it easier for
+ folk to cut and paste them, in the new INSTALLATION file. - LV
+1997-10-22
+* Many locations of files changed, about_lynx/ directory and references to
+ aboutfilepath removed, userdefs.h reorganized, changed README, new
+ INSTALLATION file, doc changes, some doc files removed. - HN
+ (Removed paragraph in README which doesn't apply yet, some files still
+ not done - KW)
+* Patch to WWW/Library/djgpp/makefile - WS
+* Added entity names from HTML 4.0 draft to extra entities in HTMLDTD.c - KW
+* Understand lists in ACCEPT-CHARSET attributes. Added a list of forms
+ to GridText structure (currently underused). - KW
+* Don't try to use box drawing chars in UTF-8 display mode. - KW
+* Changed chartrans mechanism (UCdomap.c, makeuctb.c) so that the "default"
+ translation table is now used as a fallback for other translation tables.
+ This also applies to display character sets which do not have a chartrans
+ table file but are listed in LYCharSets.c. Changed syntax of table files
+ (see src/chrtrans/README.format), added a keyword to disable using the
+ fallback. Currently def7_uni (corresponding to "7 bit approximations"
+ and the MIME charset "us-ascii") is used as default table, as before;
+ but previously the default table didn't have any real meaning.
+ Conceptually every translation table (unless it disables fallback) is
+ extended as if it included all the replacements from the default table.
+ Note that mappings for some characters in the default table file still
+ differ from the old mappings given in LYCharSets.c, and what is displayed
+ e.g., for umlaut characters may not be consistent, this still has to be
+ sorted out. It may just have become more visible now. - KW
+* Tweaks to some replacement strings in def7_uni.tbl; contributions of
+ more useful strings would be welcome... - KW
+* Removed mappings for invalid chars from some chartrans files, removed
+ Ethiopic chars from iso01_uni.tbl. - KW
+* Some other corrections and tweaks for chartrans mechanisms. - KW
+1997-10-21
+* Fixed handling of Control-D (delete character under the cursor) in the
+ line editor when the cursor is at the end of the line instead of on a
+ character in the string being edited. - FM
+* revised tests for wait/waitpid/union-wait. - TD
+* correct/update handling of default prefix in CF_WITH_PATH macro, used for
+ parsing --with-cfg-file and --with-lss-file options. - TD
+* add uninstall target to top-level makefile. - TD
+* remove redundant install options from $(INSTALL_DATA). - TD
+* add configure --with-lss-file option - TD
+* minor cleanup of gcc warnings, ifdefs. - TD
+1997-10-20
+* Mods in the CSO/PH gateway to set the anchor's safe flag to TRUE so the
+ user need not be bothered with confirmation prompts on resubmissions of
+ the search form. - FM
+* Tweaked the break point setting code in GridText.c for CJK di-bytes
+ so that one is set after a recognized "ESC(" ISO 2022 escape sequence
+ has been found. - FM
+1997-10-16
+* Tweaks to recognition of Japanese (better recognize x-euc-*), and to
+ the mechanism in GridText.c keeping track of which encoding is used for
+ Japanese. The state for this is now reset on explicit '\n' and '\r'
+ received by the HText object in addition to space chars. - KW
+* Tweaks in HTTP.c to avoid access to uninitialized memory and pacify
+ paranoid dbx. - KW
+* Try to more consistently remember the charset in effect for a document
+ when going to SOURCE view, using new LYUC{Push,Pop}Assumed functions.
+ Note that this is only in effect immediately when switching to SOURCE
+ view; any later reloading while within SOURCE view (including those
+ caused by RELOAD, RAW_TOGGLE and other keys, or by Options Screen changes)
+ may still revert to the usual assumption about charset, which means a
+ charset specified in a META tag may be forgotten at that point; this may
+ be considered a feature... - KW
+* Refer to TagSoup and SortaSGML parsing (coined by FM), rather than "old"
+ and "new" DTD. - KW
+* Made some of the changes concerning and removal and location changes of
+ files proposed by HN. - KW
+* Restored LYCheckForCSI example function to its previous form, with a check
+ added and comments added. - KW
+1997-10-15
+* Changed the order of display character set entries for the options menu
+ popup. "ISO Latin 1" and its "DosLatin1 (cp850)" and "WinLatin1 (cp1252)"
+ equivalents come first, then the system-based charsets (note that I
+ changed "IBM PC character set" to "DosLatinUS (cp437)"), then the CJK
+ and Vietnamese charsets, then "Other ISO Latin" (probably don't need
+ that one any more), then the known ISO 8859-# charsets with their
+ homologs (e.g, Dos and Win Cyrillic and KOI8-R) in groups, then
+ "UNICODE UTF 8" and the Unicode mnemonic charsets. - FM
+* Various fixes for color style code, should prevent memory corruption. - KW
+* Some LYCharUtils.c cleanup. - KW
+* Added some of the changes from fotemods to SGML.c, especially handling of
+ &zwnj; as allowing a line break, and conversion to UNICODE UTF-8. - KW
+* Mods in code handling mailcap lines, to avoid access to invalid memory. - KW
+1997-10-12
+* Added LYLeakSACopy and LYLeakSACat to LYLeaks.c. Running Lynx compiled
+ with LY_FIND_LEAKS defined will now give the source locations where
+ StrAllocCopy and StrAllocCat are used, if those create leaks. Added
+ missing include of LYLeaks.h in LYCookie.c. - KW
+* More heavy tweaks in LYCharUtils.c. Associated changes in HTChunk.c
+ (new functions), small change for -raw (in connection with attribute
+ values) in SGML_character. LYCharUtils.c is still a work in
+ progress... - KW
+* Tweaks to allow some chars as data input (0x97, 0x9b, 0xa0) if the
+ current display character set seems to have those values as printable
+ characters (by testing LYlowest_eightbit[]). - KW
+1997-10-11
+* Mods in HTFTP.c to recognize NetPresenz server (variation of AppleShare
+ claiming to be Peter Lewis server?, try current ftp://www.unicode.org/),
+ and to show server's identification from initial greeting on info
+ screen for FTP URLs. Other cosmetic changes in HTFTP.c. - KW
+* Fixed various memory leaks. - KW
+* Some more minor cleanup tweaks for color style code. - KW
+* Avoid unnecessary pauses if TRACE is on and a Trace Log file is in use. - KW
+1997-10-10
+* Renamed lynx_help/keystroke_commands/ directory to lynx_help/keystrokes/
+ for the benefit of DOS, and changed references accordingly. - KW
+* Changed parsing of command line options for -lss file, it should now
+ be used and override the default from userdefs.h or environment variables
+ as advertised. - KW
+* More tweaks and cleanup in HText_SubmitForm. - KW
+* Code to recover from memory exhaustion, sometimes. The requests for
+ dynamic memory which heuristically most often fail for lack of memory
+ when rendering large documents are the calloc() calls in split_line.
+ They are replaced by LY_check_calloc() which has the same calling
+ conventions as calloc() but additionally checks if "enough" memory is
+ available for the requested amount plus some margin and tries some
+ remedial action if this is not the case. The additional safety margins
+ are required to make it likely that other allocation requests in other
+ places of the program won't fail before the next check. The actions
+ which may be taken in order to avoid exiting if low memory is detected:
+ (1) Try to unload cached documents (other than the one currently being
+ loaded), until we seem to have enough memory. (2) If that fails (or
+ there are no other documents cached in memory), try to fake a 'Z' key
+ interruption; this will have the same effect as if the user had pressed
+ 'Z' so it will only detected if some other part of the program tests
+ HTCheckForInterrupt() and acts on it. (3) If this seems not to be
+ sufficient to stop loading, halt appending of normal text data to the
+ document structure (A warning *** MEMORY EXHAUSTED *** is appended
+ instead). - KW
+* A tweak of color style memory allocation. - KW
+1997-10-09
+* Some more tweaks from FM for VMS build - KW
+* For DJGPP compilation, src/chrtrans/makefile.dos - WS (Bill Schiavo
+ <Wschiavo@concentric.net>)
+* Some cleanup in Hext_SubmitForm (needs more). Start using ACCEPT-CHARSET
+ (doesn't recognize list yet, only recognized if on the INPUT field that
+ causes submission). - KW
+* Added two test files for iso-8859-2 charset. - KW
+* Tweaks in LYMainLoop.c for various keys that page up, to better preserve
+ keep the current link selected if possible and to correct a glitch with
+ UP_LINK. - KW
+* Reorder text/html and text/plain to the beginning of HTPresentations list,
+ so they will be found more quickly and will appear at the beginning of
+ Accept request header fields. - KW
+1997-10-08
+* add logic to implement mouse button 2 "previous document" for
+ ncurses configuration. - TD
+* add dependencies on 'lynx' to top-level 'all' and 'install' rules
+ in makefile.in - TD
+* add osf4.0 to special case compiler options using -g3 in place of
+ -O -g, for Heikki Kantola <hezu@iki.fi>. - TD
+* correct some of the uninitialized-variable warnings. - TD
+* Removed the compilation of the old libwww-FM HTAlert.c module for VMS,
+ as previously removed for Unix. - FM
+* Added comments and tweaks of build.com, build-slang.com and libmake.com,
+ (and a complementary tweak of tcp.h) to make more clear how compiler
+ definitions and compiler and linker options can be added. - FM
+1997-10-07
+* Changed PROBLEMS file for ^Z and for "forgetting emphasis of link text"
+ problem (which shouldn't occur any more). - KW
+1997-10-05
+* Changed SGML.c parsing of unrecognized and invalid start tags. If the
+ '<' character in HTML is followed by a 7-bit letter character, we now
+ do tag parsing even if the element name is not recognized, instead of
+ going to 'S_junk_tag' mode, so that a '>' embedded in an attribute value
+ (which may also be part of a CJK character's encoding) will not
+ prematurely end the tag. (But "soft double-quotes parsing" mode is
+ recognized.) Treat a '<' followed by most other 7-bit chars as data,
+ i.e., recover it and the following char. - KW
+1997-10-04
+* Corrected check for empty string at beginning of LYUnEscapeEntities. - KW
+* Squeezed option for "Assume charset if unknown:" into Options screen.
+ It is selected with a control char (^A), is only available in Advanced User
+ mode, and the value is currently not saved into .lynxrc with '>', i.e.
+ for a persistent change lynx.cfg has to be modified (or use an alias or,
+ for DOS, a batch file to call lynx with -assume_charset=...). The
+ interaction with the Raw M(O)de setting may be confusing (or confused :) ),
+ and it is possible to set nonsensical values that have no effect. - KW
+* Changed order and criteria of transformation attempts in HTPlain.c to
+ be more like SGML.c. For plain text KOI8-R would use 8-bit stripping
+ to early. HTPlain_write still is too different from SGML_character... - KW
+* Reinstate the slash after special interpretation of /~ at beginning of
+ file URL path for DOSPATH - DK
+* Changed SGML_character to not try to convert attribute values to UTF-8
+ if HTCJK is in effect (arrggh!) - KW
+* Changed effect of -raw / '@' for CJK display character sets: it now toggles
+ the effective charset assumption between that specified with ASSUME_CHARSET
+ or -assume_charset (or iso-8859-1 if none given) and the charset that
+ corresponds to the selected display character set, as for non-CJK. An
+ exception is made if both charsets are CJK charsets, so that the toggle
+ will still have the function of toggling CJK mode on and off. Explicitly
+ specifying a CJK charset as assumed is currently not very useful, since we
+ cannot translate from that to other character sets. - KW
+* Oh, by the way: compilation without defining EXP_CHARTRANS won't work any
+ more. Regard #ifdef EXP_CHARTRANS as some strange kind of comment for
+ now, until it goes away. - KW
+* Write comment at top of .lynxrc file to make clear that it is different
+ from lynx.cfg, suggested by LV. - KW
+1997-09-30
+* Changed order of display character sets on options screen a bit, and
+ corrected charset listings in lynx.cfg and userdefs.h files - KW
+* Added comment on lynx.lss in userdefs.h, moved it. - KW
+1997-09-27
+* Made TRACE messages which correspond to BAD_HTML_USE_TRACE warnings stand
+ out more by decorating them with ***** characters, so that users who
+ follow the BAD_HTML_USE_TRACE advice can more easily find the relevant
+ messages. - KW
+* Reworked LYUnEscapeEntities() while loop into a (hopefully) more
+ understandable and consistent state-based switch, and integrated
+ LYUnEscapeToLatinOne functionality. - KW
+* Non-ASCII characters in URLs and similar strings encountered in the HTML.c
+ processing (previously handled by LYUnEscapeToLatinOne) are now generally
+ URL-encoded, instead of doing this just for 8-bit characters which are
+ the result of entity expansion. There is no clear standard definition what
+ non-ASCII characters in URLs in HTML attributes (HREF etc.) actually mean,
+ especially if the transmission character encoding is something else than
+ iso-8859-1. Leaving them as the raw byte values as received runs against
+ the HTML i18n view that the transmission encoding is distinct from the
+ document character set and has to be (conceptually at least) decoded before
+ SGML parsing. It also won't work in general for entities that expand to
+ to Unicode characters which cannot be expressed at all in the currently
+ effective (or assumed) charset, and would lead to problems with displaying
+ URLs on the statusline or representing them in auxiliary screens or bookmark
+ files. So now we try to first transform to the document charset "as usual"
+ (undo the transmission encoding), then translate the Unicode value into a
+ sequence of (one or more) byte values which are then URL-encoded. Since
+ character values > 255 cannot be expressed in a byte, always use UTF-8
+ for them. It may not be what the author intended, but should be at least
+ consistent between internal (fragment) HREFs and NAME (or ID) attributes
+ in the same document or set of documents. Since this is dealing with
+ bytes currently disallowed in URLs, it falls under error recovery. But
+ the handling should be roughly in line with current Internet Drafts
+ (draft-masinter-url-i18n-00.txt, draft-duerst-query-i18n-00.txt,
+ draft-ietf-ftpext-intl-ftp-02.txt).
+ For character values < 256 (but > 127) this isn't currently consistently
+ done, we may still be URL-escaping the byte value without UTF-8 encoding -KW
+1997-09-25
+* Integrated the attribute and form field translation stuff from separate
+ code line. This is still a rough attempt. Needs testing and refinement,
+ for various character set situations, expect glitches and bugs. - KW
+1997-09-24
+* Removed the compilations of the old libwww-FM HTInit.c and HTFWriter.c
+ modules for VMS, as previously removed for Unix. - FM
+* Added other changes from FM's feedback for VMS. - KW
+* Fixed a bug in the SGML unescaping of OPTION values. - FM
+* Fixed a bug in the SGML unescaping of TEXTAREA text. - KW
+1997-09-23
+* Fixed file 'E'dit command from dired directory listing, which I had
+ broken in 2.7.1ac-0.69. - KW
+* Added -width=NUMBER option to specify line width for non-interactive
+ formatting (-dump output). Also used by -preparsed source mode. - KW
+* Changed suffix mapping mechanism to deal with "real" content-encoding
+ parameters (gzip, compress) in addition to 7bit, 8bit, and binary. Added
+ a new field for brief descriptive text, so that the MIME type doesn't have
+ to be abused for this purpose, but left most settings in HTInit.c unchanged
+ for now. - KW
+* Changes in HTFWriter.c and HTFile.c so that we don't forget the file type
+ and encoding information we already have for a compressed file when passing
+ control to HTLoadFile (possibly after uncompression). - KW
+* Introduced FNAMES_8_3 symbol (for DOS 8+3 file system), and HTML_SUFFIX
+ which should be defined as ".htm" for DOS and ".html" otherwise. Various
+ tweaks to deal with systems with 8+3 restricted filenames, in general and
+ in connection with uncompression. - KW
+* Applied diffs from FM for VMS, compared with recent fotemods. - KW
+1997-09-21
+* Use 0.01 rather than 0.001 as the q value for inserted iso-8859-1 and
+ us-ascii charset parameters in Accept-Charset headers. - FM
+* Added internal buffering of I.value elements in HTML_start_element()
+ of HTML.c. - FM
+1997-09-20
+* Show HTTP header for all 2xx status codes (including 204-206) if requested
+ with HEAD or -head. - KW
+1997-09-19
+* Modified the Unix "strange character" filter in exec_ok() of LYGetFile.c
+ to allow '+', '&' and '=' characters. - FM
+* minor ifdef/declaration fixes required to build on IRIX 6.2,
+ SunOS (K&R) and VAX C. - TD
+1997-09-18
+* Try again after interrupted waitpid() in LYLoadCGI(), as in LYExecv() - KW
+* Tweak in LYKeymap.c to bypass the isalpha() test for non-ASCII values,
+ including values > 255 mapped to arrow keys, etc., when generating the
+ 'k'eymap display. - KW
+* Changes to prevent many (but not all) compiler warnings about `const'.
+ Not that this is different from TD's recent changes. Also some other minor
+ tweaks relating to (gcc) compiler warnings. - KW
+1997-09-17
+* Mods in GridText.c to use HTEscapeSP() for space-to-plus conversions of
+ name fields, and not just value fields, in submitted form content. Note
+ that some CGI scripts may still be doing plus-to-space restorations only
+ for value fields, and only hex unescaping for name fields, while others
+ may not be hex unescaping the name fields, so we may as well follow the
+ specs fully (and cross our fingers :). - KW, FM
+* merge symbols 'has_color' and 'lynx_has_color' to simplify ifdef's,
+ and correct a problem building color-style configuration. - TD
+* add configure symbol for ifdef'ing presence of waitpid, which
+ was stopping build on HP-UX. - TD
+* correct the symbol that is defined by CF_SIZECHANGE test, noted
+ by failure to build SCO version after making an include for
+ <sys/ioctl.h> ifdef'd according to configure test. - TD
+* corrected check for broken (pre-1.9.9g) ncurses versions so that
+ they can build with color support. - TD
+* cache state of CF_NETLIBS so that rerunning configure will yield
+ the same results for network libraries. - TD
+* Add configure test for HP-UX -lHcurses library. - TD
+* Minor adjustments to names of configure-script variables, to make
+ them the same as other programs (e.g., tin-unoff). - TD
+1997-09-16
+* Added code to JKT's and KW's mods in LYPrint.c to also handle VMS, i.e.,
+ set the document's title as a logical on VMS (can be accessed via
+ f$trnlnm("LYNX_PRINT_TITLE") in scripts). - FM
+* Smaller cleanups here and there - FM, KW
+1997-09-15
+* Recover from bad sequence "<=" in SGML.c by outputting those characters
+ literally. - KW
+* Try again after interrupted waitpid() in LYExecv(). - JED
+* Some tweaks in new DTD, some doc typo corrections. - KW
+1997-09-13
+* Changes in LYConvertToURL() for better handling of the case when the
+ pathname of the current directory (when Lynx is invoked) contains
+ unusual, URL-reserved characters (especially '#') and we test for
+ a relative but URL-encoded path. (no change for VMS) - KW
+1997-09-13
+* Changes in LYStrings.c to enable keypad() processing for non-NCURSES
+ if HAVE_KEYPAD is defined. - KW
+1997-09-12
+* Correct mismatch/omission of HAVE_TYPE_UNIONWAIT symbol from
+ change for wait vs waitpid. - TD
+1997-09-11
+* Tweaks in HTMLGen.c for display of special characters and line breaking
+ with -preparsed. - KW
+* Got rid of use of underlining together with reverse for non-current
+ links for (n)curses if color is not used. - KW
+* Small HTMLDTD.c changes for new parsing. - KW
+* Change in SGML.c to always recognize SOFT HYPHEN when given as &#173. - KW
+1997-09-10
+* Modify CF_WITH_PATH to allow substitution of --libdir and other
+ configure options pathnames, e.g., for --with-cfg-file. - TD
+* Include lynx_cfg.h in userdefs.h to resolve redefinition reported by
+ AAC. - TD
+* Remove Ultrix/sony_news -specific ifdef's for curses headers,
+ replace with configure-tests. - TD
+* Remove AIX/NeXT/sony_news -specific ifdef's for wait vs waitpid,
+ replace with configure-tests. - TD
+* Add/use CF_HELP_MESSAGE macro to visually break down the very long
+ help message into sections. - TD
+* Move the development options to the beginning of the configure script,
+ to facilitate adjustment of compiler options (especially for Ultrix)
+ to reduce the number of spurious warnings from miscombining -g/-O
+ options. - TD
+* Correct misplaced assignment to cf_cv_ncurses_header in configure.in,
+ which caused misconfigure against vendor curses, reported by Hynek Med
+ (Ultrix) and Roger Hill (HP-UX 10.x). - TD
+1997-09-09
+* Added arguments to the multinet_htons() and multinet_ntohs() declarations
+ in tcp.h. - FM
+* Tweak of the this_MIMEcharset[] and this_LYNXcharset[] checks in
+ makeuctb.c. - FM
+* Replaced the index() and bcopy() with strchr() and memcpy() in the
+ putenv() for NeXT in LYUtils.c. - FM
+1997-09-08
+* Added a -preparsed flag, to be used with -source or with SOURCE view.
+ When invoked with this flag, show HTML text as it is output from the SGML
+ parsing stage, regenerated via HTMLGen.c functions, rather than the usual
+ more raw rendering (in SOURCE view) or the original byte stream (as with
+ the -source flag, possibly with BASE information prepended). Lynx will
+ attempt to wrap the text to screen width (or 80 cols for the -source flag),
+ but will not always succeed. Unrecognized tags and attributes as well as
+ comments are dropped, attributes reordered, missing end tags supplied,
+ abd other changes made, showing how Lynx internally treats the document's
+ structure. This is probably most useful for debugging (of either Lynx's
+ parsing or of HTML documents, although a real validator should be used for
+ the latter!). It can also be instructive to switch the DTD parsing mode
+ (with the ^V key) while viewing preparsed source.
+ Note that this doesn't work so well now with character translations and
+ entity expansion don't work well now, showing some of the same problems
+ which appear for rendered documents and dropping some characters. Making
+ those problems of parsing more directly visible was one of the motivations
+ for this flag. Also note that META tags which may contain charset info
+ are never interpreted when using -source (with or without the -preparsed
+ flag), but when interactively switching to SOURCE view, Lynx MAY remember
+ that charset info from the previous non-SOURCE full parsing (again this
+ applies with or without -preparsed); the INFO screen should always show
+ the assumption currently in effect. - KW
+* Updated some HTMLGenerator functions to use line wrapping logic found in
+ newer libwww versions, and further mods in HTMLGen.c. - KW
+* Tweaks to use of chartrans stages, should now better preserve charset
+ info from META tags even in compressed HTML files. - KW
+* Fixed a problem with LYCheckForCSI which could lead to crashes. - KW
+1997-09-06
+* Modifications to allow the Lynx lynxcgi feature to process
+ PATH_INFO in addition to QUERY_STRINGS in URLs. DOCUMENT_ROOT
+ may be set by the user in lynx.cfg and is then passed as well.
+ If DOCUMENT_ROOT is set, then PATH_TRANSLATED is calculated and
+ passed as well. - JKT (J Kevin Ternes <jkternes@mindspring.com>)
+* Changes to LYPrint.c to put the variable LYNX_PRINT_TITLE
+ into the system()'ed environment for use by post-Lynx, pre-lp
+ formatting scripts. LYNX_PRINT_TITLE is simply generated by
+ calling HText_GetTitle(). - JKT
+* Corrections to JKT's mods (to avoid memory leaks etc.). Avoid
+ unnecessary stat() calls. Other fixes in LYCgi.c. Make
+ setting of HTTP_ACCEPT_CHARSET actually work. Now URL-unescape
+ the path in lynxcgi URLs before doing anything with it.
+ Better logic for when to check for restrictions, the previous checking
+ for !reloading could be easily circumvented. Also check whether
+ the full path including a possible PATH_INFO passes the restrictions
+ test by exec_ok(), to catch "../" segments. Don't try to handle
+ a non-executable lynxcgi URL as a file URL if there was a PATH_INFO
+ part, it gets too confusing. Strip '#' fragments from the lynxcgi
+ path, but leave the interpretation of '#' characters after a '?' as
+ before so that they are still regarded as part of the query or search
+ string. If PATHINFO is present, unescaped '#' characters in it will
+ still be rejected by exec_ok(). - KW
+* added a bit of text about running ./configure to INSTALLATION
+ file - David Combs (<dkcombs@netcom.com>), KW
+* Added a translation table for Vietnamese (VISCII), and associated code
+ changes. See the file viscii_uni.tbl. - KW
+1997-09-05
+* Mods in LYGetFile.c to retain a fragment on redirection if the redirection
+ URL does not include a fragment. - FM
+1997-09-04
+* Correct ifdef'ing for getbkgd function calls. - TD
+* Correct ifdef'ing for remaining inline chmod calls. - TD
+* Consolidate various logic for opening secure files into utility
+ functions, correcting portability problems as well. - TD
+* Add configure option --with-cfg-file to override default location of
+ Lynx configuration file (requested by Laura Eaves). - TD
+* Strip -g option from CFLAGS for the non-debug version of Ultrix
+ configuration (requested by Hynek Med). - TD
+* Add configure test for HP "color" curses (noting that this cannot
+ possibly comply with XPG4 due to naming conventions, we'll expect
+ other problems with it). - TD
+* Add checks to configure test for COLOR_CURSES to work around bug
+ report for HP-UX. - TD
+* Don't cache configure options except where essential (e.g., the
+ setting of 'screen'). - TD
+* Change some configure options to disable/enable for consistency. - TD
+1997-09-03
+* Tweaks in HTML_put_string() and LYUnEscapeEntities() to deal with line-
+ breaks within attributes more consistently, and more independently of
+ which convention is used (CRLF, CR, or LF). - KW
+* Tweaks to prevent a few compiler warnings. - KW
+* Tweaks of the iso06_uni.tbl and iso08_uni.tbl files now compiled in.
+ Note that a replacement character or string to replace invalid or
+ unrecognized characters can be defined by mapping the Unicode value
+ U+FFFD, which is done here (for testing, and because these two charsets
+ have a lot of undefined code points). Also some mods in default 7-bit
+ table for some Hebrew characters and points. - KW
+1997-09-02
+* Mods to include "ISO 8859-6 Arabic" and "ISO 8859-8 Hebrew" in the display
+ character set options (Note, though, that Lynx presently has no code to
+ deal overtly with non-Latin directionalities.). - DK, FM
+1997-08-31
+* Mod of HTMIME.c to ignore any Content-Encoding header with a value of
+ "identity" (case insensitive). Shouldn't happen, but better safe than
+ sorry. - FM
+1997-08-28
+* Correct a quoting error in CF_RECHECK_FUNC macro. - TD
+1997-08-27
+* Further refine/correct configure macros for finding network and curses
+ libraries, adding CF_RECHECK_FUNC to simplify CF_NETLIBS. - TD
+* Rename #define for NCURSESHEADER to HAVE_NCURSES_H, for consistency. - TD
+* Add-back test for -lm to support slang shared libraries. - TD
+* Modify test for disentangling ncurses library from mytinfo on FreeBSD
+ to workaround linker limitation. - AAC
+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
+* Tweak to LYHistory.c to better remember last position on page. - KW
+* Eliminated two more MIME types (application/html and text/x-sgml) from
+ the Accept header generated by default by setting the q-value to 2.0,
+ since there are more standard alternatives for these names. - KW
+* Lower maximum length for generated Accept header lines from 1000 to 252,
+ to accommodate an incompetent Windows HTTP server. - KW
+* Changed order of some functions in LYCharUtils.c (no other change there
+ yet). - KW
+1997-08-20
+* Modify top-level install rule to depend on 'all'. - TD
+* Suppress check for ANSI compiler when we are using gcc. - TD
+* Use -g3 option in place of -O -g for Ultrix compiler --debug configuration
+ (request by Hynek Med). - TD
+* Drop "-lm" library from slang configuration, since it does not seem to
+ be used. - TD
+* Add configure --includedir and --oldincludedir values to header search
+ path for ncurses and slang. - TD
+* Modify configure checks for ncurses and slang libraries to generate
+ -L options as required, using new macros CF_FIND_LIBRARY and
+ CF_LIBRARY_PATH. - TD
+* Add substitution for CPP in src/makefile.in so that .c.i rule works. - TD
+* Add configure test for lint program. - TD
+* Add "make depend" target to generated makefiles. This is intended only
+ for use in editing/developing, since many of the header dependencies in
+ chrtrans are generated during the build process and cannot be determined
+ by makedepend in advance. - TD
+* Add configure option --with-zlib. - TD
+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
+* Use 0.01 rather than 0.001 as the q value for the global wildcard in
+ Accept headers. - FM
+* Put up correct makefile for dos port (oops) - WB
+1997-08-16
+* Mini tweaks for the win-dos ports. One fix for the pull down boxes
+ and the rest mostly maintenance. - WB
+* Fixed a bug in LYNews.c which caused overwriting of the first three
+ characters in the Subject for a followup. - FM
+1997-08-15
+* Hack in highlight() to preserve a '-' character at the end of line
+ within anchor text, which can result from splitting at the position
+ of a &shy; or <SHY> or SOFT HYPHEN character. - KW
+* Tweaks in print_wwwfile_to_fd print_crawl_to_fd to output a soft hyphen
+ character if it is present at the end of a line. For -dump, a raw
+ ISO 8859 SOFT HYPHEN character may be written if the Display Character
+ Set (default from lynx.cfg or saved value in .lynxrc) is an ISO 8859
+ character set, but this may be overridden with the -raw toggle.
+ Otherwise represent soft hyphen with '-' as usual. - KW
+* 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
+* Various tweaks in HTNews.c to HTHandleAuthInfo() and elsewhere, to
+ keep connections open more often in some common cases of non-fatal
+ errors, and also avoid trying to use the network socket after some
+ recognized case of closing by the server. Only based on some testing
+ with INN's nnrpd, not on any written specs. - KW
+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
+* Added code in HTFWriter.c to avoid calling HTLoadFile() on the temporary
+ file which results from decompression of a temporary file created by
+ HTCompressed(), if this would just result in making a copy of the file
+ and then invoking an external viewer. Instead the viewer command is
+ now invoked directly from the HTFWriter_free of the HTCompressed()
+ stream after decompression. - KW
+* Added code in HTFWriter.c, HTFile.c, and HTFormat.c to support reading
+ of gzipped local files directly, using functions from the zlib library.
+ Note that gzipped files from remote servers are still first copied to
+ a temporary file before lynx can process them further, and an external
+ GZIP_PATH command is still needed at least for passing such files to an
+ external viewer, as well as for various DIRED_SUPPORT File menu functions.
+ To activate this code, the symbol USE_ZLIB has to be defined, it is
+ currently not set by the auto-config script. The zlib library may be
+ already installed on your system (probably called libz.a or libz.so.1
+ or similar, the required header files are zlib.h and zconf.h), otherwise
+ it is available through <http://www.cdrom.com/pub/infozip/zlib/>, it
+ appears to support all platforms for which lynx is available (including
+ VMS, DOS, MS Win32). Note that this library would probably also be
+ needed if in the future support for the HTTP/1.1 "deflate" content-coding
+ is added. - KW
+* 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
+1997-08-13
+* Tweaks of LYConvertToURL() in LYUtils.c and HTParseInet() in HTTCP.c
+ to deal more coherently 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 distinguish 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-09
+* Changed the code of 1997-08-06 which modifies suggested filenames for a
+ 'D'ownload to be more cautious: don't remove a '.gz', '.Z' etc. suffix
+ if there is no header indication that we have a compressed file. Not
+ all servers and gateways (including the internal FTP gateway) detect
+ and label compressed content reliably. - 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, KW
+* Tweaked MULTI_SUFFIX support in HTFile.c, so that it now somewhat
+ works. Dunno whether it's useful for anybody. - KW
+1997-08-07
+* Tweaks of yesterdays mods in GridText.c. - FM
+* Correct storage class of variables in UCMap.h, from -warn-common linker
+ option. - TD
+* Refine configure tests for acs_map, ttytype to accommodate broken linker
+ on FreeBSD 2.1.5 - TD
+* Modify README.configure to indicate the associated definitions for
+ each configure option, as suggested by Klaus Weide. - TD
+* Correct duplicate declaration of Current_Attr, which Linux linker ignores
+ (reported by Hynek Med). - TD
+* Add -G7 option to Ultrix compiler options (request by Hynek Med
+ <xmedh02@lada.vse.cz>). - TD
+* Add include for <sys/types.h> to utmp configure test (reported by Andrey
+ A. Chernov). - TD
+* Add check for FreeBSD library mytinfo (reported by Andrey A. Chernov
+ <ache@null.net>). - TD
+* Modify ./makefile.in so that 'all', the default target, will build the
+ Lynx executable. The old 'all' target is retained as "make help". - TD
+* Modify src/makefile.in to allow development compiles within the src
+ directory. - TD
+* Mask spaces in the bkgd (background attribute) calls for color curses to
+ make the color-style code work better with SVr4 curses. - TD
+* Change workaround for 8-bit acs characters by adding to the initialization
+ a loop forcing the entries of acs_map[] to 8-bits. - TD
+* Many minor tweaks for the DJGPP version by DK - WB
+* A rename of about_lynx_dev.html to lynx_dev.html for 8.3 systems - WB
+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 latest 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
+* 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, KW
+1997-08-04
+* 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
+* Block URLs with port numbers outside the range of valid numbers in
+ getfile(). - KW
+1997-08-03
+* 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
+* 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 typedef for HTCoord in HTStyle.h from float to int, for
+ significant speedup of rendering on machines without floating-point
+ hardware based on DW's, KW's, BL's analyses. 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, see
+ 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
+1997-07-30
+* Added workaround for curses with broken handling of 8-bit acs characters
+ (which may be used for drawing of popup boxes) to LYCurses.h. This fixes
+ box characters and attributes/colors for solaris curses used with linux
+ console as terminal. Currently it is not automatically enabled or
+ configured, but can be enabled by -DBROKEN_CURSES_8BIT_ACS. - KW
+* Mod in HTFWriter.c to change the statusline appropriately when an
+ uncompression has completed. - FM
+* Fixed code in LYOptions.c for the case when NEVER_ALLOW_REMOTE_EXEC was
+ not defined and ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS was defined. - KW
+1997-07-28
+* Avoid traversing the full list of anchors each time when HText_endAnchor()
+ is called with a non-zero anchor number, if that number corresponds to
+ the last anchor added to the HText structure. It is is the most common case
+ that HText_endAnchor() refers to the last anchor, and the only case that
+ could be handled correctly before FM's changes of 1997-05-13. Avoiding
+ the loop over the list of anchor can improve loading time significantly,
+ especially for large files with thousands of anchors. - KW
+* Add progress display and 'z'appability for loading of local files.
+ They are activated only after a few hundred k bytes have been read.
+ Added define for HT_PARTIAL_CONTENT to HTUtils.h, used in above.
+ (The WWW Library 5.x uses HTTP-ish status codes like this throughout.
+ I find it much less confusing than -29998 and so on, and there's no
+ conflict in this case. - KW
+* Minor LYUtils.c tweaks. - KW
+1997-07-27
+* Changed code for checks in LYGetFile.c for URL schemes which should
+ be rejected when received as redirections, added checks for more
+ schemes. - FM
+* Rename top-level Makefile to Makefile.old (it's obsolete) - TD
+* Reduce top-level targets to one, 'lynx' - TD
+* Move comments describing DirEd to README.configure from makefile.in,
+ leaving only the definitions that haven't been integrated yet. - TD
+* Add configure options to enable/disable DirEd and its associated modes. - TD
+* Add configure option to enable/disable char-trans support. - TD
+* Correct sense of autoconf'd symbol for size-change. - TD
+* Accommodate systems with obsolete ncurses.h in configure tests. - TD
+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
+* Changed the default value for STRIP_DOTDOT_URLS (lynx.cfg) to TRUE. - KW
+* Made some of the additional checks introduced yesterday in LYMainLoop.c
+ for invalid links to internal dired URLs more strict, as they probably
+ were intended. - KW
+* Added checks for some internal URL types, which should be rejected
+ if received in a server redirection, to LYGetFile.c. Maybe more types
+ should be added to the list. - KW
+1997-07-25
+* Map charsets of the form "ibmNNN<...>" to "cpNNN<...>" in UCdomap.c
+ if not already recognized. Also recognize "windows-1252". - KW
+* Compared the handling of 4-way "show color (&)" in the 'o'ptions menu
+ against FM's implementation, and made some changes (mostly in formatting,
+ variable and constant names and usage, ordering of statements) to aid
+ further comparison. The logic is still messy and needs further cleanup
+ and simplification, but seems to do what it should. Note that this
+ also handles color-curses, in a (hopefully) reasonable way. Command
+ line flags -nocolor and (if using slang) -color override a preference
+ found in the RC file. See updated "Lynx Users Guide" file and the
+ comments written to the RC file.
+ Documentation changes adapted from FM's changes. - KW
+* 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
+* Made "show color" option a 4-way choice, if compiled with color support
+ and if saving of options to a .lynxrc file is allowed. - KW
+* Made changing file permissions with DIRED_SUPPORT work again; one of
+ the recently added checks in LYMainLoop.c was too restrictive.
+ Added protection to permit_location in LYLocal.c, similar to the changes
+ of 1997-06-24 to LYDownload.c. - KW
+* Generate CANCELLED message when editing of a string value on the Options
+ Screen has been cancelled (typically with ^G), instead of an
+ inappropriate VALUE_ACCEPTED statusline. - KW
+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
+* Make -nocolor command line flag work if compiled with slang. Note that
+ -nocolor is strong, it overrides all other reasons that might otherwise
+ turn color on. - KW
+* Tweaks in LYCurses.c to ensure that slang library and Lynx flags for
+ whether color support is on stay in register. - FM
+* Change the default in userdefs.h for SHOW_COLOR to FALSE for USE_SLANG.
+ Because of the different logic used for LYShowColor in the curses code
+ vs. slang code, setting SHOW_COLOR to TRUE makes it difficult to invoke
+ a binary compiled with slang so that color is not used on startup
+ (except by using -nocolor).
+ Note that reading show_color from .lynxrc is still commented out. - KW
+* There is now a "trailing comment" handler in LYReadCFG.c. 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
+* Added TT to the Utterly Tag and Attribute Soup group of HTML elements. - FM
+ (applies only to "old" DTD in this code set, as usual - KW)
+1997-07-22
+* Modify curses popups in LYForms.c and LYOptions.c to use background color
+ from main window - TD
+* Ifdef'd out the logic that saves "show color" to .lynxrc, since it is
+ deemed to be confusing to users - TD
+* Merged FM's changes to the "show color (&)" toggle to save to .lynxrc,
+ support slang, update online documentation - TD
+* Add error message to show actual context in error-checking for color
+ parsing suggested by Filip M Gieszczykiewicz - TD
+* Check for/suppress duplicate -lsocket in network library configure - TD
+* Remove HP-UX snake2/snake3 targets from makefile.in - TD
+* Add configure script case for 'sequent', drop ptx, ptx2 targets from
+ makefile.in - TD
+* Add logic to configure script handling of slang to suppress spurious
+ -Ipredefined when header location is given in $CFLAGS - TD
+1997-07-21
+* Check for lynx_uses_color and LYShowColor in lynx_start_status_color()
+ and lynx_stop_status_color() of LYCurses.c so that the statusline
+ will appear reverse (or otherwise highlighted if the terminal doesn't
+ support reverse), if color support is compiled in but not currently
+ used. - KW
+* Added comments on color usage to lynx.cfg. - KW
+1997-07-20
+* Added command-line option "-nocolor" to disable color on terminals that
+ would otherwise support it. Added options toggle for colors, tested
+ with ncurses. - TD
+* Remove option value from configure option "--with-color-styles". - TD
+* Correct background of popups in LYOptions.c - TD
+* Add configure check for compiler options to enable prototypes - TD
+* Remove IRIX "-cckr" compiler flags. - TD
+* Correct whitespace as per LPS: LYCurses.c, LYOptions.c - TD
+* Tweaks of LYMainLoop.c in the code controlling how 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). - FM
+1997-07-18
+* 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. - BL, FM
+* Include an unsigned char typecast in the HASH_FUNCTION definition for
+ HTAtom.c - CK
+* Modified change to is_url() of 1997-07-13 to check for the slash after
+ stripping any lead space characters. - FM
+1997-07-16
+* Added the Windows Cyrillic display character set. - AAC
+ (Andrey A. Chernov <ache@null.net>)
+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
+ capabilities. 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...) - FM
+1997-07-13
+* 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
+* Added support for "MACOS AppleShare IP FTP Server" to HTFTP.c.
+ Only based on and tested with (the current incarnation of)
+ <ftp://www.unicode.org/>. - KW
+1997-07-12
+* Correct some build issues with the merge (ifdefs for the curses modules)
+ as well as minor fix for makefile distclean rule. - TD
+* 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
+1997-07-10
+* Synchronized the development code against the fotemods patches up to
+ 1997-07-06 (relevant changes listed below, as usual). Note that FM
+ has now included the chartrans code, but has eliminated conditional
+ compilation of it; however, in this code set setting "-DEXP_CHARTRANS"
+ at compile time is still necessary (but compilation without it has not
+ been tested). - KW
+* Fixed character counting logic in display_line() for lines where
+ soft hyphens (&shy; or <SHY> or a soft-hyphen character) are used
+ for their intended purpose. - 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. - FM
+* 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. - HN
+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
+* Make NOCACHE ('x' key) work as expected from history list for internal
+ links. - KW
+* Removed bogus checking for a config file in home directory which had
+ been introduced into the development code. - KW
+1997-07-08
+* Synchronized the development code against the fotemods patches up to
+ 1997-06-24 - TD, KW
+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). - 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 in Makefile. - FM
+* The above two changes don't affect the makefile used by auto-config - KW
+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
+* 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
+* Changes in LYCurses.c, GridText.c, HTML.c, and LYUtils.c, and smaller
+ changes to some other files, to fix problems with RP's style code.
+ Color leaking should now be at least much reduced, and some possible
+ crashes avoided. - KW
+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-23
+* remove "Styles" identifier from Lynx version string in userdefs.h
+ since it causes "patch-o-matic" to choke. - JES
+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 if compiled without chartrans enabled. - FM, KW
+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 highlighting 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
+* 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
+* 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 into the fotemods code 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 LYList.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 severely 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. - FM
+* Cast 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 goto 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
+* changes to help files to reflect the different prompt string. - KW
+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
+* Eliminated in the fotemods code 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 configurable style sheets, so there's no
+ point letting this bug ride, nor trying to deal with it through
+ temporary internal mods, in the fotemods 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 fortuitously (e.g., due to subsequent
+ paging). - FM
+* Modified the caching-related changes of 1997-05-15 to LYMainLoop.c,
+ handling automatic reloading after a change of the User-Agent string
+ like after comparable other option changes.
+ We 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-24
+* integrate patch JED's mods which support mouse for slang as well as add
+ new functions to encapsulate differences between slang/curses. - TD
+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
+* correct 2 occurrences of "me->inFONT == TRUE;" in HTML.c - TD
+* add configure --with-color-style option to merge RP's alpha changes for
+ color styles (this works only with ncurses, since it does not initialize
+ the window background, leaving it null, thereby exploiting a bug in
+ ncurses which sets null backgrounds to a space). Also some whitespace
+ (and renamed CS to make this build w/o ncurses) - TD
+* test-built with ncurses 1.8.7, 1.9.4, 1.9.9e and 4.0, as well as bsd 4.4
+ curses and slang - TD
+* 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
+* Tweaked SIGTSTP interrupt handler in the USE_SLANG for-unix code, so
+ that it gets set to SIG_DFL when stop_curses() is called, to prevent
+ strange interferences experienced when ^Z is used while a helper
+ process is in the foreground. - KW
+* Change in LYForms.c to prevent forced screen refresh after selection
+ from a popup box. - KW
+1997-05-19
+* 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
+* in the USE_SLANG for-unix start_curses(), honor the no_suspend flag
+ if set. This implements -restrictions=suspend handling for slang
+ (although it was intended for curses implementations which have
+ problems with ^Z within Lynx; see the PROBLEMS file).
+ Note that the no_suspend flag cannot be suspected to have
+ the desired effect if lynx is executed from a shell script, unless
+ the shell process forked for the script also ignores the SIGTSTP
+ signal generated (usually) by the ^Z key. Also if the user is
+ allowed to execute any helper process (VIEWER, PRINTER, etc.) which
+ does allow suspending while no_suspend is in effect for the Lynx
+ parent process (by overriding the SIG_IGN setting done by Lynx or by
+ other means), then suspending may still be possible, in addition to
+ strange effects either immediately or when the process or process group
+ is continued (wrong tty and screen state, zombie processes, total
+ hang of the session without any way to interrupt - you get the idea...).
+ Trying to use the suspend restriction in order to prevent users from
+ getting a shell prompt doesn't make much sense anyway when they are
+ allowed access to execute commands which may be interrupted or allow
+ escaping to a shell... - KW
+* 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
+* Changed the line where a WHEREIS search target should preferably be
+ displayed to the 4th line (not counting the title line). This can
+ be changed by redefining SEARCH_GOAL_LINE in userdefs.h.
+ SEARCH_GOAL_LINE can also be a simple expression in terms of the
+ variable display_lines, e.g., `#define SEARCH_GOAL_LINE (display_lines/3)',
+ this should then automatically adapt to screen size changes (provided the
+ display system can deal with that...)
+ Note that this this goal line will normally not be used if the next
+ target, according to the algorithm Lynx uses, is already on the displayed
+ screen. Also, when the displayed page changes to show a search result,
+ there is no guarantee that it will end up on the line set by
+ SEARCH_GOAL_LINE. It should rather be regarded as a maximum.
+ For example the presence of anchors on the line with the target or on
+ the preceding lines will change the positioning. - KW
+* The SEARCH_GOAL_LINE line will also be used for "going to" a link with
+ 'g' suffix at the "Follow link ..." prompt, although the algorithm is
+ quite different. As for a search target, this only applies when Lynx
+ has to position to a different page of the document, and then is only
+ a maximum. - KW
+* Enabled the no-cache setting for the pseudo document Lynx creates for
+ a client-side image map in LYMap.c, for now. - KW
+* Minor typo fix for the proxy authentication mods. - 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
+* Change in LYUnEscapeToLatinOne() to use isdigit() instead of isalnum()
+ for recognizing numeric character references like LYUnEscapeEntities()
+ does. - KW
+1997-05-15
+* Worked in JED's mods for taking a suspend into account during select()
+ calls. - FM
+* 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. - KW
+* Set HTTP_ACCEPT_CHARSET environment variable for the child process in
+ LYCgi.c if pref_charset is not NULL. - KW
+* (chartrans) 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 LYaddMETAcharsetToFD()
+ in LUCharUtils for this purpose. - KW
+* (chartrans) makeuctb now sets RawUni to UCT_ENC_8BIT if not otherwise set
+ and if there are char values above 127. - KW
+* (chartrans) 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
+1997-05-14
+* Don't use title in showlist() if it is empty, to prevent "hidden links"
+ on the List Page itself caused by documents with <TITLE></TITLE>. - KW
+* Changed display_title() in GridText.c to not rely on sprintf() to get
+ the number of blanks right. - KW
+* (chartrans) 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. - KW
+* (chartrans) Changes in LYCharSets.c to HTMLSetCharacterHandling() and
+ HTMLSetUseDefaultRawMode() to support (hopefully) more consistent
+ and user-friendly handling of raw mode and its default.
+ Note that the following description does not apply if the display
+ character set is one of the CJK settings. In that case, -raw and
+ the corresponding Options setting is used as a CJK toggle as before.
+ Note that the -raw flag is a toggle. It changes the "raw mode"
+ setting from the default. The current setting of "raw mode" can be
+ seen on the Options screen, and is also shown in a statusline message
+ when the RAW_TOGGLE key (normally '@') is used.
+ The default depends on the display character set (as previously)
+ but now also on the ASSUME_CHARSET setting (as determined by a setting
+ in lynx.cfg, possibly overridden by -assume_charset on the command
+ line, or the default iso-8859-1). When the display character set
+ corresponds to the ASSUME_CHARSET, the default for "raw mode" is ON,
+ otherwise it is OFF.
+ The effect of "raw mode" on the interpretation of documents which have
+ no explicit charset label (from HTTP headers, a META tag, or otherwise)
+ is as follows. There is an internal "assume charset" which may differ
+ from the user-specified ASSUME_CHARSET value. When "raw mode" is set
+ ON, the internal variable is set to correspond to the display character
+ set. When "raw mode" is set OFF, the internal variable changes to
+ the user-specified ASSUME_CHARSET or, if that also corresponds to the
+ display character set (so that otherwise there would be no change),
+ reverts back to the iso-8859-1 Web default.
+ Raw mode doesn't imply total rawness. HTML character entities may
+ be expanded and translated with either setting, 8-bit characters which
+ are inappropriate for the display character set will not be sent to
+ the terminal. For a "more raw" setting, try the "Transparent" pseudo
+ display character set. - KW
+1997-05-13
+* Changed the compilation default in userdefs.h for USE_TRACE_LOG
+ to FALSE, for now. - KW
+* Code for "fixing" of relative http and https URLs which start with a
+ ../ segment from FM added, but it has to be enabled with the new
+ lynx.cfg symbol STRIP_DOTDOT_URLS (default currently set to FALSE).
+ See FM's description under 1997-04-23. - KW
+* Changed the test for dot segment fixing in LYLegitimizeHREF() so
+ that now (if enabled) it also applies when the http or https base URL
+ in effect does have a non-empty path but without any slashes in it
+ (beyond the initial one between host and path). The test was too narrow
+ before and did not recognize this case, so that an unmodified URL with
+ ../ in it would still be sent to the server and without generating a
+ statusline message. - KW
+* 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),
+ by using scrollok() if USE_SLANG is defined. - 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 occasion, 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
+* Tweaks in LYMainLoop.c to set newdoc.title for various special pages
+ generated by Lynx (History Page, Info Page, etc.) and when following
+ a link. - FM
+* Small change to the heuristics for New_DTD in start_element()
+ in SGML.c (try a bit more to close containing element if it's the
+ same tag) - KW
+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 ...) 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
+* Very minor change in Lynx_users_guide.html, added two words - KW
+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
+* 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), so that 0 invokes the
+ "Follow link (or goto 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-08
+* Made the handling of hidden links dependent on a new command line
+ option. With -hiddenlinks=listonly hidden links are only shown on
+ 'l'ist screens and listings generated by -dump or from the 'p'rint
+ menu, but appear separately at the end of those lists.
+ With -hiddenlinks=ignore they don't appear even in listings.
+ With -hiddenlinks=merge hidden links are treated as before,
+ i.e., they show up as bracketed numbers if LINKS_ARE_NUMBERED is on,
+ and are numbered together with other links in the sequence of their
+ occurrence in the document. The default is -hiddenlinks=listonly.
+ Changed the new follow_help.html file accordingly.
+ This may help obviate an apparent need to call something a bug which
+ others regard as a feature... - KW
+* Function HText_AreDifferent() updated as in FM's code, but still
+ unused. - KW
+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
+* Changed the prompt to "Follow link (or goto link or page) number:" - KW
+* 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
+* Changed the help description according to what is implemented here - KW
+1997-05-06
+* Further tweaked KW's mainloop() tweak (see yesterday's entry), so that
+ newdoc.link is reinitialized 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
+* Changes to avoid memory leaks in LYCookie.c - KW
+* Escape '<' and '>' characters (using the LYEntify functions) in URL
+ strings written to the temporary files for LIST and INFO screens, to
+ avoid invalid HTML and corrupted display as a result of URLs which
+ contain these characters (although they shouldn't) and have not been
+ escaped earlier. - KW
+* Changed the label for the currently selected link from "Filename:"
+ to "URL:", 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", tweaked LYKeymap.c
+ comments. - KW
+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. - FM
+* Plugged a memory leak in LYEntify() of LYCharUtils.c. - FM
+* Modified experimental DTD info to not close anchors when an invalid
+ P, H1-H6, or ADDRESS start tag is encountered, and to change error
+ recovery for P and MAP. - KW
+* Modified experimental DTD info and HTML.c to not close PRE when
+ an invalid FORM start tag is encountered, and to use the appropriate
+ handling for preformatted text if PRE is in effect but is not the top
+ element on HTML.c's stack. The HTStyle structure's freeFormat (which
+ wasn't used anywhere before) is now used as one test whether we are
+ within preformatted text, also corrected the style setting of freeFormat
+ for PRE in DefaultStyle.c. - KW
+* Changed internal gateways (in HTNews.c, HTFile.c, HTWAIS.c, HTWSRC.c)
+ to end LI, DT, and DD elements if they are not declared SGML_EMPTY,
+ so that HTML.c's stack won't get overloaded in this case. - KW
+* Tweaks in mainloop() handling of DO_GOTOLINK_STUFF and DO_GOTOPAGE_STUFF.
+ Going to a link with the 'g' suffix and then immediately ACTIVATing that
+ link could previously show the wrong page of the new document, since
+ newdoc.line was not being reset. - KW
+1997-05-03
+* (chartrans) 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 displayable 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... - KW
+* (chartrans) Small changes to README files. - KW
+* In the section of HTUtils.h for non-autoconf builds, don't set
+ HAVE_KEYPAD or HAVE_TTYTYPE if USE_SLANG is defined. - KW
+* Modified HText_LinksInLines() to not count hidden form fields. - KW
+* 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
+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-30
+* Quote the URL for external command (not for VMS or DOS or Windows)
+ to avoid dangerous chars and shell spoofing. - KW
+* Escape characters properly when constructing URLs from filenames
+ in LYConvertToURL. If a string given for startfile, home page, or
+ a goto command which does not already have the form of an absolute
+ URL starting with an 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
+1997-04-29
+* Updated RP Styles 0.2 code, don't allow comma as separator between
+ fg and bg colors after all, fix the LYNX_VERSION string generation
+ in userdefs.h to have `-Styles' appended *within* the quoted string. - KW
+* Added support for a 'p' suffix, like the 'g' suffix for making a link
+ number the current link rather than ACTIVATE-ing it,
+ but for displaying the page indicated by the number preceding the
+ 'p' suffix entered at the "follow link (or goto link or page) number:"
+ prompt. [...] 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. - LV
+* 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
+* Undid some mysterious changes in SIGHUP setting (SIG_IGN vs. SIG_DFL)
+ which had sneaked in in connection with adding the NOSIGHUP
+ conditional. - KW
+* Tweaks to New DTD's extra info for CENTER and H1..H6 - KW
+* New function HText_AreDifferent() from FM added to GridText.c, but
+ not used yet. - KW
+* Tweaks to WB's additions for external command: use strncasecomp, add
+ LYExtern.o to src/makefile.in, changed test for empty command. - KW
+* Changed LYKeymap.h and LYKeymap.c so they agree about the symbols
+ assigned to the new keys (SWITCH_DTD, EXTERN). - KW
+* correct minor syntax err that caused SCO 3.x to fail make-include
+ autoconf test. also, eliminate whitespace before '#' that causes
+ compile-fail on K&R compilers. - TD
+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
+* Made first_option a structure member rather than a static variable
+ in HTML.c - KW
+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.
+ Also added comments to that code. - KW
+1997-04-25
+* Added information in the "Lynx bookmarks" section of the Users Guide
+ about appropriate versus unsupported modifications when editing the
+ bookmark files. - FM
+* RP Styles 0.2 fixed a bit and brought up to current experimental code
+ level (no autoconfig or simple-curses, only older version of Wayne's
+ mods, maybe something else is missing, too). No documentation, no
+ detailed checking, no real cleanup. Makefile slightly adapted,
+ but still needs changing for new systems - see comments there. - KW
+1997-04-24
+* Tweaks for enhanced mouse support in Win32 and hooks for 386 which
+ doesn't have mouse support yet. - WB
+* External command added. See LYExtern.* in src and lynx.cfg.
+ You need to define USE_EXTERNALS to compile this in. - WB
+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
+* Added a skip_stack int to the HTML.h struct _HTStructured, to use
+ for flagging that the next call to HTML_start_element or
+ HTML_end_element is an internal shortcut and should skip pushing
+ or popping the HTML.c paragraph style stack even for elements
+ that are not declared SGML_EMPTY. Added a SET_SKIP_STACK macro
+ to HTML.c to set the flag, use it. - KW
+* Changes to HTML.c to better deal with a number of elements which may
+ or may not have been declared SGML_EMPTY in HTMLDTD.c:
+ if the last stacked element is HTML_OPTION, treat text as for
+ HTML_SELECT in HTML_put_character and HTML_put_character and
+ HTML_put_string. Added handling code for </P> to HTML_end_element
+ (similar but not identical to that for P in HTML_start_element).
+ Added check whether a SELECT is still open to FORM handling in
+ HTML_end_element. Added check whether a FORM is open to SELECT
+ handling in HTML_end_element. Added cases for end tags of
+ TABLE-related elements (TR, THEAD, TFOOT, TBODY, COLGROUP, TH, TD)
+ and of DT, DD, LH, LI, FONT, OVERLAY to the switch in
+ HTML_end_element, currently just break from the switch. - KW
+* Some tweaks and corrections to the additional element info and
+ to the content types used with New_DTD, in HTMLDTD.c. Made
+ OPTION non-empty. - KW
+* Now changed the tags_old[] in HTMLDTD.c, which is used with the
+ switchable "old" SGML parsing, to follow the changes for A, B,
+ BLINK, CITE, EM, FONT, I, STRONG, and U mentioned in the entry
+ of 1997-04-15. These, together with FORM and P, are all declared
+ as SGML_EMPTY now when the "old" SGML parsing is in effect, but
+ not with new parsing. - KW
+* Changes to LYMail.c and LYPrint.c to send Content-Transfer-Encoding
+ headers and/or a charset parameter when mailing, based on idea from
+ Hynek Med. Don't use charset if we only have 7-bit characters
+ anyway. If compiled with EXP_CHARTRANS, use MIME name corresponding
+ to display character set if it looks valid (not "x-"), otherwise
+ only an explicitly given document charset. In the chartrans case,
+ don't send charset parameter for CJK since it may be wrong... - KW
+* Added TRACE output to UCAuto.c - HM
+1997-04-22
+* refined check for slang libraries/headers by checking if $CFLAGS has been
+ set so that slang.h is in the search path - TD
+* add check to allow use of broken ncurses 1.9.9e's color - TD
+* add check for NGROUPS, TRUE, FALSE macro definitions - TD
+* remove top-level makefile.in targets that can be combined with the generic
+ target (more work required on the remaining ones) - TD
+* 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
+* 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
+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
+* New SGML.c parser, and new HTMLDTD.c with additional element info.
+ Extra content information for each tag is now included in the
+ HTTag structure, and given in an extended tags_new[] table in
+ HTMLDTD.c. Modified start_element() and end_element() in SGML.c
+ to perform some heuristic wind-downs of the parsing stack, based
+ on the extra element info. - KW
+* Revert treatment of some tags which were treated as SGML_EMPTY
+ before to their "natural" content model. No changes made to
+ HTML.c to accommodate this change, so results may differ where
+ HTML.c relies on previous hacks or has now handling code for
+ end tags of elements which were previously SGML_EMPTY. - KW
+* Made SGML parsing switchable between old and new HTMLDTD info
+ and SGML.c code, controlled by a New_DTD global variable and
+ LYK_SWITCH_DTD toggle key. Use (temporarily?) ^V for the toggle key.
+ This is not yet changeable via command line, lynx.cfg, etc., and the
+ default is New_DTD==YES (so that it gets tested :-) ). - KW
+* Made some of the error messages before exit in LYMainLoop.c and
+ LYMain.c go to stderr instead of stdout, but only for UNIX and,
+ in the case of the LYMainLoop.c messages, only if
+ dump_output_immediately was in effect. - KW
+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
+* Commented out the above change in HTAccess.c. There's a more complete
+ mechanism for it already in this code... - KW
+* Fixed a typo in the bookmark file lead text. - DK (Doug Kaufman
+ <dkaufman@rahul.net>)
+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 LYBookmark.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-16
+* Extensive changes to try to keep track of whether a document (or
+ a location within it) was reached by an internal (fragment-only)
+ URL reference or not. The basic idea is to be serious about I-D
+ (currently) draft-fielding-url-syntax-04.txt.
+ URL references starting with '#' are always to the current
+ document (from which the reference is made). This leads to a
+ lot of hackery in HTML.c, LYMainLoop.c, LYHistory.c, etc. etc...
+ to distinguish a doc that was reached by an "internal" reference
+ from others. But it seems necessary to keep track of how the
+ reference to a fragment was specified, whether with a non-empty
+ "real" URL (possibly relative) preceding the '#' or without it,
+ all the way way from the HTML parsing to the mainloop. Only then
+ can the mainloop decide to not start a new retrieval for an internal
+ reference without skipping a new retrieval if a full URL reference
+ with fragment is made to a location in the same document (which
+ may be non-cachable or the result of a POST)...
+ This code prevents unnecessary/inappropriate POST form resubmissions
+ on following an internal link in a POST response, as they are
+ present for example in WebTechs validation results. - KW
+* A "Goto numbered link" feature. The user interface could be improved...
+ Start typing the link number, then add 'g' before hitting enter - KW
+* Some improvements to WHEREIS search. Will not always position
+ found string on first line (details depend on whether anchors are
+ present, usually will position in top third of screen), and avoid
+ some unnecessary screen updates. - KW
+1997-04-15
+* Miscellaneous 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
+* Only *some* (most?) of the changes described in the above two
+ entries are used, as far as they change HTML.c. Not yet using the
+ changes to HTMLDTD.c and SGML.c. - KW
+* refined logic of SVr4 curses color support to test the no_color_video
+ attribute - TD
+* ifdef'd NCURSES_MOUSE_VERSION logic to allow build with ncurses 1.9.4 - TD
+* ifdef'd wgetbkgd misspelling to allow build with ncurses prior to 1.9.9g - TD
+* document USE_MOUSE configuration-option - TD
+* modify configure script and makefile.in templates to make BSDI_Makefile
+ obsolete - TD
+* rename config.h to lynx_cfg.h to minimize conflict when configuring against
+ ncurses or slang in nonstandard locations - TD
+* new autoconf macro CF_HEADER_PATH is used to make header-search for slang
+ the same as ncurses - TD
+* modify CF_CURSES_LIBS, CF_NCURSES_LIBS and CF_SLANG_LIBS to accommodate
+ predefinition of $LIBS variable - TD
+* corrected autoconf'd compiler flags for Ultrix - TD
+* add config.guess & config.sub to allow specialized host-type checks - TD
+* guard against redefinition of NO_FILIO_H - TD
+* use new autoconf macro CF_SYSTEM_MAIL_FLAGS -JES
+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
+* Not using the no_cache change from last entry, until further
+ investigation. - KW
+* 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)
+ [...] According to 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. [...]
+ ([A]uthors who place the MAPs further down in the same document should be
+ informed about "deferred objects" and encouraged to move them up 8-). - FM
+* Use logical extension of the rules for HREF references also for
+ USEMAP references to MAPs: relative URL references are resolved with
+ respect to a BASE element if one is present in the document where they
+ occur, unless they are URL references without a URL, i.e., only a
+ fragment starting with '#'. In the latter case they are taken as
+ internal references referring to a MAP in the same document where
+ the USEMAP occurs, whether the MAP occurs before the USEMAP (as it
+ should, according to previous entry) or after the USEMAP.
+ HREF's in AREA elements follow the same rules. - KW
+* 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
+* Only using the number-removing code under additional conditions:
+ ISMAPs which appear together with USEMAPs and which are suppressed
+ with LYNoISMAPifUSEMAP in LINKS_ARE_NUMBERS mode. - KW
+* 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. - HN, FM
+1997-04-09
+* Many changes to further the Win32 and 386 ports. An emulation of
+ the HTVMS_ calls was used to try and cover all the DOS'izms.
+ A specialized ifdef for pdcurses color mapping added. Some keypad
+ tweaks. More generalized process spawning. .lynxrc is lynx.rc for 386 - WB
+* 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. - FM
+* Moved handling for NEWS_POSTING in LYReadCFG.c to the right place,
+ so that it can actually have an effect. - LV
+* Typo fixes for the comment concerning NO_ANONYMOUS_EMAIL in
+ userdefs.h - HN, FM
+1997-04-08
+* New translation table koi8r_uni for KOI8-R charset. Lynx can now
+ translate between iso-8859-5 and KOI8-R, at least for the Cyrillic
+ characters present in both. - KW
+* New translation table def7_uni with default 7-bit mappings
+ (replacement representation). Based on RFC1345 and mnemonic,ds
+ from ftp://dkuug.dk/i18n/ and previous Lynx replacements
+ in LYCharSets.c and IPA FAQ convention and stuff for Ethiopic and
+ KOI8-R. It maps many of the accented Latin characters present in
+ Unicode to their unaccented counterparts. This table is now
+ used for the "7 bit approximations" display "character set". - KW
+* Entities for Latin2 characters added to HTMLDTD.c These also
+ include many entity names for ASCII characters, and characters
+ which are in both iso-8859-1 and iso-8859-2. - Hynek Med
+* Changes to the non-chartrans translation tables in LYCharSets.c
+ for &Dstrok;, &ETH;, and &eth;. Treat &Dstrok; more like
+ an entity for the (Latin-2) Unicode character U+0110, since
+ that seems to be SGML standard usage. - KW
+* Added mappings for some "smart quote" characters to several
+ translation tables. - KW
+* Make makeuctb slightly more flexible (accept unicode range for
+ mapping to single code point). - KW
+1997-04-07
+* Took out special-case handling in the curses-color code for underlining
+ when lynx is running under Linux using the linux console with color.
+ The code was introduced on 1997-03-12 and would ignore "smul" capability
+ info from terminfo or termcap under those circumstances, always using
+ bold instead of underline. - KW
+* Slightly modified the FORM handling patch of 1997-04-05, as follows:
+ 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-06
+* Patch for IMG elements which have both ISMAP and USEMAP in effect.
+ In HTML_start_element() don't generate the "[ISMAP]-" string for
+ output in this case, unless clickable_images is set TRUE. - KW
+1997-04-05
+* Patch for Lynx v2.7.1 to 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
+1997-04-04
+============================================================================
+--- Release of Lynx2-7 + BUGFIXES as Lynx v2.7.1 (April 4, 1997) by FM ---
+============================================================================
+* Note that 2.7.1 was not a release from this code set, but all 2.7 -> 2.7.1
+ bugfixes and other changes are also included in this code set, in either
+ identical or equivalent form. Therefore the entries below this point
+ comprise the 2.7 -> 2.7.1 changes, and additionally other changes made to
+ the development code set during that time. - KW
+1997-04-02
+* add Andrew Kuchling's patch to support mouse-clicks with ncurses. - TD
+* refine tests that address porting problems to SCO (detecting struct winsize,
+ workaround for misdefinition of 'remove') - TD
+* refine CF_COLOR_CURSES test to avoid ncurses 1.9.9e bugs. - TD
+* refine CF_PATH_PROG to allow for machines that haven't the given programs,
+ by using only the program name and added configure option
+ --disable-full-paths to enforce this behavior. - TD
+* fixes for some gcc compiler warnings (missing prototypes, unused variables,
+ uninitialized variables, shadowed variables). - TD
+* Fixed typos in LYHistory.c, LYMail.c and LYMain.c which caused
+ failures of flag setting in the distributed code. - TD
+* correct cast in HTFWriter.c that may break if atoi() is not prototyped. - TD
+* add top-level makefile target 'maintainer-clean', use this to remove
+ Lynx.prj - 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-27
+* 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
+* 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
+* Some cleanup to eliminate compiler warnings, remove some unused
+ variables - KW
+* 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. - Laura Eaves
+1997-03-26
+* Changed highlighting of strings found by a WHEREIS ('/') search.
+ Now uses Christmas tree attribute combination ("all bits are on"),
+ which with color support translates to COLOR:7. - KW
+* 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-23
+* Further reduction of top-level makefile.in by moving definitions out of
+ WWW/Implementation/*/Makefile, so only one is needed for autoconfigured
+ build (i.e., WWW/Implementation/unix/Makefile). This highlights the
+ remaining differences between the top-level targets - TD
+* Make configure script generate Unix makefiles in subdirectories, a step
+ toward being able to run make from any directory, for development - TD
+* Add autoconf tests for paths of programs, including sendmail vs mmdf - TD
+* Add configure script options for development (--disable-echo, --enable-debug,
+ --enable-find-leaks, --enable-warnings) - TD
+* Allow user to override search path for ncurses header by setting $CFLAGS or
+ $CPPFLAGS - TD
+* Correct array limit in LYCurses.c for SVr4 color support - TD
+* Use addstr rather than printw in popup-forms to address concern about 8-bit
+ characters - TD
+1997-03-21
+* Changes in auto config handling of ncurses header location, function
+ used for reading terminal input, some other system dependent tweaks
+ (including SCO broken remove, time.h) - TD
+* Fix for popup handling with late ncurses versions (uses wprintw
+ instead of waddstr in LYForms.c) - TD
+* 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. - LV
+1997-03-14
+* Corrected typos and expanded the comments concerning lynxcgi symbols
+ in userdefs.h and lynx.cfg. - FM
+* 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
+* 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-12
+* (chartrans) Make compilation in src/chrtrans less verbose, no more
+ generating automatic *.h_old backup copies. - KW
+* Refinement to the SVr4 (ncurses) color support, allowing it
+ to more closely model the slang support. - TD
+1997-03-11
+* Tweak for command line parsing of files with no URL in LYUtils.c.
+ Also added ability to pass partial domain names in the DJGPP version. - WB
+* Added the closing function for Win32 TCP in LYExit.c (did anyone see a
+ difference?!). - WB
+* Altered LYCurses.c so that the DJGPP version could spawn other programs
+ without certain death. - WB
+* Ignoring the whole ~/lynx.cfg problem (expanding '~') entirely for the
+ Win32 version for now. - WB
+* Some other tweaks for Win32 and DJGPP - WB
+* 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-09
+* Integrated (simple) color, auto-configure patches with 2.7 following
+ chrtrans patch - TD (T.Dickey), JES (J.Spath)
+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. - JES
+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
+* Patches to fix mail and FTP for Win32 (LYMail.c, HTFile.c). - WB
+* Makefiles to compile chartrans code for Win32. - WB
+* (chartrans) Minor cleanups (makeuctb.c, chrtrans/Makefile, HTPlain.c)
+ to enable successful compilation on Win32. - KW
+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
+* Merged with patches and makefiles from Wayne Buttles
+ (buttles@wsb.champlain.edu) to enable compilation in two new environments:
+ Win32 (95/NT) with Borland C++ 4.52 compiler, and 386 DOS with DJGPP
+ compiler. To add ports for Win32 (95/NT) and 386 DOS computers with a
+ packet driver, four new defines were created: _WINDOWS (Defined for Win32
+ specific code - Mostly TCP related), DJGPP (Defined for 386 specific code -
+ Mostly TCP related), DOSPATH (Defined for any DOS'ish computer), and
+ NOSIGHUP (Defined for computers not supporting sighup signal calls).
+ Separate utility programs needed for compiling and running Lynx on those
+ platforms are available from Wayne at
+ <http://www.fdisk.com/doslynx/wlynx/>. - WB, KW
+* Fixed Telnet for Win32 - WB
+* (chartrans) Small correction in SGML.c (set_chartrans_handling) - KW
+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
+* chartrans code for translation of character sets, handling of Unicode,
+ and i18n updated for Lynx 2.7. Support for CHARSET attribute on A
+ tags. New directory src/chrtrans with table files. Compilation flags
+ -DEXP_CHARTRANS, -DEXP_CHARTRANS_AUTOSWITCH (for Linux),
+ -DSLANG_MBCS_HACK (for raw unicode console).
+ New command line options when compiled with -DEXP_CHARTRANS, i.e.,
+ "-assume_charset", "-assume_local_charset", "-assume_unrec_charset".
+ See README.chartrans and README files in src/chrtrans for more info.
+ INFO screen shows of effective charset even if not given explicitly.
+ Translation routines in LYCharUtils.c not chartrans-ified at this point - KW
+* No showing of &trade; or &#8482; as (R) any more, use (TM) instead. - KW
+* Prefer HTTP-EQUIV over NAME in META tags. - KW
+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. - FM
+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
diff --git a/docs/CRAWL.announce b/docs/CRAWL.announce
new file mode 100644
index 0000000..e734bcb
--- /dev/null
+++ b/docs/CRAWL.announce
@@ -0,0 +1,131 @@
+The TRAVERSAL code from old versions of Lynx has been upgraded by David
+Mathog (mathog@seqaxp.bio.caltech.edu) so that it works again, can be
+implemented via a command line switch (-traversal) instead of via a
+compilation symbol for creating a separate Lynx executable as in those
+previous versions, and can be used in conjunction with a -crawl switch
+to make Lynx a front end for a Web Crawler.
+
+
+Usage:
+
+ lynx [-traversal] [-realm] [-crawl] ["startpage"]
+
+
+Added switches are:
+
+ -traversal Follow all http links derived from startpage that are
+ on the same server as startpage. If startpage isn't
+ specified then the traversal begins with the default
+ startfile or WWW_HOME.
+
+ -realm Further restrict http links to ones in the same realm
+ (having a matching base URI) as the startpage (e.g.,
+ http://host/~user/ will restrict the traversal to that
+ user's public html tree).
+
+ -crawl With [-traversal] outputs each unique hypertext page
+ as an lnk###########.dat file in the format specified
+ below. With [-dump] outputs only the startpage, in
+ the same format, to stdout.
+
+
+Note on startpage:
+
+ If a startpage is specified and contains any uppercase
+ characters, on VMS it should be enclosed in double-quotes.
+ The code that extracts the access and host fields from
+ startpage for comparsions with links to ensure they are
+ not on another server, and the comparisons with already
+ traversed links, are case sensitive, and the startpage
+ will go to all lowercase on VMS if no double-quotes are
+ supplied, such that it might be treated as a new link if
+ encounted with uppercase letters.
+
+
+Files created and/or used with the -traversal switch, based on definitions
+in userdefs.h:
+
+TRAVERSE_FILE (traverse.dat):
+ Contains a list of all URLs that were traversed. Note
+ that if a URL appears in this file it will not be
+ traversed again (important if runs are started and
+ stopped). Placing an entry in this file BEFORE the
+ run will block traversal of that URL. Unlike reject.dat
+ a final * has no effect (see below). Note that Lynx
+ internal client-side image MAP URLs will be included in
+ this file (e.g., LYNXIMGMAP:http://server/foo.html#map1),
+ in addition to the "real" (external) http URLs.
+
+TRAVERSE_FOUND_FILE (traverse2.dat):
+ Contains a list of all URLs that were traversed, in the
+ order encountered or re-encountered (but not re-travered)
+ during a traversal run, and the TITLEs of the documents
+ (separated from the URLs by TABs) A URL and TITLE may be
+ present in this list many times. To simplify the list,
+ on VMS use: sort/nodups traverse2.dat;1 ;2
+ Note that the URLs and TITLEs of the Lynx internal
+ client-side image MAP pseudo-documents will not be
+ included in this file, though "traversed", but only the
+ http URLs and TITLEs derived from the MAP's AREA tag
+ HREFs that were traversed.
+
+TRAVERSE_REJECT_FILE (reject.dat):
+ Contains a list of URLs that have been rejected from the
+ traversal. Once a URL has been entered in this list, it
+ will not be traversed. URLs that end in a * will cause
+ rejection of all URLs that match up to the character before
+ the *. So for instance, to reject all htbin references on a
+ site put this line in the reject.dat file BEFORE starting
+ the run: http://www.site.wherever:8000/htbin*
+
+TRAVERSE_ERRORS (traverse.errors):
+ A list of links that could not be accessed or had an
+ unknown status returned by the http server. If the
+ owner of the document containing the link is know via
+ a LINK REV="made" HREF="mailto:foo" in it and the
+ MAIL_SYSTEM_ERROR_LOGGING was set true in userdefs.h
+ or lynx.cfg (not recommended!!!), a message about the
+ problem will be mailed to the owner as well.
+
+
+Files created during traversals if the -crawl switch is included with the
+-traversal switch:
+
+lnk########.dat Numbered output files containing the contents of traversed
+ hypertext documents in text format. All hypertext links
+ within the document have been stripped, and the URL and
+ TITLE of the document are recorded as the first two lines,
+ e.g., for the seqaxp.bio.caltech.edu home page the first
+ two lines will be:
+
+ THE_URL:http://seqaxp.bio.caltech.edu:8000/
+ THE_TITLE:SAF Web server home page
+
+ The VMSIndex software is being adapted to use this
+ information to extract the corresponding URL and TITLE
+ for use in indexing the lnk########.dat files, e.g.:
+
+ $ build_index -
+ /url=(text="THE_URL:") -
+ /topic=(text="THE_TITLE:",EXCLUDE) -
+ /output=INDEX_NAME -
+ lnk*.dat
+
+ A clever person should be able to figure out a way to
+ index the lnk########.dat files on Unix as well.
+
+ If you want the hypertext links in the document to be
+ numbered, include the -number_links switch. By default,
+ this will cause the list of References (URLs for the
+ numbered links) to be appended as well. If you want
+ numbered links but not the References list, include the
+ -nolist switch as well.
+
+ Note that any client-side image MAP pseudo documents
+ that were "traversed" will not have lnk########.dat
+ output files created for them, but output files will
+ be created for "real" documents that were traversed
+ based on the HREFs of the MAP's AREA tags.
+
+This functionality is still under development. Feedback and suggestions
+are welcome.
diff --git a/docs/FM.announce b/docs/FM.announce
new file mode 100644
index 0000000..0b2652b
--- /dev/null
+++ b/docs/FM.announce
@@ -0,0 +1,72 @@
+LYNX FILE MANAGEMENT SUPPORT
+
+New facilities have been added since Lynx 2-3 to provide support
+for managing files on the local filesystem. These facilities allow
+the user to delete, rename, and re-locate files and/or directories and
+to create and/or upload new files and directories. This will mainly
+be of interest to systems administrators who are interested in running
+lynx as a restricted shell in order to provide controlled access to a
+range of services (as in a freenet). It may also be of use at sites
+where some of the users are experiencing difficulty with the raw Unix
+interface.
+
+Support for the new facilities is enabled at compile time by defining
+the variable `DIRED_SUPPORT' in the `MCFLAGS' list in the Lynx
+Makefile, and in the WWW makefile `CommonMakefile'. Runtime support
+for disabling the facilities is provided by way of the restriction
+`dired_support' which can be set on the command line for a particular
+session.
+
+The Makefile also provides additional compile time flags for
+controlling the extent and application of the file management
+facilities; specifically, `OK_TAR' which enables support for creating
+and expanding tar archives, `OK_GZIP' which enables use of gzip to
+compress and decompress files, and `OK_OVERRIDE' which allows access
+to the file management facilities directly from the keyboard in
+addition to access by way of a file management menu.
+
+There are two possible modes of operation; the first in which a single
+file management menu is invoked via the `f', or `F' key; the second,
+in which the more often used facilities are made available directly
+from the keyboard in addition to access via the menu. The second
+method provides a much better user interface but requires re-mapping
+some of the keys from their standard lynx interpretation, temporarily
+when file management mode is in effect. For example, if OK_OVERRIDE is
+defined at compile-time, then the line at the bottom of the screen, in
+novice mode, will be
+
+ C)reate D)ownload E)dit F)ull menu M)odify R)emove T)ag U)pload
+
+rather than the standard second noviceline,
+
+ H)elp O)ptions P)rint G)o M)ain screen Q)uit /=search [delete]=history list
+
+when the user is browsing part of the file system. If OK_OVERRIDE is not
+defined then all access to file management functionality must be by way
+of the menu. The only exception is that the facility to tag files for
+subsequent removal and/or re-location is always available directly from
+the keyboard using `t', and `T'.
+
+This is a first release of the file management enhancements and suggestions
+for improvements are welcome. Among the enhancements which are currently
+being considered are facilities for changing file access attributes, and
+a facility for listing and extracting part of an archive.
+
+In order to use the file management facilities you may either point
+the program at a directory on the command line or point the program at
+an html file which contains a link of the following form:
+
+ <a href="file://localhost/~/"> Manage Personal Directory ? </a>
+
+where the anchor `file://localhost/~/' implies a reference to
+/home/username. Because the `~/' in a file URL is converted to
+`/home/username' regardless of origin, these facilities also work when
+the anchor shown above is served from an http server as well. In
+either case the reference is to files on the local system and not
+files in the domain of the server.
+
+By default the file listing is in standard Unix mixed format, but you
+may use the Options menu to select WWW `directories first' format, or
+`files first' format if you prefer.
+
+Rick Mallett, Carleton University, Ottawa Canada. (rmallett@ccs.carleton.ca)
diff --git a/docs/IBMPC-charsets.announce b/docs/IBMPC-charsets.announce
new file mode 100644
index 0000000..1431cdf
--- /dev/null
+++ b/docs/IBMPC-charsets.announce
@@ -0,0 +1,74 @@
+
+Summary
+=======
+This document is primarily for people who will be using Lynx
+on a remote UNIX or VMS system via an MS-DOS based terminal program.
+
+
+General Information
+===================
+Lynx comes with built-in translation tables to map the 8-bit character codes or
+character entities coming in from an HTML document to their equivalent codes,
+where possible, for various character sets.
+
+IMPORTANT: you should choose display character set in Lynx Options Menu
+according to your font installed locally. Probably it would be cpXXX. Please
+contact lynx-dev mailing list if you want any new codepage not listed there.
+
+Note that all points of the connection between the display at your end and Lynx
+at the remote end must be 8-bit clean. If the high bit is being stripped at
+any point in between, the only character set you can use (effectively) in Lynx
+will be "7 bit approximations". More on that later.
+
+
+MS-DOS character set weirdness
+==============================
+MS-DOS uses a bass-ackwards character set in which half the normal characters
+have been replaced by pseudo-graphic line and box-drawing characters, and in
+which almost all of the international characters are mapped to nonstandard
+numbers. It also contains Greek letters.
+
+Further confusing matters, there is more than one MS-DOS character set. The
+character sets are referred to as "codepages," each of which has a unique
+number. IBM PCs and compatibles come with one hardware-based default codepage
+and a keyboard to match. In the US market the hardware codepage is 437. PCs
+destined for other regions of the world often have a different default codepage
+which contains characters for other languages and keyboards. Under MS-DOS, one
+can load different codepages into memory and use one of them instead of the
+hardware default.
+
+If you are using Lynx through an MS-DOS based terminal program or telnet
+client, you should use an appropriate DOS codepage in Lynx and you need not any
+translation within terminal program (this is different from old-style behavior
+and works better because of superior Lynx translation support).
+
+Check your display by accessing Martin Ramsch's ISO-8859-1 table
+(iso8859-1.html in the Lynx distribution's test subdirectory).
+
+Ramsch's table describes each entity and shows examples of each. It should be
+immediately obvious that you are either seeing what you are supposed to, or
+you're not. If you see box and line-drawing characters and mismatched letters
+and so on, you are likely displaying 7 bit data, not 8. Ensure that all points
+of your connection are 8-bit clean:
+
+ On any remote UNIX systems you must pass through, do
+ 'stty cs8 -istrip' or 'stty pass8'. 'stty -a' should list
+ your settings.
+ On any remote VMS systems, do 'set terminal /eightbit'.
+ Make sure your terminal program or telnet client is not filtering
+ 8-bit data. You may found the choice between "VT-100 strict"
+ and "VT-100 relaxed" emulation mode - use relaxed.
+ Note: Procomm for DOS has a confusing "Use 7 bit or 8 bit
+ ANSI" setting -- this has to do with ANSI sequences. If set to
+ 8 bit, some 8-bit character sequences, including those passed
+ by Lynx as well as those which are for your terminal type
+ (vt100, etc.) will be processed by Procomm as ANSI screen
+ control codes and will most likely result in a garbled display.
+ Set it to 7 bit.
+ If going through a dialup terminal server, you may have to set the
+ terminal server itself to pass 8 bit data. How to do this
+ varies with the make of the server, and in some cases only a
+ system admin in charge of the box will have the authorization
+ to do that.
+ SLIP or PPP connections should already be 8-bit clean.
+
diff --git a/docs/OS-390.announce b/docs/OS-390.announce
new file mode 100644
index 0000000..923d2a3
--- /dev/null
+++ b/docs/OS-390.announce
@@ -0,0 +1,93 @@
+This document suggests steps to install Lynx on OS/390 systems.
+
+========================================================================
+o Download the archive file lynx2-8-6.tar.Z in BINARY from the site
+ where you found this announcement or from a site listed at
+ https://lynx.invisible-island.net/
+
+o Unpack with:
+
+ uncompress <lynx2-8-6.tar.Z | pax -rv -o to=IBM-1047
+
+ The "-o to=IBM-1047" is needed to convert the ASCII archive
+ to EBCDIC. You must not download as a text file; the conversion
+ must be performed after the uncompress.
+
+========================================================================
+o Alternatively, download the PKZIPped archive lynx2-8-6.zip in BINARY.
+
+o Unpack with:
+
+ unzip -aa lynx2-8-6.zip
+
+ The "-aa" is needed to convert the ASCII archive
+ to EBCDIC. (unzip is not shipped with OS/390. You can
+ obtain it from:
+
+ Linkname: OS/390 UNIX - Tools and Toys
+ URL: http://www.s390.ibm.com/unix/bpxa1ty1.html
+
+ Linkname: Info-ZIP zip and unzip
+ URL: http://www.s390.ibm.com/ftp/os390/oe/port/infozip-os390.tar.Z
+ )
+
+========================================================================
+o Run the configure script:
+
+ mkdir -p ./OS390/.
+ cd ./OS390
+ rm -f config.cache
+ CC=c89 CFLAGS="-D_XOPEN_SOURCE_EXTENDED=1 -D_ALL_SOURCE" \
+ ../lynx2-8-6/configure
+
+ The definitions select the ANSI C compiler (c89) and options
+ to select the right header file directories. You may also
+ find it useful to set the installation directories with
+ the --prefix=, --sysconfdir=, and --exec_prefix= options.
+
+========================================================================
+o Build Lynx
+
+ gmake
+
+ (I have been unable to build Lynx with IBM's make. gmake is not
+ shipped with OS/390. You may obtain gmake from:
+
+ Linkname: Mortice Kern Systems (MKS) Inc. - S/390 ®
+ OpenEdition--GNU Utilities
+ URL: http://www.mks.com/s390/gnu/index.htm
+
+ Linkname: Other
+ URL: http://www.mks.com/s390/gnu/register.htm
+ )
+
+========================================================================
+o Test Lynx:
+
+ ./lynx -cfg=../lynx2-8-6/lynx.cfg \
+ ../lynx2-8-6/lynx_help/lynx_help_main.html
+
+========================================================================
+o Install Lynx:
+
+ gmake install
+ gmake install-help
+ gmake install-doc
+
+========================================================================
+REMAINING PROBLEMS:
+
+ 3270-type terminals are not supported. This is probably a
+ permanent restriction since curses support for 3270s is
+ unlikely to appear.
+
+ URL schemes other than HTTP:, FTP:, and FILE: are untested
+ and likely not to work.
+
+ Some character entities are not rendered correctly.
+
+ The Download command converts binary files from ASCII to EBCDIC.
+ This can be undone by a download filter in lynx.cfg.
+
+Paul Gilmartin
+pg@sweng.stortek.com
diff --git a/docs/README.TRST b/docs/README.TRST
new file mode 100644
index 0000000..68b27af
--- /dev/null
+++ b/docs/README.TRST
@@ -0,0 +1,158 @@
+Tabular Support for Simple Tables
+=================================
+Some definitions first:
+
+* NO table support
+ What it says. :) Table related tags are treated like other
+ completely unrecognized tags.
+ Only listed for completeness, this does not describe Lynx.
+
+* MINIMAL table support
+ Table related tags are recognized, and are used to separate
+ the contents of different cells (by at least a space) and rows
+ (by a line break) visibly from each other.
+
+* LYNX minimal table support (LMTS)
+ The minimal table support as implemented by Lynx up to this point,
+ also includes the way ALIGN attributes are handled on TABLE, TR
+ and other specific tweaks (e.g. handle TABLE within PRE specially).
+ LMTS formatting is briefly described in the Lynx User Guide, see
+ the section "Lynx and HTML Tables" there. (The Users Guide has not
+ yet been updated for tabular support.)
+
+* TABULAR support for tables
+ Support for tables that really arranges table cells in tabular form.
+
+* Tabular Rendering for SIMPLE Tables (TRST)
+ Tabular support for some tables that are 'simple' enough; what this
+ code change provides.
+
+One basic idea behind providing TRST is that correct tabular support
+for all tables is complex, doesn't fit well into the overwhelmingly
+one-pass way in which Lynx does things, and may in the end not give
+pleasant results anyway for pages that (ab-)use more complex table
+structures for display formatting purposes (especially in view of Lynx
+limitations such as fixed character cell size and lack of horizontal
+scrolling; see also emacs w3 mode). Full table support within Lynx
+hasn't happened so far, and continues to seem unlikely to happen in the
+near future.
+
+The other basic idea is the observation that for simple tables, as
+used mostly for data that are really tabular in nature, LMTS rendering
+can be transformed into TRST rendering, after parsing the TABLE element,
+by two simple transformations applied line by line:
+- Insert spaces in the right places.
+- Shift the line as a whole.
+
+And that's exactly what TRST does. An implementation based on the
+simple observation above is relatively straightforward, for simple
+tables. On encountering the start of a TABLE element, Lynx generates
+output as usual for LMTS. But it also keeps track of cell positions
+and lengths in parallel. If all goes well, that additional information
+is used to fix up the already formatted output lines when the TABLE
+ends. If not all goes well, the table was not 'simple' enough, the
+additional processing is canceled. One advantage is that we always
+have a 'safe' fallback to well-understood traditional LMTS formatting:
+TRST won't make more complex tables look worse than before.
+
+What are 'simple' tables? A table is simple enough if each of its TR
+rows translates into at most one display line in LMTS formatting (excluding
+leading and trailing line breaks), and the width required by each row
+(before as well as after fixup) does not exceed the available screen size.
+Note that this excludes all tables where some of the cells are marked up as
+block elements ('paragraphs'). Tables that include nested TABLE elements
+are always specifically excluded, but the inner tables may be subject to
+TRST handling. Also excluded are some constructs that indicate that markup
+was already optimized for Lynx (or other browsers with no or minimal table
+support): TABLE in PRE, use of TAB.
+
+The description so far isn't completely accurate. In many cases, tables are
+not simple enough according to the last paragraph, but parts of each TR row
+can still benefit from some TRST treatment. Some partial treatment is done
+for some tables in this grey zone, which may or may not help to a better
+display, depending on how the table is used. This is an area where tweaks
+in the future are most expected, and where the code's behavior is currently
+not well defined.
+
+One possible approach:
+- The table is 'simple' according to all criteria set out in the previous
+ paragraph, except that some cells at the beginning and/or end of TR rows
+ may contain block elements (or other markup that results in formatting
+ like separate paragraphs).
+- There is at most one range of (non-empty) table cells in each row whose
+ contents is not paragraph-formatted, and who are rendered on one line
+ together by LMTS, separate from the paragraph-formatted cells. Let's
+ call these cells the 'core' of a row.
+Fixups are then only applied to the text lines showing the 'core' cells.
+The paragraph-formatted cells are effectively pulled out before/after
+their row (no horizontal space is allocated to them for the purpose of
+determining column widths for core line formatting).
+
+This is expected to be most useful for tables that are mostly
+simple tabular data cells, but with the occasional longer
+text thrown in. For example, a table with intended rendering:
+
+ --------------------------------------------------------
+ | date | item no. | price | remarks |
+ |--------|--------------|---------|----------------------|
+ | date-1 | item #1 | $0.00 | |
+ |--------|--------------|---------|----------------------|
+ | date-2 | item #2 | $101.99 | A longer annotation |
+ | | | | marked up as a block |
+ | | | | of text. |
+ |--------|--------------|---------|----------------------|
+ | date-3 | long item #3 | $99.00 | |
+ --------------------------------------------------------
+
+It may now be shown by Lynx as
+
+ .................................................
+
+ date item no. price remarks
+ date-1 item #1 $0.00
+ date-2 item #2 $101.99
+
+ A longer annotation marked up as a block of
+ text.
+
+ date-3 long item #3 $99.00
+
+ .................................................
+
+As can be seen, this is still quite far from the intended rendering,
+but it is better than without any tabular support.
+
+Whether the code does something sensible with "grey area" tables is up
+for testing. Most of the typical tables in typical Web pages aren't
+used in a way that can benefit from the TRST approach. Parts of such
+tables may still end up getting shifted left or right by the TRST code
+when that doesn't improve anything, but I haven't seen it make things
+really worse so far (with the current code).
+
+TRST and Partial Display
+------------------------
+[ Partial display mode is the feature which allows viewing and scrolling
+of pages while they are loaded, without having to wait for a complete
+transfer. ] During partial display rendering, table lines can sometimes
+be shown in the original formatting, i.e. with horizontal fixups not yet
+applied. This is more likely for longer tables, and depends on the state
+in which partial display 'catches' the TRST code. Sometimes the display
+may flicker: first the preliminary rendering of table lines is shown, then
+after loading is finished it is replaced by the fixed-up version. I do
+not consider this a serious problem: if you have partial display mode
+enabled, presumably you want to be able to see as much data as possible,
+and scroll up and down through it, as early as possible. In fact, the
+approach taken keeps Lynx free from a problem that may graphical browsers
+have: they often cannot render a table at all until it is received in full.
+
+------------------------------------------------------------------------
+
+To summarize:
+ - TRST is a solution that works in many cases where lack of tabular support
+ was most annoying.
+ - TRST doesn't implement a full table model, and it is extremely unlikely
+ that it will ever be the basis for that. Keep on exploring external
+ solutions, or perhaps waiting for (better: working on) a more fundamental
+ redesign of Lynx's rendering engine.
+
+Klaus Weide - kweide@enteract.com 1999-10-13
diff --git a/docs/README.chartrans b/docs/README.chartrans
new file mode 100644
index 0000000..a13ef36
--- /dev/null
+++ b/docs/README.chartrans
@@ -0,0 +1,164 @@
+Lynx CHARTRANS
+
+ Features (in addition to those which Lynx 2.7.1 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).
+
+ - 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). One table is designated as default
+ and can be used for fallback translation to 7-bit replacements for
+ display.
+
+ - New method for specifying translations of SGML entities.
+
+ - Unicode (UTF-8) support: can (attempt to) decode and translate UTF-8 to
+ display character set, or pass through UTF to display (if terminal
+ or console understands UTF-8). [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 (and sometimes LINK), as in HTML
+ i18n RFC 2070 and W3C HTML 4.0 drafts. A link can suggest the target's
+ charset in this way.
+
+ - Support for ACCEPT-CHARSET attribute of FORM tags.
+
+ - 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 were 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), now they are not
+ displayed to reduce garbage.
+
+Additions/changes to user interface:
+
+ - many new Display Character Sets are available on O)ptions screen.
+ (One can use arrow keys, HOME, END etc. for cycling through the list
+ or use selection from popup box, as for other options.)
+
+ - new command line flags:
+ -assume_charset=... assume this as charset for documents that don't
+ specify a charset parameter in HTTP headers
+ -assume_local_charset=... assume this as charset of local file
+ -assume_unrec_charset=... in case a charset parameter is not recognized;
+ docs also available as ASSUME_CHARSET etc. in lynx.cfg
+ In "Advanced User" mode, ASSUME_CHARSET can be changed during a session
+ from the Options Screen.
+
+ - The "Raw" toggle (from -raw flag, '@' key, or Options screen)
+ o 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.
+ o should work as before for CJK charsets (turning CJK-mode on or off).
+ o If the effective ASSUME_CHARSET and the Display Character Set are
+ unchanged from the ISO-8859-1 default, toggling "Raw" may have some
+ additional effect for characters that can't be translated.
+ (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 for the current
+status.
+
+
+A warning:
+In some cases undisplayable bytes may still get sent to the terminal
+which are then interpreted as control chars, there is no protection
+against if strange things are defined in the table files.
+
+
+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.").
+
+(5) Building Lynx:
+
+ Compiling the chartrans code is now integrated into the normal
+ installation procedures for UNIX (configure script) and other
+ platforms.
+
+ 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.tab
+ 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 entities.h.
+
+ _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
+ change 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 US-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@nongnu.org>.
+
+ Suggestions for improvement would be welcome, as well as
+ contributed translation tables (for stuff that is not available
+ at ftp://dkuug.dk or ftp://ftp.unicode.org).
+
+KW 1997-11-06
diff --git a/docs/README.cookies b/docs/README.cookies
new file mode 100644
index 0000000..af044f9
--- /dev/null
+++ b/docs/README.cookies
@@ -0,0 +1,60 @@
+README.cookies
+
+Cookie handling when using the lynx browser:
+
+General Usage on a unix system:
+
+Cookie handling may be set so that you read them in on session start up from a
+saved file, and to restore all cookies to that file on session close.
+
+Warning and Disclaimer:
+
+The lynx browser provides great opportunity to examine and make decisions about
+cookies by default, but some users just want the speed benefits of the lynx
+browser without the prompting for a decision to accept or reject the cookie.
+Should you think that this is your situation, please read this:
+
+There are a number of privacy issues with accepting all cookies blindly, not
+the least of which is that you are storing evidence of your browsing activity
+into a regular disk file.
+
+You have been warned. There are many resources available that will provide you
+with more information about making informed choices about this subject.
+
+With that in mind, here is how to accept all cookies transparently and rapidly:
+
+The following .lynxrc or lynx.cfg settings provide the user with the ability
+to by default accept all cookies transparently.
+
+SET_COOKIES:TRUE
+ACCEPT_ALL_COOKIES:TRUE
+PERSISTENT_COOKIES:TRUE
+COOKIE_FILE:/path/to/directory/.lynx_cookies
+COOKIE_SAVE_FILE:/path/to/directory/.lynx_cookies
+COOKIE_LOOSE_INVALID_DOMAINS:sports.espn.go.com,espn.go.com,.go.com,
+FORCE_SSL_COOKIES_SECURE:FALSE
+
+You must have a "cookie save file" that you own and for which you have
+read/write permission; cookies are flushed out to that disk location when you
+exit lynx, and are read in for use at the start of a lynx session from there.
+Cookies do not persist unless this happens.
+
+If you wish to see for yourself that this actually happens, please use the
+-trace command line option and then read the resulting file "Lynx.trace".
+It will show the cookies being read in at the start of a session, and being
+written out at the conclusion of a session.
+
+FORCE_SSL_COOKIES_SECURE is for ebay and the like, or they won't remember you;
+(their login is secure but everything else isn't, like a lot of big sites).
+If lynx attempts to transmit the ebay cookie securely, it's not taken.
+This doesn't affect cookie acceptance but it's a functionality issue for users.
+
+The COOKIE_LOOSE_INVALID_DOMAINS is for botched cookies from sites you read a
+lot. This causes a great deal of prompting and if you are a frequent site user
+you may want to convenience yourself with a set of loose invalid domains.
+
+
+Stef Caunter
+http://caunter.ca/contact.html
+http://caunter.ca/README.cookies
+
diff --git a/docs/README.defines b/docs/README.defines
new file mode 100644
index 0000000..6923b26
--- /dev/null
+++ b/docs/README.defines
@@ -0,0 +1,148 @@
+-- $LynxId: README.defines,v 1.19 2018/03/11 22:48:09 tom Exp $
+
+This file lists preprocessor macros (symbols) which are tested in the
+code (typically with ifdef).
+
+Does not include
+- symbols defined and documented in userdefs.h
+- symbols expected to be set by compiler to indicate system type or
+ compiler features
+- many symbols set and used only in connection with the ./configure
+ mechanism - the full and current list can be found in config.hin
+ (as a template) or, after running ./configure, in lynx_cfg.h.
+- most symbols and macros defined in the source code
+
+***Not complete.***
+
+A. Symbols primarily to enable compilation on specific systems
+==============================================================
+See also under B for things needed by some systems.
+
+# if you have an SVR4 system with the "type any key" problem, try defining
+#
+# -DSVR4_BSDSELECT
+
+---
+Ports have been added for Win32 (95/NT) and 386 DOS computers with a
+packet driver. I created four new defines to accomplish this.
+ _WINDOWS Defined for Win32 specific code (Mostly TCP related)
+ DJGPP Defined for 386 specific code (Mostly TCP related)
+ DOSPATH Defined for any DOS'ish computer
+ NOSIGHUP Defined for computers not supporting sighup signal calls.
+-- Wayne Buttles lynx-port@fdisk.com
+
+Added for 8+3 filesystems (DOS):
+ FNAMES_8_3 also defined in userdefs.h if __DJGPP__
+
+* incorporate changes for win32 by Hiroyuki Senshu <senshu@shonai-cit.ac.jp>
+ (SH) from
+ ftp://crab.it.osha.sut.ac.jp/pub/Win32/develope/senshu/Lynx/
+ Most changes are ifdef'd
+ #define _WIN_CC= .... for Windows C Compiler
+ #define CJK_EX .... CJK EXtension
+ #define SH_EX .... Senshu Hiroyuki EXtension
+ #define WIN_EX .... Windows EXtension
+
+
+B. Symbols to enable or disable specific features, mostly
+=========================================================
+Note that some of these may be only usable on some system types,
+most were originally for UNIX.
+
+Network related, specific protocols
+-----------------------------------
+# -DSOCKS For making a SOCKSified lynx.
+ see comments in makefile.in
+
+Related to DirEd code - probably only usable for UNIX or similar
+----------------------------------------------------------------
+# -DDIRED_SUPPORT (see INSTALLATION, Section II-1c)
+# -DOK_GZIP (see INSTALLATION, Section II-1c)
+# -DOK_OVERRIDE (see INSTALLATION, Section II-1c)
+# -DOK_PERMIT (see INSTALLATION, Section II-1c)
+# -DOK_TAR (see INSTALLATION, Section II-1c)
+# -DOK_UUDECODE (see INSTALLATION, Section II-1c)
+# -DOK_ZIP (see INSTALLATION, Section II-1c)
+# -DOK_INSTALL to enable dired menu "Install" function
+# -DARCHIVE_ONLY (see INSTALLATION, Section II-1c)
+# -DNO_CHANGE_EXECUTE_PERMS (see INSTALLATION, Section II-1c)
+# -DCANT_EDIT_UNWRITABLE_FILES (see LYEdit.c - always in effect for VMS)
+
+Related to formatting of local directory listings
+-------------------------------------------------
+# -DLONG_LIST (see INSTALLATION, Section II-1c)
+# -DNO_PARENT_DIR_REFERENCE (see INSTALLATION, Section II-1c)
+
+Related to screen display
+-------------------------
+Using curses or ncurses library:
+# -DNCURSES (see INSTALLATION, Section II-1c)
+# -DFANCY_CURSES whether curses lib supports more than very basic stuff
+ for UNIX handled by ./configure, for VMS defined in code
+# -DNO_KEYPAD (old) or HAVE_KEYPAD (new) whether curses lib uses keypad().
+ for UNIX handled by ./configure, may be set in HTUtils.h
+# -DCOLOR_CURSES whether curses lib supports color (in the right way).
+ for UNIX handled by ./configure
+# -DUSE_COLOR_STYLE (see INSTALLATION, Section II-1c) needs SVr4 curses
+# -DUNDERLINE_LINKS Define if you want links underlined instead of bold.
+# -DNO_SIZECHANGE (old) or HAVE_SIZECHANGE (new) whether using code to detect
+ new size after size changes of the terminal (window).
+ for UNIX handled by ./configure, may be set in HTUtils.h
+# -DUSE_SCROLLBAR supports scrollbar when built with ncurses
+# -DWIDEC_CURSES whether curses lib supports wide/multibyte characters.
+
+Using slang library:
+# -DUSE_SLANG (see INSTALLATION, Section II-1c)
+
+Other general
+-------------
+# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx.
+# -DINACTIVE_INPUT_STYLE_VH Different style for showing inactive text fields
+# -DNO_DUMP_WITH_BACKSPACES Disables -with_backspaces code
+# -DNO_RULES Disables code for CERN-style rules files
+# -DUSE_VASPRINT Use vasprintf() function
+
+Untested
+--------
+# -DNO_EXTENDED_HTMLDTD Disable some "SortaSGML" code, see SGML.c
+# -DWIND_DOWN_STACK Aggressive handling of end tags for "TagSoup", SGML.c
+
+C. Secondary symbols
+====================
+Some macros that are not primary, i.e. they are normally automatically
+set or unset in the code based on other macros (including those from
+./configure), but it may be sometimes useful to set them differently.
+They may directly affect several source files. Filenames show where
+they are set. Normally installers shouldn't have to care about these
+symbols.
+
+COOKIE_FILE LYMain.c default cookie file in HOME dir
+SHOW_WHEREIS_TARGETS LYCurses.h whereis search highlighting
+USE_KEYMAPS LYCurses.h use of .lynx-keymaps files
+
+D. Symbols defined locally to modify some behavior
+==================================================
+Defined in the source files to which they apply. Only filenames are listed,
+the files would have to be read and edited anyway to change the definition.
+Normally installers shouldn't have to care about any of these symbols.
+
+ADVANCED_INFO LYShowInfo.c
+ALLOW_PROXY_HEAD LYUtils.c
+CHECK_FREE_MEM GridText.c
+CLEAN_URLS HTParse.c
+DEBUG_HOSTENT HTTCP.c
+DEBUG_HOSTENT_CHILD HTTCP.c
+DEFAULT_INVCHECK_BV LYCookie.c
+DUPLICATE_ANCHOR_NAME_WORKAROUND HTAnchor.c
+EXTENDED_OPTION_LOGIC LYMain.c
+EXTENDED_STARTFILE_RECALL LYMain.c
+OPTNAME_ALLOW_DASHES LYMain.c
+OVERLAP HTNews.c
+RESTRICT_NM_ALLOW_DASHES LYUtils.c
+SOCKET_DEBUG_TRACE HTTCP.c
+TRADITIONAL_SUFFIXES HTInit.c
+USE_XHDR HTNews.c
+max_cookies_buffer LYCookie.c
+max_cookies_domain LYCookie.c
+max_cookies_global LYCookie.c
+reverse_mailcap HTInit.c
diff --git a/docs/README.jp b/docs/README.jp
new file mode 100644
index 0000000..c44d35a
--- /dev/null
+++ b/docs/README.jp
@@ -0,0 +1,130 @@
+README for Japanese
+===================
+
+This document shows some supplements for Japanese in Japanese.
+¤³¤Îʸ½ñ¤Ç¤ÏÆüËܸì¤Ç¸æÍøÍѤÎÊý¤Î¤¿¤á¤ÎÊä­»ö¹à¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+
+1. ³µÍ×
+
+Lynx Version 2.8.3 (¤È¶²¤é¤¯¤½¤ì°Ê¹ß¤Î Lynx) ¤Ç¤Ï¡¢2.8.2 °ÊÁ°¤Î
+¤â¤Î¤ÈÆüËܸì¤Îʸ»ú¥³¡¼¥É¤Î°·¤¤¤¬°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£¤³¤Îʸ½ñ¤Ç¤Ï
+Lynx ¤òÆüËܸì´Ä¶­¤ÇÍøÍѤµ¤ì¤ë¾ì¹ç¤Î¸ÇÍ­¤ÎÀßÄê¤ò´Êñ¤ËÀâÌÀ¤·¤Þ¤¹¡£
+
+ÆÃ¤Ë ASSUME_CHARSET ¤Î°·¤¤¤¬Êѹ¹¤µ¤ì¤¿´Ø·¸¾å¡¢°ÊÁ°¤ÈƱ¤¸ÀßÄê¤ÇÍøÍÑ
+¤·¤Æ¤¤¤ë¤È½¾Íèʸ»ú²½¤±¤·¤Æ¤¤¤Ê¤«¤Ã¤¿Ê¸¾Ï¤¬Ê¸»ú²½¤±¤·¤Æ¤·¤Þ¤¦²ÄǽÀ­¤¬
+¤¢¤ê¤Þ¤¹¤Î¤Ç¸æÃí°Õ¤¯¤À¤µ¤¤¡£¤³¤ÎÅÀ¤Ë´Ø¤·¤Æ¤Ï¡¢¤³¤Îʸ½ñ¤Î
+¡Ö4. lynx.cfg ¤ÎÀßÄê¡×¤Î¾Ï¤ò¸æ»²¾È¤¯¤À¤µ¤¤¡£
+
+
+2. ÆüËܸì¤Îʸ½ñ¤Î¿·¤·¤¤½èÍýÊýË¡
+
+(1) ÆüËܸì¤Çµ­½Ò¤µ¤ì¤¿ HTML ʸ½ñ¤Îʸ»ú¥³¡¼¥É (Character-Set) ¤¬¡¢
+ META Í×ÁÇ¡¢¤â¤·¤¯¤Ï HTTP ¤Î±þÅú¤Ç»ØÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬
+ ¤½¤Îʸ»ú¥³¡¼¥É¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ½èÍý¤·¤Þ¤¹¡£
+
+(2) (1) °Ê³°¤Î¾ì¹ç¤Ç¡¢ASSUME_CHARSET ¤¬ shift_jis ¤â¤·¤¯¤Ï euc_jp ¤Ë
+ ÀßÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬¤½¤Îʸ»ú¥³¡¼¥É¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ
+ ½èÍý¤·¤Þ¤¹¡£
+
+(3) (1) ¤ª¤è¤Ó (2) °Ê³°¤Î¾ì¹ç¡¢Ê£¿ô¤Îʸ»ú¥³¡¼¥É¤òÍѤ¤¤Æ¤Ò¤È¤Ä¤Îʸ½ñ¤¬
+ ½ñ¤«¤ì¤Æ¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ½èÍý¤·¤Þ¤¹¡£
+
+
+3. ¥¤¥ó¥¹¥È¡¼¥ë
+
+¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë¤ª¤±¤ëÆüËܸì¸ÇÍ­¤ÎÀßÄê¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£
+ɬÍפ˱þ¤¸¤ÆÀßÄê¤òÊѹ¹¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+
+configure ¥ª¥×¥·¥ç¥ó
+ ¡¦enable-cjk
+ À齩»á¤Ë¤è¤ë¼ç¤ËÆüËܸì¤Î½èÍý¤Ë¤«¤«¤ï¤ë³ÈÄ¥¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Î
+ ¥ª¥×¥·¥ç¥ó¤Ç¤¹¡£¤³¤ì¤é¤Î³ÈÄ¥¤Ïº£¸åɸ½à¤ÇÁȤ߹þ¤Þ¤ì¤ë¤«¡¢Â¾¤Î
+ ¥ª¥×¥·¥ç¥ó¤Ë¤è¤êÍ­¸ú¤Ë¤¹¤ëÊý¿Ë¤Î¤¿¤á¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¾­Íè
+ Çѻߤµ¤ì¤ë¤È»×¤ï¤ì¤Þ¤¹¡£
+
+¥Þ¥¯¥í
+ ¡¦USE_TH_JP_AUTO_DETECT
+ Á°¾Ï (3) ¤Î½èÍý¤òÍ­¸ú¤Ë¤·¤Þ¤¹¡£
+ ¤³¤Î¥Þ¥¯¥í¤Ï userdefs.h ¤Ë¤ª¤¤¤Æɸ½à¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
+
+ ¡¦KANJI_CODE_OVERRIDE
+ ʸ½ñ¤Îʸ»ú¥³¡¼¥É¤ò¥æ¡¼¥¶¤¬»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë½èÍý¤òÍ­¸ú¤Ë
+ ¤·¤Þ¤¹¡£¤³¤Î»ØÄê¤Ï¡¢META Í×ÁÇ¡¢HTTP ¤Î±þÅú¡¢ASSUME_CHARSET
+ ¤Ç»ØÄꤵ¤ì¤¿Ê¸»ú¥³¡¼¥É¤è¤ê¤âÍ¥À褵¤ì¤Þ¤¹¡£¼ç¤Ëʸ½ñ¤¬´Ö°ã¤Ã¤¿
+ ʸ»ú¥³¡¼¥É¤ò»ØÄꤷ¤Æ¤¤¤¿¾ì¹ç¤ËÍ­¸ú¤Ç¤¹¡£Ê¸»ú¥³¡¼¥É¤Ï ^L ¤Ë¤è¤ê
+ ÀÚ¤êÂؤ¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤¿¤À¤·¡¢Â¿¤¯¤Î¥±¡¼¥¹¤Ç¤ÏÉÔÍפǤ¹¡£
+ ¤³¤Î¥Þ¥¯¥í¤Ïɸ½à¤ÇÄêµÁ *¤µ¤ì¤Þ¤»¤ó*¡£
+
+ ¡¦SH_EX
+ À齩»á¤Ë¤è¤ë°ìÈÌŪ¤Ê³ÈÄ¥¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Î¥Þ¥¯¥í¤Ç¤¹¡£
+ ¤³¤Î¥Þ¥¯¥í¤òÀßÄꤹ¤ë¤È¡¢¾åµ­ KANJI_CODE_OVERRIDE ¤òÍ­¸ú¤Ë
+ ¤·¤¿¾ì¹ç¤Îʸ»ú¥³¡¼¥É¤¬²èÌ̾åÉô¤Ë¾ï¤Ëɽ¼¨¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
+ ¤³¤Î¥Þ¥¯¥í¤Ïɸ½à¤ÇÄêµÁ *¤µ¤ì¤Þ¤»¤ó*¡£
+
+
+4. lynx.cfg ¤ÎÀßÄê
+
+******************** ½Å Í× ********************
+lynx.cfg ¤Ç¤Ï ASSUME_CHARSET¡¢ASSUME_LOCAL_CHARSET¡¢
+ASSUME_UNREC_CHARSET ¤òÀßÄꤷ¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£
+******************** ½Å Í× ********************
+
+Lynx Version 2.8.3 °Ê¹ß¤Ç¤Ï¡¢ÆüËܸì¤Çµ­½Ò¤µ¤ì¤¿ HTML ʸ½ñ¤Îʸ»ú¥³¡¼¥É
+¤¬ÌÀ¼¨Åª¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¡¢ASSUME_CHARSET ¤¬ shift_jis ¤â¤·¤¯¤Ï
+euc_jp ¤ËÀßÄꤵ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢Ê¸½ñ¤¬¤½¤Îʸ»ú¥³¡¼¥É¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤È
+²¾Äꤷ¤Æ½èÍý¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
+
+¤¿¤À¤·¡¢ASSUME_CHARSET ¤ò»ØÄꤷ¤Ê¤¯¤Æ¤âÆüËܸì¤Îʸ»ú¥³¡¼¥É¤Ï¼«Æ°Åª¤Ë
+ȽÊ̤µ¤ì¡¢Â¿¤¯¤Î¥±¡¼¥¹¤Ç¤ÏŬÀڤ˽èÍý¤µ¤ì¤Þ¤¹¡£¤à¤·¤í¡¢ASSUME_CHARSET
+¤ò shift_jis ¤ä euc_jp ¤Ë»ØÄꤷ¤Æ¤¤¤ë¤È¡¢¤½¤ì¤¾¤ì EUC¡¢SJIS ¤Ç½ñ¤«¤ì¤¿
+ʸ½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
+
+½¾¤Ã¤Æ¡¢lynx.cfg Æâ¤Ë¡¢
+
+-------------------- ¤³¤³¤«¤é --------------------
+ASSUME_CHARSET:euc-jp
+-------------------- ¤³¤³¤Þ¤Ç --------------------
+
+¤Î¤è¤¦¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤Èʸ»ú²½¤±¤Î¸¶°ø¤Ë¤Ê¤ê¤Þ¤¹¤Î¤Ç¡¢ÆäËÍýͳ¤¬¤Ê¤¤
+¸Â¤ê¡¢°Ê²¼¤Î¤è¤¦¤Ë¥³¥á¥ó¥È¥¢¥¦¥È¤¹¤ë¤Ê¤É¤·¤Æ ASSUME_CHARSET ¤¬ÀßÄê
+¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤ (ASSUME_LOCAL_CHARSET¡¢ASSUME_UNREC_CHARSET
+¤Ë¤Ä¤¤¤Æ¤âƱÍÍ)¡£
+
+-------------------- ¤³¤³¤«¤é --------------------
+#ASSUME_CHARSET:euc-jp
+-------------------- ¤³¤³¤Þ¤Ç --------------------
+
+ɬÍפǤ¢¤ì¤Ð ASSUME_CHARSET ¤Ï¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¡¢¤â¤·¤¯¤Ï
+¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤«¤éÊѹ¹¤·¤Æ²¼¤µ¤¤¡£
+
+Êä­:
+ASSUME_LOCAL_CHARSET ¤Ï Lynx Version 2.8.3 ¤Ç¤Ï»²¾È¤·¤Æ¤¤¤Ê¤¤¤«¤â
+¤·¤ì¤Þ¤»¤ó¤¬¡¢¾­Í軲¾È¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¤Î¤Ç¡¢¤ä¤Ï¤êÀßÄê
+¤·¤Ê¤¤Êý¤¬¤¤¤¤¤È»×¤¤¤Þ¤¹¡£
+
+
+5. ÆüËܸ줬ʸ»ú²½¤±¤·¤¿¤é
+
+¤¹¤Ù¤Æ¤ÎÆüËܸì¤Ç½ñ¤«¤ì¤¿Ê¸½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤Ê¤é¡¢¥ª¥×¥·¥ç¥ó¥á¥Ë¥å¡¼¤Ç
+¡ÖDisplay Character Set¡×¤ò¡ÖJapanese (EUC-JP)¡×¡¢¤â¤·¤¯¤Ï
+¡ÖJapanese (Shift_JIS)¡×¤ËÊѹ¹¤·¤Æ¡¢Êѹ¹¤òÊݸ¤·¤Æ¤¯¤À¤µ¤¤¡£
+¤â¤·¤¯¤Ï lynx.cfg Æâ¤Ç CHARACTER_SET ¤ò euc-jp ¤â¤·¤¯¤Ï shift_jis ¤Ë
+ÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
+
+°ìÉô¤ÎÆüËܸì¤Ç½ñ¤«¤ì¤¿Ê¸½ñ¤¬Ê¸»ú²½¤±¤¹¤ë¤Ê¤é¡¢Á°¾Ï¡Ö4. lynx.cfg ¤ÎÀßÄê¡×
+¤ò»²¾È¤·¡¢ASSUME_CHARSET ¤òÀßÄꤷ¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤«¡¢¤â¤·¤¯¤Ï¥ª¥×¥·¥ç¥ó
+¥á¥Ë¥å¡¼¤Ç¡Öassumed document character set¡×¤ÎÉôʬ¤ò»²¾È¤·¡¢shift_jis
+¤ä euc-jp ¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤«³Îǧ¤·¡¢¤â¤·¤Ê¤Ã¤Æ¤¤¤¿¤é iso-8859-1 Åù¤ËÊѹ¹
+¤·¤Æ¡¢Lynx ¤¬ÆüËܸì¤Îʸ»ú¥³¡¼¥É¤ò¼«Æ°È½Ê̤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
+
+¤½¤ì¤Ç¤âʸ»ú²½¤±¤¹¤ë¾ì¹ç¤Ï¡¢
+ ¡¦META Í×ÁÇ¡¢¤â¤·¤¯¤Ï HTTP ¤Î±þÅú¤Ç»ØÄꤵ¤ì¤Æ¤ëʸ»ú¥³¡¼¥É¤È¤Ï°Û¤Ê¤ë
+ ʸ»ú¥³¡¼¥É¤Çʸ½ñ¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë
+¤â¤·¤¯¤Ï
+ ¡¦¤Ò¤È¤Ä¤Îʸ½ñÃæ¤ËÊ£¿ô¤Îʸ»ú¥³¡¼¥É¤Ç½ñ¤«¤ì¤¿Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë
+¤È»×¤ï¤ì¤Þ¤¹¡£Á°¼Ô¤Î¾ì¹ç¤Ïʸ½ñ¤Î´ÉÍý¼Ô¤Ë²þÁ±¤ò°ÍÍꤹ¤ë¤«¡¢
+KANJI_CODE_OVERRIDE ¤òÄêµÁ¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿ Lynx ¤ò¤ª»È¤¤¤¯¤À¤µ¤¤¡£
+¸å¼Ô¤Î¾ì¹ç¤Ï»ÄÇ°¤Ç¤¹¤¬¤¢¤­¤é¤á¤Æ¤¯¤À¤µ¤¤¡£
+----
+2000/3/28 Takeshi Hataguchi <patakuti@t3.rim.or.jp>
+---- $LynxId: README.jp,v 1.2 2011/06/06 00:35:13 tom Exp $
diff --git a/docs/README.metrics b/docs/README.metrics
new file mode 100644
index 0000000..bdfdf3f
--- /dev/null
+++ b/docs/README.metrics
@@ -0,0 +1,283 @@
+-- $LynxId: README.metrics,v 1.17 2018/07/08 16:43:30 tom Exp $
+
+This is a short summary of code metrics showing how lynx has grown from
+release to release. It also shows how the original codebase has
+been almost completely replaced by contributors after the release of
+lynx 2.4.2 in 1996. The numbers shown are for lines of text, to keep
+the presentation simple.
+
+Release Current Original
+-------------------------------------------------------------------------------
+ Text C-code Text C-code % Text % Code
+-------------------------------------------------------------------------------
+2.4.2 77210 63463 77210 63463 100 100
+2.6 112970 92869 58859 49665 52 53
+2.7.1 125723 103489 54121 45111 43 43
+2.7.2 162228 123130 48979 40655 30 33
+2.8.1 191738 133778 37286 33582 19 25
+2.8.2 227160 147485 32227 29004 14 19
+2.8.3 248646 166833 29035 26346 11 15
+2.8.4 310436 168108 28364 25751 9 15
+2.8.5 362834 167358 26900 24355 7 14
+2.8.6 395894 170006 25866 23880 6.5 14.0
+ 15573 13587 3.9 8.0
+2.8.7 441453 180674 25064 23101 5.7 12.8
+ 15436 13473 3.5 7.5
+2.8.8 465971 185375 24513 22293 5.3 12.0
+ 15094 12874 3.2 6.9
+2.8.9 478344 186103 24314 22116 5.1 11.9
+ 14931 12733 3.1 6.8
+
+Beginning with 2.8.6, the percentage of the remaining original codebase is
+shown on two lines (i.e., comparing against 2.4.2 indented to use the current
+coding style, or using only the original source). Comparisons using the
+original source give lower estimates of untouched code, though either must be
+viewed taking into account insignificant similarities (such as blank lines).
+
+Starting in 2.8.6dev.3, all C source code has been routinely indented using
+the lnx-indent script from
+ https://invisible-island.net/cindent/
+
+Current lynx releases contain a large amount of text other than C code.
+That includes plain text, html, message libraries, custom and generated
+scripts.
+
+-------------------------------------------------------------------------------
+
+Here is a count of contributions (from CHANGES and docs/CHANGES2.8) since the
+start of the 2.8 series:
+
+ 0.5 AJL
+ 3 Al Gilman
+ 1 Al Walker
+ 1 Alexei Anatski
+ 2 Alexey Dobriyan
+ 2 Andreas Metzler
+ 2 Andrew Belov
+ 3.5 Andrey A Chernov
+ 1 Arkadiusz Miskiewicz
+ 1 Arnaud Giersch
+ 2 Atsuhito Kohda
+ 2 Axel Beckert
+ 1 Bake Timmons
+ 25.5 Bela Lubkin
+ 1 Bill Nottingham
+ 3.5 Bill Schiavo
+ 2 Binh Do
+ 1 Brett Lymn
+ 46.3 Brian J Pardy
+ 1 Carlton Anderson
+ 1 Charles Karney
+ 1 Chris Adams
+ 1 Christian Hudon
+ 1 Christian Jensen
+ 3 Christian Weisgerber
+ 1 Christoph J Gartmann
+ 1 Chuck Houpt
+ 1 Crouton
+ 1 Dan Jacobson
+ 1 Daniel Dickman
+ 1 David Combs
+ 1 David Henderson
+ 0.5 David Woolley
+ 1 Dick Wesseling
+ 1 Diego Elio Petteno
+ 129.7 Doug Kaufman
+ 1 Duncan Simpson
+ 2.5 Eduardo Chappa
+ 1 Elliot Thomas
+ 2 Emanuele Giaquinta
+ 1 Eric Brun
+ 70 External
+ 1 Fabian Fingerle
+ 280.5 Foteos Macrides
+ 2 Frank Heckenbach
+ 4.3 Frederic L W Meunier
+ 1 Frederick P Herrmann
+ 1 Georg Drenkhahn
+ 1 George Lindholm
+ 27 Gisle Vanem
+ 1 Glenn Nielsen
+ 1 Hans Wurst
+ 28.5 Hataguchi Takeshi
+ 1 Heikki Kantola
+ 0.5 Helen Sommer
+ 23 Henry Nelson
+ 1 Hiram Lester Jr
+ 8.5 Hiroyuki Senshu
+ 3 Hynek Med
+ 0.3 Igor B Poretsky
+ 84.8 Ilya Zakharevich
+ 6.5 Ismael Cordeiro
+ 2 J Kevin Ternes
+ 1 Jacob Poon
+ 27.5 James E Spath
+ 1 Jamie Strandboge
+ 1 Jan Hlavacek
+ 2.5 Jason F McBrayer
+ 1 Jean-Yves Levesque
+ 1 Jeffrey C Honig
+ 1 Jens Schmalzing
+ 1 Jens Seidel
+ 1 Jerome Lauret
+ 2 Joey Schulze
+ 0.3 Johannes Hromadka
+ 35 John Bley
+ 6 John E Davis
+ 1 John Hawkinson
+ 1 John Nowlin
+ 2 Jonathan Sergent
+ 1 Josef Sontgen
+ 2 Julian Coleman
+ 2 Kamil Dudka
+ 3 Karl Eichwalder
+ 1 Karl-Andre Skevik
+ 4 Kihara Hideto
+ 29.3 Kim DeVaughn
+ 706.3 Klaus Weide
+ 1 Lalo Martins
+ 1 Larry Hynes
+ 1 Larry Virden
+ 15.8 Larry W Virden
+ 11 Laura Eaves
+ 342.3 Leonid Pauzner
+ 1 Liam Davis
+ 1 Marc Huber
+ 0.3 Marek Kubita
+ 1 Martijn Dekker
+ 2 Masashi Fujita
+ 1 Masayasu Ishikawa
+ 1 Masayuki Hatta
+ 1 Matt Kraal
+ 1 Michael Sobolev
+ 6.5 Michael Warner
+ 1 Michel Such
+ 1 Mike Castle
+ 2 Munechika Sumikawa
+ 1 Nigel Horne
+ 0.5 Nikos Chantziaras
+ 1 OpenBSD CVS
+ 1 Owen Leibman
+ 1 Pat Walsh
+ 13.5 Paul B Mahol
+ 1 Paul D Smith
+ 52.5 Paul Gilmartin
+ 1 Peter Backes
+ 1 Peter Canning
+ 1 Phil Pennock
+ 27.3 Philip Webb
+ 14 Philippe De Muyter
+ 1 Quentin Minster
+ 5.5 Rado Smiljanic
+ 2 Ralph Babel
+ 1 Randall
+ 1 Reiner Hermann
+ 1 Risto Widenius
+ 1 Rob Cameron
+ 1 Ruda Moura
+ 1 Ryan Nielsen
+ 2 Scott Bigham
+ 1 Sergej Kvachonok
+ 6 Sergey Svishchev
+ 1 Serhii Hlodin
+ 2 Simon Kainz
+ 15 Sinan Kaan Yerli
+ 7.8 Stefan Caunter
+ 1 Stepan Kasal
+ 1 Tadayoshi Okuma
+ 1 Takao Fujiwara
+ 1 Taketo Kabe
+ 1 Thomas Braun
+ 2188.3 Thomas E Dickey
+ 1.5 Thomas Klausner
+ 1 Thomas Petazzoni
+ 1 Thomas Viehmann
+ 21 Thorsten Glaser
+ 1 Tim Chase
+ 4 Tim Larson
+ 1 Timur Birsh
+ 2 Tomas Vanhala
+ 1.5 Ulf Harnhammar
+ 6.5 Victor Schneider
+ 2 Ville Herva
+ 86 Vlad Harchev
+ 37.5 Wayne Buttles
+ 1 Wesley Morgan
+ 1 Zdenek Prikryl
+ 1.5 nsh@horae.dti.ne.jp
+ 4563 Total
+
+-------------------------------------------------------------------------------
+
+Older attributions are problematic for several reasons:
+ + some contributors were not credited,
+ + some changes were not recorded,
+ + the level of importance of changes in the older logs differs noticeably
+ from the newer logs.
+There is neither a source repository nor a mailing-list archive to consult to
+resolve these issues.
+
+However, some information can be gleaned from the existing change-logs
+to show the principal contributors for each release (i.e., not listing those
+with less than 1%):
+
+** credits from CHANGES docs/CHANGES2.8 (4492.6 changes)
+ 1.0 Brian J Pardy
+ 2.9 Doug Kaufman
+ 6.2 Foteos Macrides
+ 1.9 Ilya Zakharevich
+ 15.7 Klaus Weide
+ 7.6 Leonid Pauzner
+ 1.2 Paul Gilmartin
+ 48.7 Thomas E Dickey
+ 1.9 Vlad Harchev
+** credits from CHANGES docs/CHANGES* (5959.6 changes)
+ 2.2 Doug Kaufman
+ 23.0 Foteos Macrides
+ 1.4 Ilya Zakharevich
+ 12.1 Klaus Weide
+ 5.7 Leonid Pauzner
+ 36.7 Thomas E Dickey
+ 1.4 Vlad Harchev
+ 3.5 unknown
+** credits from CHANGES (3572.6 changes)
+ 1.3 Brian J Pardy
+ 3.3 Doug Kaufman
+ 2.4 Ilya Zakharevich
+ 12.3 Klaus Weide
+ 8.8 Leonid Pauzner
+ 1.5 Paul Gilmartin
+ 54.2 Thomas E Dickey
+ 2.4 Vlad Harchev
+** credits from docs/CHANGES2.8 (920 changes)
+ 1.2 Doug Kaufman
+ 30.5 Foteos Macrides
+ 29.0 Klaus Weide
+ 3.2 Leonid Pauzner
+ 1.4 Philippe De Muyter
+ 27.4 Thomas E Dickey
+ 2.6 Wayne Buttles
+** credits from docs/CHANGES2.7 (233 changes)
+ 77.3 Foteos Macrides
+ 3.4 Hiram Lester Jr
+ 5.2 Klaus Weide
+ 1.3 LWV
+ 3.4 unknown
+** credits from docs/CHANGES2.6 (240 changes)
+ 83.8 Foteos Macrides
+ 1.2 Klaus Weide
+ 2.1 LWV
+ 5.8 unknown
+** credits from docs/CHANGES2.5 (554 changes)
+ 1.3 DT
+ 1.4 David Woolley
+ 82.3 Foteos Macrides
+ 4.7 unknown
+** credits from docs/CHANGES2.4 (328 changes)
+ 75.9 Foteos Macrides
+ 3.0 GL
+ 16.2 unknown
+** credits from docs/CHANGES2.3 (112 changes)
+ 1.8 David Trueman
+ 1.8 Foteos Macrides
+ 94.6 unknown
diff --git a/docs/README.options b/docs/README.options
new file mode 100644
index 0000000..b388d4c
--- /dev/null
+++ b/docs/README.options
@@ -0,0 +1,81 @@
+README.options
+
+Using the lynx browser [O]ptions configuration tool.
+
+General Usage on a unix system:
+
+Press "O" at any time in your lynx session to access this utility page.
+This is one of several custom "system" URLs that cause lynx to self-configure.
+
+Please note:
+Ensure and confirm that your [O]ptions session is flushed to disk, by selecting:
+
+Save options to disk: [_] before selecting "Accept Changes".
+
+This freshens your .lynxrc file, which is your default "personal" configuration
+for the lynx browser. Otherwise you will only affect settings for your
+individual session; they aren't remembered next time you use lynx, (since you
+actually did not tell lynx to remember them).
+
+This disk write to .lynxrc is not default behaviour for [O]ptions
+configurations. The lynx browser tends to tread lightly at first. Note that
+you must first have permission on your system to create, write to and read
+from a .lynxrc file in your home directory.
+
+Using some of the menu items:
+
+User mode controls the amount of "on screen" help at the bottom of the screen.
+You get the familiar view of the link target you are on when you use ADVANCED
+user mode, and this also gives you the most top to bottom screen area.
+ADVANCED user mode also allows for sub bookmark functionality (see below).
+
+The (for now) command line only option --nomargins provides the largest
+readable left to right screen coverage.
+
+Editor is for jumping to vi or whatever you prefer during local file edits
+and for textarea editing with ^Xe if you are filling out a form while browsing.
+
+Please see README.cookies for a brief cookie handling discussion.
+
+Multi-bookmarks allows several files to be your bookmarks; it will introduce
+a browse list of them if they are defined as below.
+
+Once the Multi-bookmarks setup on Options is done and has been written out to
+your .lynxrc (remember to Accept Changes and to Save Changes to disk),
+in .lynxrc you will see a list of 25 possible "other" bookmark files
+(26 letters minus "A") - you need to then associate some of them with
+(meaningful) filenames to get the Multi-bookmark menu.
+
+Note that the files must be relative to your home directory.
+
+The best way to create and manage them is by using the MultiBookmarkMenu (MBM)
+configuration tool selectable from the [O]ptions menu.
+
+The MBM allows you to describe the sub bookmark, and name a file relative
+to your home directory that will contain the html for the saved links.
+You populate one of the lettered sub bookmarks, describe it, and provide a
+filename. ">" saves the edits, and ^G cancels edits.
+
+The sub bookmarks will be accessible by pressing the associated key from a
+menu when invoking the bookmark choice (lynx -book, or 'V' in a session), or
+when saving new bookmarks. You can directly access your sub bookmarks by letter
+key alone by defining sub_bookmarks=ADVANCED in .lynxrc or lynx.cfg, if you
+have ADVANCED general user mode selected as well.
+The Multi-bookmark submenu can still be seen in ADVANCED by pressing "=", and
+is always seen in STANDARD mode.
+
+They are seen in your .lynxrc like so:
+
+multi_bookmarkB=cars,Cars
+multi_bookmarkC=news,News
+multi_bookmarkD=sports,Sports
+
+Filename precedes description in .lynxrc, whereas in the MBM configuration
+utility, the description is the left column, and the filename is in the right
+column displayed.
+
+
+Stef Caunter
+http://caunter.ca/contact.html
+http://caunter.ca/README.options
+
diff --git a/docs/README.release b/docs/README.release
new file mode 100644
index 0000000..a5dbd80
--- /dev/null
+++ b/docs/README.release
@@ -0,0 +1,14 @@
+-- $LynxId: README.release,v 1.1 2009/09/06 13:57:02 tom Exp $
+
+The version number with dots appears in, e.g.,
+ README
+ docs/README.metrics
+ lynx.hlp
+ lynx.man
+ lynx_help/Lynx_users_guide.html
+
+The version number with dashes appears in several places, e.g.,
+ lynx.cfg
+ lynx_help/lynx_help_main.html
+ makefile.in
+ userdefs.h
diff --git a/docs/README.rootcerts b/docs/README.rootcerts
new file mode 100644
index 0000000..fb294d1
--- /dev/null
+++ b/docs/README.rootcerts
@@ -0,0 +1,308 @@
+ DOS/Windows-oriented notes on Root Certificates
+
+To use certificates or a cert bundle within an SSL enabled
+application such as lynx you must place your certificate
+files into a known directory, and set the environment
+variables to a proper value (e.g. in CONFIG.SYS file).
+
+ set SSL_CERT_DIR=x:/usr/local/ssl/certs
+ set SSL_CERT_FILE=x:/usr/local/ssl/cert.pem
+
+(See "What are root certificates" below.)
+
+
+Q. Why would I want to install openssl.exe?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+openssl.exe is used to manage certificates. (See "What are root certificates"
+below.)
+
+Q. How to install openssl.exe?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Put openssl.exe in a directory in your PATH and the DLLs to a directory
+in your LIBPATH.
+
+Copy conf\openssl.cnf.demoCA to a directory of your
+choice, rename it to openssl.conf and set the environment variable
+OPENSSL_CONF by putting
+
+SET OPENSSL_CONF=<your-directory>\openssl.cnf
+
+into CONFIG.SYS.
+
+
+Q. Why is this document so paranoid?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you want to use OpenSSL, then probably your Internet transactions have
+*real* monetary value embedded in them. And as usual, the security is as good
+as the weakest link. This document unravels only the tip of the iceberg
+of what can go wrong with improperly established "secure" connections. And
+given the monetary value involved, "bad guys" have a high incentive to exploit
+the weakest links. As experience shows, do not underestimate the intelligence
+of bad guys...
+
+Really, with security, a little knowledge is a dangerous thing; one can
+suspect that many people, if they really understood the trust structures
+associated with SSL, would be rather careful about checking the details
+of certificates.
+
+Q. What are root certificates?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Making a secure connection is like sending your valuables (for storage or
+consumption) to somebody who agreed to be at a prearranged place. To
+guard the valuables on the way there, you can ask for a police escort; this is
+what https:// connections are about. However, it does not make any sense to
+have an escort if the goods are transfered to a random person who happens to be
+at this place; one needs to certify the identity of the receiver as well.
+
+The certification process is a chain; when site A wants to certify that it is
+actually what it claims, it actually says "Check this certificate with site B";
+to proceed, one needs to certify that site B is what it claims, so B may
+redirect to site C etc. For this process to stop, some sites claim
+"You must know my certificate, check it yourself". These certificates are
+"root certificates"; one cannot verify such a site unless one has the
+certificate for the "end of its certification chain". If you don't have the
+relevant root certificate in your local certificates file, it means that
+you don't trust anyone to vouch for the authenticity of the site.
+
+So one should have a collection of known certificates from several well-known
+sites known as "Root Certification Authorities". Most sites for large-scale
+businesses have certificates which will eventually resolve to these places.
+Such certicates represent people like Verisign that are in the business of
+confirming the identity of servers, etc.
+
+Additionally, since having yourself certified through another site costs,
+some sites avoid this cost via presenting "end-of-chain certificates".
+One should have a way to obtain these certificates via other means than
+insecure Internet connection (e.g., one can walk into the office and copy
+the certificate file to a floppy). These are so-called "Self-signed
+certificates"; they are "root certificates" as well. The locally-installed
+securely obtained copies of such certificates are referred to as
+"local certificates". (See 'What is "Snake Oil Ltd."' below.)
+
+If you are presented with a locally-unresolvable root certificate, and you
+*believe* that you are really talking to the site, and not someone
+in between (who is either completely simulating the site or relaying
+your requests onto the real site - called a "man in the middle" attack),
+you will still have an encrypted connection. Otherwise, you should act
+as though the site was an impostor, unless and until you manage to get
+a root certificate from a trustworthy source, and that root certificate
+represents someone that you would trust to have vetted the site you
+want to connect to.
+
+Local certificates are stored in SSL_CERT_FILE (this "cert bundle", usually
+named cert.pem, contains several signatures for "Root Certification
+Authorities") and SSL_CERT_DIR (which has a signature per file, and usually
+contain local copies of self-signed certificates).
+
+There are three crucial considerations to be added to this picture:
+
+ a) While there are ways to ensure that the receivers are who they claim,
+ there is absolutely no technological way to verify how *trustworthy*
+ the receiving party is. It does not make sense to secure-send your
+ valuables to a certified receiver if this receiver is a crook (or will
+ just keep them later in a publicly accessible place).
+
+ b) "VeriSign Syndrome". For the above scheme of "a chain of trust" to work,
+ the "Root Certification Authorities" should be *very* trustworthy
+ high-integrity entities. Unfortunately, there are certain doubts that
+ this is so. E.g., fall 2003, VeriSign started an attack on DNS scheme
+ which could disrupt the whole architecture of Internet (hijacking *all*
+ unclaimed Internet addresses and redirecting them to a promotional site;
+ google for VeriSign DNS hijack).
+
+ One major company even issued a Microsoft certificate to a company
+ other than Microsoft, and there had to be a Windows critical update
+ to block that certificate.
+
+ c) Keep in mind that the "big 2 browsers" are adding an increasing
+ number of root certificates, and most users fail to realise that they
+ are putting a trust in the supply chain for the browser to give them
+ the certificates of reliable organisations (the browser suppliers could
+ make bad choices, or the browser could have been hacked before you got
+ it).
+
+ Incidentally, standard browsers come with certificates representing
+ very different levels of identity verification, but most people accept
+ all of those supplied with the big 2 as equally valid.
+
+Q. How to obtain root certificates?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Certificate files, such as cert.pem, are security critical; you have to
+trust whoever supplies it to you; all your certification process is no more
+trustworthy than the site you downloaded cert.pem from. So you shouldn't just
+accept any offer.
+
+One way is to copy them from a machine which already obtained them in a secure
+way. Another one is to extract them from a web browser which was itself
+obtained in a secure way (see "How to extract certificates from Internet
+Explorer" below). If anything else fails, obtaining a privately-generated
+bundle from third-parties, such as
+
+ http://www.kfu.com/~nsayer/encryption/ca-bundle.crt.text
+
+is *not* much better than no certificates at all, but may avoid some warnings
+from applications. One of the places which has a bundle is the mod_ssl site.
+
+Q. Should you trust this distribution system?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It is very hard to imagine a situation when the answer is different from
+"Absolutely not!".
+
+Indeed, obtaining the certificates is only half of the problem.
+The certificates are going to be checked by the SSL library. Can you trust
+these executables (DLLs)? Did you obtain the library via a secure connection?
+Are you sure that the place you obtained it from has reasonable security
+practice, so that the archive could not be tampered with? The latter place
+most probably did not build the DLLs themselves; chances are they just
+store what a fourth-party supplied them. Was *that* file transfer done via
+secure channels? Can you trust this fourth-party so that it did not insert
+Trojans?
+
+Chances are that all of these questions are answered "No". There are still
+major problems with bootstrapping security via the Internet...
+
+What about the application which uses these DLLs? Do you have any reason to
+trust it? What about the OS itself? Did it come from a trustworthy source
+via trustworthy channels? Are you sure it was not tampered with?
+
+Q. How to compile and link with OpenSSL libraries?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Put the files from include and lib to your emx directory,
+or directories on C_INCLUDE_PATH and LIBRARY_PATH.
+Note that openssl should become a subdirectory of your include directory.
+If you need .lib files you can create them using emxomf.
+
+The supplied library files link against the new renamed dlls open_ssl and
+cryptsll.
+
+See the doc directory for some information and visit
+http://www.columbia.edu/~ariel/ssleay/ for more infos.
+
+
+Q. Why do you need your own keys and certificates?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There are several situations: having a server which accepts secure connections;
+authenticating yourself to a server by means other than login/password,
+sending S-Mime crypto-mail, authenticating from a client browser to a server.
+In each of these situations one needs keys.
+
+The following sites may be useful:
+
+ http://www.pseudonym.org/ssl/ssl_cook.html#environment
+ http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter8.html#8.2
+
+Q. How to generate your own keys and certificates?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+There are many ways. A good solution is to use sslRexx. It provides everything
+you need. PuTTYgen is a key generator that will work.
+
+Below is a short description of how I made my own Certification Authority,
+a Server Key for Apache and a client Key/Certificate for me, signed by my
+own CA.
+
+
+Q. Howto: Root CA (needed to self-sign all certificates)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Generate a CA-Key and store it in sub-directory private:
+
+ openssl genrsa -des3 -out private/MyOwnCA.pem 2048
+
+Make a selfsigned certificate based on above key.
+
+ openssl req -new -x509 -days 730 -key private/CAkey.pem -out CAcert.pem
+
+This certificate will expire in 2 years.
+
+Optional: generate text output of this certificate:
+
+ openssl x509 -in ./CAcert.pem -text > CAcert.txt
+
+Now you have a key and certificate for your own CA which can be used
+to sign user and server keys. The CAcert is also needed to configure
+Apache and Netscape. You can/should give away the CA certificate but
+never give the CA key to anybody.
+
+
+Q. Howto: Your Client Certificate/Key
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Generate a private key
+----------------------
+
+ openssl genrsa -des3 -out hrom-key.pem 2048
+
+
+Create a signing request (same command again)
+------------------------
+
+ openssl req -new -key hrom-key.pem -out hrom-req.pem
+
+Let the CA sign it (same command again)
+------------------
+
+ openssl ca -in hrom-req.pem -out hrom-cert.pem -outdir MyOwnCA/newcerts
+
+After you get back the certificate from the CA, combine it with
+your private key and store the result as p12 file. This file can
+be imported into your browser. The browser will use this file to present
+to a server requiring it for access.
+
+ openssl pkcs12 -export -name Hromadka -in hrom-cert.pem -inkey hrom-key.pem -out hrom.p12
+
+
+Security Notes: Never give your private key to a CA, they only need the
+signing request. Never give away your p12 file. Always secure your private
+keys with a passphrase.
+
+
+Q. How to use c_rehash?
+~~~~~~~~~~~~~~~~~~~~~~
+
+One needs a working port of Perl and cp.exe to run this. Set OPENSSL to the
+full name of openssl executable. One may also need to change some ':' to
+$Config{path_sep}. c_rehash finds certs from enviroment variables and allows
+them to be recognized by openssl.
+
+Q. How to extract certificates from Internet Explorer?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To make your own file of certificates, go to the
+"Tools/Internet Options/Content/Certificates/Trusted Root Certificates"
+section of IE. Select all the certificates, then "export" to a file.
+It will be saved as a PKCS#7 file, with suffix ".p7b". You can call
+it "ca_bundle.p7b". Then use openssl to convert it with the command:
+"openssl pkcs7 -inform DER -in ca_bundle.p7b -print_certs -text -out cert.pem".
+Ask your system administrator to put the file "cert.pem" in the openssl
+directory and c_rehash it. Then lynx can check the certificates against the
+set of certificates that you (or Microsoft) trusts, and you won't get the
+warning message any more.
+
+Q. How to install a self-signed certificate?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When you would like to trust a self-signed (non-commercial) certificate you will
+need to get hold of the actual file. If it's a cert local to your network you
+can ask the sysadmin to make it available for download as a link on a webpage.
+
+If such file is not human-readable it's probably DER formatted and will need to
+be converted to PEM format to allow openssl to use it.
+
+To convert DER formatted certificates into something openssl can deal with:
+
+Save the cert as site_name.crt in a directory. In that directory, type:
+
+ openssl x509 -inform DER -in site_name.crt -outform PEM -out site_name.pem
+
+You can now copy this individual cert into the directory for that and hash the
+cert by running c_rehash. A complete discussion of this procedure for unix is
+in the document README.sslcerts.
diff --git a/docs/README.ssl b/docs/README.ssl
new file mode 100644
index 0000000..c9d1c79
--- /dev/null
+++ b/docs/README.ssl
@@ -0,0 +1,69 @@
+SSL support for Lynx 2.8.5pre.1
+-- adapted from http://www.mentovai.com/lynx/
+
+Lynx, in its unmodified form, will not allow you to make secure socket layer
+(SSL) connections. SSL is used for the secure transfer of information over the
+Internet. Many sites are now requiring SSL to ensure security for themselves
+and their users. With a version of Lynx modified to support SSL, Lynx users
+can now visit these sites with ease as well.
+
+The SSL configure option (--with-ssl) for Lynx provides the ability to make use
+of SSL over HTTP for secure access to web sites (HTTPS) and over NNTP for
+secure access to news servers (SNEWS). SSL is handled transparently, allowing
+users to continue accessing web sites and news services from within Lynx
+through the same interface for both secure and standard transfers.
+
+This is based on, and requires, the OpenSSL library. OpenSSL's distribution
+and use may be restricted by licenses and laws. For information on obtaining
+OpenSSL, as well as information on its distribution, see
+
+ http://www.openssl.org/
+
+The main distribution site is at
+
+ ftp://ftp.openssl.org/source/
+
+Lynx also has experimental support for GnuTLS (configure option --with-gnutls).
+For information on GnuTLS, see
+
+ http://www.gnu.org/software/gnutls/
+
+To test your version of Lynx for SSL support, try it out with an SSL site.
+Below are secure (https) pages which will load if your browser contains SSL
+support and you accept their certificates; they give you some information about
+the connection.
+
+ https://www.gnutls.org:5555/
+ https://www2.ggn.net/cgi-bin/ssl
+
+Lynx will complain about the certificate, since the certificate presented is
+untrusted. You may accept this certificate to test your configuration, since
+it is a test, but it is a bad idea to blindly accept certificates from unknown
+websites if you are transmitting form data or files.
+
+You should review the document README.sslcerts for a detailed discussion of
+correct certificate handling possibilities and procedures in lynx.
+
+Users are reminded to check the laws and regulations about encryption software
+in their own countries.
+
+Here is the URL for US notification rules:
+
+ http://www.bxa.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html
+
+Note that that isn't a typo; it really is "Nofify". The site contains
+links to the full EAR regulations.
+
+Lynx is GPL'd, for our own use it falls under the regulations in EAR section
+740.13(e)(1):
+
+ (1) Encryption source code controlled under 5D002, which would be
+ considered publicly available under section 734.3(b)(3) and
+ which is not subject an express agreement for the payment a
+ licensing fee or royalty for commercial production or sale of
+ any product developed with the source code, is released from
+ EI controls and may be exported or reexported without review
+ under License Exception TSU, provided you have submitted
+ written notification to BXA of the Internet location (e.g.,
+ URL or Internet address) or a copy of source code by the time
+ of export.
diff --git a/docs/README.sslcerts b/docs/README.sslcerts
new file mode 100644
index 0000000..39c3dcd
--- /dev/null
+++ b/docs/README.sslcerts
@@ -0,0 +1,265 @@
+ Lynx SSL support for certificates - README.sslcerts file
+
+BACKGROUND:
+
+The original README.ssl document for lynx stated:
+
+ Note that the server... may not have a valid certificate. Lynx will not
+ complain, as it does not yet support certificates...
+
+Such lack of support is no longer the case. Lynx now features excellent
+certificate management through the openssl project. There is almost no
+online documentation available regarding how to use openssl's certificate
+management with other programs, so this will accompany lynx and hopefully
+encourage good practical security for unix clients.
+
+Lynx relies on openssl to not only encrypt connections over https, but also to
+determine whether it should even accept a certificate and establish a secure
+connection with a remote host. Because of this reliance upon openssl by lynx,
+most of this tutorial deals with how to use openssl to "install" both
+vendor-provided CA cert bundles as well as self-signed certs from trusted sources
+and, most importantly, how to get them recognized by lynx.
+
+While lynx on many systems will transparently accept valid certificates, not
+all systems enjoy such functionality. Further, as noted above, older versions
+of lynx do not perform any validity checks on a certificate.
+
+There is also the common case of wanting to trust, use and install a
+self-signed certificate from a known server source and have it be trusted by
+client programs.
+
+Briefly, the procedure will involve confirming the default system location for
+certificates, setting values for SSL_CERT_DIR and SSL_CERT_FILE in
+the environment, and converting and hashing the certificates using openssl
+utilities to enable recognition.
+
+THE CURRENT SITUATION:
+
+Prior to lynx2.8.5dev9, lynx did not check at all for certificate validity.
+
+Since lynx2.8.5.dev9, lynx has reported this openssl error:
+
+SSL error:unable to get local issuer certificate-Continue? (y)
+
+whenever an https connection was initiated and the certificate could not be
+found, for whatever reason, by openssl, and therefore lynx.
+
+This checking for a certificate is an enhancement to security, but rather
+tediously generates errors at each https browser request.
+
+The ability to turn off reporting of this error to the user was added to
+lynx2.8.5dev16 as the FORCE_SSL_PROMPT setting in lynx.cfg as noted in the
+CHANGELOG:
+
+ This lets the user decide whether to ignore prompting for questionable
+ aspects of an SSL connection.
+
+While this is a convenient setting to employ when using lynx to script
+https -dumps, it by definition ignores the issue of certificate validity
+altogether. Those concerned with proper certificate management and
+the maintenance of a store of updated CA certificates will be uncomfortable
+with this relaxed security setting.
+
+The ability to accept a 'wildcard' certificate, where the first character
+is a '*' was added to lynx2.8.6dev18.
+
+PRELIMINARY PROCEDURES:
+
+It is assumed that openssl has been installed correctly, that the default
+cert directory is /usr/local/ssl/certs, (it's often /etc/ssl/certs, but we
+need a point of departure for the discussion) and that lynx has been compiled
+--with-ssl.
+
+The default location for certs on your system may be different, or there may not
+be one. You will have to substitute that location for /usr/local/ssl/certs in
+the following instructions, and/or set environment variables.
+
+To determine the default location for certs on your system you may run the
+following command:
+
+strings libcrypto.a | grep -in cert | less
+
+Look in this output for SSL_CERT_DIR and SSL_CERT_FILE, and the lines just
+above them. This is your default location, respectively, for certificates,
+and the CA cert bundle, cert.pem. You will need to know where libcrypto.a is
+found of course.
+
+Example output:
+
+<snip>
+7490:/etc/ssl/certs
+7491:/etc/ssl/cert.pem
+7492:SSL_CERT_DIR
+7493:SSL_CERT_FILE
+<snip>
+
+Other possible example output:
+
+<snip>
+31555:/usr/local/ssl/certs
+31556:/usr/local/ssl/cert.pem
+31557:SSL_CERT_DIR
+31558:SSL_CERT_FILE
+<snip>
+
+Note that when OpenSSL is installed, the c_rehash utility is installed in a
+bin directory (default /usr/local/ssl/bin). You will need to know where it
+is on your system. The command:
+
+whereis c_rehash
+
+will probably give useful results.
+
+Note also that there is no CA cert bundle distributed with OpenSSL. The
+OpenSSL team specifically decided NOT to do that. Getting a set of trusted
+certificates is left up to the installer.
+
+It is no longer a fairly trivial procedure to pull the bundle of trusted root certs out
+of a recent version of Internet Explorer. Multiple certificates are no longer
+exportable as a DER formatted file; extraction of a single certificate is the only
+export for DER, and DER is what converts to PEM.
+
+Users with access to Apple OS X can export all certificates from Keychain Access System Roots as
+a .pem file. Place this in SSL_CERT_DIR and hash it and you're done.
+
+The MirOS BSD project also provides them. The procedure to convert and install them
+is detailed later in this document, and if you simply need to have commercially provided
+certificates trusted by lynx, you can skip down a few lines to the INSTALLING OR UPDATING
+THE CA BUNDLE section.
+
+Extracted Mozilla cert bundles are available for download from the curl project,
+http://curl.haxx.se/docs/caextract.html along with a script to extract from Mozilla
+source.
+
+
+INSTALLING A SELF-SIGNED CERTIFICATE:
+
+When you would like to trust a self-signed (non-commercial) certificate you will
+need to get hold of the actual file. If it's a cert local to your network you
+can ask the sysadmin to make it available for download as a link on a webpage.
+
+If such file is not human-readable it's probably DER formatted and will need to
+be converted to PEM format to allow openssl to use it.
+
+To convert DER formatted certificates into something openssl can deal with:
+
+Save the cert as site_name.crt in a directory. In that directory, type:
+
+openssl x509 -inform DER -in site_name.crt -outform PEM -out site_name.pem
+
+You can now copy this individual cert into the directory for that, usually
+/usr/local/ssl/certs. The alternative is to concatenate the individual certs
+to the cert.pem bundle in /usr/local/ssl. (Please see INSTALLING OR UPDATING
+THE CA BUNDLE below).
+
+The cert file will now be in an acceptable format to openssl, PEM encoded.
+However, openssl, and by extension lynx, will not know about it until that
+cert is symbolically linked to a file named after the hash value of that cert,
+in the default directory /usr/local/ssl/certs.
+
+So the next thing to do is to hash the cert using c_rehash.
+
+INSTALLING OR UPDATING THE CA BUNDLE:
+
+Now would be a good time to check to see if you have the bundle of CA certs
+/usr/local/ssl/cert.pem, or to update them.
+
+CA bundles are available in various places, such as the MirOS BSD distribution,
+for those who want to take that route, or you can extract the current bundle
+from a current version of Internet Explorer (export them all from IE and
+transfer it onto your system).
+
+From MirOS, a cert bundle is available at
+
+http://caunter.ca/ssl.certs.shar
+
+It includes the cacert.org certificate. Download the latest revision; read the
+file to see how to get the certs out.
+
+No hashing is necessary with this set of certs; it is already done; ignore
+the c_rehash usage below for this bundle. Simply run `sh ssl.certs.shar`
+in SSL_CERT_DIR.
+
+From IE 5.x certs extract as a PKCS7 file and need to be converted with something
+like:
+
+openssl pkcs7 -inform DER -in bundle.crt -outform PEM -out cert.pem \
+-print_certs -text
+
+The resulting cert.pem file should be copied to the default directory for
+bundles (usually /usr/local/ssl) and renamed to "cert.pem", assuming that is
+the SSL_CERT_FILE.
+
+Individual certs can also process if added and hashed in /usr/local/ssl/certs.
+
+We now have all of the individual certs we wish to trust in our certs
+directory, and the most recent bundle of CA certs as well.
+
+Confirm that you have the script c_rehash (See PRELIMINARY PROCEDURES; if it is
+not found, a copy is usually located in the tools directory of the openssl
+source tree. If you use this copy, it needs the execute bit set or it will not
+run).
+
+Run:
+
+./c_rehash
+
+The c_rehash utility is a perl script that runs openssl commands which creates
+the files named after the hash values of the certs in the default directory
+for certs.
+
+Its output looks like this:
+
+Doing /usr/local/ssl/certs
+vsignss.pem => f73e89fd.0
+vsign3.pem => 7651b327.0
+...more output
+<snip>
+
+All pem encoded certs in /usr/local/ssl/certs will now be recognized.
+
+SETTING AND EXPORTING ENVIRONMENT VARIABLES:
+
+If lynx is still not recognizing certs, environment variables need
+to be set; if on a sh type shell, the variables also need to be exported.
+
+The environment variables SSL_CERT_DIR and SSL_CERT_FILE need to be set
+if a non-default location is used for certificates, or if certs just can't be
+found by lynx. They may be set as follows in /etc/profile, or a shell
+initialization .profile or .*shrc, if we run a non csh type shell, according
+to the results of the search for the default location for certs procedure
+(See PRELIMINARY PROCEDURES):
+
+SSL_CERT_DIR="/usr/local/ssl/certs"
+SSL_CERT_FILE="/usr/local/ssl/cert.pem"
+export SSL_CERT_DIR SSL_CERT_FILE
+
+On csh type shells, you can use:
+setenv SSL_CERT_DIR "/usr/local/ssl/certs"
+setenv SSL_CERT_FILE "/usr/local/ssl/cert.pem"
+
+Note that the environment variable SSL_CERT_FILE applies to the cert-bundle
+if used outside of the default location (/usr/local/ssl/cert.pem) compiled
+into OpenSSL. There are issues with SSL_CERT_FILE in 0.9.6x versions of openssl.
+
+The configuration file lynx.cfg allows a system SSL_CERT_FILE variable to be set
+which can simplify matters.
+
+SSL_CERT_FILE:/etc/ssl/certs/ca-certificates.crt
+
+Make sure you have FORCE_SSL_PROMPT set to PROMPT in lynx.cfg like so:
+
+FORCE_SSL_PROMPT:PROMPT
+
+You will now connect without error to https servers with trusted certs, but
+will still get this error for untrusted certs:
+
+SSL error:self signed certificate-Continue? (y)
+
+A quick check confirms that these procedures have the same effect with ssl
+errors in the pine program.
+
+2003 updated 2009
+Stefan Caunter <stefan.caunter@mohawkcollege.ca>
+Mohawk College Department of Computer Science
+Hamilton Ontario Canada
diff --git a/docs/SOCKETSHR.announce b/docs/SOCKETSHR.announce
new file mode 100644
index 0000000..4c08a01
--- /dev/null
+++ b/docs/SOCKETSHR.announce
@@ -0,0 +1,67 @@
+LYNX SUPPORT FOR SOCKETSHR/NETLIB 28-AUG-1996
+---------------------------------
+
+
+What is SocketShr?
+------------------
+
+SOCKETSHR is Eckhart Meyer's socket library interface to the MadGoat NETLIB
+package, which provides a vendor-independent interface to the VMS TCP/IP
+transports. Using this, the same image will run over any of the available
+packages, including UCX, Multinet, CMU, Pathway access and TCPWARE.
+
+SocketShr and NETLIB are separately available libraries that MUST be installed
+before LYNX can use them.
+
+
+How to get NETLIB and SOCKETSHR
+-------------------------------
+
+FTP:
+
+ ftp://ftp.kcl.ac.uk/default/socketshr.*
+ ftp://ftp.wku.edu/fileserv/socketshr.zip
+ ftp://ftp.spc.edu/macro32/savesets/socketshr.zip
+
+ ftp://ftp.kcl.ac.uk/madgoat/netlib.*
+ ftp://ftp.wku.edu/madgoat/netlib017.zip
+ ftp://ftp.spc.edu/macro32/savesets/netlib017.zip
+
+
+By E-Mail:
+ send the following commands in a mail message:
+
+ SEND SOCKETSHR.PACKAGE
+ SEND NETLIB.PACKAGE
+
+ To:
+ vmsserv @ kcl.ac.uk
+
+Other server's may also contain these packages.
+
+NETLIB is copyright of MadGoat Software; SOCKETSHR is copyright of Eckhart
+meyer.
+
+
+Preliminary Setup of SOCKETSHR
+------------------------------
+
+Once SOCKETSHR has been installed, TWO logical names should be defined:
+
+ SOCKETSHR Point to the appropriate shareable image
+ SOCKETSHR_LIBRARY Point to the directory containing SOCKETSHR.H
+ and IOCTL.H
+
+Both should be defined /system /exec
+
+
+Building LYNX
+-------------
+
+Run the BUILD.COM procedures and select the SOCKETSHR_TCP option. This will
+build an image that will run over the SOCKETSHR/NETLIB routines.
+
+
+Andy Harper
+Kings College London
+A.Harper@bay.cc.kcl.ac.uk
diff --git a/docs/TCPWARE.announce b/docs/TCPWARE.announce
new file mode 100644
index 0000000..899a460
--- /dev/null
+++ b/docs/TCPWARE.announce
@@ -0,0 +1,30 @@
+ 03-Jun-1994
+
+ The bug associated with using non-blocking socket handling with
+TCPWare's UCX emulation has been traced by Bernie Votz of Process Software
+to their TCPDRIVER.EXE, and has been fixed. The kit is on FTP.PROCESS.COM
+and is called DRIVERS_V405B.INC (it is only valid for TCPware for OpenVMS
+Version 4.0-5, which is the current version at the time of this announcement).
+The fix will be included in the next TCPWare upgrade. If you have problems,
+contact:
+
+ Bernie Volz
+ Process Software Corporation
+ VOLZ@PROCESS.COM
+
+ If you have an old version of TCPWare, and no current Process
+Software support, modify [.WWW.Library.VMS]libmake.com to include NO_IOCTL in
+the $ cc := cc/define=(...) list. You will not be able to interrupt stalled
+connects (i.e., you'll have to wait for those to time out), but you still will
+we able to interrupt long or stalled document transfers via the 'z' command.
+
+ To build for TCPWare, enter @BUILD TCPWARE or just @BUILD
+and then answer the prompt with the appropriate number for that TCPIP
+package.
+
+ Fote
+
+=========================================================================
+ Foteos Macrides Worcester Foundation for Experimental Biology
+ MACRIDES@SCI.WFEB.EDU 222 Maple Avenue, Shrewsbury, MA 01545
+=========================================================================
diff --git a/docs/VMSWAIS.announce b/docs/VMSWAIS.announce
new file mode 100644
index 0000000..7253d0d
--- /dev/null
+++ b/docs/VMSWAIS.announce
@@ -0,0 +1,28 @@
+ 03-Jun-1994
+
+ I have added DIRECT_WAIS support for VMS to Lynx. It uses highly
+modified freeWAIS modules, collected into HTVMS_WaisUI.c, HTVMS_WaisUI.h,
+HTVMS_WaisProt.c, and HTVMS_WaisProt.h, interfaced to HTWAIS.c and HTWSRC.c
+of the WWWLib. The socket reads and writes use the code for VMS in the Lynx
+version of the WWWLib, and thus are non-blocking (interruptable via the 'z'
+command), and "already" ported to all the VMS TCPIP packages supported by
+Lynx. All messaging associated with WAIS searches and document fetches go to
+the Lynx statusline as Progress() or Alarm() reports.
+
+ I also prettied up the HTWAIS.c and HTWSRC.c screen displays for both
+VMS and Unix. I've been trying to build in recursive FORM-based interfaces,
+instead of the present iSINDEX-based interfaces, but haven't succeeded ;(.
+
+ The DIRECT_WAIS support is automatic for VMS (i.e., is implemented
+via the BUILD.COM and LIBMAKE.COM procedures, without need to specify anything
+but your TCPIP package, as in the previous, standard VMS builds). Simply
+enter @BUILD <TCPIP package> or enter @BUILD and then the number of
+your TCPIP package in response to the prompt, and you'll have DIRECT_WAIS
+support along with every other wonderful thing in Lynx 8-).
+
+ Fote
+
+=========================================================================
+ Foteos Macrides Worcester Foundation for Experimental Biology
+ MACRIDES@SCI.WFEB.EDU 222 Maple Avenue, Shrewsbury, MA 01545
+=========================================================================
diff --git a/docs/djgpp.key b/docs/djgpp.key
new file mode 100644
index 0000000..0ce8631
--- /dev/null
+++ b/docs/djgpp.key
@@ -0,0 +1,214 @@
+ DJGPP Keyhandler Keymaps
+
+Control_A 0x001
+Control_B 0x002
+Control_C 0x003
+Control_D 0x004
+Control_E 0x005
+Control_F 0x006
+Control_G 0x007
+BackSpace 0x008
+Control_H 0x008
+Tab 0x009
+Control_I 0x009
+LineFeed 0x00a
+Control_J 0x00a
+Control_K 0x00b
+Control_L 0x00c
+Return 0x00d
+Control_M 0x00d
+Control_N 0x00e
+Control_O 0x00f
+Control_P 0x010
+Control_Q 0x011
+Control_R 0x012
+Control_S 0x013
+Control_T 0x014
+Control_U 0x015
+Control_V 0x016
+Control_W 0x017
+Control_X 0x018
+Control_Y 0x019
+Control_Z 0x01a
+Control_LBracket 0x01b
+Escape 0x01b
+Control_BackSlash 0x01c
+Control_RBracket 0x01d
+Control_Caret 0x01e
+Control_Underscore 0x01f
+Space 0x020
+ExclamationPoint 0x021
+DoubleQuote 0x022
+Hash 0x023
+Dollar 0x024
+Percent 0x025
+Ampersand 0x026
+Quote 0x027
+LParen 0x028
+RParen 0x029
+Star 0x02a
+Plus 0x02b
+Comma 0x02c
+Dash 0x02d
+Period 0x02e
+Slash 0x02f
+Colon 0x03a
+SemiColon 0x03b
+LAngle 0x03c
+Equals 0x03d
+RAngle 0x03e
+QuestionMark 0x03f
+At 0x040
+LBracket 0x05b
+BackSlash 0x05c
+RBracket 0x05d
+Caret 0x05e
+UnderScore 0x05f
+BackQuote 0x060
+LBrace 0x07b
+Pipe 0x07c
+RBrace 0x07d
+Tilde 0x07e
+Control_Backspace 0x07f
+BackTab 0x10f
+Alt_Q 0x110
+Alt_W 0x111
+Alt_E 0x112
+Alt_R 0x113
+Alt_T 0x114
+Alt_Y 0x115
+Alt_U 0x116
+Alt_I 0x117
+Alt_O 0x118
+Alt_P 0x119
+Alt_LBracket 0x11a
+Alt_RBracket 0x11b
+Alt_Return 0x11c
+Alt_A 0x11e
+Alt_S 0x11f
+Alt_D 0x120
+Alt_F 0x121
+Alt_G 0x122
+Alt_H 0x123
+Alt_J 0x124
+Alt_K 0x125
+Alt_L 0x126
+Alt_Semicolon 0x127
+Alt_Quote 0x128
+Alt_Backquote 0x129
+Alt_Backslash 0x12b
+Alt_Z 0x12c
+Alt_X 0x12d
+Alt_C 0x12e
+Alt_V 0x12f
+Alt_B 0x130
+Alt_N 0x131
+Alt_M 0x132
+Alt_Comma 0x133
+Alt_Period 0x134
+Alt_Slash 0x135
+Alt_KPStar 0x137
+F2 0x13c
+F3 0x13d
+F4 0x13e
+F5 0x13f
+F6 0x140
+F7 0x141
+F8 0x142
+F9 0x143
+F10 0x144
+Alt_KPMinus 0x14a
+Center 0x14c
+Alt_KPPlus 0x14e
+Shift_F1 0x154
+Shift_F2 0x155
+Shift_F3 0x156
+Shift_F4 0x157
+Shift_F5 0x158
+Shift_F6 0x159
+Shift_F7 0x15a
+Shift_F8 0x15b
+Shift_F9 0x15c
+Shift_F10 0x15d
+Control_F1 0x15e
+Control_F2 0x15f
+Control_F3 0x160
+Control_F4 0x161
+Control_F5 0x162
+Control_F6 0x163
+Control_F7 0x164
+Control_F8 0x165
+Control_F9 0x166
+Control_F10 0x167
+Alt_F1 0x168
+Alt_F2 0x169
+Alt_F3 0x16a
+Alt_F4 0x16b
+Alt_F5 0x16c
+Alt_F6 0x16d
+Alt_F7 0x16e
+Alt_F8 0x16f
+Alt_F9 0x170
+Alt_F10 0x171
+Control_Print 0x172
+Control_Left 0x173
+Control_Right 0x174
+Control_End 0x175
+Control_PageDown 0x176
+Control_Home 0x177
+Alt_1 0x178
+Alt_2 0x179
+Alt_3 0x17a
+Alt_4 0x17b
+Alt_5 0x17c
+Alt_6 0x17d
+Alt_7 0x17e
+Alt_8 0x17f
+Alt_9 0x180
+Alt_0 0x181
+Alt_Dash 0x182
+Alt_Equals 0x183
+Control_PageUp 0x184
+F11 0x185
+F12 0x186
+Shift_F11 0x187
+Shift_F12 0x188
+Control_F11 0x189
+Control_F12 0x18a
+Alt_F11 0x18b
+Alt_F12 0x18c
+Control_Up 0x18d
+Control_KPDash 0x18e
+Control_Center 0x18f
+Control_KPPlus 0x190
+Control_Down 0x191
+Control_Insert 0x192
+Control_Delete 0x193
+Control_KPSlash 0x195
+Control_KPStar 0x196
+Alt_EHome 0x197
+Alt_EUp 0x198
+Alt_EPageUp 0x199
+Alt_ELeft 0x19b
+Alt_ERight 0x19d
+Alt_EEnd 0x19f
+Alt_EDown 0x1a0
+Alt_EPageDown 0x1a1
+Alt_EInsert 0x1a2
+Alt_EDelete 0x1a3
+Alt_KPSlash 0x1a4
+Alt_Tab 0x1a5
+Alt_Enter 0x1a6
+Alt_Escape 0x1a7
+Control_At 0x1a8
+Alt_Backspace 0x1a9
+Control_ELeft 0x273
+Control_ERight 0x274
+Control_EEnd 0x275
+Control_EPageDown 0x276
+Control_EHome 0x277
+Control_EPageUp 0x284
+Control_EUp 0x28d
+Control_EDown 0x291
+Control_EInsert 0x292
+Control_EDelete 0x293
diff --git a/docs/pdcurses.key b/docs/pdcurses.key
new file mode 100644
index 0000000..5e383aa
--- /dev/null
+++ b/docs/pdcurses.key
@@ -0,0 +1,123 @@
+ PDCurses Keymaps
+
+KEY_F2 0x213 /* F2 */
+KEY_F3 0x214 /* F3 */
+KEY_F4 0x215 /* F4 */
+KEY_F5 0x216 /* F5 */
+KEY_F6 0x217 /* F6 */
+KEY_F7 0x218 /* F7 */
+KEY_F(n) (0x108+(n)) /* If n>7 (9 keys are reserved) */
+ALT_0 0x197 /* Alt-0 */
+ALT_1 0x198 /* Alt-1 */
+ALT_2 0x199 /* Alt-2 */
+ALT_3 0x19a /* Alt-3 */
+ALT_4 0x19b /* Alt-4 */
+ALT_5 0x19c /* Alt-5 */
+ALT_6 0x19d /* Alt-6 */
+ALT_7 0x19e /* Alt-7 */
+ALT_8 0x19f /* Alt-8 */
+ALT_9 0x1a0 /* Alt-9 */
+ALT_A 0x1a1 /* Alt-A */
+ALT_B 0x1a2 /* Alt-B */
+ALT_C 0x1a3 /* Alt-C */
+ALT_D 0x1a4 /* Alt-D */
+ALT_E 0x1a5 /* Alt-E */
+ALT_F 0x1a6 /* Alt-F */
+ALT_G 0x1a7 /* Alt-G */
+ALT_H 0x1a8 /* Alt-H */
+ALT_I 0x1a9 /* Alt-I */
+ALT_J 0x1aa /* Alt-J */
+ALT_K 0x1ab /* Alt-K */
+ALT_L 0x1ac /* Alt-L */
+ALT_M 0x1ad /* Alt-M */
+ALT_N 0x1ae /* Alt-N */
+ALT_O 0x1af /* Alt-O */
+ALT_P 0x1b0 /* Alt-P */
+ALT_Q 0x1b1 /* Alt-Q */
+ALT_R 0x1b2 /* Alt-R */
+ALT_S 0x1b3 /* Alt-S */
+ALT_T 0x1b4 /* Alt-T */
+ALT_U 0x1b5 /* Alt-U */
+ALT_V 0x1b6 /* Alt-V */
+ALT_W 0x1b7 /* Alt-W */
+ALT_X 0x1b8 /* Alt-X */
+ALT_Y 0x1b9 /* Alt-Y */
+ALT_Z 0x1ba /* Alt-Z */
+CTL_LEFT 0x1bb /* Control-Left-Arrow */
+CTL_RIGHT 0x1bc /* Control-Right-Arrow */
+CTL_PGUP 0x1bd /* Control-PgUp */
+CTL_PGDN 0x1be /* Control-PgDn */
+CTL_HOME 0x1bf /* Control-Home */
+CTL_END 0x1c0 /* Control-End */
+KEY_B2 0x1c5 /* center on Virt. keypad */
+PADSLASH 0x1ca /* slash on keypad */
+CTL_PADENTER 0x1cc /* ctl-enter on keypad */
+ALT_PADENTER 0x1cd /* alt-enter on keypad */
+PADSTOP 0x1ce /* stop on keypad */
+PADSTAR 0x1cf /* star on keypad */
+PADMINUS 0x1d0 /* minus on keypad */
+PADPLUS 0x1d1 /* plus on keypad */
+CTL_PADSTOP 0x1d2 /* ctl-stop on keypad */
+CTL_PADCENTER 0x1d3 /* ctl-enter on keypad */
+CTL_PADPLUS 0x1d4 /* ctl-plus on keypad */
+CTL_PADMINUS 0x1d5 /* ctl-minus on keypad */
+CTL_PADSLASH 0x1d6 /* ctl-slash on keypad */
+CTL_PADSTAR 0x1d7 /* ctl-star on keypad */
+ALT_PADPLUS 0x1d8 /* alt-plus on keypad */
+ALT_PADMINUS 0x1d9 /* alt-minus on keypad */
+ALT_PADSLASH 0x1da /* alt-slash on keypad */
+ALT_PADSTAR 0x1db /* alt-star on keypad */
+ALT_PADSTOP 0x1dc /* alt-star on keypad */
+CTL_INS 0x1dd /* ctl-insert */
+ALT_DEL 0x1de /* alt-delete */
+ALT_INS 0x1df /* alt-insert */
+CTL_UP 0x1e0 /* ctl-up arrow */
+CTL_DOWN 0x1e1 /* ctl-down arrow */
+CTL_TAB 0x1e2 /* ctl-tab */
+ALT_TAB 0x1e3 /* alt-tab */
+ALT_MINUS 0x1e4 /* alt-minus */
+ALT_EQUAL 0x1e5 /* alt-equal */
+ALT_HOME 0x1e6 /* alt-home */
+ALT_PGUP 0x1e7 /* alt-pgup */
+ALT_PGDN 0x1e8 /* alt-pgdn */
+ALT_END 0x1e9 /* alt-end */
+ALT_UP 0x1ea /* alt-up arrow */
+ALT_DOWN 0x1eb /* alt-down arrow */
+ALT_RIGHT 0x1ec /* alt-right arrow */
+ALT_LEFT 0x1ed /* alt-left arrow */
+ALT_ENTER 0x1ee /* alt-enter */
+ALT_ESC 0x1ef /* alt-escape */
+ALT_BQUOTE 0x1f0 /* alt-back quote */
+ALT_LBRACKET 0x1f1 /* alt-left bracket */
+ALT_RBRACKET 0x1f2 /* alt-right bracket */
+ALT_SEMICOLON 0x1f3 /* alt-semi-colon */
+ALT_FQUOTE 0x1f4 /* alt-forward quote */
+ALT_COMMA 0x1f5 /* alt-comma */
+ALT_STOP 0x1f6 /* alt-stop */
+ALT_FSLASH 0x1f7 /* alt-forward slash */
+ALT_BKSP 0x1f8 /* alt-backspace */
+CTL_BKSP 0x1f9 /* ctl-backspace */
+PAD0 0x1fa /* ctl-keypad 0 */
+CTL_PAD0 0x1fb /* ctl-keypad 0 */
+CTL_PAD1 0x1fc /* ctl-keypad 1 */
+CTL_PAD2 0x1fd /* ctl-keypad 2 */
+CTL_PAD3 0x1fe /* ctl-keypad 3 */
+CTL_PAD4 0x1ff /* ctl-keypad 4 */
+CTL_PAD5 0x200 /* ctl-keypad 5 */
+CTL_PAD6 0x201 /* ctl-keypad 6 */
+CTL_PAD7 0x202 /* ctl-keypad 7 */
+CTL_PAD8 0x203 /* ctl-keypad 8 */
+CTL_PAD9 0x204 /* ctl-keypad 9 */
+ALT_PAD0 0x205 /* ctl-keypad 0 */
+ALT_PAD1 0x206 /* ctl-keypad 1 */
+ALT_PAD2 0x207 /* ctl-keypad 2 */
+ALT_PAD3 0x208 /* ctl-keypad 3 */
+ALT_PAD4 0x209 /* ctl-keypad 4 */
+ALT_PAD5 0x20a /* ctl-keypad 5 */
+ALT_PAD6 0x20b /* ctl-keypad 6 */
+ALT_PAD7 0x20c /* ctl-keypad 7 */
+ALT_PAD8 0x20d /* ctl-keypad 8 */
+ALT_PAD9 0x20e /* ctl-keypad 9 */
+CTL_DEL 0x20f /* clt-delete */
+ALT_BSLASH 0x210 /* alt-back slash */
+CTL_ENTER 0x211 /* ctl-enter */
diff --git a/docs/slang.key b/docs/slang.key
new file mode 100644
index 0000000..7310880
--- /dev/null
+++ b/docs/slang.key
@@ -0,0 +1,4 @@
+ S-Lang Keymaps for DOS
+
+F0 0x200
+F(X) (SL_KEY_F0 + X) /* If X>1 */
diff --git a/docs/win-386.announce b/docs/win-386.announce
new file mode 100644
index 0000000..dcc482b
--- /dev/null
+++ b/docs/win-386.announce
@@ -0,0 +1,40 @@
+Ports have been added for Win32 (95/NT) and 386 DOS computers with a
+packet driver. I created four new defines to accomplish this.
+
+_WINDOWS Defined for Win32 specific code (Mostly TCP related)
+DJGPP Defined for 386 specific code (Mostly TCP related)
+DOSPATH Defined for any DOS'ish computer
+NOSIGHUP Defined for computers not supporting sighup signal calls.
+
+To make the Win32 version you need Borland C++ 4.52 or complete
+compatable and the win32.zip package unziped into the lynx directory.
+This code expects you to have BC make in your path at the console
+prompt and also to be able to compile from the console as well.
+I can provide an IDE if needed but did not want to force on into the
+standard Lynx package. Text mode compiling is much faster anyhow (IMHO).
+The current default configuration is to have the Character Translation
+code linked in. For this to be successful you need to go into
+src\chrtrans and run makew32. After that you can come back to the
+Lynx root and run make -f makefile.w32.
+
+The DJGPP version is a little screwy. You need DJGPP 2.0, the djgpp.zip
+package unziped into the lynx directory and some paitence. I kludged it
+to compile with long filenames under Win95 so some fooling around may be
+required. To compile, run djgpp.bat that was extracted from the zip
+file. There is currently a problem with compiling HTML.c and I have
+contacted the author of DJGPP for help with getting this port further.
+
+Wayne Buttles
+lynx-port@fdisk.com
+
+
+
+Win32 port was further extended by Hiroyuki Senshu <senshu@shonai-cit.ac.jp>
+ftp://crab.it.osha.sut.ac.jp/pub/Win32/develope/senshu/Lynx/
+ Most changes are ifdef'd
+ #define _WIN_CC= .... for Windows C Compiler
+ #define CJK_EX .... CJK EXtension
+ #define SH_EX .... Senshu Hiroyuki EXtension
+ #define WIN_EX .... Windows EXtension
+
+Lynx now builds with C++ Builder, Borland C++, Visual C++, and Cygwin.