summaryrefslogtreecommitdiffstats
path: root/docs/CHANGES2.8
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:37:15 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 16:37:15 +0000
commitae5d181b854d3ccb373b6bc01b4869e44ff4d87a (patch)
tree91f59efb48c56a84cc798e012fccb667b63d3fee /docs/CHANGES2.8
parentInitial commit. (diff)
downloadlynx-ae5d181b854d3ccb373b6bc01b4869e44ff4d87a.tar.xz
lynx-ae5d181b854d3ccb373b6bc01b4869e44ff4d87a.zip
Adding upstream version 2.9.0dev.12.upstream/2.9.0dev.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'docs/CHANGES2.8')
-rw-r--r--docs/CHANGES2.83399
1 files changed, 3399 insertions, 0 deletions
diff --git a/docs/CHANGES2.8 b/docs/CHANGES2.8
new file mode 100644
index 0000000..030062d
--- /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 entry
+ 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 attributes 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