diff options
Diffstat (limited to '')
-rw-r--r-- | CHANGES | 9888 |
1 files changed, 9888 insertions, 0 deletions
@@ -0,0 +1,9888 @@ +-- $LynxId: CHANGES,v 1.990 2018/07/08 16:51:50 tom Exp $ +=============================================================================== +Changes since Lynx 2.8 release +=============================================================================== + +2018-07-08 (2.8.9rel.1) +* documentation/metrics updates -TD + +2018-06-10 (2.8.9pre.1) +* fix an inconsistency in message for "-listonly" option (Debian #805753) -TD + +2018-05-17 (2.8.9dev.19) +* update test-packages to use current ncurses test-packages -TD +* improve portability for sockaddr structures used in HTTP and FTP, for + IPv6 and SOCKS configurations -TD +* fix several minor warnings reported by Coverity -TD +* build-fix overlooked in 2.8.9dev.3 when INACTIVE_INPUT_STYLE_VH is defined, + for problem introduced by 2.8.8dev.17 code-cleanup -GV +* trim unnecessary intllib symbols from src/chrtrans/makefile.in -TD +* when cross-compiling, trim LDFLAGS from makefile rule linking makeuctb, + because it is a build tool, which should generally use BUILD_LDFLAGS + (patch by Thomas Petazzoni) + +2018-05-06 (2.8.9dev.18) +* ignore content-encoding in HTContentToCompressType() if the content-type is + known, to improve the suggested filename (report by Russell Bell) -TD +* add support for using client certificate with OpenSSL configuration (patch + by Elliot Thomas). +* fix a few more memory leaks -TD +* put Lynx.leaks file in home directory like Lynx.trace (report by GV) -TD +* fix a memory leak in HTFTP.c -GV +* modify HTDoConnect(), adding a check for keyboard interrupt with 'z' in the + select-loop -TD +* modify legacy feature from Lynx 2.7.2 which checks the hostname of a URI + to guess whether to use HTTP, FTP, etc., depending upon the prefix of the + URIs hostname. This is now an optional feature, GUESS_SCHEME, which defaults + to FALSE (Debian #893907) -TD + +2018-03-21 (2.8.9dev.17) +* modify samples/oldlynx.bat to check if Lynx recognizes the -lss option -TD +* modify samples/*lynx.bat to check for environment variables that Lynx would + test for temp-directory, and only if those are absent will the scripts + attempt to create a temp-directory -TD +* modify samples/*lynx.bat to set PATH for executing utility programs -TD +* remove unused critSec_DNS -TD +* use EnterCriticalSection in ws_netread rather than InitializeCriticalSection + since critSec_READ was initialized in LYMain.c (report by GV) -TD +* use freeaddrinfo() in one case where free() was used (report by GV) -TD +* implement "+" item type for gopher protocol (report by James Tomasino) -TD +* add checks in options-menu in case no color-styles have been defined -TD +* add Visual Studio project files for 2010, 2012 -TD +* improve checks for strings which should not be empty -TD +* check for empty personal-mail-address (report by TG) -TD +* modify samples/lynx-demo.cfg to use SOURCE_CACHE:memory -TD +* modify samples/*lynx.bat to use existing TEMP-directory if possible -TD +* modify windows installer to select directory containing SSL DLLs and copy + them into lynx's application directory -TD +* add oldlynx.bat sample script to windows installer -TD +* use default lynx.lss color scheme with samples/lynx.bat -TD +* modify windows installers to use static libraries for pdcurses and slang, + because the dll for the latter is much larger than the rest of lynx. + Even with this change, lynx.exe is 50% larger when using slang than with + pdcurses -TD +* rename test-package for ".rpm" to "lynx-dev" for consistency with ".deb" -TD +* improve samples/lynx.bat by using location of script rather than current + directory -loto1992@inbox.ru ("Smuggler") +* permanently enable MISC_EXP feature -TD +* remove several obsolete ifdefs: DGUX, DGUX_OLD, HP_TERMINAL, + REVERSE_CLEAR_SCREEN_PROBLEM, SHORTENED_RBIND, SLANG_MBCS_HACK, SNAKE -TD +* improve logic in HTCopy used to limit reads based on content-length to + take into account server headers which extend past the first block read + (report/test-case by Dick Wesseling) -TD +* permanently enable EXP_HTTP_HEADERS feature -TD +* modify color-style hashing to check for collisions (reported by TG, Russell + Bell) -TD +* add PREFERRED_CONTENT_TYPE defaulting to text/plain and options-menu to + replace an assumption in HTMIMEConvert that everything is text/html. + Since most servers provide a valid Content-Type for HTML, and are more likely + to omit it for files lacking a known suffix, defaulting to text/plain is a + better choice -TD +* remove dead-code for OMIT_SCN_KEEPING -TD +* remove dead/unreachable pretty-source code in HTML.c, noticed because + it complicates hashing -TD +* improve hashing for anchors and styles by using a more suitable hash-table + size -TD +* add a note in lynx.cfg telling how to remove a default key-mapping -TD +* modify "=" command to make it possible to disable margins for the URL string, + by first disabling wrapping using "|" -TD +* several fixes for Windows version -TH + + fix an abnormal terminate when pressing 'd'(download) on no action button. + + work around incompatibility in move() between POSIX and Windows. + ref: https://www.securecoding.cert.org/confluence/display/c/FIO10-C.+Take+care+when+using+the+rename%28%29+function + + fix limit-check for SJIS which prevented showing a show long title in the + title bar on Windows environment. + + fix problem with PDCurses when wrapping lines. + ref: lynx-dev discussions "Subject: Wrapping line behavior" + + fix resizing terminal problem with Windows + PDCurses. + This problem occurs only with some combinations of source and destination + screen size. + For example: 80x25 -> 90x20 + + including some code clean up +* improve consistency in help-files discussing line-edit keymaps (prompted by + Debian #888391) -TD +* additional fixes to work with LibreSSL on OpenBSD 6.2 -TD +* build-fixes for OpenSSL 1.1.0 versus 1.0.0 (patch by Quentin Minster). +* modify configure script to make a quirk of NetBSD's make-program less + noticeable -TD +* modify configure script to work around pkgsrc's misconfiguration of shared + libraries -TD +* modify po/makefile.inn to ensure the temporary files have distinct names + to avoid problem with "make -j8" (Debian #890811) -TD +* update makefile/batch-scripts to allow building with newer Visual Studio + versions, e.g., 2010, 2012, so that a 64-bit executable can be built -TD +* repair link in lynx_help_main.html to HTML 3.2 documentation + (Savannah #47803) -TD +* update eo.po, fr.po from + http://translationproject.org/latest/lynx +* improved several configure macros: + CF_BUILD_CC, CF_CC_ENV_FLAGS, CF_CURSES_FUNCS, CF_CURSES_LIBS, + CF_NCURSES_CONFIG -D +* updated ftp-site url -TD +* update config.guess (2018-01-26), config.sub (2018-01-15) + +2017-07-10 (2.8.9dev.16) +* modify configure script to warn if NLS cannot be configured, and disable + the feature rather than leaving it partly configured and failing during + the build -TD +* modify configure script to allow pre-set $MSGFMT and $XGETTEXT variables to + to used to build the NLS configuration using system's native NLS support -TD +* convert po/zh_TW.po to UTF-8 to work with Solaris10, which lacks big5 -TD +* build-fix for OSX Panther, which has PRId64 but not SCNd64 (patch by Martijn + Dekker). +* modify po-makefile to use msgmerge to align with lynx.pot, and also use sed + to update some obsolete homepage URLs in translations -TD +* add a note in the comments for INCLUDE in lynx.cfg regarding the default + directory searches LYOpenCFG(), added in 2.8.4dev.20 (Debian #818047) -TD +* add a check to ensure that HTML_put_string() will not append a chunk onto + itself (report by Ned Williamson) -TD +* update da.po, et.po, tr.po from + http://translationproject.org/latest/lynx + +2017-07-04 (2.8.9dev.15) +* add note in lynx.cfg about default values (Debian #408448) -TD +* amended Backes' change to the COLLAPSE_BR_TAGS feature for compatibility -TD + + use ENABLE_LYNXRC to determine whether it is written to the .lynxrc file. + + add command-line option, etc., for controlling whether blank lines are + trimmed, e.g., trailing lines as well as the special case for collapsing + br-tags. Leading blank lines at the top of the document are untouched. + + modify limit for trimmed lines to retain as little as 1 line; previously + the trimming would go no smaller than 2 lines. +* add command-line option and options-menu item for COLLAPSE_BR_TAGS (patch + by Peter Backes). +* fix strict gcc7 warnings on OSX, aside from those due to incorrect system + headers -TD +* adjust definition of alloca() in HTUtils.h to quiet bogus compiler warning + with NetBSD 7 -TD +* add configure check for preprocessor -C option, overlooked in c99 -TD +* correct logic in HTCopy() when re-reading a page (Debian #863008) -TD +* fix lintian warnings in ".deb" test-package -TD +* build-fix for PGI compilers, e.g., symbol conflicts -TD +* update eo.po from + http://translationproject.org/latest/lynx + +2017-05-10 (2.8.9dev.14) +* amend fix for Debian #841155, adding check for complete multibyte strings to + decide when the cell-limit has been met (Debian #862148) -TD +* minor improvements to configure script to reduce warnings in config.log -TD +* update config.sub (2017-04-02) +* compiler-warning fixes for c99 on OSX -TD + +2017-04-29 (2.8.9dev.13) +* amend fix for Debian #841155, adding check for special case where the + expected number of cells is zero (report by Larry Hynes) -TD + +2017-04-28 (2.8.9dev.12) +* correct logic in cell2char(), which gave up too early in determining the + number of cells needed for a multibyte string in the editable text-fields + (Debian #841155) -TD +* improve manual page discussion of environment variables, prompted by + comments in Debian #791452, which overlooked the fact that details of proxy + behavior are found in the user guide -TD +* cleanup some of the user's guide formatting, e.g., for quote-characters -TD +* consistently use "_" in command-line options table and manual page, to work + with program logic that treats "-" as "_", but not the reverse (report by + Larry Hynes) -TD +* improved several configure macros: CF_ADD_CFLAGS, CF_CC_ENV_FLAGS, + CF_GNU_SOURCE, CF_LARGEFILE, CF_MATH_LIB, CF_PROG_LINT, CF_SRAND, + CF_XOPEN_SOURCE -TD +* modify Windows makefile to allow SSL_LIBS and SSL_DEFS to be overridden, + reflecting naming-incompatibility in recent OpenSSL development -TD +* modify ncurses-specific code to allow its TERMINAL struct to be opaque -TD +* refine special case of server Content-Type from 2.8.7dev.11 changes to + decompress files offered for download when the server has gzip'd them + (report by TH) -TD +* amend comparision from 2.8.8dev.10 changes to handle slang specially + (report/testcase by TH) -TD +* minor cleanup of UCDomap.c -TD +* build-fix for color-style with leak-checking -TD +* amend merge/fixes from + http://en.sourceforge.jp/project/lynx-win32-pata + as well as problem introduced by 2.8.8dev.6 cleanup -TH +* update ca.po, from + http://translationproject.org/latest/lynx +* tidy whitespace in lynx.cfg (report by David Niklas) -TD +* fix two more typos in the list of ENABLE_LYNXRC in lynx.cfg -TD +* remove a repeated item for SEND_USERAGENT from lynx.cfg (Larry Hynes) +* accept userinfo in a URL, subject to override by -auth option or -pauth + options. According to RFC-3986, this is deprecated, but testing shows other + clients support it -TD +* fix several minor warnings reported by Coverity -TD +* remove redundant asserts which follow a check that leads to outofmem(), + added in 2.8.8dev.4 to appease clang 2.6, since clang 3.x understands + no-return function declarations -TD +* when converting host+params to idna, temporarily separate the params to + avoid a warning from idna_to_ascii_8z() -TD +* improve warning messages from 2.8.9dev.11 fixes when stripping user/password, + dropping an unnecessary message and fixing a case where all-punctuation + user name was not logged (report by Axel Beckert) -TD +* update config.guess (2017-03-05), config.sub (2017-02-07) + +2016-11-15 (2.8.9dev.11) +* amend fix for stripping user/password to ensure that the stripped value is + used when connecting to the host (prompted by discussion of CVE-2016-9179 + at https://lists.debian.org/debian-lts/2016/11/threads.html#00072) -TD + +2016-11-08 (2.8.9dev.10) +* improved fix for OpenSSL 1.1 (Taketo Kabe). +* improve warning message when stripping user/password from URL; report on + http://seclists.org/oss-sec/2016/q4/322 treated as a Lynx parsing error the + punctuation such as "?" which is permitted by RFC-1738 in a user or password + field. RFC-3986 subsequently modified this. The improved message points out + the possible confusion by users when these fields contain punctuation -TD +* build-fix for OpenSSL 1.1 (Kamil Dudka) +* begin work to parse gopher extension "link to URL" -TD +* remove an obsolete comment in the manual page about -dump versus -force_html + (report by Peter Schmitt) -TD +* modify samples/oldlynx to provide an empty ".lss" file as a better default + than providing an empty "-lss" option -TD +* amend change made in 2.8.8dev.17 to permit multiple COLOR_STYLE items to + restore the ability to cancel the color-style by providing an explicitly + empty configuration item (in lynx.cfg, -lss or $LYNX_LSS). In lynx.cfg, it + is possible to follow the empty COLOR_STYLE with other data, but the -lss + option overrides everything, and if that is not found, $LYNX_LSS overrides + lynx.cfg -TD +* correct ifdef so that if the "news" parsing is disabled at compile time, + HTTP.c interprets https:// links correctly when a https_proxy is set up + (patch by Al Walker). +* add a limit-check in case colspan is given as zero for non-nested-table case + (report by Sami Liedes) -TD +* update nl.po, sl.po from + http://translationproject.org/latest/lynx + +2016-04-26 (2.8.9dev.9) +* add workaround for servers such as https://www.xing.com which fail to close + the connection when they finish sending compressed data. This relies on + the content-length (report by Klaus-Peter Wegge) -TD +* restore fix to filter out left-to-right marks which was broken in refactoring + in 2.8.9dev.2, and also filter out right-to-left marks (Debian #808949) -TD +* fix build for current gnutls configuration which dropped the + gnutls_protocol_set_priority function (reported by Axel Beckert, Andreas + Metzler) -TD +* modify CF_LD_RPATH_OPT configure macro, changing FreeBSD case to use + -Wl,-rpath rather than -rpath option. According to FreeBSD #178732, either + works since FreeBSD 4.x; however scons does not accept anything except the + -Wl,-rpath form -TD +* add null-pointer checks for ssl_ctx in HTTP.c in case of error from calls + on SSL_CTX_new (report by Yuan Jochen Kang) -TD +* update config.guess (2016-01-01), config.sub (2016-01-01) +* update da.po, fi.po, tr.po from + http://translationproject.org/latest/lynx + +2015-12-18 (2.8.9dev.8) +* fix regression in SSL support (report by Axel Beckert) -TD +* update et.po, fr.po, vi.po, zh_CN.po from + http://translationproject.org/latest/lynx + +2015-12-18 (2.8.9dev.7) +* make the HTTP version configurable, defaulting to "1.0" (HTTP/1.0) as + HTTP_PROTOCOL, and make it changeable in the options menu -TD +* switch HTTP version to 1.1, adding an explicit "close" to work around + the pitfall of persistent connections. This is to work around a selective + reading of RFC 2068 by duckduckgo.com - see + http://lists.nongnu.org/archive/html/lynx-dev/2015-12/index.html + -Axel Beckert +* fix a potential null dereference in tidy_tls.c reported by Coverity -TD +* extend advanced mode by showing field names in forms in the status line + (suggested by TG) -TD +* fix some typos found by lintian -Axel Beckert +* correct buffer size in pretty_html() function of LYKeymap.c -TG +* add support for some HTML5 elements -Kihara Hideto + Using this change, you can jump to <section id="speakers">. + (The addition in src{0,1}_HTMLDTD.txt is copied from DIV.) + <section>, <article>, <main>, <aside>, <header>, <footer>, <nav>, <figure> +* improve configure check for extended curses functions, needed for compiling + with ncursesw on OSX, in particular when configuring with ncurses6 (report + by Tom Wyant) -TD +* set SSL_MODE_AUTO_RETRY in OpenSSL configuration, completing work needed for + Debian #707059 -TD +* correct description used for "K" vs "k" key binding in manpage -TD +* adopt some of the patches from Debian lynx package: + + add Delete key usage to manpage (patch by Denis Briand, Debian #74358) + + add $(LDFLAGS) when building makeuctb (patch by Atsuhito Kohda). + + add NO_BUILDSTAMP symbol to appease + https://wiki.debian.org/ReproducibleBuilds/TimestampsFromCPPMacros + + add -n option to gzip when making gzip'd helpfiles (patch by Andreas + Metzler). + + add support for client certificates (patch by Simon Kainz, Debian #797901). +* use POSIX locale when sorting entries in cfg_defs.h (patch by Reiner Hermann, + Debian #792770). +* move homepage for Lynx from + http://lynx.isc.org + to + http://lynx.invisible-island.net + because ISC has ended support -TD +* change "GNU Public License" to "GNU General Public License" for consistency + (report by Axel Beckert) -TD +* free a use-after-free in scan_cookie_sublist (Redhat #1120925) -TG +* updates for configure macros from ncurses and xterm -TD +* fix for gnutls logic to support rehandshake on negotiation for optional + client certificate, e.g., for https://contributors.debian.org (patch by + Simon Kainz, Debian #797059). +* update ca.po, sv.po, et.po from + http://translationproject.org/latest/lynx +* use gnutls_set_default_priority() to simplify algorithm priorities in the + gnutls configuration as well as track occassional changes in that library + (patch by Andreas Metzler, Debian #789189, Debian #784430). +* correct logic in LYsetRcValue() from 2.8.8dev.13, which would free the wrong + pointer if the input had leading blanks (patch by Ruda Moura). +* fix CF_CHECK_SIZEOF autoconf macro to work when its working variables have + been preset to an empty value (report by Andrew Arensburger) -TD +* update config.guess (2015-10-21), config.sub (2015-08-20) + +2015-05-06 (2.8.9dev.6) +* add a note about OCSP to url-support documentation (Debian #745835) -TD +* change defaults for SSL prompts when a problem is detected to "no" (Debian + #783477) -TD +* if an SSL error message is too long for the screen-width, trim it with an + ellipsis so that the "(y)" part of the prompt for continuing will be visible + (Debian #783476) -TD +* update test-packages to use ncurses6 test-packages -TD +* modify configure script to check for ncurses ".pc" files first before looking + for the "ncurses*-config" scripts -TD +* modify configure script to accept a release-number for the ncurses/ncursesw + values of the "--with-screen" option, e.g., "--with-screen=ncursesw6" -TD +* cosmetic fixes for autoconf macros to avoid vi-workaround -TD +* update da.po, et.po, fr.po, nl.po, vi.po from + http://translationproject.org/latest/lynx +* regenerated lynx.pot, sent to translation project -TD +* update config.guess (2015-03-04), config.sub (2015-03-08) + +2015-04-12 (2.8.9dev.5) +* add codes U+200A, U+200B to def7_uni.tbl (prompted by report by Sven + Hartrumpf, as well as referring to + https://www.cs.tut.fi/~jkorpela/chars/spaces.html) -TD +* restore large buffer-size from follow_link_number() which was altered in + 2.8.8dev.10 changes to use LYgetBString() (Debian #699068) -TD, -TG +* loosen the check in IsOurFile() to permit hard-linked files + (Debian #429606) -TD +* update ca.po, cs.po, et.po, fi.po, fr.po, id.po, nl.po, pt_BR.po, ru.po, + sl.po, tr.po, vi.po from + http://translationproject.org/latest/lynx + +2015-01-25 (2.8.9dev.4) +* modify check after gnutls_certificate_verify_peers2() to use + gnutls_certificate_verification_status_print() when available, to give + potentially more details on certficate revocation (patch by Andreas Metzler, + Debian #745835, Debian #752610) + +2015-01-05 (2.8.9dev.3) +* correct shortcut for "Send To" link used in Inno Setup script, broken in + 2.8.8dev.15 -TD +* amend change made in 2.8.8dev.10 to LYLocal.c get_filename(), ensuring that + the bstring parameter can be (re)allocated within that function's call to + LYgetBString() (report by Raoul Megelas) -TG +* build-fixes for djgpp 2.04 and gcc 4.8.4 using Watt-32 -GV + +2014-12-21 (2.8.9dev.2) +* correct an inconsistent check for reload using isLYNXCGI() in the + options-screen -TD +* add script after using msginit to create en.po, to work around renaming in + Cygwin environment -TD +* improve overlay of field contents in form for "-dump" option; the change + in 2.8.8dev.3 did not take into account UTF-8 values (Debian #770011) -TD +* correct a bug in the map_string_to_keysym() function introduced in + 2.8.8dev.17: as used via the remap() function, this returns the curses + code for a special key rather than Lynx's internal code (Debian #769601) -TD +* add checks when translating from UTF-8 to Unicode, to ensure that only the + shortest encoding is accepted. Other/longer encodings are mapped to the UCS + replacement character as in xterm (Debian #763268) -TD +* modify LYExpandHostForURL() to call HTGetAddrInfo(), allowing DNS lookups + for IPv6 to be interrupted, e.g., by typing ^G. This was a path overlooked + in 2.8.8dev.13 (reports by Chad Kline, etc.) -TD +* drop libgnutls-extra when using --with-gnutls-compat option -TD +* drop libgcrypt dependency when building with gnutls, using gnutls_rnd() + rather than gcry_randomize() (adapted from patch by Andreas Metzler, + Debian #753699) -TD +* fix a reference-after-free in scan_cookie_sublist(), probably fixing RedHat + #1120925 -Mike Gorse +* update eo.po, id.po from + http://translationproject.org/latest/lynx +* improve workaround for too-long pathnames in LYPrint.c SetupFilename() -TD +* fix a few inconsistencies between #if / #ifdef, including one for sleep() + which broke cross-compiles for MinGW -TD +* updated/improved configure script macros (TD): + + CF_ACVERSION_CHECK: work around another gratuitous incompatibility + introduced in 2.69 (reported by Ross Burton, openembedded.org) + + CF_ADD_CFLAGS: workaround for ash-shell + + CF_ADD_LIBS: workaround in CF_X_TOOLKIT uses pkgconfig, whose files + generally are using incomplete dependencies - in turn introducing lots of + duplication. filter out the duplicates. + + CF_CHECK_CFLAGS: workaround for ash-shell + + CF_CURSES_FUNCS: improve workaround for weak-linkage, seems to fix tests + with NetBSD 6.1 + + CF_INTEL_COMPILER: cleanup the -no-gcc option which was leftover from + testing - prcs does not build with this option. + + CF_MAKEFLAGS: workaround for GNU make 4.0 incompatibility with previous + releases. + + CF_SUBDIR_PATH: add /usr/pkg and /opt/local to help configuring with + pkgsrc and macports -TD + + CF_XOPEN_SOURCE: Minix3.2 ifdef's the POSIX.1-2001 functions inside + _NETBSD_SOURCE, even though it was released 2012-02-29 - appease it. At + the same time, turn on the verbose flag to show that most platforms need + platform-specific define's to get POSIX (sic). Also, add case for UnixWare + (report/discussion with Mark Ryan). + + CF_X_ATHENA: add --with-Xaw3dxft option + + CF_X_TOOLKIT: add workaround for breakage in XQuartz upgrades +* add check to ensure that "submit" command from 2.8.8dev.10 is performed + in a form (report by Karen Lewellen) -TD +* update config.guess (2014-03-23), config.sub (2014-07-28) + +2014-03-12 (2.8.9dev.1) + +2014-03-09 (2.8.8rel.2) +* correct errata in test-files which cause broken links in break-out directory + in lynx.isc.org server -TD +* amend change from 2.8.8pre.2, to ensure that MinGW libraries already + declaring 'sleep()' will build -TD +* drop unused save/compress rules from makefile.in, because fixing umask for + these is pointless -TD +* modify makefile.in to establish sane umask value in the "install-doc" rule + (report by Rajeev V Pillai) -TD +* build-fix for NetBSD, whose curses library provides use_default_colors(), + but the package turns off the keymap feature (patch by Thomas Klausner). + +2014-02-14 (2.8.8rel.1) +2014-02-14 (2.8.8pre.5) +* change quoting for fixup to help_files.sed in 2.8.8dev.17 to work around + bug in cygwin's make/sed programs -TD +* change quality value for application/xhtml+xml mime type added for Debian + #184482, to ensure that it is offered as one of Lynx's internal types on + an "Accept:" line sent to the server (Debian #725178) -TD +* trim unexpected query-parameters from file: URIs when checking for their + presentation and compression types. Not all browsers do this, etc. -TD +* modify forms-submit to trim query-parameters from the action URI if it + happens to be a file-URL. IE and some other browsers do this. The RFCs + do not mention this since forms are an HTTP feature (Debian #738121) -TD +* reviewed command-line options which were not provided in lynx.cfg; added + others which could be useful for dumps (i.e., force_html, hiddenlinks, + listonly, list_inline, localhost, short_url, with_backspaces) -TD +* add dont_wrap_pre to lynx.cfg (request by GV) -TD +* use idn_free() rather than ordinary free (patch by GV) +* build-fix when alt-bindings are disabled (patch by GV) +* correct sense of --disable-alt-bindings option in configure script (prompted + by report by GV) -TD + +2014-02-04 (2.8.8pre.4) +* modify the LOCALE_CHARSET feature to provide a default value for the + ASSUME_CHARSET feature aka "display-charset" (Debian #737416) -TD +* fix two bugs in print-to-file from 2.8.8dev.10 changes -TD + + suggested filename suffix for text/html was ".html" rather than ".txt" + + using ^U to clear the filename to print to did not cancel the prompt + (report by Klaus-Peter Wegge) +* disable EXP_JAPANESEUTF8_SUPPORT if the system has no iconv support -TD +* modify makefiles to perform the src/chrtrans rules from the top-level rather + than via the src-level, solving the issue of "makefile races" -TD +* reviewed minor fixes from OpenBSD CVS for these issues: + - fix makefile races [espie] + - read/write result checking fixes to avoid unsigned comparisons vs -1 [krw] + However, the former is not an improvement; kept only the latter -TD + +2014-01-11 (2.8.8pre.3) +* apply analogous changes to tidytls.c interface -TD +* apply openssl patch from openSUSE package for Lynx to modify the SSL options + to omit the SSLv2 and compression features (report by BJP) -TD +* add check for alternate package "libssl" also used with Fedora20 -TD +* fix a check in configure-script for openssl subdirectory in includes. It + happened to work in most cases due to a spurious blank in the pkg-config + file; this was removed recently, e.g., for Fedora20 -TD +* fill-in some dangling links in test-files -TD +* build-fix for --disable-prettysrc (reported by Don Hsi-Yun Yang aka + "omoikane") -TD +* review/improve html helpfiles -TD +* ensure that $(sysconfdir) exists in makefile as dependency of install-help + rule -TD +* update config.guess (2014-01-01), config.sub (2014-01-01) + +2013-12-17 (2.8.8pre.2) +* change makefile.msc and lynx-slang.iss to use dll for slang -TD +* change URL for HELPFILE in lynx.cfg, etc., to omit version-specifics -TD +* update example of options menu shown in user-guide -TD +* restore ^Z maxscreen-toggle for Windows, omitted in 2.8.8dev.17 cleanup -TD +* typographical fixes for manpage (patch by Bjarni I. Gislason, Debian #732236) +* allow fallback sleep() function to be used for MinGW -GV +* remove special case in configure.in which added "-lcompat" to $LIBS + for OpenBSD, MirBSD and EkkoBSD (Christian Weisgerber, Thorsten Glaser). +* build-fix for --disable-forms-options -TD +* omit request for admin-access in NullSoft installer, since lynx could be + installed in user's directory -TD +* change Windows default for LYNX_LSS_FILE to not use a directory-path -TD + +2013-11-28 (2.8.8pre.1) +2013-11-28 (2.8.8dev.17) +* revise/update counts in README.metrics, using a script replacing a manual + procedure -TD +* amend check for magic header bytes from 2.8.8dev.3 for "deflate" to limit it + to the 3-bit block header described in RFC-1951 -TD +* install the sample-files in the dpkg test-script -TD +* add configure option --with-cfg-path and environment variables LYNX_CFG_PATH + to provide search-list capability for the ".cfg" and ".lss" files -TD +* modify configuration of COLOR_STYLE value in lynx.cfg, allowing multiple + filenames to be specified and providing those as choices in the O'ptions + menu (Debian #404893) -TD +* updates for lynx_help_main.html -TD +* update URLs in about_lynx.html -TD +* add internal URL "LYNXEDITMAP:", which is (like "LYNXKEYMAP:") generated, + making that the primary page for field-editing help -TD +* improve DOSPATH-related logic in HomeEnv(), making this work properly with + Windows Vista and 7. The feature is needed to read Lynx's bookmarks file + from the user's "Personal" shell-folder (report by Manuel Nunez) -TD +* modify samples/*.bat to work when running in a directory whose pathname + contains spaces -TD +* reduce required privileges for installing in lynx.iss -TD +* improve sed expression appended to help_files.sed to fix a case for the + edit-helpfiles which left a ".gz.gz" suffix for compressed filename URLs, + overlooked since 2.8.1pre.3 -TD +* modify logic in lkcstring_to_lkc() to allow named keys, e.g., from curses, + to be used consistently in a KEYMAP directive -TD +* add version-info to LYIcon.rc -TD +* add symbols in Keysym_Strings[] and table in setup_vtXXX_keymap() for + function keys 2-12, to improve keymap-configurability -TD +* change extra-key #define's in LYStrings.h to enum -TD +* cleanup pre-2.7 debris from LYStrings.c and LYStrings.h -TD +* modify tables for key-bindings and edit-bindings to allow them to be reloaded + to their initial values -TD +* add check in get_connection() for ftp-connections to ensure that a password + from a URL is non-empty -TD +* add samples/oldlynx.bat to demonstrate how to use non-color-style -TD +* add NSIS script, to allow building Windows installer via cross-compiling -TD +* fixes to configure script and makefiles to work with empty $prefix, e.g., + as used in MSYS -TD +* improve configure check for sleep() for cross-compiling to MinGW -TD +* modify configure check for inet_addr() for cross-compiling to MinGW -TD +* add configure check for Win32 flavor of PDCurses when cross-compiling to + MinGW using the "--with-screen=pdcurses" option -TD +* improve color-style simulation of old color scheme by coloring input fields + with color #5 -TD +* correct search logic to match links which are wrapped on the right margin. + Previous fixes to highlight arbitrarily long links overlooked this case + (Debian #546264) -TD +* modify the INFO page, normally bound to "=", to show decoded strings for + URLs, e.g., which use %xy hexadecimal encoding. The decoded strings are + shown on the line following the encoded URLs if the strings are different. + Also if display-charset is UTF-8, modify -dump "References" URLs to show + the corresponding decoded strings for consistency with the text which is + already in UTF-8. Other URLs such as that shown in the status area are + shown in encoded form per previous discussion which recommending doing this + to address phishing attempts (Debian #398274) -TD +* simplify file-URLs shown in reference list of -dump by trimming unnecessary + "localhost", e.g., + file://localhost/XXX + becomes + file:///XXX + (Debian #334787) -TD +* extend the "Bad HTML" warning feature to -dump option when the -stderr + option is also set (Debian #398304) -TD +* add -list_inline option, which modifies -dump output to put links inline with + the text rather than in a list at the end of the dump (Debian #584080) -TD +* add clarification in manpage regarding -force_html option versus -dump or + -crawl (Debian #254603, Debian #295273) -TD +* improve manpage descriptions of -reload, -get_data and -post_data (Debian + #350853) -TD +* modify manpage synopsis to make it clearer that Lynx accepts more than one + path and/or URL on the command-line. The paragraph explaining this was + added in 2.8.6dev.5 (Debian #350853) -TD +* update COPYHEADER, clarifying license issues -TD +* minor change to Content-Length logic from 2.8.8dev.13 to work with Amazon's + cookies (Debian #720541) -TD +* improve warning message for GNUTLS_CERT_SIGNER_NOT_FOUND (Debian #695653) -TD +* ignore non-fatal return codes from gnutls_handshake introduced by SNI change + in 2.8.8dev.15 (Debian #724812, patch by Hans Wurst). +* updates for configure macros -TD + + CF_ACVERSION_CHECK, fix from byacc for "newer" autoconf. + + CF_ADD_LIB_AFTER, fix from xterm for problem with -Wl,xxx options + + CF_CURSES_LIBS, modify to allow external script to set $cf_term_lib and/or + $cf_curs_lib + + CF_INTEL_COMPILER, $host_os needs AC_CANONICAL_HOST + + CF_MIXEDCASE_FILENAMES, add msys / msysdll to known host/platform types + + CF_RPATH_HACK, use sort and uniq rather than sort -u, to work with HPUX + 11.11, etc. + + CF_TRY_PKG_CONFIG, set variables for consistent usage of this macro + + CF_XOPEN_SOURCE, add msys / msysdll to known host/platform types + + CF_X_ATHENA, trim extra X libraries after updating lists, to work with ld + --as-needed option which in effect uses only the first mention of the + library. If that does not follow everything that depends on the library, + ld will silently fail to resolve symbols. +* update config.guess (2013-06-10), config.sub (2013-09-05) + +2013-07-29 (2.8.8dev.16) +* build-fix for setmode() definition on Cygwin -TD +* modify HTUtils.h to work around header conflict with Cygwin w32api and + openssl 1.0.1e (prompted by report/patch by Supriyo Biswas) -TD +* protect redefined errno values for Windows port from redefinition warnings + when using MinGW build, since the WSAxxx values are what the configuration + actually uses -TD +* modify <address> tag to treat it like <p> when used within a list -TD +* update fi.po from + http://translationproject.org/latest/lynx +* add on/off toggles to options menu for the color-style and default-colors + features, to help deal with packages which enable default colors without + adjusting the color-style settings to avoid having yellow text on a white + background (report by Stephen Isard) -TD +* add -default-colors command-line option to allow toggling the state of the + DEFAULT_COLORS setting from lynx.cfg -TD +* improve discussion of -dump and -force_html in manpage (Ubuntu #1112568) -TD +* cleanup quoting and use of ASCII "-" versus hyphen in manpage -TD +* add checks for zero-length strings in a few places to prevent infinite loop + when the focus moves to a text-field which is past the right margin due to + improper placement for the nested-tables configuration (report by Rajeev V + Pillai) -TD +* update doctype for html documentation to 4.01 strict -TD +* correct handling of backslash in TrimCommand() function introduced in + 2.8.6dev.4, used to process the commands for "test=" in mime-types -TD +* correct 2.8.3dev.13 check for permissible place to split UTF-8 encoded text, + reported by Coverity -TD +* make DONT_TRACK_INTERNAL_LINKS logic configurable via lynx.cfg as + TRACK_INTERNAL_LINKS; the configure script now sets the default value -TD +* fix most issues found by clang 3.2 analyze -TD +* fix most issues found by Coverity scan -TD + +2012-11-18 (2.8.8dev.15) +* corrected position of highlighting from search/whereis function when using + multibyte characters (Debian #673385) -TD +* modify default case for HTLoadGopher() to use the file's suffix to obtain + a MIME mapping rather than always storing unknown types to disk (suggested by + Dario Niederman) -TD +* modify ^X-e handling to not limit the result to the form field's length + (report by Keith Bowes) -TD +* modify the Inno Setup files to show lynx's version numbers. Development + and prerelease versions are indicated in the numeric-only versions by + prefixing a "10" or "20" -TD +* ask for filesize when downloading via ftp, to use this in the read-progress + ETA -TD +* fix special case when -dont_wrap_pre option is used, to restore space between + words which was lost when inserting a soft newline used to splice together + segments of a long line (Ubuntu #806749) -TD +* provide more readable ETA message as an option (prompted by patch by Joerg + Hahn) -TD +* add GNUTLS call to enable SNI (Server Name Indication) extension (Ubuntu + #732177) -TD +* correct typo for -bibhost option in manpage (Redhat #854574) -TD +* revise nsl-fork logic for passing addrinfo and hostent data back to eliminate + fixed limit on the number of records to return -TD +* correct problem with loop logic in fill_addrinfo() exposed by multiple + addresses from + http://fbcdn-sphotos-d-a.akamaihd.net + (report/analysis by TG) -TD +* updates for configure script macros (TD): + + add 3rd parameter to AC_DEFINE's to allow autoheader to run + + remove unused macros +* update nl.po from + http://translationproject.org/latest/lynx +* improve checking of certificates in the gnutls_certificate_verify_peers2() + by handling special case where self-signed certificates should be reported + (patch by Jamie Strandboge). +* update config.guess (2012-09-25), config.sub (2012-08-18) + +2012-08-22 (2.8.8dev.14) +* reset anchor's actual-length calculation at the end of pumpData() to handle + scenario where this is used for internal data movement, i.e., for + decompressing files (report by Owen Leibman, Debian #681214) -TD +* drop two files overlooked in previous commit (TD): + lynx.rsp and WWW/Library/Implementation/HTFWriter.c + +2012-08-15 (2.8.8dev.13) +* make nsl-fork work for the DNS lookup using getaddrinfo, i.e., for IPv6 + configurations (report by FLWM) -TD +* add U+0218, U+0219, U+021a, and U+021b to 0x53, 0x73, 0x54, and 0x74, + respectively, for Romanian s/t with cedilla in def7_uni.tbl (Ralph Babel) +* modify handling of "set" in -cmd_script option to try both cfg-file and + rc-file settings (prompted by discussion with Andrew Watts) -TD +* update configure script to add --datarootdir option, which changes the + default for man-page from /usr/lib to /usr/share -TD +* modify configure check for sizeof(time_t), sizeof(off_t) to help recover if + it is run in a deficient environment such as busybox -TD +* limit downloaded files by Content-Length if any, to match behavior of IE, + Firefox and some other browsers; this is not addressed in RFC 2616 (Debian + #681214) -TD + For more information, see "Content-Length in the Real World" by Eric Law: + http://blogs.msdn.com/b/ieinternals/archive/2011/03/09/browsers-accommodate-incorrect-http-content-length-and-sites-depressingly-depend-on-it.aspx +* fix an unbounded loop in restrictions_fun() which could cause a core dump + (Debian #616107) -TD +* add LDFLAGS to top-level makefile.in, for consistency with other recursive + options (suggested by Naomasa Maruyama) -TD +* modify makefile.in and src/makefile.in to pass make-flags, e.g., "-n" for + POSIX make -TD +* updated configure macros (TD): + + add check for clang warning options + + check for tinfo library, which may be present + + omit -Wpointer-arith check for pre-3.0 gcc + + add check for 'make' programs ${MAKEFLAGS} versus ${MFLAGS}, for recursive + operation. +* updated list for "$(TABLES)" in src/makefile.in so that parallel builds work + properly (patch by Diego Elio Petteno) +* remove extra "$(LDFLAGS)" from src/makefile.in when linking lynx (patch by + Josef Sontgen) +* correct formatting of large file-sizes in directory listing (Debian + #666213) -TD +* improve checking of certificates in the gnutls_certificate_verify_peers2() + (report by Martin Georgiev) -TD +* update de.po eo.po sv.po vi.po from + http://translationproject.org/latest/lynx +* use PDCurses "wide" variation in makefile.msc -TD +* modified quoting for parameter values passed to blat mailer to ensure that + it handles embedded blanks (report by pfourier) -TD +* fix regression introduced by changes for Debian #603648 -TD +* modify makew32.bat and makefile.bcb to use GnuWin32 packages to simplify + builds with Borland 5.51 C++ compiler (prompted by discussion with + pfourier) -TD +* add configure check for windres needed for mingw build if cross-compiling -TD + +2012-02-22 (2.8.8dev.12) +* treat charsets ISO-8859-8-E and ISO-8859-8-I as aliases of ISO-8859-8 + (Owen Leibman) +* amend the dev.10 change to HTLoadDocument(), which broke caching of forms, + to limit it to just the case where the user has pressed ^R, etc (report by + TG) -TD + +2012-02-19 (2.8.8dev.11) +* correct help-message for -html5_charset option -Kihara Hideto +* correct a typo in strtol change from dev.10 which caused hexadecimal numeric + entities to be misrendered -TG +* update eo.po, et.po and tr.po from + http://translationproject.org/latest/lynx +* correct dll name for bzip2 in lynx.iss package script -TD + +2012-02-12 (2.8.8dev.10) +* updated po/lynx.pot; there are a few new messages -TD +* add "submit" and "reset" commands (Debian #603645) -TD +* add "pwd" command, to show current working directory in the statusline -TD +* modify check in HText_endForm() when a form contains only a single input + field, to allow a return in any text-like field other than textarea to cause + the form to be submitted (Debian #603648) -TD +* add bzlib to win32 makefile.msc -TD +* define WIN32_LEAN_AND_MEAN in makefile.msc to accommodate naming conflict + in recent Win32 SDKs, which otherwise include winsock.h in windows.h -TD +* fixes for the dev.9 Win32 feature to toggle between normal/fullscreen, + by checking the actual screensize after maximizing the display -TD +* use ASCII apostrophe for 7-bit approximation to U+02bd as well -TD +* use ASCII apostrophe 0x27 for 7-bit approximation to Unicode apostrophe + U+02bc (suggested by Ralph Babel) +* update LYLeaks.c / LYLeaks.h to include the bstring allocation, copy and free + functions -TD +* several fixes for the -find-leaks option, e.g., include LYLeaks.h in a few + modules, modify the StrAllocVsprintf function to update the bookkeeping, + etc -TD +* move call to LYCanWriteFile into LYValidateOutput, to make prompts for + download, print and upload more alike -TD +* correct an old bug in send_file_to_file(), used when printing a page to a + file, which prevented its check for appending to an existing file -TD +* modify LYValidateFilename to use LYTildeExpand -TD +* modify LYConvertToURL to use LYTildeExpand for Unix, and further modify + LYTildeExpand to lookup given user's home directory, thereby making commands + such as "g ~root/tmp" work as expected -TD +* replaced most LYgetStr calls with LYgetBString, except for LYMail.c and + LYNews.c since those do use LYgetStr's limits as it was designed. Other + calls generally did not need those limits -TD +* modify finish_ExtEditForm to eliminate wrapping when an edited line is longer + than MAX_LINE. The user is still offered the choice of wrapping to the + displayed size of a TEXTAREA, but if declined, the TEXTAREA's content will + not be wrapped -TD +* modify LYgetstr, making it call revised function LYgetBString which handles + bstring's, and allows editing fields which can grow without fixed buffer + limits. In particular, forms all use the same calls, which means that + their result is no longer limited by MAX_LINE -TD +* extend ^X-e editing of textarea's to include single-line fields -TD +* modify comparison for splitting lines to allow for long preformatted lines, + e.g., using 's to not wrap when the line-wrap mode is disabled -TD +* modify cfg2html.pl to handle options which contain a digit, e.g., + HTML5_CHARSETS whose default value was not marked properly -TD +* modify HTLoadDocument() to not retain a cached document if user is explicitly + doing a refresh. This fixes the case for a #fragment url, which was + otherwise treated as the same as the address without the #fragment -TD +* clarify version of GPL used in README (request by Paul Menzel) -TD +* modify HTLoad() to discard charset information before reloading a document, + in case the server changes the content-type information between loads + (report by Stanislav Brabec) -TD +* use tidy to indent html documentation -TD +* provide a way to substitute parameters in URLs for jumpfiles (adapted from + patch by Mark Skilbeck -TD +* ensure that button/input tags have a value for display, in case the tag is + improperly terminated (report by Aki Helin) -TD +* work around glibc bug in sscanf in SGML_character() using strtol() (report by + Aki Helin) -TD +* add check for charset attribute on meta element -Kihara Hideto +* eliminate ON/OFF macros, using TRUE/FALSE both to work around breakage from + zlib 1.2.5.1 changes as well as because they were unnecessary (GenToo + #383113) -Nikos Chantziaras, TD +* updated several configure script macros (TD): + CF_ANSI_CC_CHECK, CF_CURSES_LIBS, CF_LD_RPATH_OPT, CF_NETLIBS, + CF_XOPEN_SOURCE, CF_X_ATHENA_LIBS + +2011-06-12 (2.8.8dev.9) +* modfy cfg2html to add ".url" directive for referencing RFC's etc -TD +* document blat/blatj usage in lynx.cfg -TD +* add/use WriteStreamTitle(), to provide doctype for cookie-jar page, used to + help validate the page -TD +* improve readability of cookie-jar page by showing the unescaped cookie + values, other minor formatting changes -TD +* modify cookie domain-matching to accommodate RFC 6265, which states that a + leading dot on a domain attribute should be discarded (report by Sebastien + Hinderer) -TD +* integrate most of the changes from patch in 2.8.6rel.4 package at + http://en.sourceforge.jp/project/lynx-win32-pata -TH, TD + + provide toggle between normal/fullscreen + + ifdef'd changes for FEP. + + correct a message translation in ja.po + + modify Xsystem.c to not use MinGW's system() call. + + add three items to lynx.cfg + conv_jisx0201kana + message_language + wait_viewer_termination + + replace ifdef's for CONV_JISX0201KANA_JISX0208KANA with configuration + variable conv_jisx0201kana + + modify makefile.bcb and lynx.rsp to use openssl and intl libraries. + + add feature ifdef'd with USE_PROGRAM_DIR which adds fallback definitions + for pathnames to use the directory of lynx.exe + + add check for unsafe filenames in DOS/Windows, e.g., those that correspond + to a device. +* update command-line syntax for the blat mailer, to work with blat 2.6.2 -TD +* change default in makelynx.bat to assume blat rather than blatj, because + the latter does not provide a way to authenticate user/password on a mail + server -TD +* change #define's for addrlist-page and alt-bindings to reflect their + non-experimental status -TD +* change default for --enable-addrlist-page configure option to enabled -TD +* modify blat/blatj configuration so that support for both is compiled-in + for DOSPATH configurations. Add "-altblat" option to select blat vs blatj. + Define USE_ALT_BLAT_MAILER to specify which is the default (prompted by + report by LarryL) -TD +* correct an interaction between LYCloseOutput() and LYRemoveTemp() as used in + send_file_to_mail(), to allow a temporary file to be closed and used by + external program before removing it -TD +* modify lkcstring_to_lkc() to accept hex/octal values, allowing those in the + KEYMAP configuration as suggested by the commented lines in lynx.cfg (report + by Richie Wood) -TD +* build-fix for DEC C 5.x with _DECC_V4_SOURCE defined, i.e., missing + declaration of "off_t" (report/analysis by Rod Reiger) -TD +* build-fixes for Alpha VMS V8.3 with C V7.1-015, based on lynx 2.8.7 + development snapshot (report/analysis by Scott Harrod) -TD +* improve scripts/tbl2html.pl, to handle translation of octal escapes in the + approximation comments -TD +* amend implementation of "readonly" attribute from 2.8.7dev.10 to distinguish + it from "disabled" (report by David Paschal) -TD +* amend change to cookie prefix matching from Debian #460108. The discussion + overlooked this definition from RFC 2109: + Path Defaults to the path of the request URL that generated the + Set-Cookie response, up to, but not including, the + right-most /. + In that context, lynx was correct to extract the default "path" attribute + of + http://jukebox/cgi-bin/disorder + as + /cgi-bin + rather than + /cgi-bin/disorder + as asserted in the report. However, lynx warned unnecessarily (according to + the bug report) about the given path attribute. Deciding whether to suppress + this warning is under control of the user via the lynx.cfg setting + COOKIE_QUERY_INVALID_DOMAINS since 2.8.2dev.16 (report by Owen Leibman) -TD +* add eo.po (Esperanto) from + http://translationproject.org/latest/lynx +* modify format of ADVANCED_COOKIE_CONFIRMATION message in nl.po per guideline + to allow localized single-letter responses to prompt (report by Jurgen + Gaeremy) -TD +* add configure check for <bsd/random.h>, used in Debian package -TD +* modify src/tidy_tls.c to use gnutls_priority_set_direct() in preference to + various access functions, to eliminate deprecation warnings (report by + Andreas Metzler) -TD +* updated several configure script macros (TD): + CF_CURSES_CPPFLAGS, CF_CURSES_FUNCS, CF_CURSES_HEADER, CF_CURSES_LIBS, + CF_CURSES_TERM_H, CF_DISABLE_RPATH_HACK, CF_PDCURSES_X11, CF_PKG_CONFIG, + CF_RPATH_HACK, CF_STRUCT_TERMIOS, CF_XOPEN_CURSES, CF_XOPEN_SOURCE, + CF_X_ATHENA_LIBS +* update config.guess (2011-01-01), config.sub (2011-04-01) + +2011-01-10 (2.8.8dev.8) +* correct sense of menu-name parameter in add_item_to_list() from dev.7 + changes (report by Larry Hart) -TD +* remove duplicate copy of CF_TRY_PKG_CONFIG added to aclocal.m4 in 2.8.8dev.4, + which caused autoconf-2.13 to emit weird error messages about undefined + symbols (report by TG) -TD + +2010-12-11 (2.8.8dev.7) +* add PERSONAL_MAIL_NAME to options menu and .lynxrc (Debian #603647) -TD +* remind user how to cancel message (Debian #292787) -TD +* add HTML5_CHARSETS feature, which allows the user to choose whether to + interpret pages without an explicit charset according to the HTML5 + "compatibility" feature (Debian #604466, Debian #514897) -TD +* add EXTERNAL_MENU feature to lynx.cfg, which allows the user to customize the + menu-entry shown, e.g., to suppress the display of the URL + (Debian #603646) -TD +* cleanup URLs in lynx documentation -DK +* add check in getfile() when handling a "mailto:" url, to prevent it when the + user has requested a dump (Debian #563308) -TD +* improve configure check for IDNA library, which may depend upon intllib, + e.g., building with mingw on cygwin -DK +* modify autoconf macros which look for X libraries, e.g., for PDCurses, to + accommodate ongoing changes in xorg package scripts -TD +* reorganize autoconf macro CF_WITH_CURSES_DIR, to make it usable for both + curses and ncurses -TD +* several changes to autoconf macros to lessen use of legacy shell feature + "${name-value}" in favor of "${name:-value}", since the former is broken in + recent versions of bash -TD +* apply overlooked patch from pre-2.8.5, makes RMDIR_PATH configurable + (report/patch by Frank Heckenbach). +* correct one of the places where link-number is formatted, for form input + anchors. This was broken in dev.6 by the -unique_urls changes (report by + DK) -TD +* undo a cleanup change to link-types from dev.6 which broke some uses of + input-anchors (report by FLWM) -TD +* minor formatting improvements to sources using cindent 2.0-20101107 -TD +* restore \r to \n conversion in HTML_put_character(), broken in gcc warning + cleanup (report by FLWM) -TD +* fix a double-free in make_argv() (report by FLWM) -TD +* add a memset in RestoreSession(), fixes uninitialized memory reference for + the VLINK section -PBM +* update config.guess (2010-09-24), config.sub (2010-09-11) + +2010-10-04 (2.8.8dev.6) +* amend change for Debian #514897 to exclude XML documents (Debian #592883) -TD +* use HTParsePort() in a few places, e.g., HTFinger.c, to allow for IPv6 + addresses with colons (Debian #587330) -TD +* modify option -dump so it is parsed in the first pass, using that to suppress + requirement for lss file if lynx is used only to dump output -TD +* add option -unique-urls (Debian #586762) -TD +* fix most gcc type-conversion warnings -TD +* add configure check for ctags/etags programs, needed for some BSD ports -TD +* add configure --with-textdomain option to allow overriding the "lynx" + NLS textdomain, to help ensure that Lynx's build-script does not conflict + with alternative packages -TD +* use AC_ARG_PROGRAM in configure script, to support --program-suffix, etc., + to help with packaging -TD +* add Debian build script, for testing (adapted from lynx-cur package) -TD +* add RPM build script, for testing -TD + +2010-08-25 (2.8.8dev.5) +* modify convert_to_idna() to check for malformed urls (Debian #594300 reports + this as CVE-2010-2810) -TD +* correct typo in po/makefile.inn from removal of mkdirs.sh in dev.4 (Debian + #592078) -TD +* correct a sign-extension error in UpdateBoundary(), used for MIME boundary + computation, broken in dev.4 compiler-warning fixes -TD + +2010-06-21 (2.8.8dev.4) +* check for SSL error when reading response from "GET". This incidentally + exposes a longstanding bug in GNUTLS: + https://savannah.gnu.org/support/index.php?106987 + (google the message "A TLS packet with unexpected length was received") + which prevents connection to + https://www.mynortonaccount.com/amsweb/default.do + (report by Ignac Vucko) -TD +* fix ifdef/define's in LYMain.c to show GNUTLS version in user-agent when + built with tidy_tls.c -TD +* improve format of X509_NAME_oneline() in tidy_tls.c, making it compatible + with the OpenSSL function so that no post-processing is needed -TD +* correct typo in configure --enable-gnutls-compat option, which sometimes made + it enabled as a side-effect of setting --with-gnutls -TD +* add configure option --enable-wais, for test-compiles with freeWAIS -TD +* fixes to build with VMS -Christoph J Gartmann + + created [.src]multinet_ucx.opt with a single line + multinet_root:[multinet.library]ucx$ipc/LIBRARY + + modified build.com to have an additional option "Multinet with + UCX emulation" + + modified libmake.com for the same reason + + modified [.www.library.implementation]www_tcp.h for the same reason + + provide definition of IS_CJK_TTY for HTWAIS.c by adding include of + LYStrings.h +* fix typo in users's guide -PBM +* drop mkdirs.sh and MKINSTALLDIRS symbol from makefiles, using "mkdir -p" -TD +* limit parsed URIs with new config parameter MAX_URI_SIZE, default 8192 + (RedHat #605286, forwarded by Vincent Danen). For arbitrarily long URIs, + alloca() could run out of stack space -TD +* several changes to configure script, from ongoing work on xterm, etc -TD + + workaround for broken ".pc" file for X Toolkit, which omits the ICE + library. + + modify CF_NCURSES_CONFIG to use CF_CURSES_HEADER to pick out the particular + flavor of ncurses.h, e.g., <ncursesw/curses.h> + + add parameter to CF_CURSES_HEADER to allow looking for specific + subdirectory ncurses/ncursesw/etc + restructured CF_X_ATHENA to use + pkg-config, if available. + + use CF_ADD_LIB/CF_ADD_LIBS + + CF_GNUTLS eliminates duplicate libraries when configuring with pkg-config + + modified several macros to quote params of ifelse() + + CF_AR_FLAGS allows $ARFLAGS to override the choice of ar-flags, in + particular check if a given choice is part of the current $ARFLAGS + + workaround CF_XOPEN_CURSES for (temporary) problem with ncurses headers, + which did not account for the fact that _XOPEN_SOURCE_EXTENDED may be + defined in a system header. +* remove redundant updates for CFLAGS and LIBS in configure script which are + now done in CF_FIND_LINKAGE macro -TD +* fix a problem with configure script which broke "--with-gnutls=/usr" (report + by Atsuhito Kohda) -TD +* resolve warnings from "clang --analyze", tested with Fedora 12 and clang + 2.6-0.5.pre1.fc12, 2.7-1.fc12 -TD +* further improvements to print_wwwfile_to_fd() -TD + + corrected length used for radio/checkboxes. + + fill in wrapped fields. + +2010-04-25 (2.8.8dev.3) +* modify print_wwwfile_to_fd() to add field values to the printed form (Debian + #574940) -TD +* add check for magic (header bytes) before trying to decompress, since zlib + does not provide this check (Redhat #503921) -TD +* add workaround in CF_SSL configure macro for broken openssl pkg-config script + on Redhat, CentOS -TD +* add configure option --disable-rpath-hack -TD +* allow IPv6 addresses without "http://" prefix (Redhat #425879, patch by Kamil + Dudka) +* build-fixes for OpenSolaris aka Solaris 11 -TD +* add/use CF_RPATH_HACK, for constructing rpath references to libraries in + nonstandard locations -TD +* improve configure macros CF_CURSES_TERM_H and CF_FIND_LINKAGE -TD +* add synopsis entries for -get_data and -post_data options to lynx.man + (report by Dallas E. Legan II) -TD +* fix a possible conflict between CF_HEADER_PATH and CF_LIBRARY_PATH by setting + their respective target variables, not appending -TD +* improve configure macro CF_XOPEN_SOURCE by removing rather than undefining + preexisting symbols as they are added to the definitions -TD +* add configure check for -lnetwork, from tin -TD +* when renaming/copying a bookmark file, e.g., to delete a bookmark, modify + its permissions for compatibility with IsOurFile() (Redhat #486070) -TD +* fix most gcc writable-strings warnings -TD +* update config.guess (2009-12-30), config.sub (2009-12-31) + +2009-11-25 (2.8.8dev.2) +* modify trimming of URI in LYSetCookie() to eliminate trimming of final leaf + (Debian #460108) -TD +* document the various xxx_PATH settings in lynx.cfg -TD +* modify cfg2html.pl to improve formatting of cattoc.html -TD +* split-up top-level makefile install-html rule to allow generating the + htmlized cfg without doing an install -TD +* suppress positioning for editor when using it to edit files via dired -TD +* modify samples/lynx-demo.cfg to suppress external file-utilities, since the + intent is to make the installer work standalone, but allow extension -TD +* add traces for builtin dired operations -TD +* modify built-in "touch" for dired to use binary mode when opening file -TD +* remove check from 2.8.5dev.11 which prevents user from moving a directory in + dired unless the external program "mv" is provided -TD +* regularize use of isEmpty(), non_empty() -BL +* match built-in "positionable" editor names more liberally -BL +* promote some experimental options to normal, tidy up related EXP_xxx vs + USE_xxx symbols -TD + EXP_ASCII_CTYPES is now USE_ASCII_CTYPES + EXP_JUSTIFY_ELTS is now USE_JUSTIFY_ELTS + EXP_CHARSET_CHOICE is now USE_CHARSET_CHOICE + The scrollbar, progressbar, sessions and session-cache options are now + enabled by default. +* modify scanning in HTRules.c to only trim comments where '#' is either at + the beginning of a line, or follows whitespace (patch by Kihara Hideto). +* correct a place where LYStrExtent2 was used where byte-count is needed + (patch by Bake Timmons). +* modify LYExecv() in LYLocal.c to allow win32 applications to use this + function -TD +* modify ok_stat() in LYLocal.c to retry with "." appended when the path syntax + indicates that it is probably a directory name -TD +* fix an old typo in configure macro CF_CHECK_FUNCDECL -TD +* change library dependency for gnutls from crypt to gcrypt, originally in + 2.8.5dev.15 (Debian #555579) -TD +* update de.po from + http://translationproject.org/latest/lynx +* fix some tidy- and linklint-warnings in help-files -TD +* amend change from 2.8.7dev.14 to not use clrscr() function in stop_curses() + if using PDCurses, since clrscr() is not in the win32 api -TD +* modify configure script to check if linkage for bzlib and zlib succeeded, + before defining symbol which makes the compiler uses these libraries -TD +* update lynx_help_main.html to point to "release/lynx2-8-7" documentation -TD + +2009-08-28 (2.8.8dev.1) +* add <sys/types.h> include in socklen_t configure check (from OpenBSD CVS) +* eliminate UCPutUtf8ToBuffer() - redundant -TD +* use memset's to simplify some initialization in HTML.c, extending a change + made in 2.8.7dev.10 (prompted by issue in OpenBSD) -TD +* add optional support for IDNA using GNU libidn (Debian #352596) -TD +* ignore LEFT-TO-RIGHT-MARK (U+200E) in HTML files (Debian #408835) -TD +* correct check for return-value from gnutls_certificate_verify_peers2(), which + in conjunction with unclean internals of gnutls caused caused some sites to + be treated as if they were version-1 X.509 CAs (Debian #231609, + Ubuntu 293708) -TD +* revise dired-mode's modify_tagged() function, correcting and extending the + source-paths to validate against the target path. Before, lynx's current + working directory was used to validate against target path, i.e., when moving + all tagged files to a new location. Lynx's check to ensure that + source/target paths are distinct prevented users from moving tagged files to + the current directory (report by Jasper) -TD +* change compiled-in default for SYSLOG_REQUESTED_URLS to false (prompted by + Debian #537907) -TD +* adjust ifdef in change_sug_filename() so that paths containing square + brackets are trimmed on VMS only (report by Gaute Strokkenes) -TD +* amend change to ifdef in LYMain.c (from 2.8.7dev.14), since it prevents build + on NetBSD, whose libintl.h does not include locale.h (report by Thomas + Klausner) -TD +* modify configure macro CF_GCC_ATTRIBUTES to make it more self-contained -TD +* improve configure check for _XOPEN_SOURCE for HPUX 11 to ensure mbstate_t is + declared -TD +* update config.guess (2009-08-19), config.sub (2009-08-19) + +2009-07-05 (2.8.7rel.1) +* update metrics for 2.8.7 release -TD +* fix ifdef'ing for cfg_bad_html (report by Gabor Z Papp) -TD + +2009-06-23 (2.8.7pre.6) +* update lynx.pot file -TD +* add "Bad HTML messages" to Options menu, letting the user disable the + warning message, write the detailed messages to the LYNXMESSAGES: status + buffer (suggested by BL) -TD +* finish checkbox for send-useragent from pre.3 changes -TD +* make the size of LYNXMESSAGES configurable in lynx.cfg with + STATUS_BUFFER_SIZE -TD + +2009-06-06 (2.8.7pre.5) +* add missing ctrl_chars_on_previous_line when computing 'spare' value in + split_line() for the wide-curses configuration. The justified line was + shorter than expected when justifying text -TD +* fix a special case of trailing whitespace not shown in pretty source, at the + end of a closing tag -TD +* remove "Bad HTML" warning for buttons outside a form, since those can be + inline, according to the HTML 4 DTD -TD +* provide navigation to script-buttons, to make them more visible, showing + their name -TD +* change default for send_useragent option to true (prompted by discussion on + lynx-dev) -TD +* correct check for default type of HTML BUTTON, which is "submit". The code + treated this as "button" (prompted by discussion on lynx-dev) -TD + +2009-05-25 (2.8.7pre.4) +* update lynx.pot file -TD +* fix a typo in change for Debian #388622 -TD + +2009-05-25 (2.8.7pre.3) +* suppress check for "disabled" attribute in a select, as a workaround + (Debian #525934) -TD +* accommodate (in)compatibility "feature" in HTML5 draft which replaces + ISO-8859-1 with Windows-1252, as indicated here: + http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#character-encodings-0 + (Debian #514897) -TD +* remove check for -dump option from HTHandleAuthInfo(), allowing Lynx to -dump + or -source NNTP urls (report by Dallas E Legan II) -TD +* amend fix for Debian #388622 to allow the user to save names to the home + directory, e.g., ~/foo -TD +* add an Options menu checkbox to tell if Lynx should send a user-agent string. + Unless the useragent restriction is set, the default for this checkbox is + off, so that Lynx will not send the string. The corresponding setting, + send_useragent, may be saved to ~/.lynxrc, but normally is not -TD +* correct type for HTNewsGetCharacter() in HTNews.c, which could return a + sign-extended character mistaken for EOF (report by Dallas E Legan II) -TD + +2009-04-26 (2.8.7pre.2) +* update it.po from + http://translationproject.org/latest/lynx/ +* update lynx user's guide section on Options Menu -TD +* modify prompt in LYLoadCGI() from 2.8.6dev.15 to always prompt user (from + FEDORA-2008-9597), and modify compiled-in configuration default for + consistency with other lynx.cfg settings to require that lynx.cfg be set to + permit use of lynxcgi scripts -TD +* correct parsing of "--" command-line parameter (Redhat #311031) -TD +* check for malformed select before adding last-option (Redhat #152146) -TD +* change default for --enable-ascii-ctypes to true -TD +* modify Lynx's DTD information to allow it to display form-related tags that + are inline, even without being in a form as indicated in + http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd + for %inline.forms and %misc.inline (Debian #398986) -TD +* finish dtd_util, making it able to load and save data from a flat file that + can be edited -TD +* correct length of padding with underscores in LYhighlight, which used the + wrong variable based on glyph count rather than cells (Debian #519199) -TD +* fix a few cases where PUTC's intended for pretty-src would display in the + HTML view (Debian #521489) -TD +* fix some mismatched BOOL vs BOOLEAN from compiler warnings due to dev.13 + change to LYStructs.h -TD +* add TNS SNI support for the OpenSSL configuration -Phil Pennock +* add docs/README.cookies and docs/README.options -Stefan Caunter +* update docs/README.sslcerts -Stefan Caunter +* add NO_PAUSE setting to lynx.cfg, .lynxrc and Options menu (request by + Stefan Caunter) -TD + +2009-03-17 (2.8.7pre.1) +2009-03-17 (2.8.7dev.14) +* modify command-passing for Win32/DOS to use double-quotes -TD +* adapt features from vile's install-script to set registry variables, etc. -TD +* modify LYgetenv() for Win32 platforms to check also in the system registry + for settings, adapted from vile -TD +* modify SGML_write() to check for UCS-2 BOMs, to provide support for UCS-2 + pages (prompted by comment by TG) -TD +* modify SGML_write() to check for UTF-8 BOM, using that as a hint to set the + default document charset to UTF-8 (prompted by mailing list comments) -TD +* modify stop_curses() function to fix missing DJGPP and MinGW code -DK, TD +* modify config.hin to fix prototype for getttimeofday() with MinGW -DK +* ifdef to avoid conflicting definition of set_timeout() in DJGPP -DK +* modify ifdef in LYMain.c to avoid possible conflict between libintl.h and + locale.h -DK +* modify configure script to avoid using symbolic links for MinGW, in case + the script is run in Cygwin -DK +* modify makefile.msc to add LYIcon object -TD +* modify configure script to add LYIcon object for MinGW -DK +* add sample scripts for configuring MinGW version using Cygwin -DK + +2009-02-01 (2.8.7dev.13) +* modify definitions in LYStructs.h for union to cast to a void* rather than + a long, to help with 64-bit ports -TD +* modify CF_SSL configure macro to check for -ldl needed for recent OpenSSL + versions -TD +* modify CF_SSL configure macro to build with MSYS for MinGW configuration -TD +* modify scanning of floats from lynx.cfg to allow Lynx to read POSIX values + in non-POSIX locales -TD +* modify configure script to check for msginit, needed to generate "en" po + file, and omit that target if msginit is not available, letting lynx build + with older gettext versions -TD +* improve drawing of menus for multibyte characters by changing the way the + number of fill-characters is computed in LYpaddstr -TD +* fix some uses of gettext in options menu and info page where a translated + string might contain angle-brackets or ampersand -TD +* modify AM_WITH_NLS configure macro to add the iconv library dependency for + intl library when checking for the latter -DK +* fix breakage of display of UTF-8 in UCTransUniChar() from cleanup in dev.12 + (report by TG) -TD +* rename variable defined by CF_PATHSP to PATH_SEPARATOR, use this consistently + to ease use in later autoconf versions (prompted by patch by DK) -TD +* fix a typo in CF_ADD_LIBDIR which broke check for libintl (report by + Jose H Espinosa) -TD +* modify configure script to append to CFLAGS or CPPFLAGS rather than prepend, + to better match the user's intent -DK, TD +* modify UCSetBoxChars() to let line-drawing work with PDCurses, as well as + any fancy-curses implementation that is running in ASCII or Latin-1 -TD +* add a configure check for curses type "chtype" -TD +* fix for an ASCII dependency in LYKeymap.c -PG +* update fr.po, id.po, nl.pl, sv.po, tr.po, vi.po from + http://translationproject.org/latest/lynx/ +* change configure script to check for "ar" archiver options, from tin bug + report for FreeBSD 8.0 which requires a "-" before the options -TD +* update config.guess (2008-12-19), config.sub (2008-12-11) +* use putenv() in preference to unsetenv() in LYReadCFG.c, noting that it is + a deprecated BSD interface -TD +* miscellaneous fixes for gcc type-conversion warnings -TD +* remove trailing comma from enumeration UCStatus which causes strict-compiler + warning -TD + +2008-12-31 (2.8.7dev.12) +* add configure option --enable-ascii-ctypes to enable EXP_ASCII_CTYPES -TD +* move EBCDIC tables to separate file LYebcdic.c to simplify building test + driver for parsdate.c on z/OS -PG +* fix an off-by-one difference between UTF-8/non-UTF-8 comparisons in + HText_appendCharacter() which would leave an extra character wrapped in some + cases, e.g., in the options menu when field-numbering was turned on -TD +* remove logic in GridText.c for ignoring "excess" characters in a field when + fields are numbered, since highlighting of wrapped multiline links works, + and this feature is incompatible with it -TD +* remove obsolete CF_VARARGS configure check -TD +* modify configure script to build with MinGW and MSYS -TD +* modify configure macro CF_XOPEN_SOURCE to define _ALL_SOURCE for AIX 6.x -TD +* implement a LONG_LIST equivalent for ftp, configurable as FTP_FORMAT -TD +* adapt some of the SH_EX ifdef'd features (TD): + + extra keypad conversions in LYgetch_for() are for PDCurses. + + add -show_cfg option. + + entify embedded blanks in HTDOS_wwwName(). + + treat null file-pointer in HTParseFile(HTFormat() as end-of-file. +* change the phase during which "-help" option is processed, to allow it to + reflect the configured values of the options in the help-message (prompted + by discussion with Dan Jacobson regarding Debian #507083) -TD +* modify havevisible() and UCTransToUni() functions to process UTF-8 input, + fixing a problem saving bookmarks whose title is UTF-8 (prompted by patch by + Takao Fujiwara) -TD +* restore logic in HTLoadHTTP() to strip matching square brackets from host + name and certificate host (comments by TG) -TD +* modify UCdomap.c to work with Solaris iconv and handle additional encodings: + + if "TRANSLIT" feature (an extension of glibc) does not succeed, retry + the call to iconv_open without "TRANSLIT" + + add check for any MIME name beginning "iso8859", mapping to "iso-8859" + + recognize "eucjp" MIME name as alias for "euc-jp" + + recognize "pck" MIME name as alias for "shift_jis" + + recognize "ansi-1251" MIME name as alias for "windows-1251" + (patch by Takao Fujiwara) +* add "*.dbg" to suffixes to ignore in autoconf script when checking for + executables and objects produced by C compile (report by PG, for z/OS) -TD +* modify parsdate.y to convert between EBCDIC/ASCII to work on z/OS -PG, -TD +* modify src/makefile.in to make it simple for a build script running in a + separate directory to regenerate parsdate.c (prompted by discussion with PG + regarding building on z/OS which uses EBCDIC) -TD +* add configure check for yacc (report by PG) -TD +* fixes to make configure --help agree with INSTALLATION (report by PW) -TD +* add id.po from + http://translationproject.org/latest/lynx/ +* add a null-pointer check for content type, fix for dev.11 changes (Debian + #509321) -TD +* improve configurability with regard to pkg-config by adding --with-pkg-config + option, which can be used to enable/disable use of the program as well as + specify the pathname used (prompted by comments by TG) -TD +* correct handling of --with-ssl option when pkg-config is not found -TD + +2008-12-14 (2.8.7dev.11) +* add support for HTML5 rel=author in link (mailing list comments) -TD +* modify cookie-writing to not write if no cookies were read from the file + and none are available (Debian #354282) -TD +* fix src/tidy_tls.c X509_get_issuer_name to actually take the issuer DN of the + present certificate and not hope that it is the same as taking the subject DN + of the "next" certificate which may or may not exist (Debian #499945, patch + by Thomas Viehmann) +* modify exit code when doing a "-dump" to exit with error if the server + returned an error status for the page (Debian #299711) -TD +* fix ipv6 literal command-line parsing (Debian #180654, analysis by Fabio + Massimo Di Nitto) -TD +* extend configure macros CF_SSL and CF_GNUTLS to check for pkg-config, using + that for the default if the corresponding openssl or gnutls packages are + installed (suggested by PGNet) -TD +* add fi.po from + http://translationproject.org/latest/lynx/ +* update fr.po from + http://translationproject.org/latest/lynx/ +* correct handling of the option value from configure "--with-ssl", which was + not being used in the search-list (report by PGNet) -TD +* update configure script macros -TD + CF_CURSES_LIBS - add "pdcurses", e.g., to link with MinGW + CF_UTF8_LIB - use CF_FIND_LINKAGE to better work with BSD ports. + CF_XOPEN_SOURCE - add case for dragonfly +* document width-limitation in manpage, fix a few stray 1024's still in the + source (report by Barry Haddow) -TD +* add "read_timeout" to lynx.cfg, and -read_timeout option to command-line + (prompted by Dries De Moor report on mailing list) -TD +* modify to handle a special case where the content-type is given as one of the + compressed types, to check if the address (after stripping the file suffix + for that compression) has a suffix that lynx could present -TD + For example: + http://foo/bar.html.gz + would display the uncompressed "bar.html" rather than offering to download + the file. This also allows one to add SUFFIX commands to lynx.cfg to display + the corresponding plain files. + For example: + SUFFIX:CHANGES.*:text/plain:8bit + SUFFIX:CHANGES:text/plain:8bit + for + http://foo/CHANGES.tmp.gz + http://foo/CHANGES.gz +* workaround for STRING redefinition in parsdate.c on DJGPP -GV +* improve configure-check to determine proper fallback when no long-long + printing format is available -TD +* update win32 makefiles/build scripts to add LYmktime, parsdate modules -TD +* update config.guess (2008-04-14), config.sub (2008-06-16) + +2008-09-21 (2.8.7dev.10) +* remove rw.po, since the translation project no longer supplies it -TD +* implement "readonly" attribute for TEXTAREA and TEXT fields -TD +* update Lynx's tables of HTML attributes to cover (except for events) the + keywords from HTML 4.01 -TD +* modify initial active link in download-page to be the first download + action rather than the "help" link which is provided in Novice mode + (Debian #376259) -PBM, TD +* implement "chunked" transfer-encoding to work with servers that ignore the + version number in HTTP get's -TD +* change initialization of trace file, handing this during the first part of + argument parsing along with -help and -version, to show steps done for + initialization of presentors, etc -TD +* minor fix to LYstartPopup() to handle a case where the popup menu was too + large for the screen -TD +* fixes for srcdir!=objdir (report by FLWM) -TD +* modify man2hlp.sh to work from subdirectory, e.g., its parameter would be + "../lynx.man" -TD +* set POSIX locale for install-cfg.sh and man2hlp.sh since they use character + ranges -TD +* add switch -xhtml-parsing and lynx.cfg XHTML_PARSING setting to control + whether the extensions for XHTML 1.0 are used (prompted by bug report by + FLWM, as well as discussion on lynx-dev) -TD +* modify external editing of TEXTAREA to not do tab-conversion -TD +* modify LYhighlight() to limit display of multicolumn characters -TD +* rewrite LYRefreshEdit(), to display multibyte/multicolumn characters properly + when using wide-character curses -TD +* revise introductory comment written to ".lynxrc" (Debian #461158) -TD +* discard anchor's post_data field in HTLoadDocument() if Lynx is about to + reload a document. That would happen if the result of the form includes a + link back to the form. Removing the data causes Lynx to prompt the user, + e.g., + Resubmit POST content to http://localhost/cgi-bin/lynxtest.pl ? (y/n) + to offer the user the choice between revisiting form or re-POST'ing the + data that was on the form (report by Andreas K Foerster) -TD +* fixes for LYHighlight() when the highlighted text is empty -TD +* translate named entities, etc., for "content" field of refresh-URL, cf: + 2.8.5dev.13 (report by Ivan Shmakov) -TD +* suppress computation in TrimmedLength() for source-view, which is not needed + for Debian #204515 -Mike Knight +* add check-po rule to po/makefile -TD +* modify top-level makefile to work with configure --srcdir -TD +* add update-po rule to top-level makefile -TD +* update fr.po, nl.po, tr.po, vi.po, zh_TW.po,sv.po from + http://translationproject.org/latest/lynx/ +* parse doctype for xhtml, to tell when empty tags such as "<textarea />" can + be discarded (report by Nils Dagsson Moskopp) -TD +* parse xml processing-instruction to turn on UTF-8 decoding, as well as + disable upper/lower case transforming in source view (discussion on + lynx-dev) -TD +* fix typo in Lynx_users_guide.html (report by Kristof Zelechovski) -TD +* minor fix to documentation in lynx.cfg -PW +* use off_t rather than long for representing file sizes, e.g., when used to + print progress messages (reports by LP, Tomas Liska, TG, PG) -TD +* use dtd_util to replace most of HTMLDTD.h and HTMLDTD.c with source generated + from the existing tables in those files -TD +* add program dtd_util which can be used to dump the SGML tables in readable + form -TD +* change calls to LYhandlePopupList() to turn on (or off) numbering when + keypad_mode is not NUMBERS_AS_ARROWS -PBM +* move close of session-file outside ifdef for VLINK_IN_SESSION, closing + session file properly if that ifdef is disabled. Add a null-pointer check + for visited links that are saved -PBM +* make auto_session and session_file configurable with ENABLE_LYNXRC -PBM +* separate configure "--enable-sessions" option from "--enable-session-cache" + option -PBM +* add ncurses scroll-wheel support, which requires the extended-mouse configure + option of ncurses (Debian #476394) -TD + Caveat: if running on a local terminal, setting the ESCDELAY environment + variable to 0 (zero) helps, since the event rate is rather high. That would + not help on a network with delays (this is true of all text applications that + use xterm's mouse protocol, such as gpm and ncurses). +* adapt/extend parsdate.y from tin to improve parsing of cookie expiration + times (Debian #480144) -TD +* update de.po (patch by Fabian Fingerle) + +2008-04-27 (2.8.7dev.9) +* update nl.po, vi.po from + http://translationproject.org/latest/lynx/ +* additional def7_uni.tbl conversions (patch by Tim Larson). +* update config.guess (2008-03-12), config.sub (2008-03-08) +* add --enable-gnutls-compat option and associated files to configure with + GNU TLS without its gnutls-openssl library, whose newer versions are + available only under a restrictive license (reports by Andreas Metzler, + Atsuhito Kohda) -TD +* update README.sslcerts -SC +* add POSITIONAL_EDITOR setting to configure editors which accept a "+line" + parameter -PBM +* pass a newline after the start of PRE-section in HTGopher.c to force the + first newline between records to be seen and cause the lines to split + (report by Ciprian Dorin Craciun) -TD +* use TRST_MAXROWSPAN and TRST_MAXCOLSPAN limits in Stbl_reserveCellsInTable(), + to help the non-color-style version work with table using rowspan/colspan + set to "0", as well as correcting limits from original 2.8.3dev.14 changes + (report by George Sigletos) -TD, PBM +* modify behavior of "-nonumbers" option for -dump so it can be combined with + -listonly to obtain a list of the URLs without reference numbers (Debian + #398283) -TD +* typo in description of SESSION_FILE in lynx.cfg -PBM +* build-fix for WWW version on Windows -TD + +2008-02-17 (2.8.7dev.8) +* add "nano" to list of editors accepting +number option (patch by Tim Chase) +* add configure --with-nss-compat option, for building with NSS library's + OpenSSL-compatible interface (patch by Zdenek Prikryl) +* minor fix for version message to ensure WWW version shows when not building + with OpenSSL -GV +* make "--more--" message configuable -PBM +* improve multibyte editing (patch by Sergej Kvachonok) +* add XWINDOWS / NON_XWINDOWS environment-variable field to DOWNLOAD, etc., in + lynx.cfg to specify whether a downloader (printer, etc) is enabled when + the X display variable is set -PBM +* add configure script options --enable-session-cache and --enable-progressbar + for PBM's experimental session and progressbar features -TD +* add session save/restore feature -PBM + + bind ^X to toggle view of page showing session information + + add binding for ^U to previous-document (outside of line-editing). + + documented command-line options and configuration data for this feature. + + document -child_relaxed option in Lynx users's guide. +* use vasprintf() if available, fixes Fedora #462449 -TD +* several small changes to configure script to work with MirBSD build + environment -TG +* show progress message in X509 callback -TG +* modify definition of lynxrc and cookies files in LYMain.c and LYrcFile.c to + make it simpler for build script to override -TD +* reviewed patches at + http://www.mirbsd.org/cvs.cgi/ports/www/lynx/patches/ + improved buffer allocation limits in makeuctb.c -TD +* add support for the X.509 extension subjectAltName using GNUTLS -Joey Schulze +* add SSL_CERT_FILE to lynx.cfg -Joey Schulze +* fix spelling error in HTAccess.h comment (report by Paul de Weerd) -TD +* add null-pointer checks to cover a special case of exit on error while + reading from the standard input (report by Pascal Terjan) -TD + +2007-08-02 (2.8.7dev.7) +* restore top-level descrip.mms due to error in patch -TD + +2007-08-02 (2.8.7dev.6) +* update cs.po from + http://translationproject.org/latest/lynx/ +* add a script for Inno Setup, incorporate/adapt configuration files from + an installer created by Claudio Santambrogio -TD +* use struct dirent64 when it is declared via configure script -TD +* additional def7_uni.tbl conversions (patch by Tim Larson). +* quiet a message in HTFWriter.c -RS +* improve IsOurSymlink() from 2.8.7dev.5 changes, allowing the symbolic link + to be relative to the directory -RS, TD +* rewrote several autoconf macros to use extended searches in non-system + locations, i.e., AM_ICONV, AM_WITH_NLS, CF_GNUTLS, CF_SSL, CF_WITH_BZLIB + and CF_WITH_ZLIB (prompted by LV comments) -TD +* modify popup for externals added in 2.8.4dev.20 to number the entries if + keypad mode is set to one of the numbered forms -PBM +* free leaks of LYLeaks.c, to make it simpler to check it with a second + tool such as valgrind -TD +* rewrote cached_styles[][] to use memory allocated to match screen size + (report by RS) -TD +* fix typo in SGML.C -RS +* correct display_lines when -notitle is used while in novice mode -PBM, TD +* add -child_relaxed option (patch by Andrew Belov). +* minor typos from OpenBSD (patch by Daniel Dickman). +* modify VMS build-scripts to accept "TCPIP" parameter, for TCPIP Services + (discussion with Dominic Stephens) -TD +* add IDE-files for building with Visual Studio 6, 2003 and 2005 Express. + These are respectively the files in BUILD-VS6, BUILD-VS2003 and + BUILD-VS2005X -TD +* modify def7_uni.tbl to display U+2212 without a leading blank + (Debian #428536) -TD +* add definition for _FILE_OFFSET_BITS in CF_LARGEFILE, needed for Solaris + 64-bit compiles (from ncurses) -TD +* change order of includes (-I options) in makefiles so build-tree is found + first (report by PBM) -TD +* ensure MIME_LIBDIR has a trailing "/" -TD +* add new -trace-mask codes to cleanup the trace file a little -TD +* remove redundant call to show_cert_issuer() -TG +* correct typo in Lynx_users_guide.html (prompted by TG's patch) -TD +* modify HTDoRead() to add elapsed time to its debug trace -TD +* fix a case in LYGetfile.c which was broken by 2.8.7dev.3 changes to use + LYTildeExpand() to expand embedded "~" -TG +* update config.guess (2007-05-17), config.sub (2007-06-28) + +2007-05-17 (2.8.7dev.5) +* build/install "en" po file so that GNU gettext LANGUAGE environment variable + can find the corresponding English message file (request by Chuck Houpt) -TD +* add LYNX_HELPFILE environment variable to allow override of location of the + help-file -Chuck Houpt +* make install-bin and install-lss makefile rules a little quieter (prompted + by discussion by Chuck Houpt and TG) -TD +* fix an off-by-one in HText_canScrollDown() and total_pages in GridText.c -TH +* rewrite strcasecomp_asterisk() to support wildcards as in RFC 2818 (prompted + by less-complete patch from Debian #401447, see also Debian #268102) -TD +* improve X.509 certificate validation -TG + This is tested for OpenSSL, ifdef'd to not break gnutls. Changes: + + peer certificate is cached, no need to call SSL_get_peer_certificate() + twice + + support foo.domain:port and [ip.add.re.ss] and [ip.add.re.ss]:port and + [i:p:v:6:ad:dr:es:s] and [i:p:v:6:ad:dr:es:s]:port + + add support for checking X.509v3 SubjectAltName extensions (of type DNS - + tested - and IP - untested) when the X.509 commonName check fails. + + when displaying a list of failed CNs, change format from foo:bar:baz to + CN<foo>:CN<bar>:CN<baz>:SAN<DNS=foo>:SAN<IP=1.2.3.4> so that we know where + what comes from (in "Your recent statusline messages") + + if the peer certificate can *NOT* be verified, output a message to the log + as well + + fix a possible use of an uninitialised value ssl_all_cns + + output certificate issuer to the logs as well (so that you can, before + entering your online banking PIN, see if the certificate has been issued + not only _to_ your bank but also _from_ a place you trust, in case + /etc/ssl/certs/ contains a lot of Root CA certs) +* quiet a gcc warning regarding do_system() -TG +* if iconv_open() using transliteration fails, retry without the + transliteration feature -TG +* change keymap for "CHANGE_KCODE" from CTRL-L to "J" -TG +* remove "local" section from lynx manpage -TG +* log SSL/TLS (HTTPS connection) X.509 certificate issuer information into the + "recent statusline messages" (accessible via the backspace key) -TG +* modify po/makefile.inn to use DESTDIR -Thomas Klausner, TD +* add --with-destdir configure option to set a default value for the DESTDIR + variable in makefiles, and modified makefiles to ensure that setting + DESTDIR in the top-level makefile propagates to lower levels (prompted by + NetBSD patch for port) -TD +* correct two places in HTML.c which compared element_number to HTML_H6 + twice rather also to HTML_H5 (report by hsv@tbbs.net) -TD +* improve change for UCSetBoxChars() from 2.8.6dev.16 for + EXP_CHARTRANS_AUTOSWITCH which assumed that the line-drawing character set + was always different from the display character set. If both are US_ASCII + for example, ASCII lines would be drawn, which is not good -TD +* change exit's in configure script test-programs to return's to reduce + problems with declaration of exit() -TD +* use "install-sh" rather than "install.sh" to reduce problems with Sun make + program -TD +* add configure-check for ncurses functions _nc_freeall() and + _nc_free_and_exit(), to help with memory-leak checking -TD +* change a few options such as --enable-locale-charset option to + non-experimental -TD +* correct lynx.cfg parsing of SYSLOG_TEXT which is miscoded as a boolean -TD +* add --enable-local-docs option to link doc-directory from help-page + (request by PW) -TD +* change default for MIME_LIBDIR from /usr/local/lib/mosaic to /etc -TD +* add --with-mime-libdir option to set MIME_LIBDIR in userdefs.h file -TD +* remove "lynxstuff" from help-page, it no longer exists (report by PW) -TD +* correct loop-limit in print_crawl_to_fd(), which broke + "lynx -crawl -dump" from 2.8.6dev.9 changes (Mandriva #29785) -TD +* replace BROKEN_PROFTPD and BROKEN_WU_FTPD logic with configurable list of + strings in lynx.cfg, i.e., BROKEN_FTP_RETR and BROKEN_FTP_EPSV, and add + "spftp/" to the predefined values for the former. Prompted by report by + Fred Kasner for + ftp.symantec.com/AVDEFS/norton_antivirus + which has a broken RETR command -TD +* add -passive-ftp option -TD +* ifdef'd -ftp option in case ftp is disabled, for consistency -TD +* ifdef'd options menu so that if ftp is disabled, the corresponding options + are not shown -TD +* improve pretty-src in a few places by passing-through whitespace as + demonstrated by + http://www.w3.org/TR/html401/index/elements.html + (report by Rado Smiljanic) -TD +* change user-messages in HTFWriter.c to info-messages, which are generally + faster (prompted by patch by Rado Smiljanic) -TD +* fix pretty-src for "attribute without value" case (patch by Rado Smiljanic) +* correct tab "abbr", was "abbrev" (patch by Rado Smiljanic) +* modify ifdef's in HTTCP.c to allow building Cygwin configuration without + NSL_FORK, broken in 2.8.5dev.5 (report by Holger Lange) -TD +* modify IsOurFile() to allow its parameter to be a symbolic link to one of + the user's files (report by Rado Smiljanic) -TD +* check if there is piped-in data when starting without "-" or "-stdin" + options, warn about the ignored input data in that case (prompted by report + by Toralf Foerster) -TD +* use POSIX macros for decoding system() return value in UCAuto.c -TD +* use POSIX macros for decoding system() return value in LYEdit.c + (adapted from an incomplete change in OpenBSD CVS) -TD +* modify CF_SRAND to recognize the asymmetric variant of arc4random() -TD +* updated configure script macros CF_SUBDIR_PATH, CF_XOPEN_SOURCE, + CF_X_ATHENA_LIBS, CF_X_TOOLKIT -TD +* update config.guess (2006-12-22), config.sub (2006-12-08) + +2006-11-14 (2.8.7dev.4) +* use RFC-822 encoding for filenames passed via file-upload forms (Debian + #181165) -TD +* correct check of return-value from FindLeadingTilde() in dev.3 cleanup of + "~" parsing -TD + +2006-11-12 (2.8.7dev.3) +* change the default HELPFILE to the 2.8.6 release directory since the + page on subir.com contains obsolete information -TD +* eliminate references to obsolete url + http://www.hippo.ru/%7Ehvv/ + using the 2.8.6 release directory instead, e.g., + http://lynx.isc.org/release/lynx2-8-6/lynx_help/ + This is useful mainly for platforms which do not use the configure script -TD +* update et.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* modify CF_PDCURSES_X11 to use xcurses-config script if available -TD +* improve parsing for embedded "~", ensuring that it is interpreted as a + user's home directory only if it follows a pathname separator (Debian + #388622) -TD +* ensure that PERSONAL_EXTENSION_MAP and PERSONAL_MAILCAP are absolute + pathnames, performing tilde expansion as needed. Pathnames that are not + given in absolute form will be sought under the user's home directory as if + they began with "~/" -TD + +2006-11-06 (2.8.7dev.2) +* ensure that the configured values for GLOBAL_EXTENSION_MAP and GLOBAL_MAILCAP + are absolute pathnames -TD +* modify logic for reading PERSONAL_EXTENSION_MAP and PERSONAL_MAILCAP to + ensure that they are files that are controlled only by the user. The + default values for these allow lynx to read configuration information + from the user's current directory at lynx's startup (Debian #396949) -TD +* use CF_NCURSES_CONFIG to simplify linking against rpath'd library -TD +* fix CF_LARGEFILE so --disable-largefile works (from ncurses) -TD + +2006-10-12 (2.8.7dev.1) +* update embedded version numbers for starting 2.8.7 development -TD +* setup locale before writing version-message -TD +* update version message to reflect the fact that most of Lynx is copyright + the Lynx Developers Group (this would have altered message files) -TD +* update the ".po" files line-numbers (not done during the release cycle since + no new messages were added) -TD + +2006-10-12 (2.8.6rel.2) +* update version numbers in documentation -TD +* change embedded URL for HTML'ized lynx.cfg to point to example in current + release -TD + +2006-10-10 (2.8.6rel.1) + +2006-10-10 (2.8.6pre.6) +* minor formatting fixes to CHANGES and CHANGES2.8 to facilitate scripted + analysis of contributions -TD +* predefine _XOPEN_SOURCE_EXTENDED on HPUX to make color-style build -TD +* broaden the conditions on which to reload the color-style information to + cover any (re)initialization of the screen, e.g., when resizing using + ordinary curses (report by PG) -TD + +2006-10-02 (2.8.6pre.5) +* modify cfg2html.pl to use "use vars" rather than "our", to allow it to work + with perl version 5.5 -TD +* use curses nodelay() function for BeOS to make HTCheckForInterrupt() work + on that platform -TD +* filter out obsolete URLs from the customizations saved during install of + lynx.cfg -TD +* add a configure check for zError() to allow using old zlib's -TD +* fix configure --disable-largefile (from ncurses changes) -TD +* applied lynx's changes to updated files from ftp.unicode.org to take + advantage of less restrictive copyright (report by Klaus Singvogel) -TD +* workaround for PDCurses versus color-style; reload color style information + in start_curses() since PDCurses discards that information in endwin() + (report by Lawrence Armstrong) -TD + +2006-09-18 (2.8.6pre.4) +* updated link in user's guide to HTML 3.0 reference (report by TH) -TD +* remove coloring for lh- and high-tags from LYStyle.c and sample ".lss" files + since that tag is nonstandard (report by TH) -TD +* update da.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* add script samples/oldlynx, which gives the non-color-style scheme using + an executable built for color-style -TD +* add DEFAULT_COLORS item to lynx.cfg to allow disabling the default colors + feature at runtime, allowing better matching of old color scheme via a + script -TD +* update VMS descrip.mms files, adding the ability to build with slang -TD + +2006-09-10 (2.8.6pre.3) +* add NESTED_TABLES setting to lynx.cfg to allow site override of the built-in + default (see 2001-08-15 comments by TH) -TD +* update tr.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* fix a different aspect of Debian #171312, ensuring that if the side-effect + of getfile() is unneeded, we restore the link number as well as the line + number (Debian #386561) -TD +* modify makefile.msc to allow building with slang configuration -TD +* fixes for keyboard input of slang configuration in win32 (not MinGW) which + was broken in 2.8.3dev.5 -TD +* fix LYgetTableString(), making the monochome appearance with an empty ".lss" + file for color-style look like the non-color-style (Debian #386216) -TD +* fix change made to LYwaddnstr() which did not update the position in LYwin + after writing text to a subwindow. This caused some cases where the status + line would be cleared by the filler color -TD +* modify noviceline() function to account for trailing newlines in the message + text which caused the message to be displayed on the wrong lines (report + by Atsuhito Kohda) -TD +* make "lynx -version" work in the absence of ".cfg" or ".lss" files -TD +* add docs/README.metrics to support the changes to COPYHEADER -TD +* update COPYHEADER to reflect the ten years of development after release + of Lynx 2.4.2 -TD + +2006-09-03 (2.8.6pre.2) +* change configure script to put the ".cfg" and ".lss" files by default in the + --sysconfdir, e.g., $prefix/etc, and the help-files in lynx_doc and lynx_help + directories under --datadir, e.g., $prefix/share/lynx_doc, + $prefix/share/lynx_doc. To obtain the old behavior, use + configure --sysconfdir=/usr/local/lib --datadir=/usr/local/lib + (patch by Rado Smiljanic). +* simplified stop_curses(), ensuring that it does what it claims (report by + William McBrine) -TD +* corrected placement of statements used for quiet compiler warnings for unused + variables in fancy_mouse() (reported by Rado Smiljanic, Nelson Beebe) -TD +* simplify ifdef's in HTCheckForInterrupt() to make it clearer that the win32 + PDCurses configuration uses nodelay() as an alternative to select() -TD +* correct fix for PDCurses on win32, i.e., the workaround in LYStrings.c + myGetChar() (report by William McBrine) -TD +* replace a couple of wmove(LYwin,y,x) calls with LYmove(y,x) -TD +* modify configure macro CF_PATH_SYNTAX to account for the --prefix and + --exec-prefix options, making the --with-cfg-file and --with-lss-file options + have the expected behavior of using the given prefix (reported by PG) -TD +* modify ifdef's for Current_Attr variable to allow scrollbar feature to build + with slang configuration on Windows (report by Gisle Vanem) -TD + +2006-08-31 (2.8.6pre.1) +2006-08-31 (2.8.6dev.19) +* add --enable-widec configure option to allow building lynx without wide + character support using ncursesw, to accommodate users with older releases + of ncurses (request by Emanuele Giaquinta) -TD +* add -stderr option to write error messages when doing a -dump -or -source. + Normally these are written to the status line but that does not exist when + dumping to standard output (Debian #375736) -TD +* fixes for GNU TLS configuration (also addresses Debian #231609) -TG, TH +* add check for failure to write to disk, e.g., on disk full, and report + error condition via HTAlert() -PG +* updated README.sslcerts -SC +* add example of -source in manpage to explain how HREF's are constructed + (Debian #347989) -TD +* fixes to make redraw_part_of_line() to work with double-width characters. + This is used in color-style to repaint an inactive hyperlink -TD +* ensure the number of "extra" blanks in a line is greater than zero before + attempting to perform text-justification (Debian #363538) -TD +* improve wrapping logic in LYwaddnstr() by using a derived window. This fixes + a problem with wrapping of multibyte character links -TD +* repair fix for Debian #171312 by ensuring that it is only invoked if the + document was not being reloaded, or popped off the history stack. See logic + for popped_doc vs LYSetNewline() in LYMainLoop.c (report by TH) -TD +* add error-reporting for the PRETTYSRC_SPEC data in lynx.cfg + (prompted by discussion by OpenMacNews and Thorsten Glaser) -TD +* add a carriage-return in stop_curses() to work around PDCurses leaving the + cursor position other places than lower-level when stopping curses (report + by DK) -TD +* add an explicit wmove() in display_line() to accommodate some wide-character + pages which are not handled well by the nested-table logic, resulting in + unexpected wrapping (report by Dan Jacobson) -TD +* modify limit for CJK double-byte characters in display_line() to accommodate + a test-case rightSideEdgeTest.html provided by TH -TD +* add a workaround in LYStrings.c myGetChar() for PDCurses, which may return an + ERR value which is not -1 (reports by DK, William McBrine) -TD +* remove ifdef from 2.8.2dev.14 which omitted bindtextdomain() call from DJGPP + NLS configuration -DK +* modify autoconf macro AM_PATH_PROG_WITH_TEST to account for executable suffix + in win32 environment -DK +* correct a mistyped parameter to CreateThread() (report by DK) -TD +* do not use LIBOBJS symbol directly in configure script except to support + AC_REPLACE_FUNCS, since the autoconf macros dealing with that symbol changed + incompatibly in autoconf 2.54 (report by DK) -TD +* fixes to work with BeOS 5.0 -Nigel Horne +* use portable TXT_R rather than "rt" for popen() mode in clip_grab() (reported + by Antonio Maria Borneo) -TD +* modify makeutcb.c to avoid compile-time dependency upon gettext, in case it + is used in cross-compiling -TD +* modify expression for ws_read_per_sec in ws_netread() to avoid potential + divide-by-zero on a network error + (reported by David Potter) -Hataguchi Takeshi, -TD +* modify fix for Debian #335593 to ensure that only image maps for the current + page are listed (report by DK) -TD +* correct URL for HTML'ized description of all settings in lynx.cfg (report + by DK) -TD +* use configure macro CF_SIGWINCH to work around special case on Mac OS X + which leaves SIGWINCH undefined -TD +* add configure options --with-cfg-file and --with-lss-file to allow one to + specify the names and paths of the default configuration and color-style + files -TD +* change configure script --enable-color-style so it is enabled by default + (prompted by request by Jason Spiro) -TD +* add COLOR_STYLE setting to lynx.cfg -TD +* change default initialization of color-style code when no lss file is given + to simulate the non-color-style code. There are some visual differences, + e.g., links that contain a mixture of styles will display with mixed colors, + but overall the visual effect matches the non-color-style code well enough + to change the default configuration. + If an empty string is given for the lss filename, this is treated as an + empty style file, and lynx will not use its built-in default color style. + To make the behavior easier to diagnose, lynx will now exit with an error + if it cannot find the lss file. cf: 2000-07-16 (2.8.4dev.5) -TD +* fix a sign-extension in alignment case-statement in split_line() which could + cause a large indent for lines which are wider than the display (Debian + #360832, Debian #372670) -TD +* fix ifdef's in LYOptions.c to make --disable-menu-options work (report by + PW) -TD + +2006-05-29 (2.8.6dev.18) +* suppress OpenSSL URL from version message if it happens to be built using + GNU TLS -TD +* change default for DEFAULT_INDEX_FILE in lynx.cfg to http://lynx.isc.org/ + since the Mosaic MetaIndex file is defunct (suggested by SC) +* update makelynx.bat (report by FLWM) -TD +* add presentation for text/css, to allow browsing ".css" files -SC +* modify LYPrint.c suggested_filename() to strip bzip2's ".bz2" suffixes as + well as ".zz" suffixes -TD +* modify configure script macro AM_PATH_PROG_WITH_TEST to allow for DOS device + letter, and to override $PATHSEP with $PATH_SEPARATOR if the latter is + set -DK +* modify ifdef in LYCurses.c to avoid using nonfunctional PDCurses 2.7 + newterm() -DK +* update config.guess (2006-04-26) and config.sub (2006-05-13) +* improvements to configure script macros -TD + + don't use curses_colr on HPUX 11 + + split-out CF_CURSES_HEADER to simplify comparison with CF_NCURSES_HEADER + + modify AM_WITH_NLS to make it look in non-system locations, e.g., to + work with FreeBSD ports system +* modify HTLoadHTTP() to interpret leading asterisks in common name fields as + wildcards -Thorsten Glaser +* remove SH_EX hardcoded Latin-1 table for strcasecomp() -TD +* fixes for compiling in Cygwin environment -TH + + modify not to check d_ino when __CYGWIN__ is defined because it + does not seem to be supported by Cygwin now. + + modify to use fill_rehostent to avoid segfault in _fork_func, + which is used in Win32 environment (includes Cygwin). +* fix some printf formats -Thorsten Glaser +* fix some non-POSIX syntax in scripts/cfg_path.sh -PG +* modify makefile.in to ensure that scripts are prefixed with $(SHELL), in + case packager has stripped executable permissions from scripts, e.g., by + using CVS (report by Atsuhito Kohda) -TD +* add a null-pointer check in handle_LYK_HEAD() to cover a case where doing + a HEAD on a link failed because there was no submit action associated with + the link (report by Walter Ian Kaye, SC) -TD +* improve tbl2html.pl script to cover the ranges and approximations used in + def7_uni.tbl -TD +* additional def7_uni.tbl conversions (patch by Tim Larson). +* fix ifdef's for repeated-include of winsock.h for Visual Studio 6 -TD + +2006-01-22 (2.8.6dev.17) +* improve EXP_JAPANESEUTF8_SUPPORT -TH + + correct an ifdef in HTMIME.c + + correct the behavior of encoding a text in input element, + when the type is hidden and the text is japanese encoded utf-8. + + correct "//TRANSLIT" position in iconv_open() parameter. +* remove redundant size-check in change for HText_trimHightext() in 2.8.5dev.8 + to fix highlighting for this case: + <a href>Line 1<p>Line 2<p>Line 3</a> + (report by Andrew Belov) -TD +* add U+213B FAX to def7_uni.tbl (Debian #344275) -TD +* adjust anchor extent to discount trailing blank which is trimmed when + rendering. If the blank is not trimmed, link highlighting in color-style + will show a spurious character (report by Karl-Heinz Weirich) -TD +* fixes to source-view of ftp:// and file:// URLs, i.e., eliminate redundant + PRE's, add DOCTYPE and meta tags (Debian #347989) -TD +* modify makefile.msc to ease scripted building of various configurations + without needing to edit that file -TD +* fixes to allow building with Visual C++ .NET 2003 -TD +* modify configure script checks for gettext to supply include- and lib-paths, + e.g., to work on partly broken platforms such as FreeBSD -TD +* modify parsing of filename from Content-Disposition so that the name is not + truncated on embedded whitespace. For most systems, the blanks will be + retained. For VMS and MSDOS, the blanks are translated to underscores + (Debian #291716) -TD +* add a range-check for references to the style cache -Andrew Belov +* modify fmt_tempname() to avoid the possibility of long random sequences that + do not yield an unused filename (report by FLWM) -TD +* modify install rules for lynx.cfg to allow for pathnames on OS/2 EMX that + begin with a drive letter rather than a slash -TD +* move scripts that are not part of the configure script into scripts + subdirectory: cfg_defs.sh, cfg_edit, fixtext.sh -TD +* improve workaround for line-drawing characters with font-switching by + checking if the loaded font has line-drawing characters in the same positions + as the terminal description, rather than simply ignoring line-drawing when + the codeset differs (report by Karl-Heinz Weirich) -TD +* fix some ifdef's that did not work when disabling all features -TD +* fix a typo in LYMap.c from Debian #335593 changes (report by Jens + Schleusener) -TD +* really remove pointer to moxienet (report by SC) -TD + +2005-12-18 (2.8.6dev.16) +* change configure option default for --enable-justify-elts to true -TD +* change default for JUSTIFY to "false" (suggested by Bela Lubkin) -TD +* update config.guess (2005-11-11) and config.sub (2005-11-13) +* print the contents of image maps, if any, at the end of a dump (Debian + #335593) -TD +* fix off-by-one line calculation that allowed the last page to be blank + (Debian #330413) -TD +* modify statusline() to retain one trailing blank if the given string has a + trailing blank. This makes prompts easier to read (report by Karl-Heinz + Weirich) -TD +* modify pipe read in LYGetHostByName() to retry until either the pipe closes + or the struct passed back from the child process completes. This is needed + for OS/2 EMX (report by Karl-Heinz Weirich) -TD +* strip unneeded " " from translation when building info page using + wide curses (Debian #342877) -TD +* add scripts/tbl2html.pl, which can be used to generate test pages for the + charsets from src/chrtrans/*.tbl -TD +* add ISO-8859-13 and ISO-8859-14 chrtrans tables, revise ISO-8859-10 + based on + http://czyborra.com/charsets/iso8859.html + Change display name for ISO-8859-10 to indicate the region -TD +* add codepage 857 (DOSTurkish), since console-tools package provides a + suitable font -TD +* improve UCSetBoxChars(), checking if the current character set does not + match the character set inferred from the locale. This reduces the number + of cases where line-drawing in the options menu does not work -TD +* rename test/iso8859-1.html and test/iso88592.html to test/iso-8859-1.html + and test/isoi-8859-2.html, corresponding to the proper MIME names to + simplify test-scripts -TD +* update Linux console font support to use console-tools package (tested on + Debian). The configure script checks for consolechars and setfont programs + (must find at least one). The corresponding SETFONT_PATH can be set in + lynx.cfg to provide a choice between the two -TD +* strip special characters such as '%' from parameters passed to external + programs for EXTERNAL mechanism on Windows platform. This is ifdef'd + with WIN_EX (Hataguchi Takeshi). +* modify definition of addch_raw() to allow scrollbar to work with slang2 + (this only works on the Windows platform) -GV +* modify LYSysShell() to use $COMSPEC if $SHELL is not defined -GV +* workaround for codepage support on OS/2 by changing the effect of unctrl(). + Add/use new preferred function use_legacy_coding() to ncurses which provides + the same effect with the wide-character ncursesw (report by Karl-Heinz + Weirich) -TD +* fixes for de.po (Debian #313789, patch by Jens Seidel). +* add a null pointer check for HTCurSelectedOptionValue in HText_setLastOptionValue() + to improve handling of this fragment: + <FORM><SELECT><OPTION><FORM><SELECT> + (Alexey Dobriyan). +* add a null pointer check in HTML_TAB case of HTML_start_element() to handle + this fragment: + <TAB INDENT=1 TO> + (Alexey Dobriyan). +* remove pointer to + http://www.moxienet.com/lynx/ + since it no longer has useful information about SSL for Lynx (Crouton). +* add description of configure --with-build-cc, etc., to INSTALLATION -TD +* modify Switch_Display_Charset() so the font-switching feature can be turned + off at runtime, rather than silently re-enabling it every time a new page is + viewed. The automatic switching is enabled if the user has configured lynx + to use one of the automatically-detected fonts -TD +* fix ifdef's to allow building --without-font-switch with OS/2 EMX -TD +* work around bug in PDCurses wrapping by adjusting LYcolLimit macro. The + dev.14 change to HText_appendCharacter() exposed this bug in the Options menu + (report by Hataguchi Takeshi) -TD +* fix change to lynx_default_colors() from dev.14 change to work with the + bright-blue.lss file (report by FLWM) -TD +* add a configure test for ctermid(), needed for OS/2 EMX (report by + YANAGIHARA Nobuyuki) -TD + +2005-10-30 (2.8.6dev.15) +* update URL for VMS server information in LYCgi.c -TD +* modify LYLoadCGI() to prompt user, displaying the command that would be + executed, to confirm that it should be. This makes it easier to notice when + a local program would be run by activating a lynxcgi link. This is not done + in advanced mode, since the URL is already visible in the status line (report + by vade79, comments by Greg MacManus) -TD + +2005-10-17 (2.8.6dev.14) +* add configure script support for large files; some changes made be needed to + the C code in dev.15 to exploit this -TD +* work around part of the forms-menu extra wrapping from dev.12 by adjusting + text-field maximum size in HText_beginInput(). There is still wrapping of + options lists, which has to be treated differently. The cause for this + is the fix made to HText_appendCharacter() in dev.12 -TD +* extend experimental option --enable-japanese-utf8, allowing lynx to convert + EUC-JP and Shift_JIS strings to UTF-8 -TH +* modify CF_BUILD_CC to avoid clobbering environment variable $BUILD_CC + (from ncurses changes) -TD +* remove special case in CF_XOPEN_SOURCE which suppresses _XOPEN_SOURCE + definition for Darwin (request by Emanuele Giaquinta) +* fix an off-by-one error in comparison in HText_appendCharacter(), from dev.12 + changes which showed up as wrapped lines in the options menu -TD +* use h_addr_list[0] rather than h_addr in HTTCP.c for POSIX compatibility + (Emanuele Giaquinta) +* remove references to LIBCMU in HTTCP.c, since it is long obsolete -TD +* force a newline in HTML_end_element() after a </pre>, which causes lines + containing only whitespace before the </pre> to display a new line, rather + than putting that whitespace before text that follows the </pre> (report by + Thorsten Glaser for http://gcc.gnu.org/gcc-4.1/changes.html) -TD +* improve fix for LYstartPopup() in dev.6 by keeping the menu width as-is and + adjusting its position rather than simply using the full screen-width when + the first try fails (report by Gene Small) -TD +* correct logic in lynx_default_colors() so the color-style configuration does + not attempt to use default colors on a terminal which does not support it + (report by Bryan Henderson) -TD +* add/improve limit checks in HTLex.c -Ulf Harnhammar, TD +* ifdef'd out unused code in HTGroup.c -TD +* eliminate fixed-size buffers in LYExpandHostForURL() to guard against + buffer overflow resulting from too-long domain prefix/suffix data from + lynx.cfg (report by Ulf Harnhammar) -TD +* add a check for missing ':' in gopher response, to recover from the error + (patch by Ulf Harnhammar) +* eliminate fixed-size buffers in HTrjis() and related functions to avoid + potential buffer overflow in nntp pages (report by Ulf Harnhammar, + CAN-2005-3120) -TD +* correct "escape" character used in HTMake822Word, which was literally an + ASCII escape character rather than the RFC-822 backslash from 2.8.2dev.3 + changes (report by Frederic Briere, Debian #318034) -TD +* fix: when first "option" element of "select" had "disabled" attribute, Lynx + turned the entire "option/choice list" UNMODIFIABLE. The "disabled" + attribute of later "option" elements within the same "select" did not have + this effect. If the "disabled" attribute is honored, it should disable only + that element, not parent element or sibling elements (report by Paavo + Hartikainen) -TD +* make CF_TAR_OPTIONS configure macro work with DJGPP by using $EXEEXT -DK +* update config.guess (2005-09-19) and config.sub (2005-07-08) +* configure script updates from tin and ncurses -TD +* modify LYwaddnstr() to avoid sign-extension from changes in dev.12 (report + by FLWM) -TD +* modify initialization so that + cat options.txt | lynx - + will allow interactive use (report by Arne Kowallik) -TD +* add NO_MARGINS and NO_TITLE to lynx.cfg (request by SC) -TD +* adjust line-position for form fields when -notitle option is used (report by + Arne Kowallik) -TD + +2005-06-07 (2.8.6dev.13) +* add a check in LYnormalColor() to ensure that the color value is really + a color, i.e., do not do anything for monochrome displays (reports by + OpenMacNews and Jens Schleusener) -TD +* make -nomargins option apply to Options menu layout -TD +* changes to LYwaddnstr() in dev.12 exposed a case from dev.6 where the title + string was not truncated to avoid wrapping (report by PG) -TD +* changes to LYwaddnstr() in dev.12 allowed recursion in a case that was only + designed for iteration (report by OpenMacNews) -TD + +2005-06-02 (2.8.6dev.12) +* add rw.po, vi.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* modify ".lss" files to work equally well on terminals setup with white text + on black background, or the reverse. This also required fixing a few places + in LYsubwindow() and curses_w_style() to make window backgrounds use the + colors given in the ".lss" default- and normal-colors lines -TD +* make ".lss" example files somewhat readable by modifying parser to remove + blanks from the color description lines and modifying the example files to + use this feature -TD +* modify scripts/cfg2html.pl to use strict variable checking, Getopt::Std + to eliminate a uninitialized variable warning -TD +* modified fix for slang 2.0 which makes it clearer that the last parameter + of SLexpand_escaped_string is for UTF-8 -JED +* when SOURCE_CACHE_MEMORY is used, avoid repeated realloc's of the same + memory chunk (really annoying for a long document) -LP +* HTChunk extended to a linked list of chunks, additional put methods added. + Useful for pool infrastructure -LP +* add ".h" to .SUFFIXES rule in src/chrtrans/makefile.in to work around change + made in NetBSD "make" late in 2003, incorporated into the 2.0 release. + The CVS change notes: + Trim .SUFFIXES to only contain those used in this file. + (reported by SC, comments by Klaus Klein and Martin Husemann) -TD +* modify LYhighlight() to allow for the case where a form link extends for + several lines. It was not providing enough padding to fill in the "_" + characters past the first line of the link -TD +* modify LYwaddnstr() to account for the case where LYhighlight calls it to + display a link which extends beyond the current line, i.e., it should be + wrapped. When lynx is built to use curses-pads, the highlighting was instead + truncated since it was computed according to the pad's limits. Fixing this + exposes some related problems with off-by-one's in GridText.c -TD +* correct parsing of "key 0xNN" lines in command-scripts, had omitted a "!" + to invert a check (report by Silvio Moioli) -TD +* correct off-by-one in expression for LYHideCursor(), since dev.6 changes + modified the LYcolLimit variable, changing it from the last usable column + value to the number of columns (report by DK) -TD +* correct expression in HText_appendCharacter() which was simplified in + 2.8.5dev.4, but broke a comparison used for text-justification -TD +* adjust wide-character offset computation in HText_trimHightext() to account + for soft newlines, i.e., the cell reserved to show continuation lines -TD +* modify source-view toggle to keep the current anchor visible. Toggling + source view may change the line number on which the anchor is found, + requiring some adjustment. This feature is implemented only for source + cached pages -TD +* remove obsolete ifdef in LYwaddnstr() for ncurses 5.1's experimental UTF-8 + support -TD +* modify HTConfirmCookie() and statusline() to allow cookie prompt message in + Japanese to not be truncated when using wide-curses -TD +* modify logic for locale_charset configuration variable so it is not modified + simply by saving the .lynxrc while in running in a non-locale configuration. + That does not alter the display charset used by lynx -TD +* correct calculation of extra space available for justification in + split_line() for the wide-curses configuration. Changes from dev.6 + made this count formatting control characters twice, resulting in some + lines too long when justification was enabled -TD +* improve description of command-line option syntax in the manpage, including + noting how to find the default values for most options (Debian #292393) -TD +* modify is_true/is_false macros for processing command-line options to accept + "true" and "false" strings for consistency with the lynx.cfg parser, and to + ignore case of the boolean option values -TD +* add -notitle option to suppress title line and following blank line to + maximize screen use for small displays (request by Daniele Baggio) -TD +* add -nomargins option to suppress left/right margins to maximize screen use + for small displays (request by Daniele Baggio) -TD +* add null-pointer checks in HText_setLastOptionValue() to guard against empty + <select> (report by Al Viro) -TD +* fixes to allow compiling with slang 2.0 prerelease 5 -GV +* fix to avoid divide-by-zero in ws_netread() -GV +* modify ifdef for popup_choice() to work with handle_LYK_LINEWRAP_TOGGLE() on + NetBSD 2.0 (report by Gabor Z Papp) -TD + +2005-01-05 (2.8.6dev.11) +* add presentation type for application/xml and text/xml mime types as per + http://www.w3.org/TR/xhtml-media-types/ + http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801 + which states that they may be used, though application/xhtml+xml is the + preferred media type (Debian #184482) -TD +* remove an extra free() introduced in fixes from dev.10 for leak-checking + (reports by Thorsten Glaser, FLWM) -TD + +2005-01-02 (2.8.6dev.10) +* correct final sed command in help_files.sed which was not a basic regular + expression, left some links ending with .gz.gz -TD +* update config.guess, config.sub +* modify configure script to check for Intel compiler 8.0 -TD +* modify ifdef's for USE_DEFAULT_COLORS, disabling it if the + use_default_colors() function is not found -TD +* modify to allow compiling with C++ compiler, e.g., rename conflicting + keywords such as new, class, template (suggested by Nelson Beebe) -TD +* remove leading/trailing blanks from suggested title string for ADD_BOOKMARK + (request by Walter Ian Kaye) -TD +* add tags rules to makefile.in's -TD +* repair fix for Debian #171312 by ensuring that it is only invoked if a URL + fragment was found in the getfile() call (report by PG) -TD +* correct leak-checking for result of LYAddHilite(), which was not freeing + the associated strings -TD +* correct leak-checking for result of LYcommandList(), which was not freeing + the associated strings -TD +* correct pointer initialization in LYCheckForProxyURL() broken by fix for + Debian #240237 (reported by GV, SC) -TD + +2004-12-30 (2.8.6dev.9) +* remove fixed limit on history[] array (report by Richard Eyre) -TD +* improve logic for highlighting links which extend to multiple lines by + ensuring that if they cover a blank line that the following lines of the + link will be highlighted rather than the blank line (report by Hataguchi + Takeshi) -TD +* replace most instances of exit() by exit_immediately(), except those needed + for the leak-checking code, to add an ifdef'd call to _nc_freeall() which + simplifies testing with valgrind -TD +* fix definition of put_clip(), to compile in Windows environment (Hataguchi + Takeshi). +* update da.po, et.po, hu.po, nl.po, sv.po, tr.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* fix for mouse versus network I/O -GV + Building the djgpp version with S-Lang and mouse-support causes network I/O + to stop when Lynx is idle waiting for key/mouse events. This patch adds a + djgpp_idle_loop() function that does what getxkey() used to do; calls + tcp_tick() to finish off closed sockets and reply to pings etc. Tested with + PD-curses 2.6 too, but I couldn't get mouse to work under DOS. Not sure + that's possible at all. +* add "Anonymous FTP Password" to Options menu, to allow user to override use + of personal email address as the anonymous ftp password (Debian #137480) -TD +* modify LYCheckForProxyURL() to check if a colon follows a slash, which would + make the colon not part of a URL (report/patch by Matt Kraal (Debian + #240237)). +* add test/special_urls.html -TD +* update test/iso8859-1.html (minor fixes) from + http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html +* add check for broken WU_FTPD 2.6.2-12, e.g., at ftp://ftp.pppl.gov/, and + disable EPSV. This is ifdef'd with BROKEN_WU_FTPD and checks version (Debian + #66560, as well as April 2003 reports by HN, PW) -TD +* modify getfile(), etc., to ensure that following a link consisting of a + fragment will move the cursor to the link containing the target rather than + simply ensuring that it is visible (Debian #171312) -TD +* modify ShowInfo() to list the rendered size in bytes if the Content-Length + is not available (Debian #61085) -TD +* modify print_wwwfile_to_fd() and void print_crawl_to_fd() to ensure that no + trailing blanks are written (Debian #204515) -TD +* modify behavior when user attempts to toggle a radiobutton off, to make the + message that one radio button must be selected only in novice mode (Debian + #121520) -TD +* make the maximum number of cookies configurable in lynx.cfg, added + MAX_COOKIES_DOMAIN, MAX_COOKIES_GLOBAL and MAX_COOKIES_BUFFER (Debian + #152810) -TD +* reduce embedded blanks in button labels to single blanks -TD +* reduce embedded blanks in title strings to single blanks (Debian #284679) -TD +* add command-line option (-syslog-urls) and lynx.cfg settings (SYSLOG_TEXT, + SYSLOG_REQUESTED_URLS) to allow syslog'ing of URLs to be optional. This + cannot be set from the options menu (Debian #282739) -TD +* modify HTParse() to restore a slash which may be removed during + simplification of URLs such as "file://localhost/tmp/..". The + LYFillLocalFileURL() function would then append the current directory to the + URL rather than the expected "/". This case which happens in DIRED, was + caused by 2.8.5dev.15 changes (Debian #285140) -TD + +2004-11-07 (2.8.6dev.8) +* improve def7_uni.tbl substitutions for the symbols beginning at U+2600 + (patch by Tim Larson <Tim.Larson@conagrafoods.com>). +* update nl.po, sv.po from + http://www.iro.umontreal.ca/translation/maint/lynx/ +* add clean.com -TD +* scripting fixes to make OpenVMS/IA64 platform build/work -TD +* several changes to use const, prompted by VMS compiler warnings -TD +* remove build-slang.com -TD +* simplify libmake.com -TD +* modify build.com, making its second parameter a comma-separated list of the + special libraries which may be used, e.g., bzlib, slang, ssl and zlib -TD +* some cleanup using non_empty() macro -TD +* limit TEXTAREA columns to the screen width, and rows to 3 times the screen + height (report by FLWM) -TD + +2004-10-17 (2.8.6dev.7) +* update de.po, et.po from + http://www.iro.umontreal.ca/translation/maint/lynx +* clarification in manpage description of "-pseudo_inlines" option (Dan + Jacobson). +* correct parsing of embedded URLs which have parameters but no path, e.g., + base + http://wj55.org/Minutes.php + and embedded + ?date_meeting=2004-08-31 + (Debian #274619, report/analysis by Liam K Morland) -TD +* improve description of --assume-local-charset option (Debian #270915) -TD +* revise configure script check whether _POSIX_C_SOURCE should be defined, + taking into account the _POSIX_SOURCE definition (report by PG) -TD +* add --with-system-type option to configure script to simplify testing the + case-statements involving $host_os -TD +* fix a memory leak in IPv6 version of HTGetAddrInfo() -TD +* modify HTCompressed() to choose the last viewer in the list with the best + quality. User-defined viewers appear after the built-in viewers, and by + choosing the last, lynx allows one to override the built-in defaults -TD +* add "deflate" to the encoding types which lynx implements. This consists + of several parts (report by Thorsten Glaser) -TD + + adapted logic from w3m's inflate.c to construct an internal "deflate" + decompressor. Tested this with + http://carsten.codimi.de/gzip.yaws/ + + simplify VMS-specific logic for trimming version in HTLoadFile(). + + combined VMS- and Unix logic for decompression in HTLoadFile() as a new + function decompressAndParse() to eliminate clutter. As a side-effect, + eliminate some memory leaks in cases where the file is not loaded properly. + + add/use new function HTEncodingToCompressType() to eliminate clutter. + + add "deflate" to the options menu. + + modify logic that builds "Accept-Encoding" value to omit encodings which + have no external decompressor associated. The effect of this change is to + allow lynx to behave as it did before adding the (possibly incomplete) + "inflate" support. + + add INFLATE_PATH to lynx.cfg, to optionally specify an external program + which can be used to decompress deflated files. For testing, a shell + script using w3m's utility, e.g., /usr/lib/w3m/inflate, sufficed. + NOTE: As currently implemented, lynx requires the external decompression + programs to be specified even if it can decompress using library calls. + + use ".zz" for suffix of downloaded (but not inflated) deflated files, + mapped to application/deflate and application/x-deflate. +* fix LYSetConfigValue(), which did not properly handle the CONF_PRG case which + is used to allow user configuring the program paths -TD +* fix content_is_compressed() function, which was checking for the absence only + of some nonstandard encodings (8bit, 7bit, binary) rather than for the + presence of the encodings as specified in RFC 2068 (gzip, compress, etc). + This makes lynx able to view a site + which puts the charset as the Content-Type (report by FLWM) -TD +* fix configure script: top-level makefile uses $(TAR), which was not defined + if --without-dired option was used (report by Gabor Z Papp) -TD + +2004-10-10 (2.8.6dev.6) +* highlight the target and pause for 20 milliseconds when selecting a link with + the mouse -GV +* improve layout of options-menu and info-page for multibyte character sets by + computing the extent of the labels. This works only for wide-character + curses (this addresses part of Debian #240069) -TD +* improve check in LYstartPopup() for case where a window would be created too + far right to be entirely visible. ncurses changes in 20040417 to allow + windows to extend beyond the terminal limits exposed this problem (which may + have occurred with other versions of curses). Older versions of ncurses + would return an error in this case (forcing lynx to do the proper layout), + obscuring the actual problem. Noticed that the same problem applies to slang + configuration, and applied a comparable fix there too -TD +* modify HTConfirmCookie() to ensure the translator's note is copied into the + lynx.pot file, by adding a gettext("Y/N/A/V") call after the comment -TD +* remove references in makefile.in to the "intl" subdirectory since that is no + longer packaged with lynx -TD +* modify column limits, allowing text to be written to the last column on the + screen. This allows users to view text which is formatted for 80 columns + without the last character of each line wrapping to the next line -TD +* minor fixes to fr.po (Debian #119751, and aspell) -TD +* remove newline from format in lookup_reject(), fixes a bug introduced in + 2.8.5dev.2 which caused traversal reject-lookups to fail -TD +* minor fixes to fr.po, cs.po and pt_BR.po to eliminate fatal errors as + reported by "msgfmt -c -v" -TD +* minor fix to fr.po (Debian #271048, report/patch by Arnaud Giersch). +* update URL for "HTML Quick Reference Guide" in lynx_help_main.html (report + by Jim Jackson) -TD +* update hu.po from + http://www.iro.umontreal.ca/translation/maint/lynx +* remove a "defined(gettext)" from the ifdef's in HTConfirmCookie(), since + recent GNU gettext, e.g., 0.13.1, introduced an incompatible/undocumented + change to make the function a macro which is defined in terms of dgettext() + (Debian #204994, report by Mattias Ostergren) -TD +* modify pumpData() in HTMIME.c to improve recovery when a charset is found + that cannot be translated. Before this change, the charset was not stripped + from the format string, e.g., + text/html; charset=big5 + and since there would be no match for the format, lynx would offer to simply + download the page (if interactive), or refuse to format (for dumps). + Although the content of the page is unusable, the user can still navigate + the page using the links which may be there (Debian #254603) -TD +* add -nonumbers option, which modifies the output of -dump to suppress the + link-numbering (Debian #255571) -TD +* add -listonly option, which modifies the output of -dump to show only the + list of links (Debian #255571) -TD +* modify treatment of symbolic links for ftp-URLs to show the link target, as + with the local directory editor -TD +* correct sort-order of local directory listing, using the target of a symbolic + link to determine whether it is grouped with files or directories (adapted + from patch by Kees Cook) -TD +* modify template for temporary-directory name, adding "lynx" prefix (Debian + #267356) -TD +* fixes for configure script macros used for --enable-nls when --srcdir is + used (from bug report for dialog by Mike Castle) -TD +* improve configure script macro CF_XOPEN_SOURCE, ensuring that _POSIX_C_SOURCE + is defined with a value (comment on comp.sys.stratus newsgroup) -TD +* reduce TRST_MAXROWSPAN and TRST_MAXCOLSPAN to 200, which is more plausible + than 10000 by 1000 (discussion on lynx-dev related to report by Edgard + Pineda) -TD +* modify LYShowInfo.c to entify most strings, and provide for alignment of + fields in different locales -TD + +2004-06-30 (2.8.6dev.5) +* use LYEnsureAbsoluteURL() on the value passed to handle_LYK_HELP() in case + it is of the form file:///path rather than file://localhost/path -DK +* add configure check for ncurses' curses_version() function, using that in + the "-version" output. Add comparable ifdef's for PDCurses and slang -TD +* Some patches to enable IPv6 on Windows (tested with MingW and MSVC6). Some + minor cleanups also -GV + + LYutils.c; fixed extraction of module/system error strings. + + Xsystem.c; use <io.h> for mktemp() prototype. + + HTTCP.c; don't use global host[], fixed call-convention of thread- function + (must be __stdcall). Sets pending WSAHOST_NOT_FOUND error status. + + HTTP.c; _thread_func() wasn't __stdcall. + + LYexit.c; avoid redeclaring error of exit() in <process.h>. IMHO it's very + bad to shadow ANSI functions like this. Should call LYexit() explicitly. + + www_tcp.h; cleanup for MSVC and IPv6 headers and macros. Increase + MAXHOSTNAMELEN to 128. +* updated po files (da.po, et.po, hu.po, sv.po, tr.po) from + http://www.iro.umontreal.ca/translation/domains/ +* change HTDOS_wwwName() and HTVMS_wwwName() to return a const value (report + by Serge B) -TD +* update configure script macros CF_XOPEN_SOURCE (fixes Debian #238057) and + CF_X_ATHENA (from xterm) -TD +* update config.guess (2004-06-24) and config.sub (2004-06-24) +* modified mailcap command and testcommand substitutions to provide for + running the testcommand's after program initialization (prompted by review + of Debian #167200, which gave as example a mailcap using %{charset} in the + test commands) -TD +* add (ifdef'd with EXP_HTTP_HEADERS) code in HTMIME.c to collect and in + LYShowInfo.c to display the full text of the HTTP headers -TD +* correct command-line options table for "-get_data" and "-post_data" which + were processed twice, thereby discarding the value (Debian #132674) -TD +* lynx accepts multiple URLs on the command line; all are added to G)oto + history. Documented this in manpage (Debian #177062) -TD +* modify logic for -dump so it can dump all pages listed on the command line + (Debian #199131) -TD +* add presentation type for application/xhtml+xml mime type as per RFC 3236 + (report by Elimar Riesebieter) -TD + +2004-05-23 (2.8.6dev.4) +* use puts() rather than printf() in some messages to avoid chance of "%" in + the translation -TD +* add experimental option --enable-japanese-utf8 for using libiconv for + Japanese and UTF-8 -TH, TD +* update makelynx.bat -Victor Schneider +* modify configure script CF_ADD_CFLAGS to put definitions of quoted strings + in EXTRA_CPPFLAGS -TD +* fixes from Thorsten Glaser: + + check for arc4random as a possible random function. + + modify configure script CF_CHECK_CACHE to look for config.guess in + $ac_aux_dir if it is not in the source directory. +* fix naming conflict with AS_cmp() function when NOT_ASCII is defined -PG +* read user's ".newsauth" file for news-server authentication information + (prompted by A R Vener request) -TD +* modify HTSaveAndExecute() to check first for result from HTFileSuffix() + before choosing between BIN_SUFFIX and HTML_SUFFIX. This allows the PDF + viewer on OS X to get the proper suffix (.pdf) rather than .bin -PG, TD +* filter out extra screen-repainting when a charset change is made -IZ +* update README and other documentation to reflect new mailing list -TD +* add PREFERRED_ENCODING to lynx.cfg, along with an options-menu selection for + this, to set "Accept-Encoding:" string -TD +* add PREFERRED_MEDIA_TYPES to lynx.cfg, corresponding to the option for + HTFilterPresentations(). A minimal set of media types is used by default, + though the old behavior can be selected -TD +* modify HTFilterPresentations() to use new option menu entry for specifying + what parts of the user- and system-mailcap data to use in Accept's. The + intent is to provide easily managed subsets of the Accept string, to work + with servers that do not accept long Accept strings (prompted by discussion + on lynx-dev mailing list) -TD +* Remove logic from HTFilterPresentations() which reduced the Accept strings + based on wildcards since RFC 2616 says wildcards are lower precedance than + other settings -TD +* improve matching for mailcap test-commands in HTInit.c by eliminating + unnecessary whitespace with TrimCommand() -TD +* remove obsolete note about SSL patches in lynx_url_support.html -TD + +2004-05-06 (2.8.6dev.3) +* add scripts/indent.sh, use this to reindent C source files -TD +* bump version in makefile.in to 2.8.6 -TD + +2004-04-27 (2.8.6dev.2) +* modify CF_NCURSES_LIBS to only look for -lmytinfo when building with ncurses. + This works around FreeBSD's broken linker semantics when configuring for + ncursesw -TD +* update CF_GNUTLS macro to look for -lgnutls-openssl as well as the older + -lgnutls-extra library -TD +* fix a spurious match of <openssl/ssl.h> when --with-ssl=path option provides + enough information to ensure that the test would be incorrect -TD +* update config.guess (2004-02-16), config.sub (2004-02-23) +* fixes to src/chrtrans/makefile.in, e.g., for building PDCurses version, + broken by dev.1 changes for cross-compiling -TD +* remove macros such as ARGS1, NOPARM which supported K&R compilers -TD + +2004-04-19 (2.8.6dev.1) +* correct ifdef in LYgetattrs() to ensure that getattrs() is used only if the + configure script actually found it (report/patch by Paul Gilmartin). +* correct LYcommandList() to allocate data passed to HTList_addObject(), since + LYRemoveFromCloset() may free it (report by FLWM) -TD +* modify configure-script check for use_default_colors() to allow it to find + NetBSD's implementation of that function (report/patch by Julian Coleman) +* check for non-null file pointer in cleanup of makeuctb to work properly when + it is invoked without command-line parameters (report by FLWM) -TD +* add a null-pointer check to parameter of HTQuoteParameter(), fixes bug + introduced in 2.8.5pre.4 (report by FLWM) -TD +* correct units shown by HTReadProgress() for very low rates - bug from + 2.8.5pre.3 changes (report by PG) -TD +* use symbol USE_VERTRACE in HTUtils.h to allow makefiles that do not use the + configure script to turn on the equivalent --enable vertrace feature (request + by FLWM) -TD +* modify configure script and makefiles to allow cross-compiling -TD +* make ANSI C required, drop support for K&R C -TD +* update current-version in README -LP +* updated po files (da.po, de.po, et.po, hu.po, tr.po) from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* use autoconf 2.52 (plus patches), to simplify use in cross-compiling -TD +* escape "From " when it appears in a page which is mailed, to avoid confusing + mail clients -TD + +2004-02-04 (2.8.5rel.1) +* build fixes for MINGW32 -DK +* build fixes for OS/2 (reported by IZ) -TD + +2004-02-02 (2.8.5pre.5) +* MINGW32-specific changes to build with that configuration using the configure + script in Cygwin and "-mno-cygwin" option -DK +* move Cygwin defines for WIN_EX, _WINDOWS_NSL out of www_tcp.h, to the + configure script to fix a definition-order problem with CAN_CUT_AND_PASTE + (report by DK) -TD +* improve workaround for ncurses to build with pre-4.0 versions that do not + declare attr_t -TD + +2004-01-28 (2.8.5pre.4) +* workaround to build with ncurses 4.2 -TD +* fixes from Thorsten Glaser: + + use ${GNUSYSTEM_AUX_DIR}/mkinstalldirs if it exists. + + use $ac_config_sub variable in CF_CHECK_CACHE macro. + + add case in CF_XOPEN_SOURCE macro to prevent defining _XOPEN_SOURCE + + use $(MKINSTALLDIRS) variable in generated makefile. + + correct comment in lynx.cfg for the default value of FTP_PASSIVE + + increase pattern length for mkdtemp() call. +* add command-line & menu option/config variables to replace the compile-time + UNDERLINE_LINKS definition (suggested by BL) -TD +* correct ownership of installed lynx_doc directory (report by FLWM, PG) -TD +* modify configure check for tar to test several common variants including + star, modify makefile.in to use the configured 'tar' program (request by + FLWM) -TD +* compiler ifdef-fixes -BL +* documentation updates for DJGPP and OpenSSL -DK +* fixes/updates for DJGPP makefiles -DK +* modify po/makefile.inn to substitute the PACKAGE and VERSION strings into + lynx.pot automatically, and to remove the unused boilerplate header comment + (suggested by LP) -TD +* fixes for substituted project-version in configure script -TD + +2004-01-24 (2.8.5pre.3) +* update documentation's version numbers for release -TD +* modify configure check for libbz2 to allow for older headers which do not + include <stdio.h> -TD +* add configure option --enable-locale-charset, which adds configure settings + and an option-menu checkbox telling lynx if it should use the function call + nl_langinfo(CODESET) to find the display character set rather than rely on + the user to set it via lynx.cfg or the options menu (discussion with Andreas + Metzler) -TD +* remove intl subdirectory (gettext-0.10.35), since some of the ".po" files + have been modified to rely upon newer features of gettext. Modified + configure script macro to report this properly -TD +* add SSL_CERT_DIR, SSL_CERT_FILE to lynx.man (suggested by SC) -TD +* documentation updates for DJGPP -DK, LP, FLWM +* update address for Free Software Foundation in COPYHEADER and COPYING + (Atsuhito Kohda). +* change CF_CHECK_IPV6 to warn rather than error-out if a working getaddrinfo() + function cannot be found. The previous behavior would warn on Linux and + error-out on other systems (report by RobertM) -TD +* localized displayed strings used for popups in options menu -TD +* add SHOW_KB_NAME to allow user to decide whether to display "KB" or "Kib" + or even "Kilobytes" for the progress message (discussion on lynx-dev) -TD +* correct form generated to select Visited Links page in LYHistory.c to match + the values used in LYOptions.c with new function LYMenuVisitedLinks, and + corrected ifdef to ensure that menu is generated when the forms-based option + menu is configured (report by TH) -TD +* modify configure check for ranlib to use AC_CHECK_TOOL, since AC_PROG_RANLIB + does not do proper cross-compiling checks. This actually applies to autoconf + 2.5x -- autoconf 2.13 does less in that area -TD +* update config.guess (2004-01-05) and config.sub (2004-01-05). +* ensure that freeaddrinfo() is only called if lynx has initialized its + parameter, fixes a core-dump on IRIX6.5 -TD +* change remaining references for lynx.browser.org to lynx.isc.org (reported by + Frederic L W Meunier) -TD + +2004-01-19 (2.8.5pre.2) +* update URLs in docs/README.ssl (SC, DK). +* use http://search.lycos.com rather than the messy http://www.lycos.com -DK +* update some URLs in lynx_help -FLWM (Frederic L W Meunier) +* remove a few unnecessary #include's (reported by Frederic L W Meunier) -TD +* fix some compiler warnings with casts -PG +* add docs/ directory to "make install-doc" rule. If the help-files are + compressed, the same will apply to the non-README files in that directory + (reported by Frederic L W Meunier) -TD +* minor fixes to allow compiling with K&R compiler, e.g.,SunOS 4.x with the + 5lib curses -TD +* split up remove_file() in LYLocal.c so directory removal is performed in a + separate function remove_directory(). Neither will perform an "rm -rf", + but only single operations "rm" and "rmdir". The original behavior can be + obtained by setting RMDIR_PATH to point to a script which does "rm -rf" + in lynx.cfg (suggested by Pat Walsh). +* modify configure script so NetBSD does not define _XOPEN_SOURCE, since that + makes the IPv6 code not compile -TD +* modify configure script to prefer _SGI_SOURCE on IRIX6.5 to allow it to + compile IPv6 support (report by RobertM) -TD +* replace fixed-buffer Style_className[] with a dynamically-allocated buffer, + needed for large pages which lack correctly-nested tags, e.g., + http://www.aspas-nature.org/petitions/petition2.html + (reported by Frederic L W Meunier) -TD +* move OMIT_SCN_KEEPING definition to LYHash.h, to avoid mismatch between the + LYCurses.c and HTML.c -TD +* remove obsolete OPT_SCN ifdef from HTML.c since the inactive side does not + compile -TD +* fix a few out-of-bounds errors in LYSetHiText() and related functions, + which were found by valgrind -TD + +2004-01-07 (2.8.5pre.1) +This version has been test-built on + * Linux (ncurses, ncursesw, PDCurses, slang), + * FreeBSD 4.9, 5.1 (ncurses, ncursesw), + * Tru64 4.0d, 5.1 (cc, curses), + * OpenVMS, + * OS/2 EMX, + * win32 (Visual C++ 6.0 and Borland C++, Cygwin), + * AIX 4.3, 5.1, + * HPUX 11, + * Solaris 8, 9. +Other recent builds include IRIX 6.5 (cc and gcc, curses/ncurses), +FreeBSD 4.1, 4.8, NetBSD 1.5, 1.6 and OpenBSD 2.8 (curses/ncurses). + +2004-01-07 (2.8.5dev.17) +* fix initialization of LYlines and LYcols for curses configurations other than + ncurses which implement pads -TD +* fix ifdef's for alloca(), e.g., on AIX 4 -TD +* fix misspelled LYGetEnv/LYgetenv in DJGPP configuration -DK +* a few portability fixes to allow building on OS/2, AIX, Tru64 and HPUX -TD +* add docs/README.rootcerts -IZ, SC, Johannes Hromadka +* update po files (ca.po, da.po, de.po, et.po, hu.po, ru.po, sv.po, tr.po and + zh_CN.po) from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* correct some mismatches between INSTALLATION and "configure --help" (prompted + by discussion with SC) -TD +* undef conflicting symbols "small" and FILE_DOES_NOT_EXIST which are + misdefined in Cygwin's w32api headers (report by Frederic L W Meunier) -TD +* amend check for refresh-URL to ensure it only prepends a link for text/html + content type (report by Carlton Anderson) -TD +* do not strip parameters from refresh-URL (report by Carlton Anderson gave an + example of their use) -TD +* correct logic for resetting count of leading/trailing spaces in S_litteral + case (report by TH) -TD +* remove obsolete XMOSAIC_HACK defines -TD +* adapted patch by Bjoern Jacke <bjoern@j3e.de> to ensure that toupper(), + tolower() and isupper() macros are interpreted in POSIX locale. This is + ifdef'd with EXP_ASCII_CTYPES -TD +* improve check for Unix-style shell given in $SHELL by limiting the check to + the base-name (discussion with GV, DK) -TD +* modify increment_tagged_htline() to reallocate its HTLine parameter if the + result would be larger than the allocation. This can happen when a large + textarea is adjusted (report by Thorsten Glaser) -TD +* add ifdef'd logic to change HTLine to calloc() rather than memory pools, + making it possible to use valgrind, etc., for debugging -LP +* modify version shown for SSL to be derived from runtime SSLeay_version() + function if linked with OpenSSL or SSLeay. Add corresponding definition + for GNU TLS (discussion by Frederic L W Meunier, GV) -TD +* add check for broken ProFTPD 1.2.5rc1, e.g., at ftp://ftp.oldskool.org/pub, + and force a reconnection if an error 550 is detected when doing RETR. This + is ifdef'd with BROKEN_PROFTPD and checks version (reports by GV, DK) -TD +* modify file-upload to not print a warning message if the form-field is empty + (Frank Heckenbach). +* add a few null-pointer checks to GridText.c (addresses symptoms reported by + Frederic L W Meunier when nested-tables are toggled off) -TD +* modify LYTrimNewline() to trim carriage-returns as well as line-feeds, making + it possible to share cookie files between platforms that have different + line-terminations (report by Frederic L W Meunier) -TD +* rename EXP_PERSISTENT_COOKIES ifdef to USE_PERSISTENT_COOKIES -TD +* rename EXP_READPROGRESS ifdef to USE_READPROGRESS -TD +* rename SOURCE_CACHE ifdef to USE_SOURCE_CACHE -TD +* change a few configure script defaults to "enable": source-cache, prettysrc + and read-eta. Also change default for read-eta configuration flag to "Show + KB/Sec" (requests by LP, Frederic L W Meunier) -TD +* modify generated help_files.sed script to fix a couple of cases where the + intermediate result had more than 2 ".gz" substrings to reduce (reported by + IZ) -TD +* change configure script to compile-in file-upload by default, change its + corresponding ifdef to USE_FILE_UPLOAD -TD +* use EXEEXT, OBJEXT substitutions in makefile.in -TD +* update configure script check for getbegx(), etc -TD +* revert table-layout changes from dev.15/dev.16 because of unresolved + issues -TD +* add configure option --with-bzlib -TD +* modify bzip2/zlib ifdef's to make them independent -TD +* implement support for bzip compression by internal calls to libbz2 -IZ +* make usage of EDIT_A_PREV_SHORTCUT and EDIT_THE_PREV_SHORTCUT consistent + (report by LP) -TD +* if a document is in the cache (the rendering is in memory), on reload it + should not be cleared from the cache until the connection to the server is + opened; if the connection fails, the user will reuse the old version (request + by IZ) -LP +* for DJGPP, escape all backslashes in commands given to LYSystem() when + a Unix-style shell is given in $SHELL -DK, TD +* correct strings in LYOptions.c so ENABLE_LYNXRC works for bookmark_file + and run_all_execution_links -DK +* modify comparison in USE_CURSES_PAIR_0 ifdef of parse_attributes() to take + into account the mono-attributes as well. This fixes a case where a color + style might have the same color-attributes as the background, and would + incorrectly fall-through to use the mono-attributes (report by DK) -TD +* rewrote lynx_chg_color() to handle a COLORS value of 16 (report by TH) -TD +* redefine PDCurses' COLORS value to 16, since it incorrectly uses 8 -TD +* add -scrsize option and corresponding SCREEN_SIZE value to lynx.cfg to allow + lynx's screensize to be specified. To display background color properly, + this also requires a patch to PDCurses: + http://www.t3.rim.or.jp/~patakuti/tmp/lynx/PDCurses-2.5.patch.resize + This requires PDCurses 2.5 and higher -TH +* add a clean-rule to src/chrtrans/makefile.bcb -TD +* fix pathname generated for "View temporary file" in LYDownload.c using new + function LYAddPathToSave() (report by P.J.Walsh) -TD +* comment-out --enable-libjs option since it is not used -TD +* change code to match lynx.cfg description for FORCE_COOKIE_PROMPT and + FORCE_SSL_PROMPT, making "prompt" rather than "default" the keyword to use + when telling lynx to prompt (report by DK) -TD +* really add FORCE_COOKIE_PROMPT setting to lynx.cfg (report by DK) -TD +* change default of configure script options --enable-source-cache and + --enable-prettysrc to non-experimental to "yes", so they will normally + be compiled-in, but normally disabled in lynx.cfg (suggested by LP). +* modify configure script and related ifdef's to build with gnutls 0.8.9 + (report by Atsuhito Kohda) -TD +* modify ifdef's to use mkdtemp() if it is available (prompted by MirBSD + patch) -TD +* several fixes from (TG) (Thorsten Glaser - MirBSD): + + workaround for invoking shell scripts when executable permissions are + discarded as a result from using CVS. + + adjust buffer-size used in a readlink() call in case the result is too + long to include trailing null. + + change default ftp mode to passive. + + if ftp connection fails, automatically retry, switching between passive + and active modes. Do this retry switching only when connecting to a + different host. A new variable ftp_local_passive distinguishes this + from the user preference in ftp_passive. + + improved certificate handling (case-insensitive domain-comparison, strip + port-numbers from comparison). + + fix a few typos & compiler-warnings. +* add PT154 charset support. See + http://www.iana.org/assignments/charset-reg/PTCP154 for more information. + (patch by Timur Birsh <birsh@mail.kz>) +* integrate some improvements for configure script in CF_BUNDLED_INTL and + CF_OUR_MESSAGES from tin and dialog -TD +* remove #undef for UTF8 from UCMap.h, rename UTF8 variable, modify configure + check for slang to test-compile with with the Debian slang-utf8 package -TD +* modify configure script to not use "head -1", which does not work for some + platforms when POSIXLY_CORRECT (sic) is set -TD +* fix configure script check for term.h, which may be <ncursesw/term.h> -TD +* modify an ifdef in HTCheckForInterrupt() to allow compile with DJGPP -GV +* add docs/README.sslcerts (Stefan Caunter <cauntes@mail.mohawkc.on.ca>). +* modify LYLocalFileToURL() to allow for CurrentDir() returning a value that + does not begin with a slash, e.g., with DJGPP which returns a drive-letter + first -DK +* amend change in dev.15 to HTParse() to escape spaces, to exclude non-URL + strings such as absolute filenames (report by Patrick Ash) -TD +* modify LYParseTagParam() (added in dev.13) to not stop on ';' (fixes a bug + reported by LV which broke complicated refresh-URL containing "&") -TD +* change default start page to lynx.isc.org, since lynx.browser.org is not + maintained -TD +* modify HTML_start_element() to work with a case where there is an HREF + attribute without a value, fixes bug introduced after dev.9, e.g., for + X-URL: http://bankr.tsr.ru/tv-6.shtml + (also reported by Frederic L W Meunier for http://www.jacotei.com.br/) -LP +* correct construction of link to temporary filename in download options, did + not port to DOS-pathnames (report by LP) -TD + +2003-06-01 (2.8.5dev.16) +* add zh_CN.po from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* updated obsolete link for nntp in users's guide -TD +* add F_FILE_TYPE to F_TEXTLIKE() macro, and use it consistently in a few more + places, making editing in filename fields consistent with other text input + fields -TD +* add LYAdjHiTextPos() to modify the behavior of color-style code, so leading + blanks are not highlighted (reported by Frederic L W Meunier) -TD +* modify CacheThru_new() to accept "https:" URLs for source-caching (report + by Chuck Martin) -TD +* adapt some of the SH_EX ifdef'd features (TD): + + add -delay option, to make progress messages slow, along with corresponding + code for lynx.cfg + + show build date/time for systems that do not use a configure script. + + use LYK_CHG_CENTER keycode bound to ^Q to control whether table cells are + centered. The command-line -center option also controls this behavior. +* add BIN_SUFFIX, TEXT_SUFFIX to userdefs.h -TD +* modify BeginInternalPage(), adding a doctype to generated internal pages + to allow validating them -TD +* modify HTFWriter.c to use binary suffix for any file with an application + presentation type, to better distinguish it from text and html. Use text + suffix for any "text/" file other than "text/html". These changes cover the + most common cases needed to make a link to view the temporary file useful in + the download page -TD +* modify LYdownload_options(), adding a link to view the temporary file if the + downloaded file is text or html -TD +* modify LYwouldPush(), omitting the download page from list of user-interface + pages which should not be pushed onto the history stack when visiting another + page, such as info or help. Otherwise the downloaded file is discarded + (report by BL) -TD +* simplify set_vi_keys() and related functions using table-driven + set_any_keys() and reset_any_keys() -TD +* HTAnchor_findAddress now returns HTParentAnchor, avoid casting -LP +* change select timeout in HTCheckForInterrupt() to zero, allowing immediate + return rather than waiting (DJGPP otherwise blocks for 50msec). For Unix + platforms, the DontCheck() function limits the amount of polling which + otherwise would be too much CPU usage -LP +* modify configure check for gcc -Winline warning to work around defect in + gcc 3.3 -TD +* fix bug introduced recently in forms-submitting for TEXTAREA; the "%0d%0a" + was put after each line rather than before, making the first and second lines + joined (report by LV) -TD +* reset the leading/trailing space counts in error-recovery logic added in + 2.8.5dev.15 for S_litteral case in SGML_character(). Otherwise a mismatch, + e.g., due to a stray "<" or ">" in <script>...</script>, prevented a match + on the </script> -TD +* do not free adult_table[] atexit - it should be perfectly empty after + free'ing all HText's. (There is an error if it is not empty at exit) -LP +* unnamed child anchors (`children_notag' list) now use HText memory pool. + Links properly deleted when reparsing the document -LP +* Use less memory for documents with many anchors: most anchors are never + visited, just stored for the reference. So fill in adult_table[] with + HTParentAnchor0 (36 bytes size) instead of full HTParentAnchor (~200 bytes). + HTParentAnchor now allocated on demand, nearly 1:1 to HText. [more comments + in HTAnchor.h, changes located in HTAnchor.c] -LP +* HTParentAnchor0 stores its hash value, to avoid calling HASH_FUNCTION twice + on the same anchor (Re: HTAnchor_delete()) -LP +* fix a potential out-of-bounds bug in HTBEquivalent() -LP +* change strrchr() calls to strchr() in a few src/*.c file when parsing + "#fragment" left-to-right -LP +* modify HTFWriter_abort() to remove file on error -IZ +* added hot.paste style which puts a right-arrow at the UR corner (which is + currently unused). Clicking on it initiates a GOTO to the current selection + (same as PASTE_URL action). The hot.paste style is disabled unless STYLES + and CUT_AND_PASTE are both enabled. Disabled and the user defines hot.paste + in the ".lss" file -IZ +* modify LYK_PASTE_URL case in LYMainLoop.c to allow pasting URLs of the form + <address> and "<URL:address>" to lynx. This is useful when it is not easy to + choose address without the surrounding "<>" or "<URL:>" -IZ +* make a minor memory saving (circa 15%) for table processing, improve yet + another case of "ladder" (as in the top of google results), and fixes one + case of "wrong indentation" (elements of a table which contained <center> + were made too wide) -IZ +* modify Stbl_trimFakeRows() to compensate for 2.8.5dev.15 changes to + Stbl_addRowToTable() from 2.8.5dev.15 which caches shrinking cell arrays in a + pool. It did not take into account reallocation of the same data, e.g., in + Stbl_reserveCellsInRow(). For example: + http://camden-sbc.rutgers.edu/FacultyStaff/Directory/default.htm + (report by Patrick Ash) -IZ +* add FORCE_COOKIE_PROMPT setting to lynx.cfg, allowing for manipulation in the + options menu and (if LYNXRC_ENABLE is set) via the .lynxrc file. This lets + the user decide whether to ignore prompting for cookies with invalid syntax. + If the prompts are ignored, a corresponding message is displayed -TD +* add FORCE_SSL_PROMPT setting to lynx.cfg, allowing for manipulation in the + options menu and (if LYNXRC_ENABLE is set) via the .lynxrc file. This lets + the user decide whether to ignore prompting for questionable aspects of + an SSL connection. If the prompts are ignored, a corresponding message is + displayed -TD +* change select() calls to use the expected 1+descriptor value documented for + that function rather than FD_SETSIZE. It is possible that some very old + or unique platform would not work, but this is more efficient (discussion on + lynx-dev) -TD +* modify logic for S_litteral case in SGML_character() to recover from spaces + between the '<', '>' and the corresponding end of the tag, e.g., + <style > + < style > + < style > + match "<style>", and + </style > + < /style > + < /style > + match "</style>" (report by TH) -TD +* correct a check in HText_trimHightext() for the last line of the display, + which left unhighlighted the portion of a multi-line anchor which fell in + that place (report by TH) -TD +* correct an off-by-one in redraw_lines_of_link() which left the link on the + last line on a page highlighted when moving the cursor up (reported by Morten + Bo Johansen) -TD + +2003-04-27 (2.8.5dev.15) +* change definition of docdir1, helpdir1 to avoid using ksh-semantics (see + 2.8.5dev.2) -TD +* update ja.po, uk.po, zh_TW.po from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* improve layout of TRSTable.c, reducing "laddering" effect, where cells in + different columns do not overlap by lines -IZ +* modify SGML_new() to allow display charset-switching when reloading a + document -IZ +* fix a buffer-size in LYK_PASTE_URL case in LYMainLoop.c -IZ +* various improvements to load-time for TRSTable.c -IZ + As a test: + <URL:ilyaz.org/software/tmp/table_2col_bold_it_500000.html.gz>. + This is a simple table with 2 columns, one with bold contents, another with + italic one. The total number of rows is 500K. With the patch and an + acceptable malloc(), lynx should use the working set of about 110M to show + the table. On my system with 128M memory, this leads to only 4M of the + process space swapped. +* add case LYK_TO_CLIPBOARD to HTCheckForInterrupt (not a good place), to allow + COPY command to work during download (copying the location to clipboard). + The best thing would be to get the location *after* redirects, but this will + require some additional work -IZ +* add popen-based support for cut/paste. This is a slightly reworked patch to + GNU readline. If RL_PASTE_CMD and RL_CLCOPY_CMD are defined in the + environment, lynx will use them as commands to do cut&paste. The simplest + such commands could just store/retrieve things from + /tmp/.clipboard_user-name; more advanced ones could use X clipboard -IZ +* modify yawerty_kb.h to map U+0411 and U+0431 to 'B' and 'W' positions + respectively. The map contained U+0412 and U+0432 at those positions, + which are duplicated at other positons -IZ +* fix HTLoadFinger() which was miscasting const data -TD +* update Subir Grewal's Lynx links URL to the newest location + http://www.subir.com/lynx.html -TD +* add configure option --with-gnutls, to allow lynx to be built with gnutls. + Used gnutls 0.8.6 on Redhat 8.0 to login at yahoo (gnutls is not very + portable, so this is an experimental option) -TD +* modify loop in HTInitProgramPaths() to convert enum ProgramPaths to an + integer, to accommodate HPUX 11.22 compiler (report by JES) -TD +* amend change in dev.13 to HTParse() to escape spaces, to exclude lynx's + internal URL types such as lynxprog (report by P.J.Walsh) -TD +* modified ifdef's to enable -connect_timeout option for DJGPP -GV + In particular, in LYUtils.c, undef "select" in case Lynx is compiled with + curses (and not S-Lang). Watt-32's select_s cannot be used on a + stdin handle, so one must undef it and use DJGPP's select(). +* modify ifdef in HTCheckForInterrupt() to work with MingW and PDcurses -GV +* add version information for the macros in aclocal.m4 (request by Lars + Hecking) -TD +* modify file-upload to use actual binary-data rather than base64-format -TD +* generate unique boundary for multipart data in HText_SubmitForm() -TD +* reorganize HText_SubmitForm(), maintaining post data using bstring's -TD +* modify HText_SubmitForm() to add field name for the fake coordinate pair + when formatting a multipart submit (report by Peter Pilsl + <pilsl_@goldfisch.at>) -TD +* change post_data to a bstring; implement functions and macros for + manipulating bstring data. This allows post_data to maintain embedded nulls, + e.g., for file-upload -TD +* fix ifdef's for <ncursesw/term.h> -TD +* fixes for file upload -IZ + + modify logic for headers use write them even if MultipartContentType was + not set. + + change logic for base64 to be used ONLY if \0 was found. + If a "strange" char is found, only change "text/plain" to + "application/octet-stream". +* change a couple of _user_message() calls to HTUserMsg2() calls so their + content is saved in the "Messages" buffer -IZ, TD +* undo 2002-11-11 SGMLFindTag optimization (problem with color styles, + reported by IZ). Optimize the function by storing the previously found tags. + Also use my_casecomp() to decrease AS_casecomp() calls by testing the + first character manually -LP +* optimize HTStyle comparison: just compare numbers from enum. + It was previously implemented as a strcmp comparison with a fixed string. + Used in a very inner loop, in HTML_put_character() -LP +* LYEnsureAbsoluteURL() now absorbs LYFillLocalFileURL() call -LP +* optimize LYLegitimizeHREF() -LP +* in HTML.c, revise href resolving logic. HTAnchor_findChildAndLink now + resolves href with respect to BASE internally; HTParse incorporates + LYFillLocalFileURL call (after the parsing, and only when the related string + is not empty and parse includes access, host, path and punctuation). This + removes all LYFillLocalFileURL and most HTParse calls from HTML.c and makes + code more consistent. (Previously, functions were called in a different order + for document with/without BASE, which had the side effect in some cases, + e.g., href="c:" on a DOS machine was resolved properly with _any_ base, and + badly broken without:) -LP +* add/use HTParseALL macro to simplify coding -LP +* revise "internal links" logic (read KW 1997-11-03 notes, before v2.8). + In HTML.c and HTAnchor.c, internal links code affects only parent lookup + in the adults table (more correct in case of post data), now a mainline: + we omit "#ifndef DONT_TRACK_INTERNAL_LINKS" condition in the two files. + In HTML.c, avoid using internal links for unrelated `src=' attributes + (BGSOUND_SRC, FRAME_SRC, IFRAME_SRC, OVERLAY_SRC, EMBED_SRC links:) -LP +* refine HTAnchor_delete() vs deleteLinks() mutual recursion logic - LP +* change ALIGN_SIZE in GridText.c to sizeof(double), which is probably more + portable than "8" -LP +* modify a syslog() call to guard against possible '%' in its parameter -TD +* remove extra quotes from calling HTMake822Word() for form boundary names + (addresses bug report for fastmail.fm by P.J.Walsh) -TD + +2003-02-04 (2.8.5dev.14) +* correct a missing ">" at the beginning of page sent as response to mailto -TD +* simplify (clarify) anchor structure: links now moved from HTAnchor to + HTChildAnchor (the only place they were used). By this we avoid unneeded + casting in calls to HTAnchor_followMainLink, HTAnchor_followTypedLink, + deleteLinks. [GridText.c, HTML.c, LYList.c, HTAnchor.c] -LP +* as of 1998-11-21 "workaround for multiple anchors in the same (invalid) HTML + document with the same NAME and different destinations (HTAnchor.c) - KW", + along with skipping HTAnchor_link() call in this case now, we realize that + HTChildAnchor may have only a single link. (Previously implemented by + mainLink and links list). This simplifies HTAnchor.c -LP +* simplify HTChunk.c -LP +* optimize LYRemoveNewlines() and LYRemoveBlanks() -LP +* check for no common name (CN) in certificate when connecting via SSL, fixes + a SIGSEGV with + https://web-shokai.tokyo-denwa.net/ + (patch by Hataguchi Takeshi) +* add uk.po (Ukranian) from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* modify HTList_linkObject to avoid an infinite loop in HTList_unlinkObject due + to relinking some node several times, corrupting the previous list chain -LP +* increase ATEXITSIZE to 50, 40 was not enough -TD +* ifdef-out call to Cygwin_Shell() in LYMainLoop.c, which does not work + properly for some environments (report by Corinna Vinschen + <vinschen@redhat.com>, forwarded by Frederic L W Meunier) -TD +* correct a bug in HTAnchor_findChildAndLink() introduced in dev.13 handling + USEMAP, e.g., + http://www.sendas-delivery.com.br/topo_sendas.asp + (reported by Frederic L W Meunier) -LP +* minor fixes for K&R compiler on SunOS: prototype of HTDOS_slashes(), + definition of LYLeakSequence -TD + +2003-01-22 (2.8.5dev.13) +* change new memory-allocation in HTString.c and GridText.c to provide pointers + to data aligned to the host's pointer-size, to work on Tru64 where this + happens to be 8 -TD +* resync ".po" files using msgmerge -TD +* remove quadratic complexity from insert_blanks_in_line() usage with large + tables (Stbl). It occasionally cleans up split_line() a bit. CPU load + anomaly reported by BL -LP +* ALLOC_IN_POOL, POOL_NEW, POOL_FREE macros now became functions, suggested by + BL -LP +* define HAVE_ALLOCA for djgpp fixed-configuration -LP +* add command-line option (--nested-tables) to help in testing this feature -TD +* add command-line option (--find-leaks) to disable the memory leak checking + code, allowing one to build an executable which is useful for both normal + and leak-checking (request by Frederic L W Meunier) -TD +* improve performance of HTParse() for very long strings -LP +* fix memory leak in HTFileSaveStream() -LP +* further optimization in HTAnchor.c - save 3 mallocs per HTChildAnchor by + using new HTList_ functions: HTList_linkObject(), HTList_unlinkObject(), + HTList_unlinkLastObject() which utilize external memory, no malloc/free -LP +* modify "make install-help" rule to avoid warning message about keystrokes + subdirectory (report by Martin Mokrejs) -TD +* optimize !HText_TrueLineSize() expressions as HText_TrueEmptyLine() -LP +* optimize is_url(), rewriting it as case-statements to avoid unnecesary + comparisons, make similar optimization in HTParse() -LP, TD +* corrected logic in is_url() where the "://" was not necessarily checked in + the proper position - TD +* for color-style configuration, add a link to lynx.lss from LYNXCFG: -TD +* simplify setup of internal pages with new function InternalPageFP() -TD +* modify parsing of refresh-URL to strip single quotes, to handle + http://tovar.yandex.ru/ + (reported by LP) -TD +* investigated conflict between NSL_FORK and _WINDOWS_NSL ifdef's for Cygwin + configuration in HTTCP.c; left them as-is since #undef'ing _WINDOWS_NSL in + that case causes problems connecting (feedback by Frederic L W Meunier) -TD +* corrected an off-by-one error in computing the location of the bottom line + for mouse input in PDCurses configuration which made that area ignore mouse + clicks. Merged almost-identical cases for mouse-input for NT/Windows95 -TD +* ifdef'd out (USE_CURSES_PAIR_0) the ASSUMED_COLORS logic for the PDCurses + configuration (reports by DK) -TD +* LYSetHiText(), LYAddHiText(), and LYClearHiText() use HText memory pool -TD +* add atexit-cleanup for history stack, removed incomplete code for this from + cleanup(), since that gave misleading results in leak-checking. Fix a few + small leaks as well (reported by LP) -TD +* modify cleanup() to leave the trace file open if checking for leaks -TD +* add some simple statistics to summary in Lynx.leaks report -TD +* add malloc-sequence number to Lynx.leaks report, to help with debugging -TD +* fix memory leaks in nested-tables logic, which did not free subtable data + if there was an enclosing table (reports by Frederic L W Meunier) -TD +* adapted change by LP to allocate HTLine's from memory pool -TD +* move fallback definition of MAXHOSTNAMELEN from HTFTP.c to www_tcp.h so it + can be used in HTTCP.c (Debian #140682) -TD +* improved configure script checks for ncurses -TD +* correct description of XLOADIMAGE_COMMAND in lynx.cfg (report by Mats + Peterson <mats@alicja.dyns.cx>) -TD +* fix configure script so it does not compute basename of system mailer when + none was found. Add check in LYMail.c, LYPrint.c to avoid using system + mailer when it is not configured (report by Frederic L W Meunier) -TD +* update several po files (da.po, de.po, et.po, hu.po, sv.po, tr.po) from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ +* correct logic in recent HTAnchor_findChildAndLink() changes around internal + links and fragments; avoid unneeded reallocations by using HTParseAnchor() + instead of HTParse() -LP +* trim some fat from HTML_start_element(), case HTML_A -LP +* add optimized string functions StrAllocCopy_extra() [and paired FREE_extra()] + which store string size and never shrink; for heavily reallocated strings in + temp objects. Used in SGML.c for value[] fields currently -LP +* in HTUtils.h, FREE macro was unsafe if happen before 'else' -LP +* modify HTParse() to escape any spaces which remain from LYLegitimizeHREF() or + other sources (report by Peter Rasmussen <plr@udgaard.com>) -TD + +2002-12-18 (2.8.5dev.12) +* remove a check in LYMain.c for Cygwin's console, which does not work with + screen (report by Frederic L W Meunier) -TD +* undo line/pool logic, fixing a memory leak -LP +* changes proposed by Bela Lubkin, to optimize ALLOC_IN_POOL macro + substitution, pack bitfields in HTStyleChanges to make them more compact on + some systems -LP +* correct logic of do_check_recall(), broken in dev.9 cleanup of pathname + constants with LYIsDosDrive() (report by Frederic L W Meunier) -TD +* update makelynx.bat, built with slang configuration -TD +* turn on file-upload in makefile.msc -TD + +2002-12-01 (2.8.5dev.11) +* fix a typo in changelog date -TD +* add project version & date to lynx.cfg -TD +* document xxx_PATH variables in lynx.cfg -TD + +2002-11-11 (2.8.5dev.10) +* modify file-upload to provide content-type based on file-suffix. This is + needed to validate local html files with current the W3C validation service + webpage -TD +* modify file-upload to warn but permit the filename or file contents to be + missing (report by Clemens Fisher) -TD +* workaround for compiler bug in fix_httplike_urls() -BL +* change enumShowColor so SHOW_COLOR_NEVER is zero as in 2.8.3, which makes the + result from LYChoosePopup() match the enum values. This fixes a bug which + would make the slang configuration toggle back to color when accepting an + options screen (report by Sean McGuire <smcguire@soc.lib.md.us> and Carlton + Anderson) -TD +* add a null-pointer check in content_is_compressed() -TD +* in partial mode, load document with #fragment on the fly. Long awaited fix. + LYMainLoop_pageDisplay() now returns BOOL -LP +* calculate WWW_SOURCE once, it is now a constant, not a define -LP +* use malloc instead of calloc in several places, particularly in HTList + operations (each field initialized explicitely) -LP +* fix a few typos in samples/mailcap (Carlton Anderson + <canderson1776@yahoo.com>). +* ifdef'd default_fg and default_bg for PDCURSES to be 15, since that agrees + with lynx's use of color names, and works around a bug exposed by the + ASSUMED_COLORS change from 2.8.5dev.9 (report by DK) -TD +* simplify pretty-source code in SGML.c using PUTS(), put_pretty_entity() and + put_pretty_number() -TD +* refine S_attr test in SGML.c to make pretty-source code handle the case where + a blank precedes the '='. The misplaced markers made lynx omit newlines from + the pretty-source view (report by LP) -TD +* rewrote HTStat() to ensure that it does stat() for files on Windows -TD +* HTTCP.c patch to make DJGPP/Watt-32 non-blocking connect in HTDoConnect(). + This allows pressing 'z' to abort connections. Removed extra _HTProgress() + for INET6; it overwrote previous progress message -GV, DK +* in SGML.c, element stack now use a pool of 10 elements to avoid most of + malloc/free calls -LP +* in HTParse(), use single alloca instead of three malloc/free pairs -LP +* in HTParse.c, avoid most strcasecomp calls in scan() - LP +* modify GridText.c to store lines, anchors, and forms in the same HText memory + pool as styles. This will optimize memory allocation/deallocation by 8Kb + units. The down side: lines in TRST mode will be stored twice. Some + structs are made a bit more compact -LP +* add DJGPP to SINGLE_USER_UNIX special cases -DK +* modify configure script to not strip the -g option from $CFLAGS if it was + present in the user's environment rather than autoconf adding it (report by + DK) -TD +* add --with-curses-dir configure script option -TD +* in SGMLFindTag, we translate string uppercase in-place and launch case + insensitive search, add SGMLFindUprTag() to cover the cases where the string + is readonly - LP, TD +* DJGPP build restored. MV_PATH was undefined long ago by mistake. Fix recent + DJGPP changes in HTTCP.c: move _resolve_hook few lines below, it will not + compile otherwise. Remove minor warnings -LP +* optimize parsing html with many relative links, href="#fragment" - + HTAnchor_findChildAndLink() and HTML_start_element(), case HTML_A: now avoid + significant overhead when link == HTInternalLink (e.g., resolving against + base, lots of reallocations, parent lookup, etc., all are useless). Two + functions affected. [HTAnchor.c, HTML.c]. The code works both with and + without DONT_TRACK_INTERNAL_LINKS symbol -LP +* optimize parsing of large html files - with thousands of anchors - LP + + remove quadratic complexity from split_line() usage [GridText.c]. + Because of some work with anchors on the last(=split) line, + the anchors list was traversed from the beginning for each output line. + Now we store last_anchor_before_split explicitly. + [According to gprof, split_line() weight decreased from 33% down to 4%, + with the following test file: 13,000 output lines, 3,100 anchors, ~800Kb] + + remove quadratic complexity from HTAnchor_findChild() usage [HTAnchor.c]. + HTParentAnchor::children list was traversed zillion times, now we + split it into a tree (named anchors <a name=...>, fast search required) + and a list (just a storage for the rest anchors, no search required). + [The same file, gprof shows HTAnchor_findChild() weight decreased + from 11% down to 0.1%] + + remove quadratic complexity when generating a 'l'ist page, + now traverse anchors list only once [LYList.c, GridText.c]. +* add a search method to HTBTree implementation - LP +* amend check for refresh-URL to avoid adding a link if the retrieved page is + compressed, since the link would be added to the compressed file, corrupting + it (reported by Michel SUCH and Karl-Heinz Weirich <weirich@de.ibm.com>) -TD +* strip parameters from refresh-URL -TD +* correct misspelled $LYNX_LOCALEDIR variable in LYMain.c (reported by Michel + Such) -TD +* change the install procedure for lynx.cfg to attempt to update the file with + the user's customizations if any, and to save the old configuration + information in a series, e.g., lynx.cfg-1, lynx.cfg-2, etc. -TD +* re-fix the problem with config.cache not being removed at the beginning of + the configure script - see 2.8.5dev.3 (report by Clemens Fisher) -TD + +2002-10-06 (2.8.5dev.9) +* improve ETA data shown in experimental read-progress (adapted from Debian + #117476) -TD +* modify -dump, -source and related options which set dump mode to also set + -nopause (report by Benjamin Pflugmann <benjamin-mutt@pflugmann.de>) -TD +* correct indexing in LYStyle.c our_pairs[] array, which did not allow for use + of default colors -TD +* make ASSUMED_COLORS in lynx.cfg apply to normal curses implementations which + do not implement assume_default_colors() (prompted by discussion with + Bela Lubkin) -TD +* make permanent an ifdef from SH which provides for truncating a too-long + title with an ellipsis -HN +* gettext'ify a few overlooked strings in LYOptions.c -HN +* modify LYGetHostByName() for MSDOS/DJGPP/Watt-32 to enable terminating it by + pressing 'z' (patch by Gisle Vanem) +* update configure script macros for NLS to gettext 0.10.40 -TD +* add PRCS version/date to lynx.cfg -TD +* setup ifdef's for Unix-specific permissions checks to exclude single-user + systems such as OS/2 EMX, Cygwin and BeOS, which otherwise act like Unix + since we can run the configure script on those platforms -TD +* re-order some tests in the configure script to allow pdcurses' X11 port to + be recognized as supporting color and line-drawing characters -TD +* work around a Cygwin bug which causes subprocesses of a full-screen program + to dump core (perhaps reported by Frederic L W Meunier, but observed in + running lynx in a bash shell spawned from my directory editor) -TD +* fix an inequality in HTDirTitles() which made the "Up to" link omitted for + the first level of an ftp listing, making it awkward to visit the parent + directory if one first visited a subdirectory -TD +* change HTURLPath_toFile() to keep local URLs distinct from remote ones, so + win32 version will not display misleading drive letter on ftp listings -TD +* rewrote Home_Dir(), adding checks for "My Documents" on Windows 2000, and + ensuring that the resulting directory actually exists -TD +* change ifdef's in LYwaddnstr() to use waddstr() consistently, since + wide-character curses implementation treat the string in the given locale + anyway, just like the waddnwstr() call -TD +* reduce clutter with new macro LYIsDosDrive() -TD +* add ifdef's for OS/2 EMX to existing DOSPATH code which checks for drive + letter (Michel Such) +* modify definitions of IsOurFile() and OpenHiddenFile() to allow trace file + to be written when one already exists -TD +* use new macros LYSameFilename(), LYSameHostname(), LYIsNullDevice() to hide + platform-specific filename comparisons -TD +* change sed delimiter in configure script to use '%' consistently, to avoid + using '@', which may appear in AFS pathnames (report by Martin Mokrejs) -TD +* narrowed accommodation for paths with embedded blanks in LYLegitimizeHREF() + to exclude those containing newlines or tabs (report by Leslie Fairall for + http://www.realtor.com) -TD +* modified VMS build scripts to allow linking with OpenSSL, tested with + OpenSSL-0.9.6g using UCX network libraries. It is reported (by + <grant@rigel.cc.wmich.edu>) that one can modify the scripts to also build + with Multinet's UCX emulation, but the machine I used for testing has only + UCX (comp.os.vms discussion with Christoph Gartmann + <gartmann@immunbio.mpg.de>) -TD +* modify UCSetBoxChars() to assume wide-character curses implementations can + draw boxes -TD +* reduce the number of strncasecomp() calls with associated constants by making + macros for the lynx internal URL types, e.g., isLYNXCGI() -TD +* modify logic that handles goto-fragment (e.g., G #foo) to update the URL + shown in the info page (Debian #113734) -TD +* reduce clutter using new macros findPoundSelector(), + restorePoundSelector() and function trimPoundSelector() -TD +* reduce clutter using functions for updating the strings in DocInfo, mainly in + LYMainLoop.c -TD +* renamed 'document' to 'DocInfo' -TD +* reduce clutter by using NonNull() macro consistently -TD +* define HistInfo struct in terms of document, to make it clearer -TD +* add verification of SSL server certificates. It requires a "cert.pem" file + or cert files in the "certs" subdirectory in your OpenSSL directory for CA + verification. The mod_ssl distribution includes a "ca-bundle.crt" that has a + good set of root certifying authority certs and works well for "cert.pem". + Adding custom CA root certs can be done by either putting them in the server + "cert.pem", or (for a normal user) copying "cert.pem", adding the cert, and + setting the SSL_CERT_FILE environment variable before running Lynx (Chris + Adams <cmadams@hiwaay.net>). +* add REPLAYSECS config value to allow slowing command scripts down, for + testing -TD +* implement a "set" command for command-scripts, allowing the script writer + to manipulate the sleep-times for messages (prompted by discussion with + Ville Herva) -TD +* implement an "exit" command for command-scripts (Ville Herva) +* modify logic for -cmd_script to stop reading from the command script when + an end-of-file is detected (patch by Ville Herva <vherva@niksula.hut.fi>). +* fill in a few descriptions of restrictions for the help message, as well + as showing the on/off state of the "goto_xxx" restrictions -TD +* correct inverted logic of restrictions table which made "-restrict=default" + provide incorrect values for several items. This was broken in 2.8.4dev.19 + (reported by Jeff Long <long@ukans.edu> and RobertM <robm@bob.bofh.org>) -TD +* add environment variable LYNX_TRACE_FILE which, if given, overrides the + compiled-in value of Lynx.trace (or LY-TRACE.LOG). This specifies the + name of the trace file relative to the home directory -TD +* treat empty string for most environment variables, e.g., those specifying + a pathname, as null -TD +* add environment variable LYNX_LOCALEDIR to simplify configuration on OS/2 + EMX (from discussion with Michel Such) -TD +* add alias for charsets "ISO-8859-8-I" and "ISO-8859-8-E" to "iso-8859-8" + (Debian #152441, request by Atsuhito Kohda) -TD +* modify handling of HTML_SUP to always append '^'. It was checking if the + preceding character was a valid hexadecimal code (reported by HN and Steve + White <swhite@zipcon.net>) -TD +* correct check for calling endwin() to allow for curses implementations + without newterm (report/patch by Brett Lymn). +* add koi8-r.html as a test for non-ANSI 8-bit displays -TD +* construct "Accept-Encoding" gzip/compress parameters based on whether lynx is + built with zlib and/or gzip/compress paths are defined. The latter is + assumed on Unix (by the configure script), though non-Unix environments may + lack those utilities (report by Roy Langford <rlnopicnodl@geeklife.com>, + analysis by Frederic L W Meunier) -TD +* modify mouse support in slang configuration (Eduardo Chappa): + + Middle button takes you to the bookmarks file. + + Clicking on empty parts of the screen makes the screen scroll. This is + not 100% true, here are the caveats related to this: + + When you click in the first line of the screen pine goes back one screen, + the same happens when you click in the last line (this is normal Lynx + behavior, I did nothing in this respect). With this patch, intermediate + scrolling is enabled, which means that left clicking in different (empty + parts) of the screen may move you half a screen or two lines. The idea + is that close to the top you scroll more, close to the center you scroll + less and you scroll in the direction up or down according to which half + of the screen you click on. + + If you click on an empty part of the screen, Lynx changed its behavior + from doing nothing to moving the active link to the closest link near the + click. This is not disabled by this patch, instead, if a closest link is + not found, the screen will scroll, according to the position of the link. +* improve check in LYgetEnum() for ambiguous/abbreviated names in the lynx.cfg + file, e.g., to match the string "visited_links=first" without confusing it + with "visited_links=first_reversed" (report by vortex5 <vortex5@24i.net>, + analysis by TH) -TD +* use StrAllocCopy() rather than strdup() in parse_style() (LYStyle.c) to + avoid false report from leak-checking (from report by Martin Mokrejs) -TD +* share SSL handle between HTTP.c and HTAAUtil.c so that call of + HTAA_shouldRetryWithAuth() from HTLoadHTTP() updates the handle used in that + function. This makes lynx able to get the user/password prompt for + https://enter.nifty.com/iw/ -TH +* fix a highlighting problem in view-source mode, which left the final + character of the target unhighlighted -TH +* modify LYStringToKeycode(), which is used by -cmd_script option to decode + characters, to handle hexadecimal codes written with -cmd_log option from + dev.8 changes (reported by Gleb V Kotelnitskyy <kiz@pth.ntu-kpi.kiev.ua>) -TD +* modify ifdef's in LYCurses.h to implement underline-links for slang + configuration (report by TH) -TD +* modify checks with WEXITSTATUS() and similar "result" macros to ensure that + they consistently use corresponding "test" macros such as WIFEXITED() -TD +* add a null-pointer check in GridText.c to cover a problem with + http://209.1.58.86/store/ + (reported by Walter Ian Kaye) -TD +* add some more CTRACE's to LYCookie.c to help diagnose LV problem report -TD +* updated nl.po (patch by Pieter-Paul Spiertz <pspiertz@sci.kun.nl>) -JES +* new (cs.po, hu.po, tr.po) and updated (da.po, et.po, it.po, ru.po, sv.po) po + files from http://www.iro.umontreal.ca/contrib/po/maint/lynx/, used msgmerge + to align with 2.8.4's lynx.pot and corrected some minor issues highlighted by + check_po. Checking for a newer version of check_po (to handle patterns + such as "%1$s") found none, but noticed a comment in gettext mailing list + stating that msgfmt does checking. Comparing with "msgfmt -c -v", found + that it does useful checks, but misses about 1/4 of what check_po finds. + Will use both -TD +* escape blanks and other non-7bit graphic characters in startfile and similar + addresses to guard against interpreting the address as multiple lines + during a GET, etc (report by Ulf Harnhammar <ulfh@Update.UU.SE>) -TD + +2002-05-28 (2.8.5dev.8) +* updated makelynx.bat (Victor Schneider). +* recognize charset value in meta description even if content-type is not + given, in LYHandleMETA() -VH +* remove ifdef that disabled home/end keys with Cygwin configuration -DK +* fix a problem when whereis target string, which includes Japanese and is top + of the second line in the link string, is in the current link (patch by + Hataguchi Takeshi). +* fix a problem with highlighting Japanese string (patch by Hataguchi Takeshi). +* modify LYDownload() to ensure that local addresses under DJGPP using the + special form of path beginning "/dev/" are passed to external programs + without stripping the initial slash from the path. This special form of path + will be understood only by other DJGPP programs. Addresses of the form + "/dev/x/" are equivalent to the DOS path "x:\". Addresses of the form + "/dev/env/VARI" are equivalent to the environment variable "VARI" -DK +* modify remove_bookmark_link() to assume that OS/2 EMX does not allow rename + of a file overwriting an existing one -IZ +* recognize local .php files as HTML files (patch by Karl Eichwalder + <ke@suse.de>). +* change LYCurses.c to not redefine gettext(), and use ScreenClear() instead + of clrscr() for DJGPP -DK +* the DJGPP port of Lynx once used to compile with DJ Delorie's tcp/ip library. + It is no longer the case; Watt-32 is required. Changed to assume WATT32 is + defined when DJGPP (or __DJGPP__) is defined (patch by Gisle Vanem). +* change LYKeycodeToString() to provide a default translation for characters + which are not key-symbols, etc., so they may be used in command scripts + with the -cmd_script option (reported by Christoph Fabianek) -TD +* new po files (ca.po, et.po, it.po, zh_TW.po) and updated de.po from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/, used msgmerge to align + with 2.8.4's lynx.pot and corrected some minor issues highlighted by + check_po script by Stefan Hundhammer <sh@suse.de> -TD +* some cleanup/restructuring of HText_SubmitForm(), incomplete - toward + implementing correct MIME boundary -TD +* revalidate user's guide and related files using W3C validator via file-upload + facility -TD +* simplify some loops in GridText.c using new function next_anchor() -TD +* quote field-names used when submitting form-data as suggested in RFC 2068 + (report by Lieven Tomme <lieven@itopia.com>) -TD +* remove configure-check for mkstemp(), which is redundant given that lynx + writes temporary files in a directory which is not readable by other users. + On more than one system (e.g., Solaris), mkstemp() is not usable in the + manner we attempted, since it does not necessarily choose a distinct name if + the previously-chosen filename no longer exists (report/analysis by PG) -TD +* correct a typo in configure macro CF_HEADER_PATH which told the script to + look for header files in the user's $HOME/lib rather than $HOME/include + directory -TD +* update config.guess, config.sub -TD +* add check for HTTP headers using Netscape extension "Refresh", and if found, + add a corresponding refresh-URL at the beginning of the document. Fixes + Debian #126723 -TD +* strip username from URLs used in an HTTP GET, and warn about this condition. + The example given was + "http://www.microsoft.com&item%3dq209354@212.254.206.213/1338825GHU_98.asp" + the text of which could mislead a user into believe it was an official site + (reported by Frederic L W Meunier) -TD +* add limit checks in HText_trimHightext() to fix an infinite loop visiting + this site (which contains a form with only hidden input fields): + 1- http://www.ibazar.com.br/ + 2- Click "Cadastro" and accept all cookies + 3- Click "[accepte.gif]" + (reported by Frederic L W Meunier) -TD + +2002-01-06 (2.8.5dev.7) +* ifdef'd new directory-sorting code to compile when configure --disable-dired + is specified -TD +* add (commented-out) definitions for building with OpenSSL in makefile.msc, + tested with OpenSSL 0.9.6c and Visual C++ 5.0 -TD +* correct call to HTGetLinkInfo() in follow_link_number() from 2.8.5dev.6 + changes to fix uninitialized pointer (report by PW) -TD + +2002-01-01 (2.8.5dev.6) +* add configure options to link with dbmalloc and dmalloc debugging libraries + which offer different features than --enable-find-leaks -TD +* restructured LYhighlight() and logic related to highlighted text using new + functions LYSetHilite(), LYAddHilite(), LYGetHiliteStr() and LYGetHilitePos() + to allow more than two lines to be highlighted in links (Debian #114062) -TD +* simplified some of LYCookie.c with new functions find_domain_entry(), + alloc_attr_value() and parse_attribute() -TD +* modify expansion of %s for WIN_EX EXTERN commands so that short names (used + when the command begins with an uppercase character) are not quoted, and use + backslashes. The normal %s expansion uses forward slashes and may quote the + name if it contains a blank -TD +* modify local directory sort by type to ignore leading '.' characters when + looking for filetype -TD +* modify logic of HTDirEntry() to avoid storing a trailing backslash (DOS-style + path separator) in the anchor URL for local directory entries (from report + by Hataguchi Takeshi) -TD +* amend change in 2.8.5dev.2 to HTLoadHTTP() to omit "Accept-Encoding: gzip" + ensuring that also -source or -dump option is used. Retesting excite.com + shows that it no longer matters, since the page was replaced by a short + javascript which is not sent compressed (request by Hataguchi Takeshi) -TD +* correct a missing definition for COMPRESS_PROG in the configure script + introduced by 2.8.5dev.5 changes (also noted by Stepan Kasal) -TD +* several fixes from Stepan Kasal <kasal@math.cas.cz>: + + remove code in LYCurses.c which checks ttytype variable for "dec-vt" + prefix. EWAN, a decent telnet program for M$ Windows, sets $TERM to + dec-vt100. This is similar to vt102 but it is not appropriate to use vt100 + settings for it. ncurses has in its terminfo database an entry for + "dec-vt100|EWAN telnet's terminal" + The terminfo file is successfully opened when ncurses is initialised and + ttytype is set to the name mentioned above. After stripping "dec-" from + it, lynx ends up searching for + "/usr/share/terminfo/v/vt100|EWAN telnet's terminal" + which cannot cannot be found and lynx crashes. + + compress installed html files with the -9 option of gzip. + + improved install-help makefile rule +* fix some longstanding problems with the DOS port -DK + + fix inability to break out of a hung nameserver lookup or hung connection + attempt without aborting lynx entirely. Using the WATT-32 signal handler + for this seems to work well. Change the default compile option for DJGPP + to -DIGNORE_CTRL_C, causing lynx to ignore SIGINT, so CTRL-BREAK is + completely disabled. With this patch CTRL-C stops current actions without + quitting lynx. To have a way to abort lynx when necessary, bind ALT-X to + SIGQUIT. (The unix default of CTRL-\ is not bound to the same scan code on + different international keyboards, while ALT-X is familiar to DOS users for + existing programs). Because the WATT-32 signal handler was not available + to external programs, a patch to WATT-32 is necessary for the new lynx code + to work. The patch for WATT-32 is shown in the INSTALLATION documentation. + + added some fixes for "/" vs "\" handling in pathnames so that non-DJGPP + programs will see standard DOS pathnames when called. The mailer code was + ignoring the environment variable SHELL when calling the mailer, leading to + a lack of environment space for the mailer to work -DK + + add calls to _eth_release() and _eth_init(), which Gisle Vanem says should + not be necessary in this part of lynx. But this seems to fix get + intermittent hung nameserver lookup sessions after using CTRL-C. +* simplified a loop in HTConfirmCookie() and added CTRACE's to demonstrate that + this is working properly (addresses Debian #119751) -TD +* add some CTRACE's to curses screen initialization and resizing to provide + better diagnosis of problem reported by David Balazic + <david.balazic@uni-mb.si> on HP-UX 11.00) -PG +* modify configure.in and aclocal.m4 to work with autoconf 2.52 patched with + ftp://ftp.invisible-island.net/autoconf/autoconf-2.52-20011227.patch.gz + (TD). +* modify configure macros CF_CURSES_CPPFLAGS and CF_NCURSES_CPPFLAGS to ensure + that the (n)curses.h header file is actually found, in case someone tries to + build lynx without having installed the development files (based on anonymous + posting on comp.os.linux.networking newsgroup) -TD +* update config.guess, config.sub from + http://subversions.gnu.org/cgi-bin/viewcvs/config/config/ + +2001-11-18 (2.8.5dev.5) +* modify prompt for file- or directory-name in rename/move operation to provide + a default based on the selected file/directory -TD +* add -DOK_OVERRIDE to makefile.msc, to allow rename/move of files in the local + directory editor -TD +* correct delay time for win32's HTAlert, etc., which was in milliseconds + rather than seconds -TD +* modify check for mbstate_t in CF_WIDEC_CURSES to define HAVE_MBSTATE_T if + that type is found, use this ifdef in LYwaddnstr() to make that compile + properly on Solaris 2.6 (report by PG) -TD +* disable SUPPORT_MULTIBYTE_EDIT ifdef for EBCDIC (i.e., NOT_ASCII) -PG +* collect names of lynx.cfg and .lynxrc variables into LYrcFile.h, to simplify + checks for matching spelling, e.g., against the values used in + LYOptions.c -TD +* modify dired support to allow sorting by a variety of things in addition to + the existing sort into files versus directories. This is saved in ~/lynxrc + as dir_sort_order -TD +* if --disable-full-paths is specified, do not use full path for SYSTEM_MAIL + (report by IZ) -TD +* modify configure script to reduce the number of xxx_PATH definitions compiled + into the code if --disable-dired was specified. Change configure script so + that dired support for chmod, copy, mkdir, and touch to use built-in + functions rather than external programs -TD +* modify configure script tests for program pathnames so that if full pathnames + are specified and the program is not found, no corresponding xxx_PATH symbol + is defined -TD +* eliminate duplicate LYGetEnum() in LYrcFile.c, using the variant from + LYReadCFG.c which allows abbreviations -TD +* change handling of tagsoup option in LYrcFile.c to invoke the corresponding + HTSwitchDTD() function, so saved tagsoup initializes properly from ~/.lynxrc + (report by Michel Such) -TD +* modify some tag-names in LYOptions.c to correspond to the names used in + lynx.cfg to make the corresponding names work properly when used in ~/.lynxrc + via ENABLE_LYNXRC settings (report by Michel Such) -TD + old new + ---------------------------- + assume_char_set -> assume_charset + show_scrollbar -> scrollbar + DTD_recovery -> tagsoup + show_rate -> show_kb_rate + user_agent -> useragent + ---------------------------- +* correct length passed by LYpaddstr() to LYwaddnstr(), which could be larger + than allowed -TD + +2001-11-08 (2.8.5dev.4) +* if file-upload code is configured, suppress message that indicates it is not + implemented, i.e., "[FILE Input] (not implemented)" -TD +* modify file-upload submission to send plain text if the file is entirely + printable text. Mime encoding is needed if the file contains nulls, etc., + but reportedly may confuse some hosts -TD +* suppress "charset=" clause on form submission if it is iso-8859-1 -TD +* move case for F_FILE_TYPE in HText_SubmitForm() to obtain original behavior + of fallthrough for F_SUBMIT_TYPE, F_TEXT_SUBMIT_TYPE, F_IMAGE_SUBMIT_TYPE to + translate their character set, etc. (report by KW) -TD +* revert 2.8.4dev.21 change to avoid truncating cookie path in LYSetCookie(). + The server that wouldn't work with the current lynx behavior is + identified as "Oracle_Web_Listener/4.0.8.2.3EnterpriseEdition" -DK +* modify LYLegitimizeHREF() change from 2.8.4dev.21 to eliminate newlines from + the HREF rather than converting them to spaces. This fixes a problem with + www.ebay.com which splits up HREFs with newlines. Changing the newlines to + spaces made the HREF no longer match, e.g., when it was built up from + a CGI script (report by Morten Bo Johansen) -TD +* add two test files for testing UTF-8, based on Markus Kuhn's demos + (quickbrown.html and utf-8-demo.html). These work with ncurses 20011103 + patch, for wide-characters except for combining characters (more work is + needed in ncurses). Tested with XFree86 xterm (patch #163) -TD +* modify select_multi_bookmarks() check for interrupt character to limit it to + "hard" interrupt characters such as ^G. This fixes a case where "z" would + have been treated as an interrupt character in advanced multibookmark mode + (reports by Michael Warner, HN, as well as Debian #111463) -TD +* modify SUPPORT_MULTIBYTE_EDIT logic in LYUpperCase() and LYLowerCase() to + check for a null character following an upper-128 code. This is more likely + to occur in EBCDIC, though the multibyte strings should not have a null at + this position in any case (report by PG) -TD +* for wide-character curses configuration, do not force repainting at the end + of display_page() -TD +* modify configure test for mkstemp() to check if that function returns + distinct values (report by Fr3dY indicates that AmigaOS has a broken version + of mkstemp() which always returns the same value) -TD +* modify LYwaddstr() to use wide-character curses functions to make UTF-8 + output work without relying upon side-effects of narrow-character functions. + Note that this relies on the user having set a UTF-8 locale, e.g., + en_US.UTF-8 -TD +* modify HText_appendCharacter() to not use utfxtra_on_this_line when compiling + with WIDEC_CURSES, since the curses library already does this adjustment -TD +* correct the following names in LYrcFile.c which were added to allow + ENABLE_LYNXRC lines in lynx.cfg to enable them to be saved in ~/.lynxrc + old new where-used + ------------------------------------- + DTD_recovery tagsoup (command-line option and lynx.cfg) + show_rate show_kb_rate (lynx.cfg) + user_agent useragent (command-line option) + ------------------------------------- + (report by Michel Such <msuch@free.fr>) -TD +* modify LYRefreshEdit() to clear field before repainting (patch by Hataguchi + Takeshi) +* for CJK configuration, force clearing/repainting in HTUserMsg() (patch by + Hataguchi Takeshi) +* make HTInfoMsg() sleep condition consistent with other messages by using + LYSleepInfo() -TD +* reduce clutter with new function utf8_length() -TD +* replace !isascii(ch) with new macro is8bits(ch), to reduce clutter, fix some + sign-extensions and make it more portable -TD +* change some of the "#if" statements to "#ifdef", to work around broken + versions (2.96, 3.0.1) of gcc distributed with Mandrake 8.1 (though + reportedly this is due to Redhat): the -C option passes through comments as + usual, but some comments expand on preprocessor lines, which causes the + preprocessor to report an expression error. This prevented "make + install-help" from running, though the -C option is not needed for that. + However, lacking a working -C option makes the C preprocessor useless for + analyzing bugs -TD +* modify configure script to accept --with-screen=ncursesw, to build with the + wide-character version of ncurses -TD +* modify configure script to look for mkdtemp(), to quiet another bogus linker + message -TD + +2001-10-06 (2.8.5dev.3) +* add CF_MKSTEMP configure macro, from vile, to check for a working mkstemp(). + This will quiet some bogus warning messages in recent runtime support, but + (see 2.8.3) does not affect the security of temporary files in lynx -TD +* updated CF_PATH_SYNTAX configure macro, from vile, to handle leading "\\" in + a win32 pathname -TD +* for configurations that provide scrollbar, add a checkbox to the Options menu + to enable or disable it -TD +* modify LYGetHostByName() in HTTCP.c to use the threaded _WINDOWS_NSL code for + all Cygwin machines. The ability to interrupt nameserver lookup has not + worked in Win98 using the Cygwin port, despite defining _WINDOWS_NSL. It + looks like the threaded code was only for WinNT. At least under Cygwin, that + code also seems to work fine under Win98 -DK +* add FIELDS_ARE_NUMBERED as a possible value for DEFAULT_KEYPAD_MODE in + lynx.cfg as well as keypad_mode in .lynxrc -TD +* add NUMBER_FIELDS_ON_LEFT and NUMBER_LINKS_ON_LEFT to lynx.cfg, use these to + control where field- and link-numbering is placed. Caveat: there are some + cases where fields that do popup's are truncated, e.g., in the Options menu, + when right-alignment is used -TD +* support for DJGPP's two forms of file addressing, [a-zA-Z]:[/\\] and + /dev/[a-zA-z]/ -DK +* add samples/lynxdump script, to illustrate how to use lynx -dump with no + link references (prompted by discussion with LV) -TD +* add samples/keepviewer script, to illustrate how to retain a temporary file + for use in an external viewer -TD +* add ifdef's in is_url() to avoid recognizing URLs if they are disabled in the + given configuration, i.e., bibp, finger, ftp, gopher, news (report by + Frederic L W Meunier) -TD +* modify LYrefresh() to take into account whether a popup window exists, so + that a search prompt will not overwrite a popup. This bug was introduced by + the curses pads (reported by Felicia Neff <neff@panix.com> and Fr3dY + <fr3dy@retemail.es>) -TD +* add note in keystroke_help.html about CTRL-V as literal-next (lnext) for + users who are unfamiliar with stty -TD +* add NcFTP-style ftp-URLs which are supported by Netscape and wget (request + by Martin Mokrejs) -TD +* add traces in LYReadCFG.c and LYrcFile.c to report lines which are not found + in the symbol table, to help diagnose when a user adds lynx.cfg information + to .lynxrc -TD +* define additional -trace-mask option, 8=config -TD +* modify LYtouchline() to avoid using wredrawln() for ncurses, since the + LYwin variable may be a pad much wider than the screen, which is not handled + properly (report by Karl Eichwalder <keichwa@gmx.net>) -TD +* correct beginning of configure script, which was supposed to remove + config.cache, but did not, due to a misplaced line when it was added + 1998-06-04 (prompted by a report by Fr3dY <fr3dy@retemail.es> that the + checks for srand/rand did not work) -TD + +2001-08-15 (2.8.5dev.2) +* several small fixes to HTFile.c to make directory listings work properly on + win32, e.g., stat'ing a directory with a trailing slash fails (reported by + Hataguchi Takeshi) -TD +* adjust definitions in LYCurses.h to get rid of slang-ifdef's for getyx() and + wmove() -TD +* change order of srandom/random versus srand48/lrand48 -DK +* patch to get the DJGPP port to use the configure script -DK + It seems to work well in the variations I have tried, including both PDCurses + and SLang. revised INSTALLATION for DOS, giving a URL for my DOS patch to + openssl. I dropped the reference to goto URL of the form + file:///dev/c/path/filename, since this only works in certain parts of lynx + (such as lynx.cfg). I'll try to get this working in the future. In fixing + makefile.in, I patched the sed script for converting the path to docdir. As + far as I can tell, however, from my examination of lynx.cfg, this isn't used + for any platform. Does this part of the sed script do anything? + Things still needing fixing for DOS: + + support for both forms of file addressing, [a-zA-Z]:[/\\] and + /dev/[a-zA-z]/. + + support for gzipped help files. This works with long file names in a DOS + box under Windows, but not in plain DOS, which doesn't allow double + extensions. + + better handling of local files in root directory. "file:///c:/" takes a + long time to work, but "file:///c:/." works fine. I haven't really looked + to see why. + + no ability to break out of hung nameserver lookups or http requests without + closing lynx with SIGINT. This is the biggest complaint I get by email. +* modify ifdef for myGetChar() in LYStrings.c to build with PDCurses 2.3 e.g., + to use a version which is modified for Japanese input (patch by Hataguchi + Takeshi) +* review LYSafeGets() calls, stripping newlines from a few places where they + were overlooked, and simplifying some places where LYSafeGets() would + normally return a buffer ended with a newline (prompted by a report by Brian + S Queen <bqueen@nas.nasa.gov> for LYTraversal.c) -TD +* correct reallocation-size in ProcessMailcapEntry() -TD +* modify HTLoadHTTP() to omit "Accept-Encoding: gzip" if command-line "-base" + option is given. This makes + lynx -base -source excite.com + work as expected. Otherwise, excite.com will transmit the document gzip'd, + and the ensuing logic in HTSaveToFile() would see the mime-type as gzip + rather than text/html, and not prepend the base URL (report by Kai Shih + <kai@mit.edu>) -TD +* work around defect in move_anchors_in_region() and related logic by changing + default for nested-tables to FALSE when Lynx is not configured for + color-style. The problem is that when an anchor is shifted right by + nested-table logic, if it has a <BR> near the beginning of a table cell and + it happens to be split across a line, its size will not be adjusted properly + (report by Hataguchi Takeshi) -TD +* correct logic used for trimming TEXTAREA introduced in 2.8.4pre.3, which did + not trim carriage-return characters if TRIM_INPUT_FIELDS was false. + (report by Hataguchi Takeshi) -TD +* correct a bug in search logic which happens with pages shorter than the + screen, due to improper starting-line value sent to search function. Fixed + by adding checks in www_search_backward() and www_search_foreward(), (report + by -Frederic L W Meunier) -TD + +2001-07-24 (2.8.5dev.1) +* modify GetChar() definition for PDCurses to ignore key-modifiers which are + passed back from getch() as if they were key codes. Those interfere with + shifted commands such as 'Q' -TD +* modify parse_style() function to operate on a copy of its parameter, to avoid + changing it. Otherwise, when parse_style() is executed as a side effect of + start_curses(), its data is modified and not valid on successive calls. + This bug existed prior to 2.8.4dev.17 -TD +* set return value of edit_current_file() to true if the file is edited. This + forces a reload for example if one edits the current html file, and is needed + to make PDCurses repaint the screen as well (report by Victor Schneider, + bug introduced in 2.8.4dev.21) -TD +* add ifdef for wresize() to accommodate FreeBSD 3.x which has resizeterm() but + not wresize(). Also, use a 'long' rather than 'attr_t'. These changes are + needed to build with the 1.8.6ache patches to ncurses (report by Matt + <matt@greenviolet.net>) -TD + +2001-07-17 (2.8.4rel.1) +* remove comment in README.ssl directing people to + http://www.moxienet.com/lynx/, since that page is moot with 2.8.4 -DK +* add an ifdef in CF_CURSES_FUNCS configure macro to avoid confusing ncurses' + term.h with other versions -TD +* update URL for zlib -Frederic L W Meunier + +2001-07-14 (2.8.4pre.5) +* document CHARSETS_DIRECTORY and CHARSET_SWITCH_RULES in lynx.cfg -IZ +* add a fallback in _Switch_Display_Charset() if no CHARSETS_DIRECTORY was + specified -IZ +* ensure that config variable names in LYReadCFG.c are in alphabetic order, + though only the first character matters (report by IZ) -TD +* updated notes on DOS in INSTALLATION -DK +* modify ifdef in HTTP.c to build with configure --with-ssl --disable-news + (report by Frederic L W Meunier) -TD + +2001-07-10 (2.8.4pre.4) +* correct red/blue color swapping for PDCurses when built on Unix, which uses + X11 -TD +* correct order of checks for wrapping in www_search_forward() and + www_search_backward(), which would allow an infinite loop if there were no + anchors on the current page (report by Frederic L W Meunier) -TD +* add a missing chunk to reverted change of SGML_character() -NSH + <nsh@horae.dti.ne.jp> + +2001-07-07 (2.8.4pre.3) +* review/add descriptions of new command-line options in lynx.man, lynx.hlp and + Lynx_users_guide.html -TD +* update da.po, ja.po, ru.po, sv.po from + http://www.iro.umontreal.ca/contrib/po/maint/lynx/ + (report by JES) -TD +* add command-line option -curses-pads which can be used to disable the + left/right scrolling logic. This is used for testing, e.g., the repaint + bug reported below -TD +* remove logic in lynx_force_repaint() which reset the window background, since + it does not work with the logic used to implement left/right scrolling. + Retested older versions of ncurses and did not find a case where this was + needed after all (report by IZ) -TD +* revert dev.21 change to SGML_character() S_equals case, which has undesirable + side effects regarding spacing around '=' (report by + <nsh@horae.dti.ne.jp>) -TD +* define additional -trace-mask option, 1=SGML -TD +* add -trim_input_fields command-line option and corresponding + TRIM_INPUT_FIELDS to lynx.cfg to suppress trimming of TEXT and TEXTAREA + fields in forms. This does not retain trailing blank lines in a TEXTAREA; + more work would be needed to do that (reported by VH, most browsers appear to + retain trailing blanks) -TD +* modify parsing of "<script>...</script>" to allow "<!-- ... -->" comments + in SGML_character(). Though the HTML 4.0 spec is fairly clear, other + browsers (and some webpages) assume that "</" does not have to be escaped + when it appears in a script which is commented to avoid confusion with older + browsers. This change doesn't ensure that the comment is at the beginning + of a line, since that's awkward to do with SGML_character(), and also leaves + the script in a comment which works for lynx since lynx does not interpret + it anyway -TD +* remove redundant enum identifiers in typedefs -TD +* modify parse_attributes() in LYStyle.c to allow video attributes such as bold + and reverse to be combined with colors, used this to debug problem with + <script> and comment -TD +* improve logic for nested-tables to handle cases such as www.tin.org -IZ + TRST ignores the horizontal alignment *inside* a multi-line cell of a table. + This limitation, in conjunction with the nested-tables modifications does not + work well when text with a horizontal alignment (e.g., <ul>) is put in a + table cell. This patch introduces a *limited* logic to take this info into + account. It should work OK as far as the last non-empty line of the cell is + ended by a "line-end" command, not by a </td> (this is often the case with + contents using horizontal formatting). +* updated URLs for ncurses (report by DK) -TD +* updated samples/bright-blue.lss -IZ +* make definition of $(SHELL) in makefile.in's consistent, in terms of + CONFIG_SHELL, since the configure script no longer uses 'include', and + this creates some problem with nonstandard shells (report by IZ) -TD +* update/extend lists in lynx_help_main.html -Frederic L W Meunier +* add note about lynx.cfg mouse and color configuration to user's guide -PW +* document -cmd_log and -cmd_script options in user's guide (Michael Warner). + +2001-06-10 (2.8.4pre.2) +* corrected order of parameters of is_prefix() function in the + scan_cookie_sublist() function, broken in dev.21 changes (report by Ken Scott + <admin@shellworld.net>) -TD +* add a fallback definition for SA_LEN(), to build with glibc 2.2 (report by + Mark Sutton <mes@lazo.ca>, from + http://cvs.pld.org.pl/SOURCES/lynx-SA_LEN.patch?rev=1.1) -Arkadiusz + Miskiewicz +* modify ifdef in HTCheckForInterrupt() to build with DJGPP -DK +* remove include for <pdcurses.h>, use <curses.h> which is the default for + PDCurses - DK +* reviewed/reverted some changes from dev.20 which changed explicit "r", "w", + and "a+" fopen modes to TXT_R, TXT_W and TXT_A, where they relied on the + default mode set via SetDefaultMode(). With DJGPP, files containing special + graphics such as README's might not otherwise display, for example (report by + DK) -TD + +2001-06-03 (2.8.4pre.1) +This version has been test-built on Linux (BSD curses, ncurses, +slang), Tru64 5.1 (cc, curses/ncurses/slang), OpenVMS, OS/2 EMX, win32 +(both Visual C++ 4.1 and 5.0 as well as Borland C++), AIX 4, HPUX 11, +Solaris 8. Recent builds include SunOS 4.1.4 (cc and gcc, +curses/ncurses/slang), Solaris 2.5.1 (cc and gcc, +curses/ncurses/slang) and IRIX 6.5 (cc and gcc, curses/ncurses). Less +recently, FreeBSD 4.1, NetBSD 1.5 and OpenBSD 2.8 (curses/ncurses). + +2001-06-02 (2.8.4dev.21) +* regenerated lynx.pot and resync'd the .po files against it with msgmerge, + formatted to 132 columns to minimize line-breaks, for ease of comparison -TD +* add a few more #undef's to work with glibc 2.1.3 -TD +* include <signal.h> before <curses.h> to work around bug in glibc 2.1.3, which + apparently was not used to build a system before release. Note that the + preferred solution is to patch /usr/include/sys/ucontext.h to avoid defining + ERR, which is defined by all versions of curses.h (report by Karl Eichwalder + <ke@suse.de>) -TD +* change lynx.cfg entry for COLOR #6 to brightred/black, which is what + Slackware uses, to make links more visible -TD +* remove several chunks of dead (#if 0) or commented-out code, especially in + TRSTable.c, except a few used for debugging -TD +* add checks for potential buffer overflow in increment_tagged_htline() -TD +* consolidate scattered calls to editor with function edit_temporary_file(), + which fixes terminal modes when editing TEXTAREA -TD +* modify LYisNonAlnumKeyname(), etc., using new functions LYindex2MBM() and + LBMBM2index() so that it should work with EBCDIC, as well as similar case of + translation in LYBookmarks.c which assume that there are no gaps in the + coding for the alphabet -TD +* workaround in lynx_nl2crlf() for ncurses, which did not refrain from using + cursor-down if it was set to a newline when nonl() was specified -TD +* replace permissions[] array in LYLocal.c because Cygwin (mis)implements the + S_xxx values as a function -TD +* add ENABLE_LYNXRC setting to lynx.cfg, which allows one to modify the list + of values which are visible on the O'ptions form which can be saved to the + .lynxrc file -TD +* check the width of entries displayed by LYOptions.c non-forms + boolean_choice(), to pad shorter ones with spaces -TD +* change type of LYMultiBookmarks to integer, combine with LYMBMAdvanced, to + use enumMultiBookmarks to set it, making its configuration more easily + table-driven -TD +* make the style of menu border/bg/entry/number/active-entry and scroll + indicator settable -IZ + The names in lynx.lss are + menu.frame menu.bg menu.n menu.entry menu.active menu.sb +* modify cookie path prefix-comparison to ignore a trailing slash, e.g., + /group/sftvnews/ versus /group/sftvnews (workaround for LV visiting + http://groups.yahoo.com/group/sftvnews) -TD +* cookie path= should be a prefix of the request-URI path, so do not truncate + request-URI path in LYSetCookie() [we got mistaken "invalid cookie path=..." + prompt in some cases previously] -LP +* parameterized the logic around URL_edit_history to add MAIL_edit_history, + used to store addresses for Printing Options, mail file to user (request by + LV) -TD +* check, fix minor problems with some .po files based on check_po script + (mentioned on mutt-dev mailing list by Bjorn Jacke <bjacke@suse.de>) -TD +* fixes to build with U/Win -TD +* check width in LYpaddstr(), truncate the string if needed. This fixes a + case where items in very wide popup menus would wrap, e.g., the EXTERN_LINK + menu -TD +* add a configure checks for term.h, to work around broken package for ncurses + on Cygwin -TD +* combine checks for useragent into one function LYCheckUserAgent() -TD +* add runtime toggle for EXP_NESTED_TABLES, bind this to "~" (see www.tin.org + for comparison) -TD +* regenerate ja.po from lynx-2.8.3rel1.ja.po using gettext 0.10.37 and libiconv + 1.6.1 (updated by Masayuki Hatta <mhatta@po.airs.net>) +* changed -DNCURSES in DOS makefile to -DPDCURSES -TD +* changes for DOS makefiles with DJGPP -DK + These changes are for DOS under DJGPP with Internationalization and SSL. The + openssl port for DOS is dependent on WATT32, so the link order for libraries + has to be set appropriately. Made EXP_NESTED_TABLES the default and changed + the default locations for WATT-32 and PDCURSES to top-level directories. The + DOS port of gettext is now dependent on libiconv.a to convert character sets + as the .mo file is read. The format for the makefile in WWW/Library/DJGPP + now reflects the changes previously made in the src makefile. +* improve definition of CTRACE, making it an expression again as it was before + dev.20 -PG +* move logic for cookie_domain_flag_set() out of LYReadCFG.c into LYCookie.c + rewriting it to make it table-driven, where it is now shared with + LYrcFile.c -TD +* rewrote LYrcFile.c, making it table-driven as is LYReadCFG.c -TD +* reviewed/corrected several pointer-mismatches in PARSE_xxx() macro usage -TD +* corrected return-types of several functions in LYLocal.c, which were given as + BOOLEAN though they return a signed integer -TD +* add DIRED support to makefile.bcb -TD +* filter the list of mime types sent in "Accept:" header for GET, to eliminate + repeated or shadowed types, using new function HTFilterPresentations() + (addresses Debian bug report #41594) -TD +* fix several typos in Lynx help-files -LV +* change most configure script C-preprocessor assignments to $CFLAGS to + $CPPFLAGS, and modify logic of $TRY_CFLAGS to use CF_ADD_CFLAGS, which + does the same thing -TD +* enable scroll indicators on the menus - shown if there is a part of menu + before/after the visible area -IZ +* modify the context-sensitive mouse-menu, making it easier to to configure by + reorganizing the tables used to generate the popup menu -IZ +* correct a couple of places in form_getstr() when keys were "generated" + instead of actions, which broke mouse-navigation in input fields -IZ +* fix return value of Stbl_finishTABLE(), retesting curpos whose value may have + been altered, e.g,. in split_line(), causing a cell to overflow to the right + of the visible area (even if line wrap is requested) -IZ +* change the logic of -display-charset: before it was sometimes descriptive + (here is the charset, behave as if it was used for display), sometimes + prescriptive (make the display to use charset if you can). Now it is only + descriptive. One is forced to use the 'O'ptions to manually load a different + font -IZ +* move $(DEFS) and $(CHARSET_DEFS) into $(CPP_OPTS) in src/makefile.in -TD +* renamed -blink_is_boldbg command-line option to -blink, corrected ifdef's -TD +* implement -blink_is_boldbg option for OS/2 EMX and ncurses, then integrated + some ifdef's to merge with equivalent slang code -IZ +* rewrote hardcoded if/then/else chains in handle_LYK_SHIFT_LEFT() + handle_LYK_SHIFT_RIGHT() to repeat_to_delta() function -TD +* implement a key-accelerator for shift-left/right commands, i.e., repeating + the shift command increases the amount by which the screen is shifted -IZ +* modify ifdef in handle_LYK_LINEWRAP_TOGGLE() to use popup menus for each + configuration rather than limit it only to mouse-supported ones such as + ncurses or PDCurses -TD +* changes to left/right scrolling to limit its effect to tables (IZ): + + rename LYlineWrap variable (used to denote the column at which content is + wrapped) to LYwideLines (used to denote the opposite sense: true if + wrapping is disabled). + + add global variable LYtableCols to control the column-limit for tables. + The two variables LYLineWrap and LYtableCols have the same effect as did + altering LYlineWrap and LYcols, but are limited to table layout. + + modify handle_LYK_LINEWRAP_TOGGLE(), use a popup menu to set LYwideLines + and LYtableCols. The latter is set to a positive integer, in units of + 1/12 of the physical screen width. + + modify GridText.c, replacing LYcols with new macros DISPLAY_COLS and + WRAP_COLS. + + keep scrollbar on the right margin of the screen when the contents are + shifted left or right. +* modify makefile.bcb, add (tested) commented-out lines for building with + color-styles -TD +* modify makefile.msc and makefile.bcb, add (tested) commented-out lines for + building with winsock2 -TD +* add a configure check for napms(), use this if available to support subsecond + delay times for INFOSECS, MESSAGESECS, ALERTSECS -TD +* rewrote www_user_search() to support both forward and backward search. + Bound backward-search to 'N' -TD +* split-out anchor_has_target() and link_has_target() to separate the search + loops from the search comparisons -TD +* reduce some clutter with LYno_attr_strstr() and LYno_attr_mb_strstr() macros, + which combine the caseless/case-sensitive functions -TD +* modify S_equals in SGML_character() to recover when no attribute value + is given, e.g., if "alt=" is followed by whitespace. Before, the next + attribute was used for the missing value -TD +* replace call to LYRemoveBlanks() from LYLegitimizeHREF(), which had the + effect of removing all blanks from HREFs, with the less drastic step of + reducing newlines and tabs to spaces and trimming leading/trailing blanks. + Though they do not belong there, it is more likely that the HREF will work + with embedded blanks retained -TD +* add a configure check for BSD- and SYSV-style curses touchline function, + needed to build with NetBSD 1.5 curses which has a partial implementation + of X/Open curses (report by JES) -TD +* correct insert_blanks_in_line(), which did not copy trailing style codes + such as stop-underline, causing "lynx -dump -with_backspaces" to produce + some odd effects -TD +* modify configure script macro CF_NCURSES_VERSION to define NCURSES, in case + it is used in the default screen setting, since lynx uses this definition in + some places rather than NCURSES_VERSION to distinguish it from other curses + implementations -TD +* modify configure script macro CF_NCURSES_CPPFLAGS to check for ncurses.h + before curses.h, and to specifically check for <ncurses/ncurses.h>, to avoid + spurious matches against a /usr/include/ncurses.h, to workaround problems + with obsolete versions of ncurses on FreeBSD and NetBSD where the current + version is often available only as a "port" (reports by Jim Spath, + Michael Warner) -TD +* add fallback definition for SLSMG_xxx_CHAR symbols which may be missing in + older versions of slang (reported by Eduardo Chappa) -TD +* update config.guess, config.sub + +2001-04-01 (2.8.4dev.20) +* rename KEYMAP 'EXTERN' to 'EXTERN_LINK', adding 'EXTERN_PAGE'. Existing + keymaps should work since 'EXTERN_LINK' matches first. EXTERN_PAGE runs the + external command on the current page. Map comma (,) to EXTERN_PAGE -TD +* replace most calloc calls with typecalloc or typecallocn -TD +* modify LYExtern.c to recognize if more than one EXTERN command has been + defined in lynx.cfg for a given name, and allow the user to select one + command from a popup menu -TD +* split-out code that opens lynx.cfg and lynx.lss as LYOpenCFG() function, + making that check if the given pathname is absolute. If not, it attempts + to look in the same directory as the parent file (when processing includes), + or the directory of the default config file -TD +* replace some explicit "r", "w", and "a+" fopen modes with TXT_R, TXT_W and + TXT_A, add/use corresponding BIN_R, BIN_W, BIN_A definitions. Correction to + OpenHiddenFile(), which would have appended text to a binary file -TD +* combined lynx_html_item_type and lynx_printer_item_type structs as + lynx_list_item_type to simplify LYReadCFG.c and incidentally fixing a bug in + add_printer_to_list by merging it with add_item_to_list -TD +* implement a simple workaround for staircased messages from running xli as an + external viewer, with lynx_nl2crlf() function -TD +* add bright-blue.lss sample (from IZ) -TD +* modify makefile.in's to use symbol _O for object suffix to allow simple + override for OS/2 EMX -Zomf compiler option (request by IZ) -TD +* add HAVE_LYHELP_H definition in config.hin and use that in LYGlobalDefs.h + to workaround misuse of HAVE_CONFIG_H in makelynx.bat -TD +* work-around in LYrefresh() when curses pads are used, for special case where + cursor is not set properly when prompting with long subject line for mailto + URL -TD +* eliminate some pointer mismatch compiler warnings in LYEditInsert() for + EXP_KEYBOARD_LAYOUT configuration -TD +* improve handling of tables with respect to bad HTML. Also took an + opportunity to macroize a couple of places which missed in + unobfuscation-of-faking <td></td> (this faking happens when line break + happens in a non-first column of a table) -IZ + For example: + <TR> + <TD> + <FORM ACTION="FrameWork.class" METHOD="post"> + y + </TD> + <TD> + <DIV> + x + </DIV></FORM> + </TD> + </TR> + Note FORM which spans cells. -trace'ing it gives very unintuitive + results: it skips </TD> inside FORM, but not <TD>. Then it supplied + </TD> when the FORM ends. +* repair treatment of colspans in TRST, making it work again in one of the + special cases it worked before. Another bug was in interaction of + justification and tables -IZ +* marked more TRACEs in TRST as "BUG"s -IZ +* TRST would sometimes produce non-intuitive results if <td> follows </tr>. + Add error recovery for this case -IZ +* corrections for nested-table configuration -IZ + + make trailing <BR> in table cells "behave well" again (the following cell + would not be horizontally offset). + + fix highlighting of multiline links inside tables, and a "80M tracelog" bug + (due to a misprint update of the enclosing table was performed once-per-row + instead of once-per-table). Extra updates would not hurt, but led to + slowdowns and quadratic-size logs. + + fix a special case with table-in-table for partial-display +* resizing a window on a console may lead to a switch of the character-cell + size. The "downloaded font" loaded during an auto-switch of display-charset + may be no longer valid. In this case, force a re-download of the suitable + font for the current charcell size -IZ +* add reverse-video style for forwbackw.arrow to lynx.lss -TD +* while an error in .lynx-keymaps is fatal, but a more or less equivalent error + in the KEYMAP section of lynx.cfg is benign. Make them both benign -IZ +* change remaining uses of lookup_keymap(LYK_xxx) to LAC_TO_LKC0(LYK_xxx) -TD +* modify set_clicked_link() to return lynx keycodes rather than character + values -IZ +* remove line_for_char() function since it is used for HTLine.start + computations -TD +* several changes to GridText.c -IZ + + '#' (shown at the UL corner when there is a toolbar) is shown even at the + beginning-of-the document. + + with mouse enabled, the first 6 chars in the UL corner were "always" + sensitive to Click-1, behaving as PREV_DOC (usually on Left). This patch + changes this logic (for color-style): + If '#' is shown there, clicking on it behaves as pressing #; + Clicking on the next 6 chars behaves as PREV_DOC/NEXT_DOC (3+3); + + if you define a style for forwbackw.arrow, then suitable arrows are shown + in these 3+3 positions; in fact they are shown only if it makes sense to do + PREV_DOC/NEXT_DOC, providing additional feedback. + + remove the first empty line shown on any HTML document. + + correct an off-by-one error in the removal-of-zero-length-markup logic. + Due to this bug, zero-length markup was never removed, which led to + accumulation of style change entries, eventually to a buffer overflow. At + this moment lynx color-style engine would give up, resulting in + incomprehensible ocean of colors on the display. To demonstrate, make a + select entry with more than 46 entries. [My auto-display-charset logic + added 2 new encodings to the table of Lynx, bringing the number to 46 on + the 'o'ption form. ;-] + + fixes a bug with incorrectly calculated width of a numeric tag [12] + as far as 12 is 10 or more (still fixes Debian #68542). + + remove unused members from HTLine struct. + + make variables underline_on and bold_on private. + + rewrote insert_blanks_in_line(), splitting out move_anchors_in_region(). + + make split_line() easier to maintain by adding variables to represent + common subexpressions, e.g., s_post, s_pre. + + use set_style_by_embedded_chars() in split_line() to simplify/improve test + for whether lynx should add a bold/underline control. + + recode to eliminate HTLine.start + + recode to eliminate HTLine.chars + + several changes to split_line(), using pointers to HTChangeStyle structs + rather than array indices. +* adjust some ifdef's to make configure --disable-trace compile -TD +* correct allocation size in mailcap_substitute(), which did not count the + trailing null -TD +* add configure --enable-vertrace option, to put __FILE__ and __LINE__ into + trace log -PG +* improve description of USE_MOUSE in lynx.cfg -PW +* fix a few warnings from antic (unreached statements due to quirks of ifdef's, + incorrectly-indented code) -TD +* eliminate a few references to USE_HASH and LINKEDSTYLES in documentation -TD +* fix a couple of compiler warnings for SCO -BL +* fix a comparison in HTChunkPutUtf8Char() to work with EBCDIC -PG +* fix a typo in LYCharUtils.c CTRACE macro, amend tracing to avoid suppressing + a related user message -PG +* change CF_TERMCAP_LIBS configure macro to warn rather than exit with an error + if it cannot find the libraries it is looking for. This allows one to + configure with the slang library on systems without a termcap library (report + by Atsuhito Kohda) -TD + +2001-02-26 (2.8.4dev.19) +* add experimental configure option for post-dev.16 TRST changes by IZ + (--enable-nested-tables), ifdef'd with EXP_NESTED_TABLES -TD +* correct a couple of places that used attrset() rather than wattrset(), which + caused the status line to lose color when configured for curses pads but not + using color-style (report by Fr3dY <fr3dy@retemail.es>) -TD +* add a restriction for the chdir command, so it is not normally enabled in + anonymous mode -TD +* reduce putenv logic for presetting $LINES and $COLUMNS to a special case + for MVS -PG +* enable pasting an URL into Lynx (similar to 'g'), and improves the code to + copy an URL from Lynx -IZ +* remove arbitrary restrictions on the size of text to be pasted. It also + makes a quadratic algorithm into a linear one. Also, it may remove many bugs + when the text to paste contains non-printable chars. Not tested with Unicode + and on Win* -IZ +* implement an action NEXT_DOC, which undoes what PREV_DOC (usually on the + Left-arrow key) does -IZ + Possible enhancements: + a) make HISTORY show the position on the (no more!) "stack". + b) several places in the source use the value of nhist (they scan + history?). Make nhist_extra public, and check whether these + places want nhist + nhist_extra instead. + c) Currently LYpop() and (some) LYpush() erases "the tail" of the + stack. Maybe some callers would prefer a different semantic... +* correct some logic related to EXP_READPROGRESS -IZ +* change LYE_xxx symbols to an enum LYEditCodes -TD +* replace some WIN_EX ifdef's by CAN_CUT_AND_PASTE. Enable cut and paste on + OS/2 -IZ + For example, in the keymap file: + setkey "\200\4" LAC:DO_NOTHING:PASTE # S-insert + setkey "^(kIC)" LAC:DO_NOTHING:PASTE # S-insert +* enable automatic switching of display charsets -IZ + Currently, it is supported under OS/2 only. A couple of lines should make it + work in LINUX too: express the semantic of _Switch_Display_Charset() in + terms of the existing UCChangeTerminalCodepage. + For example, in lynx.cfg: + CHARSETS_DIRECTORY:I:/get/tfont10/dir1 + CHARSET_SWITCH_RULES: koi8-r ISO-8859-5 windows-1251 cp866u KOI8-U :cp866, iso-8859-1 windows-1252:cp850 + The first variable may be not needed outside of OS/2 (the directory which + contains glyph tables, as generated/usable with tfont). [Used for + full-screen sessions only.] The second variables may go at the future, when + Lynx knows how to auto-deduce it itself. Format of CHARSET_SWITCH_RULES + source1 source2 source3 : dest1, source4 source5 : dest2 +* move a call for _scrsize() from LYSystem() to size_change(), to fix problem + with OS/2 EMX related to screen-size changes -IZ +* correct a bug in TRSTable.c which left a pointer into a chunk which was + reallocated elsewhere (report by Robert Mognet <rmgnt@surfree.com>) -TD +* make parse_restrictions() warn about keywords it does not recognize -TD +* rewrote restrictions_fun() in LYMain.c, making it use print_help_strings(), + to show the actual restriction values, and listing restrictions that are not + documented in the -restrictions message -TD +* if find-leaks if enabled, free the 'line' variable in HTReadProgress() -TD +* if find-leaks is enabled, undefine SAVE_TIME_NOT_SPACE in HTString.c to avoid + seeing spurious leaks in HTSprintf/HTSprintf0 -TD +* add command-line option -trace-mask to specify optional traces. Defined + these: 2=color-style, 4=TRST -TD +* improve ifdef's for --disable-trace configure option, eliminating more unused + code when NO_LYNX_TRACE is defined -TD +* make ifdef's for NCURSES and resizeterm consistent -TD +* add a call to wresize() after resizeterm() in case user resizes screen in + ncurses pad configuration (report by IZ) -TD +* change entry for "bibp" restriction to "goto_bibp" for consistency with the + other goto_xxx restrictions, and use CAN_ANONYMOUS_GOTO_BIBP (report by + Robert Cameron) -TD +* add table entries for goto_xxx restrictions, which replace assignments + overlooked in conversion to table in dev.18 (report by Robert Cameron) -TD + +2001-02-12 (2.8.4dev.18) +* change LYLineEditors[] to unsigned char since values are out of range for + signed chars on Solaris -TD +* correct a memory leak in HTStat() from mis-patch for Win32 -TD +* modify fancy_mouse() logic for ncurses to allow the user to quit a menu by + clicking outside the menu -IZ +* allow a different approach to the problem: how to enter a keyboard + navigation command when you are in an editing mode. A new EDIT-time action + is introduced: LYE_STOP. Use it like this: + KEYMAP:^[:INTERRUPT:STOP + The action behaves as if -tna is temporarily switched on: your edit is + committed, and you go into the non-edit mode - until you press Enter on an + edit field again (or switch to a different document), when this temporary + switch to -tna is terminated. If the "current" edit field has a different + style than the "active" edit field, you get an additional feedback. Anyway, + the status line shows a correct info about the current mode. + In -tna mode this behaves as the usual end-of-edit action -IZ +* make bindings for C-w and C-x C-w do not work for form input fields -IZ +* add etags target to top-level makefile.in -IZ +* add some traces to make color style code easier to debug -TD +* restore commented-out call to HText_cancelStbl() in HTML_TABLE case in + HTML_start_element() from IZ's changes, which is needed for nested table + alignment. The colors shown in deja-news are incorrect however because color + styles are not picking up the </tr> and </table> tags properly, and a few + tables are misaligned relative to dev.16, more analysis needed -TD +* change LYHash.c to use const, eliminate redundant unsigned's and casts -TD +* add a limit check for rand()/etc., result in LYUtils.c, which worked for + Linux lrand48() but was not portable (report by PG) -TD +* add missing definitions to make srand/rand code build for non-autoconf'd + configurations such as win32 -TD +* ifdef'd the mkdir() for lynx_temp_space in LYMain.c to make it apply only to + Unix, to avoid prototype conflict with non-POSIX compilers (report by Mike + Bledig <mikegb@mweb.co.zw>) -TD +* adapt patch for FTP_PASSIVE from NetBSD CVS, to make it work with INET6 (from + comp.unix.bsd.netbsd.misc newsgroup posting which stated that the patch had + been forwarded to lynx-dev) -TD +* remove unused code of HTParseInet() for INET6 from HTTCP.c -TD +* updated some translations in fr.po and ru.po (report by JES) -TD + +2001-02-08 (2.8.4dev.17) +* implement left/right scrolling and line-wrap toggle using '{', '}' and '|' + characters, respectively. This uses SVr4 curses/ncurses pads to make the + whole screen treated as a viewport into a very wide screen -TD +* make do_check_goto_URL() table-driven to simplify it as well as combine the + related messages into GOTO_XXXX_DISALLOWED -TD +* combine restrict_name[] and restrict_flag[] arrays to eliminate possibile + ifdef mismatches, as well as to simplify the treatment of "default" + restrictions -TD +* eliminate redundant symbols for color-style ifdefs (USE_HASH and + LINKEDSTYLES), using only USE_COLOR_STYLE -TD +* simplify parse_style() by making most of it a table -TD +* correct logic in arg_eqs_parse() for OPTNAME_ALLOW_DASHES ifdef which made + incorrect match for -display if -display-charset were given + (report by IZ) -TD +* revert a commented-out call to HText_cancelStbl() in HTML_TABLE case in + HTML_start_element() from IZ's changes, which had the effect of changing the + article color in deja-news for color-style configuration -TD +* fix off-by-one error in the END key handling (an empty line was shown at the + end) -IZ +* makes END key always show a full last page of the document. That is, even if + the last line is already shown, it is moved to become the last line of the + screen, so that as much as possible of the document is on the screen -IZ +* add -display_chars cmdline option, and additionally allows autodetection of + the charset on the system which allow it. This provides a way to switch the + display charset other than via obscure manipulation with 'O'ptions. (.lynxrc + is not viable if you have different charsets in different windows.) -IZ + The logic: + (1) first autodetect; + (2) then read cfg file, and if it is not "AutoDetect ..." (as the saved + version says), grant the cfg file charset; + (3) then read the cmdline, if it is present, but not "auto", then + grant it, otherwise switch back to the autodetected one. +* allow TRST code to handle table-in-table. There are now two cases only + (modulo bugs) when Lynx will not show a table in a table form no matter what + is the screen width: when TABLE is inside PRE, and when there is a TAB + inside a TABLE. Both look like deliberate decisions, so I did not change + these places in HTML.c. But one may need to reconsider this at some + moment... Example of usage: to process (my old copy of) DejaNews Power + Search form (which has TABLE-in-TABLE, and multiline cells) you need screen + width of 112 chars -IZ +* enable <BR> and <P> in TRSTables. The table still needs to fit into the + screen width without line wrapping. A tiny bit of additional work may be + needed to allow tables-inside-tables too; then any table should be rendable + as a table after an appropriate screen resizing. This patch also should make + around 70% of TRSTable.c unreachable. A lot of simplification can be made, + and most of the current convoluted hackery may be removed. Since this + algorithm tries to align *all* the display lines of the table, in some rare + cases it may need larger screen width than the old algorithm (the old + algorithm ignores all but one of the display lines corresponding to the given + <TR></TR> - and in most cases just gives up for the whole table if a + multiline cell is but of the simplest form) -IZ +* add several traces and comments to TRSTable.c -IZ +* enable interrupting LYNX by any char bound to INTERRUPT -IZ +* add configure check for srand()/rand() functions, or alternatives with + similar interfaces. These are used in the SSL and experimental temporary + file options -TD +* allow binding ESC to perform some action (such as INTERRUPT:ABORT, or + something else). It is useful only if the curses (or similar) package remaps + all the reasonable escape sequences, so Lynx internal escape-sequence + processing is not needed -IZ +* enable showing the region between mark and point in the edit areas in a + different style. The style names are edit.active.marked and + edit.prompt.marked -IZ +* add visible feedback for special case of unactive current text area which may + exist with -tna. The corresponding style is edit.current -IZ +* add FORW_RL and BACK_LL to edit bindings support to allow cursor forward and + backward respectively to move to the next/previous link if done at the end of + the edit-field -IZ +* update several configure script macros to smooth over incompatibilities + in autoconf 2.49c (alpha). In particular, this eliminates support for + changequote(), and adds limited support for OS/2 -TD +* add google to list of search engines in lynx_help_main.html -LP +* minor formatting of help message -Michael Warner +* modify GetStdin() function in LYMain.c to allow -stdin option to read past + a line consisting of "---" (reported by Michael Warner) -TD +* ifdef'd bibp: support, added configure option --disable-bibp-urls -TD +* add experimental support for bibp: URLs as described in + http://www.ietf.org/internet-drafts/draft-cameron-tatu-bibp-02.txt + (patch by Rob Cameron <cameron@cs.sfu.ca>). +* change sed delimiters in makefile.in to avoid using '@', which may appear + in AFS pathnames (report by Martin Mokrejs <mmokrejs@natur.cuni.cz>) -TD +* fix missing call to LYCloseTempFP() in LYPrint.c, which caused attempt to + mail a file from the PRINT menu to send an email with a blank body. It looks + like this would happen for any platform not using LYPipeToMailer() -DK +* change pointers for RFC's from ds.internic.net to rfc-editor.org, since + the former appears outdated -Michael Warner +* add undef for HAVE_DELSCREEN to config.hin, so the delscreen() ifdef from + dev.16 works as intended -PG +* workaround in CF_CURSES_FUNCS for overzealous compiler that optimized away + the test code -TD +* change order of checks by CF_NETLIBS and CF_SSL macros in configure script, + since SSL libraries depend on network libraries (reports by Martin McCormick + <martin@dc.cis.okstate.edu>, IZ) -TD + +2001-01-01 (2.8.4dev.16) +* add ja.po message file (overlooked in dev.15) -Atsuhito Kohda + <kohda@nsx.pm.tokushima-u.ac.jp> +* use C preprocessor at build-time to replace CF_EBCDIC configure macro -PG +* integrated SSL patch from http://www.moxienet.com/lynx/ as a configure + option, --with-ssl -TD +* add configure check for delscreen(), which is not available in some older + SVr3 curses libraries -TD +* add configure check for socks5p.h, to allow socks5 build to use function + prototypes -TD +* updated config.sub, config.guess -TD +* modify some configure macros to use CF_PATHSEP, for path-separator which is + usually colon on Unix, and semicolon on MSDOS, etc. -TD +* modify several configure macros to use $CFLAGS consistently for compiler + options and $CPPFLAGS for C preprocessor options -TD + +2000-12-21 (2.8.4dev.15) +* add .po files to main distribution, remove stubs for files that were not + implemented, use msgmerge to resync against the current lynx.pot + (prompted by discussion with Morten Bo Johansen <mojo@image.dk>) -TD +* corrected dev.13 changes for EXP_READPROGRESS, to make the + non-EXP_READPROGRESS configuration build and work with .lynxrc settings -DK +* use EXIT_SUCCESS/EXIT_FAILURE in exit() and exit_immediately() calls -TD +* improve check for lynx_temp_space by ensuring that the directory actually + exists; attempt to create the directory if it does not, e.g., ~/tmp/, to + resolve problem introduced by Mandrake's patch -TD +* modify SetOutputMode() to flush stdout to work around buffering problem with + Cygwin on error exit from Lynx (reported by Brad Town <btown@ceddec.com>) -TD +* change definitions for LYCharINTERRUPT1 and LYCharINTERRUPT2 to not use + FROMASCII() in the EBCDIC configuration, since those symbols are used in case + statements which otherwise would not compile -PG + +2000-11-03 (2.8.4dev.14) +* restore initialization of LYlines, LYcols in setup() which was lost in dev.12 + changes (reported by DK) -TD +* modify logic for -stdin option to redirect keyboard input to null device + if lynx is not connected to a terminal, e.g., running under cron -TD +* check in DontCheck() if Lynx is reading from a command-script, to avoid + using those characters to interrupt the application -TD +* add a cleanup handler for win32, since UNIX-style signal handlers do not + work on that platform -TD + +2000-10-25 (2.8.4dev.13) +* fix missing ifdef for EXP_READPROGRESS in LYOptions.c (reported by + Atsuhito Kohda) -TD + +2000-10-25 (2.8.4dev.12) +* add a configure check for video library on OS/2 EMX, needed to link with + slang. Arrow keys do not work -TD +* use macro UCH to fix gcc's char-used-as-subscript warnings, and to replace + existing casts to unsigned char, making the code more readable -TD +* merge variants of HTReadProgress() -TD +* modify SHOW_KB_RATE in lynx.cfg to allow disabling logic that + shows transfer rate during download. If EXP_READPROGRESS is defined, make + this alterable from the command line and options menu as well (from + discussion by Karen Lewellen <klewellen@delphi.com>) -TD +* add the pathname that caused a problem to the error message in + CF_PATH_SYNTAX, lest someone be confused when tilde is not expanded + (addresses a problem reported by Lawrence Kwan <lawrence@interlog.com>) -TD +* remove redundant leading newlines in "lynx -version" output (reported by Sven + Guckes) -TD +* add dependency in src/makefile.in for building chrtrans/makeuctb$x, used by + UCdomap.o -IZ +* fix CF_PATH_SYNTAX square brackets for OS/2 EMX case, lost by not disabling + m4's quotes for that line (report by IZ) -TD +* remove older/unused variant of code to set screen size in LYCurses.c by + setting environment variables -PG +* one of the ".po" files is zipped as type binary rather than ASCII, so it does + not unzip on OS/390 with the "-a" option. The "-aa" works better since it + forces text conversion regardless of the type of the archived file -PG +* change definitions of LYCharINTERRUPT1 and LYCharINTERRUPT2 to accommodate + EBCDIC -PG +> the remainder (most of the functional changes in this patch) from IZ: +* add "typeless" notion to color style logic: + a) reverts to the style "foo" (from "foo.classname") if the style + "foo.classname" was not configured; + b) For input elements of type=typename uses style + "input.type.typename" if this style is configured (but + "input.classname" is not!); + c) Same for typeless elements, with typename="". + This allows the following: + input.type.submit:normal:blue:black + # match "link": + input:normal:green + textarea:normal:white:cyan + # type-less input is the same as type=text (similar to textarea) + input.type.:normal:white:cyan + input.type.text:normal:white:cyan + If your "link" is configured as normal:green, then input elements of types + other than typeless, text, or submit will be shown in the same style as link. + The textareas and text input elements are shown in the same style (but + different from "link" style), and submit "buttons" are shown yet in another + style. +* implement styles in "dynamic areas" of documents. Three flavors of them are + active text-edit fields, non-active ones, and links/radiobuttons, etc. + This patch is concerned with the first flavor only. Two subflavors are + document's text-edit areas, and Lynx's ones (such as where you input the URL + after `g'). Each one of them has 3 elements: scroll symbols ("arrows"), + after-the-end padding, and the actual input string. + The patch + a) makes styles for these 2*3 elements customizable; + b) uses ACS chars (if available) for the arrows (instead of `{'/`}'). + [It would be nice to make non-active text-areas to have customizable + styles for padding, and have scroll arrows too...] + Here is my customization for testing: + edit.active:normal:red:cyan + edit.prompt:normal:green:cyan + edit.active.arrow:normal:yellow:cyan + edit.prompt.arrow:normal:yellow:gray + edit.active.pad:normal:gray:cyan + edit.prompt.pad:normal:white:black +* modify LYSystem() to allow changing size of lynx window with OS/2 EMX + at runtime. Example: + !mode 110,30;exit +* use new macros LYCharINTERRUPT1, LYCharINTERRUPT2 and LYCharIsINTERRUPT() to + make it simpler to find uses of ^C and ^G +* modify key mappings so the keymap file overrides the terminfo/termcap + description rather than the reverse +* make unrecognized keynames emit diagnostic when tracing (but ignores them the + same way the older code did). Trace info about each keycode received +* provide better tracing of style choices, both when styles are assigned into + text-lines, and when lss directives are converted to "numeric colors" +* add similar tracing for links and contents of user-editable stuff +* slightly expand the cache of colors to better accomodate 16-color terminals, + and fixes a misprint in handling background-color == maxcolor +* modify logic in color styles initialization using flag default_color_reset to + override ncurses use_default_colors() logic if the "default" color style tag + is found in lynx.lss + +2000-10-18 (2.8.4dev.11) +* include LYLeaks.h in LYPrettySrc.c to allow leak-checking -TD +* modify configure script macro CF_RECHECK_FUNC to ensure that we add a given + library only once to the resulting list. This fixes a longstanding bug which + caused the nsl library to be repeated on some platforms (reported by BL for + one of the SCO configurations, and Urs JanBen <urs@tin.org> for SINIX-L 5.41 + (i386-sni-sysv4)) -TD +* modify "make install-doc" rule to first remove targets. Otherwise "ln -s" + and "cp" fail to create the targets when installing with normal user + permissions (reported by LV) -TD +* fix for handle_LYK_DWIMEDIT() to ensure it does not dereference a null + pointer, when trying to edit a text file with no links within it (report by + Harri Tuominen) -DK +* add fallback definitions to accommodate renaming of UCX$xxx symbols to + TCPIP$xxx in recent versions of OpenVMS UCX (reported by Horst Drechsel + <ai05@sternwarte.uni-erlangen.de>) -TD +* add TRSTable.obj to src/descrip.mms objects -TD +* modify configure script to omit LYExtern.o and LYLocal.o if the corresponding + options (externs and dired) are disabled -TD +* correct a typo that made configure script always define USE_EXTERNALS -TD +* interpret ftp server type for VMS if a URL is given with "/~name", as a + Unix-style server. This works for the following, at least: + VMS V6.2 AlphaServer 2100 4/233 MadGoat System type. + (reported by Rick Dyson <dyson@iowasp.physics.uiowa.edu>) -TD +* make configure check for getaddrinfo() less strict, needed with --enable-ipv6 + on IPv4-only system (patch by Munechika Sumikawa) + +2000-09-21 (2.8.4dev.10) +* modified www_tcp.h and makefile.msc to allow compile with winsock2 if + USE_WINSOCK2_H is defined -TD +* fix: the recently added code to enable external programs to replace normal + lynx handling of individual URL types was not refreshing the screen after the + external program finished (EXTERNAL set TRUE:TRUE) -DK +* fixed two URLs in lynx_help_main.html -DK +* add symbol USE_VMS_MAILER, use to distinguish VMS mail ifdef's for test + compiles -TD +* use new function LYSendMailFile() to consolidate details of non-VMS/non-piped + email, e.g., DOS or Win32, and eliminate some minor inconsistencies in that + area -TD +* correct order of ifdef's in send_file_to_mail() which could leave unsent + email on some systems without popen/pclose -TD +* add some checks in LYhandlePopupList() to prevent popup of an empty list -TD +* change a few messages written to stderr to end lines with \r\n rather than + \n, since Lynx may already be in screen mode when they are written -TD +* treat .Z, .gz and .bz2 suffixes more symmetrically using new function + HTCompressFileType() for parsing them -TD +* change mime type for bzip2 files to bzip2, x-bzip2 -HN +* move IPV6 definitions in www_tcp.h to the end, to build on FreeBSD 4.1, since + SIN6_LEN must not be checked before including netinet/in.h (patch by + Munechika Sumikawa (KAME Project <sumikawa@ebina.hitachi.co.jp>)) +* make HTParseInet() private, simplify some ifdef's -TD +* change shell expression used to process stdin for mailcap to "(command)<file" + form, which is a little more robust than "cat file|command" (suggested by + PG) -TD +* update URLs in about_lynx.html -DK +* remove spurious 'FREE(leaf);' from LYLocalFileToURL() introduced in dev.5 -DK + +2000-09-01 (2.8.4dev.9) +* improve ifdef's for endwin/newterm logic, making a fallback for LYscreen + variable -PG +* modify CF_CURSES_LIBS to check if both initscr() and tgoto() are in the + $LIBS list before deciding not to try to look for them -TD +* add %s substitution to mailcap_substitute(), overlooked when implementing + the logic to read from stdin when %s is omitted (reported by IC) -TD +* restore endwin/newterm code for ncurses (as PG notes it really is needed) -TD + +2000-08-24 (2.8.4dev.8) +* refine CJK-related suppress of refresh() in statusline() to do this only + when the status line does not contain CJK characters (Hataguchi Takeshi) +* add po/da.po placeholder (request by JES) +* implement %s, %t, %{charset} and %{encoding} substitutions for mailcap + commands in HTFWriter.c (addresses Debian #21096) -TD +* use new function AnchorsOnThisLine() to obtain count of anchors on the + current line for correct computation of length required to fix Debian #68542: + Text entry field on http://lists.debian.org/ is hidden when "form fields are + numbered" (reported by H.Nanosecond) -TD +* add OS/2 cases to config.guess, config.sub -TD +* modify CF_FUNC_GETADDRINFO to supply missing definitions for + HAVE_GAI_STRERROR and HAVE_GETADDRINFO, needed to make IPV6 build (reported + by Wesley Morgan) -TD +* reset recent_sizechange after reading KEY_RESIZE from ncurses to work around + a case with Linux libc5 which would be treated as an EOF, causing an exit -TD +* suppress PG's endwin/newterm code for ncurses because it is not needed -TD +* modify start_curses() function to preset environment variables $LINES and + $COLUMNS to make the curses library see the proper screen size. After + calling endwin(), delete the current SCREEN object, to force curses library + to discard its cached values of LINES and COLS. This requires using + newterm(), which may not be present in all versions of curses, so we check + for and ifdef accordingly. Tested on os390 and Solaris -PG +* cleanup IPV6 ifdef's using SOCKETADDR_LEN macro -TD +* add error checks to LYCopyFile() and other places to report problems copying + the downloaded file, using new functions LYCloseOutput(), LYCanWriteFile() + (reported by H.Nanosecond <aldomel@ix.netcom.com> as Debian bug #63391) -TD +* correct logic used to check for "Too many tempfiles", which resulted in + occasional misfires -TD +* add configure checks for touchline() and touchwin(), use this info to work + with Ultrix V4.5 (report by Bernhard Simon <bs@bsws.zid.tuwien.ac.at>) -TD +* reorganized CF_SIZECHANGE macro to work with autoconf 2.49a -TD +* cleanup definitions for wait-status macros, moving them into www_wait.h -TD + +2000-08-03 (2.8.4dev.7) +* add sample mailto-form.pl script to illustrate handling mailto URLs -KW +* modify HTTCP.c to build on AIX 4.3 using HAVE_TYPE_UNIONWAIT as in LYLocal.c + (Georg Drenkhahn <georg@MPA-Garching.MPG.DE>) +* change $host_os special case for 'os390' to 'openedition' in configure.in, + make corresponding changes for config.guess and config.sub -PG +* integrate KAME patch for IPV6 (Wesley Morgan <morganw@chemicals.tacorp.com>) +* add configure script macros for checking IPV6 from tin -TD +* small fixes for configure script macros CF_BUNDLED_INTL, CF_CURSES_LIBS, + CF_UPPER, CF_X_ATHENA -TD +* fix for multibyte characters in status line (Hataguchi Takeshi) +* align/merge logic in LYOptions.c and LYForms.c which handles navigation in a + popup list, for reuse in name-completion -TD +* restore check for ^G to cancel in HTSaveToFile() lost in dev.4 changes -VH +* remove duplicate entries in sortedList() which are used for name-completion + (Frederic L W Meunier) -TD +* fix compiler warning about const in LYpaddstr() using LYwaddnstr(), and + fix a potential buffer overflow in the latter (report by PG) -TD +* correct logic in LYsubwindow(), which called delwin() with a null WINDOW + pointer -PG, TD + +2000-07-17 (2.8.4dev.6) +* move special case statement for os390 compiler before AC_PROG_CC macro in + configure.in and regenerate configure script (reported by PG) -TD +* correct check for return values of check_color() in parse_color() for slang + configuration, which prevented use of "default" color. This applies to + 2.8.3rel.1 as well -TD +* correct draw_option() functions in LYForms.c and LYStrings.c for slang + configuration broken in dev.5 by wrong cut/paste (report by IC) -TD + +2000-07-16 (2.8.4dev.5) +* remove "*:OS/390:*:*" item from config.guess -PG +* add os390 item to $host_os case-statement in configure.in -PG +* move $host_os case-statement in configure.in before some configuration tests + such as CF_BUNDLED_INTL which might perform compile-time tests -TD +* use LYLocalFileToURL() in handle_LYK_CHDIR() to ensure that DOSPATH is + handled properly, inserting a '/' (reported by DK) -TD +* correct loop condition in HTSaveToFile(), from dev.4 changes for -cmd_script + option which left it ignoring 'c' for cancel -TD +* speed up local directory access for DJGPP by setting _djstat_flags (Gisle + Vanem) +* updates for makelynx.bat, and improved call on the blat mailer (note -f field + not needed or wanted) -Victor Schneider +* fix Debian bug #65151: "<> in javascript causes premature </script>" + (reported by H Nanosecond <aldomel@ix.netcom.com>) -KW +* replaced all occurrences of 'black' with 'default' in /samples/mild-colors.lss + to make it more reasonable on terminals with non-black background -VH +* modify color-style initialization to avoid passing -1's as attribute codes + which would happen if the lynx.lss file was not found, or if not all styles + were set in that file. Also if lynx.lss is not found, initialize the + predefined styles to match those in samples/lynx.lss -TD +* modify handling of empty values for radio and checkbox fields to avoid + sending "on" as the value (reported by Janne Peltonen <jkhp@cc.hut.fi>) -KW +* don't double backslash characters in HTQuoteParameter(), since that changes + the string a program invoked through system will see. Note this assumes UNIX + or POSIX interpretation of single-quoted strings by the shell -KW +* implement first draft of command-completion using popup menu for selection. + Pressing tab twice in the prompt for command or URLs will display a sorted + list of the choices -TD +* implement a simple parser for Lynx commands which are normally bound to keys + using KEYMAP. This is bound to ':', so you can for instance type ":quit" to + exit. The parser allows unique abbreviations, so ":q" is equivalent to + ":quit" -TD +* consolidate/simplify logic for displaying popup menus -TD +* rewrote tab-completion to use an HTList -TD +* move related logic into LYSubwindow() to reduce clutter - TD +* make $(DESTDIR) variable work for po directory -TD +* update bundled intl directory to match gettext-0.10.35 (except for fixes to + build scripts) -TD +* modify configure macro CF_CURSES_LIBS to use a different order for library + checks if it has found ncurses header files (i.e., they are installed as + /usr/include/curses.h). This is done to fix an problem where there are two + versions of the curses/ncurses libraries installed, and the "curses" library + is not ncurses (from a report by Sergei Pokrovsky <pok@nbsp.nsk.su>) -TD +* fix for configure script from dialog: If we really do not use included intl, + suppress the command that would attempt to symlink the two copies of its + header -TD +* updates for config.guess, config.sub from tin -TD + +2000-06-23 (2.8.4dev.4) +* modify handling to EXTERNAL settings by adding a new field in lynx.cfg. When + TRUE, then activating (using arrow-right for example) the link with URL + matching the one specified by 'prefix' field will be equal to pressing '.' on + it -VH +* restore commented-out "clearok(curscr, TRUE)" in display_page() in GridText.c + to workaround problem repainting multibyte characters (reported by Takuya + ASADA <asada@isoternet.org>) -KW +* add HIDDEN_LINK_MARKER entry to lynx.cfg, allowing user to specify string to + mark hidden links with (thus hidden links become non-hidden, thus they won't + be listed as hidden in the 'l' page) - the name of the setting is + hidden_link_marker. If the string to mark with is empty, then old behaviour + is restored -VH +* implement "change directory" command. This is tested only on linux. It's + bound to 'C' in both modes (before this in normal modem COMMENT command was + bound to 'c' and 'C' in normal mode, and CREATE was bound to 'c' and 'C' in + dired mode). The main purpose of this command is not to type the name of the + directory when 'p'rinting to files and 'd'ownloading. If this command is + invoked in dired mode, the listing of destination directory will be + automatically loaded. Dired file operations menu lists this command too as + the first item. To disable it, comment the line + #define SUPPORT_CHDIR + in userdefs.h -VH +* add definitions to allow slang configuration to implement scrollbars. This + will not work for any termcap/terminfo-based systems, appears specific to + MS-DOS (patch by Gisle Vanem) +* updates for config.guess, config.sub from tin -TD +* fix typo in CF_CHECK_ERRNO configure macro (reported by John Coyne + <John.Coyne@ctbto.org>) -TD +* add <html> and </html> around generated HTML in HTGopher.c, LYKeymap.c, + LYCookie.c and LYCgi.c to make them more-correct. Did not modify + LYBookmark.c because the logic there relies on appending to the bookmark file + (report by Patrick Boylan <pboylan@island.net>) -TD +* make pretty_html() in LYKeymap.c quote ampersand and quote, simplified logic + as well with LYKeycodeToString() implemented for command-logging -TD +* add command-line options -cmd_log and -cmd_script, to provide a simple + command logging and scripting facility -TD +* minor correction to -stdin option, add newline at the end of each line + copied -TD + +2000-06-02 (2.8.4dev.3) +* initial support for SOURCE_CACHE_FOR_ABORTED -VH +* change default_keypad_mode_fun() to use config_enum() -TD +* modify config_enum() to check if the given name in lynx.cfg is ambiguous, + matching more than one name -TD +* in passive ftp mode (FTP_PASSIVE:TRUE), use the IP address from the server's + response for the data connection, rather than doing another lookup of the + hostname -KW +* correct bug introduced in dev.2 for leading whitespace in mailcap (reported + by Andrey Chernov) -VH, TD +* change server types in HTFTP.c to an enum -TD +* handle a "215 Windows2000" response from "SYST" command (Gisle Vanem) +* change return value of parse_arg() when processing non-option data to make + URL in stdin (after '-') treated in the second pass, restoring behavior lost + in cleanup (reported by Gisle Vanem) -TD +* allow blank as a separator in arg_eqs_parse() in addition to ':' and '=', + to restore behavior lost in cleanup of argument parsing -TD +* make -stdin option a little more flexible by ifdef'ing primarily based on + ttyname(), and adding fallback definitions for Win32 and VMS -TD +* for slang configurations past 1.3.6, call SLsmg_touch_screen() in + start_curses to ensure that the screen is properly initialized for noce + terminals -JED (John E Davis) +* move call on lynx_initialize_keymaps() for slang configuration into the + start_curses() function, avoiding premature reference to $TERM, especially + when Lynx is running in dump mode, e.g., via cron (report by Hamish Moffatt + <hamish@rising.com.au>, analysis by KW) -TD +* correct logic for ^ and $ commands (FIRST_LINK and LAST_LINK) when the + current line happens to be the first or last line on the screen (reported + by KW) -TD +* remove unused fragments of backspace logic from print_crawl_to_fd() -TD +* modify print_wwwfile_to_fd() and print_crawl_to_fd() to refrain from emitting + an offset for empty lines -TD +* modify print_wwwfile_to_fd() to refrain from emitting backspaces when + the is_reply parameter is true -TD +* add traces for argument parsing, as well as an environment variable + LYNX_TRACE which has the effect of the -trace option -TD +* add configure check for ttyname, used in ifdef's for -stdin option -TD + +2000-05-21 (2.8.4dev.2) +* minor changes to HTInit.c to make it more tolerant of leading whitespace + in mailcap entries (reported by Sven Guckes <guckes@math.fu-berlin.de>) -TD +* add option -stdin, which tells Lynx to read the startfile from standard + input -TD +* simplify argument parsing in LYMain.c, moving the special cases into the + table-driven logic by adding a flag that denotes the argument parsing phase + that applies -TD +* correct duplicate description of JUMPFILE in lynx.cfg -TD +* refine cfg2html.pl changes to use command-line options to control the + sorting and marking features, as well as make the script work properly if + the markup data is not given -TD +* moved entry for lynx.cfg setting "viewer" according to the alphabet in + LYReadCFG.c:Config_Table -VH +* modify cfg2html.pl to mark unavailable options, and to provide for sorting + the options in body.html -VH +* update NLS configure script macros using CF_BUNDLED_INTL from tin, etc. -TD +* update utmp configure script macros from xterm -TD +* fix (from tin) to autoconf macro AM_WITH_NLS to fix a case where it would + refuse to build with non-GNU gettext -TD +* modified autoconf macros CF_HEADER_PATH and CF_LIBRARY_PATH, to look in more + places for the specified files, including $HOME -TD +* remove intl/libintl.h since it is overwritten by a symbolic link (reported + by Atsuhito Kohda <kohda@pm.tokushima-u.ac.jp>) -TD +* correct a few tests in configure script which must allow inclusion of either + ncurses.h or curses.h, otherwise color-style cannot be configured (reported + by Frederick Bruckman <fb@enteract.com>) -TD +* move logic that makes subdirectory for more-secure temporary files into + LYOpenTemp() where it can perform that action on demand rather than for all + invocations of lynx. Further refine this logic by ensuring that the umask is + set to allow execution permissions on the subdirectory (fixes problems + reported by Michael Abraham Shulman <mas@kurukshetra.cjb.net> and KW) -TD + +2000-05-05 (2.8.4dev.1) +* use built-in LYCopyFile logic for CYGWIN rather than external cp program -DK +* minor refinement to LYValidateFilename() to avoid prepending a drive + letter when saving files via the PRINT command on DOS systems -DK +* update URLs in lynx_help_main.html (Frederic L W Meunier) +* update description in INSTALLATION dealing with passive ftp (report by + Frederic L W Meunier) -TD +* correct ifdef'ing in LYtouchline() for VMS curses versus slang (report by + Jerome Lauret) -TD +* correct an overlooked change of ifdef's from + CONV_JISX0201KANA_TO_JISX0208KANA to CONV_JISX0201KANA_JISX0208KANA -TH +* move include of LYClean.h in LYexit.c to ensure that cleanup_files() is + prototyped on VMS (report by Jerome Lauret) -TD +* move assignment of HadVMSInterrupt in cleanup_sig() to avoid interaction with + logic in HTConfirmDefault() on VMS (reported/tested by Jerome Lauret) -KW +* minor fixes to lynx.man / lynx.hlp for descriptions of -get_data, -post_data, + -short_url -KW +* avoid invalid memory access that can result from redirection messages + that include a fragment in the new URL -KW +* change sed delimiter in makefile.in from '%' to '"', to work around SINIX + v5.43 (SYSV4) sed which becomes confused by nested '%' in expression for + htmlized cfg install (reported by Shishakov Vjacheslav + <shishako@avn.skiftel.ru>) -TD + +2000-04-23 (2.8.3rel.1) +* replace LYNX_RELEASE variable in userdefs.h by functions LYVersionIsRelease() + and LYVersionStatus() in LYShowInfo.c -TD +* remove symbol LYNX_RELEASE_DATE, use same format for both development and + release dates -LP +* remove po/ChangeLog -LP + +2000-04-22 (2.8.3pre.8) +* update option_help.html to describe the Visited Pages settings -TD +* correct order of body_attr[] and button_attr[] in HTMLDTD.c -TD +* correction for IMG attributes in HTMLDTD.c -KW +* tweak form-based options menu: General Preferencies now has User Mode, + Editor, Searching type and Cookies (suggested by PW). Correct misspelled + gettext'ed message, introduced in pre.7 -LP, DK +* note in configure --help and INSTALLATION that color-style is implemented + for various curses libraries but not slang -TD +* add a note to INSTALLATION describing how to disable the telnet application + when configuring Lynx -TD +2000-04-19 (2.8.3pre.7) +* move initialization of WATT-32 "sock_init()" code in LYMain.c so it precedes + Lynx's code to setup SIGINT handler, since WATT-32 installs a SIGINT handler + as well. This makes Lynx's handler the default again -DK +* correct handling of CHARSET attributes on LINK and A. Basically this reverts + back to original 2.7.2ac logic -KW +* enable handling of CHARSET attributes on LINK - it was disabled, probably + accidentally -KW +* prevent CHARSET attributes from modifying the charset assumption for the + _current_ document -KW +* correct errors in HTML.c that could result in infinite loop (iteration + counter was not incremented) -KW +* revert one strcpy -> StrAllocCopy change - see added comment in LYCgi.c -KW +* correct limit of formatted string in status_link() -KW +* change NO_FILE_REFERER default to TRUE (i.e., do not send local file name + in the referer field unless explicitly specified by the user) -LP, KW +* implement a workaround for gettext'd ADVANCED_COOKIE_CONFIRMATION to make + it consistent with HTConfirmDefault(), fixes Debian #62105 -TD +* clarify/expand notes in lynx.cfg dealing with USE_MOUSE (from comments by + Morten Bo Johansen <mojo@image.dk>) -TD +* noted glibc 2.1.3 bug in PROBLEMS -TD +* reorganize forms-based options menu: options are now grouped by sections in + a more logical way (design by KW). (BTW, it is now more aligned with + htmlized-cfg cattoc.html). Help files changed accordingly. A few gettext'ed + messages were changed -LP +* add ifdef's (USE_BLAT_MAILER and USE_ALT_BLAT_MAILER) and corresponding code + for blat vs blatj mailer (request by Victor Schneider) -TD +* update Lynx FAQ locations -JES + +2000-04-17 (2.8.3pre.6) +* change version number in remaining documentation to 2.8.3 -TD +* remove redundant defines for SUPPORT_MULTIBYTE_EDIT and COLOR_TABLE from + DOS/Win32 makefiles -TD +* small change to configure test for REAL_UNIX_SYSTEM to accommodate linkers + that allow assignment from a nonexistent extern. Also, change a few UNIX + symbols in LYCurses.c and LYUtils.c to REAL_UNIX_SYSTEM to build on platforms + that do not define this symbol -TD +* update notes in LYMain.c and LYReadCFG.c regarding the options and config + variable tables, which no longer need to be sorted -TD +* htmlized lynx.cfg: add .h2 RULESFILE, remove confusing .h1 header -LP +* define SUPPORT_MULTIBYTE_EDIT in userdefs.h -TH + +2000-04-13 (2.8.3pre.5) +* fix printing of Last-Modified field in downloaded/printed source -LP +* update URL for RFC 1942 -LV, DK +* update Subir Grewal's Lynx links URL to the newest location + http://www.trill-home.com/lynx.html -LV, TD +* move assignment to donelookup in LYGetHostByName() to avoid race with + CreateThread() -Alexei Anatski +* modify LYexecv() in LYLocal.c for MINGW32 -SH, Victor Schneider +* re-correct logic for .h1 comments in cattoc.html by cfg2html.pl (reported + by LP) -TD +* move call to cleanup_files() into LYexit(), to fix stray temporary directory + left, e.g,. when doing "lynx -version" -TD + +2000-04-11 (2.8.3pre.4) +* add to logic of --with-charsets configure option, checking for charset names + that happen to be built-into UCdomap.c rather than defined via .tbl files + in src/charsets (reported by HN) -TD +* correct missing extern in CF_SLANG_UNIX compile-test -TD + +2000-04-06 (2.8.3pre.3) +* remove definitions for NCURSES and NCURSES_VERSION from top-level makefiles + that really use PDCurses -TD +* add USE_MOUSE symbol: cleanup/simplify ifdef'ing of mouse code, + replace USE_SLANG_MOUSE / NCURSES_MOUSE_VERSION / PDCURSES_MOUSE_VERSION + with USE_MOUSE (and modifier when necessary) -LP +* windows makefiles: add new symbols SOURCE_CACHE and USE_PRETTYSRC, + remove obsolete EXP_CHARTRANS and unused EXP_CHARTRANS_AUTOSWITCH -LP +* fixed a bug with psrcview on lss-enabled lynx. Code such as <a blah href=.> + (i.e. unknown attribute and then some other attribute) was causing calls to + PSRCSTOP(barattr) twice (and lynx was switched to "non-preformatted" mode + losing all white spaces of the document after that piece of code) -VH +* add configure option --with-screen=pdcurses, mainly for checking ifdef + conflicts between ncurses and pdcurses. This builds/runs with the PDCurses + X11 library, but is not recommended for general use -TD +* remove test-artifact in configure check for zlib.h -TD +* add CF_SLANG_UNIX configure macro, to allow slang configuration to build on + AIX, etc., (reported by Jens Schleusener <Jens.Schleusener@dlr.de>) -TD +* update CF_CURSES_LIBS macro from CDK fixes, adds a special check for HPUX + 11.x -lcur_colr library -TD + +2000-04-02 (2.8.3pre.2) +* fixed problem with charset handling for SOURCE_CACHE:MEMORY - if the charset + was specified by Content-Type http header it won't be lost (as it was) when + reparsing from source cache (applies to toggling DTD, switching to srcview, + and other stuff like *,' etc) -VH +* add ifdef'd call for creat() for Borland C configuration in LYExecv(), as per + JES report -TD +* remove definition of NCURSES_MOUSE_VERSION from makefile.bcb and + makelynx.bat, which should fix compile problem reported by JES -TD +* move a small number of gettext definitions into LYMessages_en.h to allow + removing the associated files from POTFILES.in, which must not be larger + than 1023 for Solaris (reported by JES) -TD +* improve ifdef's for fallback definitions of getattrs(), getbegx(), getbegy() + and getbkgd() in LYCurses.h since they may be functions rather than macros + (reported by PG on os390) -TD +* further restrict tildeExpand() so it allows embedded "~" only if it follows + a slash, or is the first character -TD +* add check for "~" as the path to be expanded in tildeExpand() (fixes problem + reported by Frederic L W Meunier when TEMP_SPACE was defined to "~") -TD + +2000-03-31 (2.8.3pre.1) +* remove annoying trailing period from two statusline messages ending with host + name ("Looking up host.foo:81." and "Making HTTP connection to foo.bar.") -LP +* lynx.cfg: use two lines to separate options description in this + configuration file (it looks more readable, for such a huge text) -LP +* lynx.cfg: make a few corrections to reorganize .h1 sections to improve + htmlized cattoc.html logic. More corrections welcome -LP +* fix some compiler warnings for DECC dealing with time_t being unsigned in + that environment (reported by Jerome Lauret) -TD +* suppress Multinet prototypes in socket.h, to work around some places where + Multinet declares parameters a void* while DECC uses char* (patch by Jerome + Lauret <JLAURET@mail.chem.sunysb.edu>). +* undo side-effect of config_enum() function in LYReadCFG.c from cleanup in + dev.22 which made default_user_mode and source_cache values not set properly + (reported by Alexei Anatski <alexei.anatski@srm.ru>) -TD +* correct ifdef's in LYStrings.c for NCURSES_MOUSE_VERSION versus PDCURSES + adding new PDCURSES_MOUSE_VERSION to cover special case of DJGPP (reported by + LP, DK) -TD +* add PRETTYSRC to lynx.cfg, supplementing -prettysrc commandline option -TD +* add call to LYStoreCookies() from HTFWriter.c to save cookies when -source is + used (patch by KW) +* remove const from LYGetHostByName() parameter -TD +* modify makefile.in to ensure links within htmlized lynx.cfg are updated + if gzip-help is configured (reported by Ari Moisio) -TD +* remove -DEXP_CHARTRANS from makefile.msc, makefile.bcb (reported by LP) -TD +* trim trailing path-separator from lynx_temp_space before removing that + directory, on exit -TD +* ifdef'd IsOurFile() to perform only an ownership check on single-user DOS + and OS/2 systems, so user can overwrite files -TD +* simplified some initialization in LYMain.c with tildeExpand() -TD +* change prototypes of HTSetPresentation(), HTSetSuffix5() to use double rather + than float, since this is the default promotion, working better with some + compilers -TD +* add comments to makefile.msc to show how to build color-style version -TD +* add fallback definition for getattrs(), move fallback definitions for + getbegy() and getbegx() in LYCurses.h to allow building color-style version + with PDCurses -TD +* correct a call on lib$find_file() in HTVMSUtils.c which broke by not + supplying it with a fixed-size buffer, from dev.23 changes -TD +* correct an out-of-range indexing error in LYstatusline_messages_on_exit(), + and add a check in to_stack() for a similar problem -TD +* add definitions and description of USE_TH_JP_AUTO_DETECT, + CONV_JISX0201KANA_JISX0208KANA, and KANJI_CODE_OVERRIDE to userdefs.h, along + with a new file README.jp -TH + +2000-03-26 (2.8.3dev.23) +* make -nounderline option apply to overloading of colors 4 & 5 with + underlines, in slang configuration -TD +* on initialization, check if the LYNX_TEMP_SPACE denotes a directory which + we cannot easily determine if someone could alter our temp-files. If so, + make a subdirectory of that, with appropriate permissions -TD +* disable setuid on initialization -TD +* add a definition USE_MKSTEMP in userdefs.h which supersedes EXP_RAND_TEMPNAME + for sys-admins who believe in mkstemp() -TD +* change logic for EXP_RAND_TEMPNAME to avoid allowing fmt_tempname() to return + the same name during a session. Define EXP_NAME_TEMPNAME in userdefs.h -TD +* add Last-Modified header into the printed/downloaded source, in addition to + the Date header (it is there for years). (Last-Modified field will not be + printed if it is not present, or equal to the Date header or equal to + "Thu, 01 Jan 1970 00:00:01 GMT", a common mistake in scripts) -LP +* defined DIRED_SUPPORT in makefile.msc -TD +* several small fixes in LYLocal.c for dired support, mostly win32-specific -TD +* modify PDCurses mouse logic to use BUTTON_PRESSED mask rather than + BUTTON_CLICKED, since the latter appears to not work in PDCurses 2.4 -TD +* modify HTDirTitles() to fix a couple of cases for device-only pathnames, + e.g., for DOS -TD +* modify HTDOS_name() to put a trailing '\' on the result if only a device + is given. Fix a memory leak in HTDOS_name() -TD +* simplify local_dired() using new function match_op(), adding DOSPATH + and __EMX__ to special case of stripping a leading '/' from parameter so + dired mode works properly on Win32 and OS/2 EMX -TD +* minor cleanup using new function LYformTitle() -TD +* modify LYUCPushAssumed to push original assume_charset insted of + anchor_UCI->MIMEname when HTCJK is JAPANESE. If this modification isn't + done, Japanese strings may be mishandled when charset is not specified or + assumed as Japanese charset. On the other hand, if this modification IS + done, the specified charset is ignored when HTCJK is JAPANESE. + # I think it's long way to improve this completely. It rarely + # causes small problem in source view mode for Japanese document. + # I think it can be ignored -TH +* improve handling of Japanese titles in List Page, LYNXIMGMAP Page and + ShowInfo Page -TH +* remove spurious backslashes in sed script for adjusting link to htmlized + lynx.cfg -Michael Warner +* add -luser32 library for Cygwin configuration, needed for WIN_EX ifdefs -DK +* correct some screen handling problems when built with SLang -DK +* updated the INSTALLATION file to reflect building under Cygwin -DK +* define WIN_EX and _WINDOWS_NSL for Cygwin configuration -DK +* use select_s() from WATT-32 for the DJGPP port, rather than select() from + DJGPP (suggested by Gisle Vanem, to make it faster) -DK +* add a configure check CF_SET_ERRNO to check if we really can set errno, + even if it has been #define'd -TD +* remove a redundant call to HTQuoteParameter() from LYExtern.c, which resulted + in quoted-quotes (reported by Michael Warner) -TD +* add configure check for syslog.h, in case --enable-syslog is given for a + machine that doesn't support it -TD +* add ASSUMED_COLOR variable to lynx.cfg, making the use of + assume_default_colors() optional (addresses reports by LV, IC) -TD +* add a configure check for the compiler option needed to find zlib.h, e.g., + if it is in /usr/local/include and the compiler is not gcc -TD +* disentangle some of the PDCurses ifdef's from ncurses, including the mouse + handling. The symbol PDCURSES should be used for PDCurses, not NCURSES* + or DOSPATH -TD +* remove unused getline.c, getpass.c, crypt.c and crypt_util.c -TD +* change ifdef's in LYisAbsPath() and LYisRootPath to make OS/2 EMX treated the + same as DOSPATH -TD +* review use of strcat/strcpy, changing as needed to avoid buffer overflows -TD + +2000-03-12 (2.8.3dev.22) +* modify Home_Dir() so that on DOS & Windows, if the $HOMEDRIVE variable is + set, it may be used to specify the drive on which $HOME is located -TD +* add configure option --enable-htmlized-cfg to install the htmlized lynx.cfg + in the help directory (request by LP) -TD +* suppress sleep's in crawl or traversal mode (request by LV) -TD +* cleanup LYReadCFG.c, LYrcFile.c a little, using new functions putBool, + getBool, putEnum and getEnum -TD +* change default mode for visited-links-page to match original behavior, add + visited_links to .lynxrc file (requests by KD, LP) -TD +* update documentation to reflect move from sol.slcc.edu to lynx.isc.org -PG +* remove obsolete files: WWW/Copyright.txt (replaced by FreeOfCharge.html) and + WWW/README.txt (recommended by DK) -TD +* clean up some of the loose ends, primarily in documentation. A Russian user + pointed out that the DOS binary was ignoring character 0xe0. This turned out + to be a bug in the PDCurses code for DOS. I modified the INSTALLATION file + to reflect the patch to PDCurses. Also include the file for the public + domain release of the CERN wwwlib code (FreeOfCharge.html). Other changes + fix dead links, Y2K changes, and reflect newer versions of other programs -DK +* comment-out/disable NO_ANONYMOUS_EMAIL definition in userdefs.h -DK +* change optimization level to -O1 in makefile.dos -DK +* use macro set_errno() to hide some of the clutter in HTTCP.c as well as make + it simpler to build with threaded libraries -TD +* ifdef'd out a "QUIT" command sent to the FTP server immediately after opening + a data connection in HTFTPLoad(), since this makes the ftp.wku.edu server + close the connection prematurely -TD +* combine redundant HTMake_VMS_name() with HTVMS_name() -TD +* review use of "%s" in sprintf, to guard against buffer overflows, modified + some to use HTSprintf0 or StrAllocCopy, others to use specific lengths + (KW noted a related problem in HTTP.c) -TD + +2000-02-25 (2.8.3dev.21) +* modify check for empty news-posting to warn but allow user to override if + it contains nonspace characters -TD +* add FTP_PASSIVE option to lynx.cfg, allowing installer to defer decision + of whether lynx uses passive ftp connection (adapted from patch by + Bernhard Rosenkraenzer <bero@redhat.de>) -TD +* remove duplicate definitions of HT_NON_BREAK_SPACE, HT_EN_SPACE leaving them + in HTFont.h -TD +* lynx.cfg option CONNECT_TIMEOUT and commandline option "connect_timeout" were + added (not available for DOS port) -VH +* don't perform submission of the content of disabled form fields -VH +* add bindings for ^ and $ (like vi) to move the cursor to the first and last + link on the current line (prompted by complaint by DH that < and > used to + allow movement to the ends of a line) -TD +* remove --enable-kanji option (request by TH) -TD +* replace 3 CONV_JISX0201KANA_ISX0208KANA to CONV_JISX0201KANA_JISX0208KANA -TH +* enable the routines to change kanji code which is used for overriding, + since my last change disabled this -TH +* remove redundant/conflicting definitions of ON/OFF from HTVMS_WaisUI.h -TD +* fixes for K&R build on SunOS -TD + +2000-02-15 (2.8.3dev.20) +* ifdef fixes for CYGWIN, broken in dev.19 -TD +* add make-msc.bat script, and update src/chrtrans/makefile.msc to add rules + for generating header files -TD + +2000-02-14 (2.8.3dev.19) +* use HTAddParam/HTEndParam rather than HTSprintf0 for building external + commands, protecting against badly-formatted string with more than one %s + (reported by PW) -TD +* update placeholder po/nl.po -JES +* add configure option --enable-kanji for defining symbols related to TH's + patch -TD +* improved handling of Japanese text (patch by TH (Hataguchi Takeshi)): + + if Japanese document's charset is specified explicitly by the MIME tag or + HTTP responses, Lynx will assume the charset as that value. + + change the Japanese charset detection strategy when charset is not + specified explicitly. + + wrap a long text which includes only CJK characters in source mode. + + avoid writing CJK characters at the 80th column. + + improve kanji code override routine + # My change seems to have broken this + + change the phrase "half width kana" to "JIS x0201 Kana" in comments. + # The latter has been used originally. + + enable assume_charset when display charset and assume charset + are Japanese. assume_charset acts like charset by META tag + only when charset isn't specified by META nor HTTP responses. + + change the behavior of the option menu. + For example, when display charset is Japanese (EUC-JP) and + CJK mode is on, changing assume_charset from iso-8859-1 to + shift_jis using the option menu, + old behavior: + assume_charset won't be changed. + CJK mode will turn off. + new behavior: + assume_charset will be changed to shift_jis + CJK mode won't be changed. + + improve handling Japanese in Visited Links Page, History Page + and pages with FORM. + New macros are: + USE_TH_JP_AUTO_DETECT + enable (2) + CONV_JISX0201KANA_JISX0208KANA + convert JIS X0201 Kana to JIS X0208 Kana, + i.e. convert half width kana to full width. + I've not tested the case not to define this well. + KANJI_CODE_OVERRIDE + enable kanji code override routine. + The code can be changed by ^L. + More precisely, this enables us to change the assumption kanji + code for the document. This assumption overrides the charaset + by META tag and HTTP responses. +* ensure lynx_doc is writable when doing install, since it is not necessarily + done as root -TD +* simplify/correct ifdef'ing in reply_by_mail() -TD +* add ifdef CANNOT_PIPE_MAIL to simplify ifdef'ing for systems having mailers + that we can pipe to versus those that we cannot -TD +* add ifdef USE_BLAT_MAILER to simplify & make consistent ifdef'ing for + blat mail program -TD +* correct ifdef'ing in mailform() for Unix (report by LV, analysis by KW) -TD +* tweak lynx.cfg for better cfg2html.pl output -LP +* fix DOS makefiles for recent renaming USE_PSRC -> USE_PRETTYSRC. + Also, change optimization flag to -O1: having experience with slow + 386 machine I see no visible difference in speed at run time, but this + makes compilation much faster and takes less memory. Tweak INSTALLATION + file accordingly -LP +* ifdef'd feature for generating random temporary filenames with + EXP_RAND_TEMPNAME -TD +* remove duplicate S_xxx definitions from LYLocal.h, already in www_tcp.h -TD +* add note about building with Visual C++ -TD +* ifdef'd reference to current_codepage in LYCurses.c with PDCURSES_EXP + rather than PDCURSES, since this variable is not found in any release + version of PDCurses -TD +* several small fixes/adjustments to reduce warnings from lint-like program + 'antic' -TD +* fixes to compile on VMS with UCX -TD +* change LYRemoveTemp() to return a value, needed for VMS -TD +* rename intl/po2tbl.sed.in to intl/po2tbl.sed_in, to allow unzip on VMS -TD +* correct HTSetSuffix/HTSetSuffix5 for VMS build (reported by Dan W Olds + <oldsdw@wofford.edu>) -TD +* resync autoconf macros, from tin -TD + +2000-01-06 (2.8.3dev.18) +* correction to LYCookieSavefile so tilde expansion is done (reported by Larry + Virden) -BJP +* now it's guaranteed that LY_SOFT_NEWLINE could be only 0th character in + line->data (it could be preceded by LY_*_START_CHAR). Bug that caused + empty lines to disappear when printing files was fixed -VH +* comments are now correctly converted to display charset in prettysrc mode -VH +* fix "Please see" array initialization in cfg2html.pl (reported by VH, LP) -TD +* small userdefs.h typo fixed -VH +* added lynx.cfg setting that controls justification - maximum value for + ratio of 'spaces to spread'/'max width of a line' when justification can + take place -VH +* change "PSRC" to "PRETTYSRC" in configuration (suggested by KW) -TD +* combine a dozen of HTMLSRC_ lynx.cfg settings into PSRCSPEC setting. Old + "HTMLSRC_foo:bar1:bar2" should be written as "PSRCSPEC:foo:bar1:bar2" -VH +* use assume_default_colors() extension from upcoming ncurses 5.1 and related + support to provide more flexible coloring. If the user's configuration files + do not specify "default", the default-color support is suppressed, and the + displayed colors default to white/black. The original behavior matches + SVr4 curses, which assumes the default colors of the screen but does not + ensure that they match the assumption -TD +* modify LYsetXDisplay() to permit $DISPLAY to have an empty value, and reuse + logic in forms-options from menu-options as validate_x_display() and + summarize_x_display(). The forms-options will not display a warning since it + exits too early, but at least one may now reset $DISPLAY to an empty string + (reported by KW) -TD +* add note in INSTALLATION pointing to aclocal.m4 for details of regenerating + configure script -TD +* add stub "po" gettext for Czech language, update other stubs -JES +* undo dev.16 change to print_wwwfile_to_fd() logic for LY_SOFT_NEWLINE which + resulted in dropping blank lines from printed files -TD +* make off by one correction in HTDisplayPartial line counting (as discussed + with LP) -KW +* one invalid memory free (only reached in some (rare?) error case), two + memory leaks removed in LYLocal.c -KW +* date calculations for file times in FTP directory listings used cached values + for the current day and year that never got reset. This could cause wrong + ordering when sorting by date, and possibly other errors, especially in + long-running lynx sessions. Now recalculate them for each new directory + request if they are needed -KW +* be slightly more tolerant about FTP directory listing file times that appear + to lie in the future: allow today plus one day without assuming that it must + mean a year ago, to account for possible timezone differences -KW +* add comment to reload_read_cfg() listing things that are/aren't done -LP +* minor lynx.cfg corections for better cfg2html.pl output -LP +* restore 'from_source_cache' PRIVATE to LYMainLoop.c, add comments -LP +* amend dev.16 feature for generating random temporary filenames to ensure that + Lynx does not currently have the generated name open as a temporary file -TD + +1999-12-15 (2.8.3dev.17) +* add a caution to jumpsUnix.html -PW +* ifdef LYEditKeyForAction() to compile when EXP_ALT_BINDINGS is not defined + (reported by VH) -TD +* add 3-valued DEFAULT_KEYPAD_MODE to lynx.cfg -TD +* revert DEFAULT_KEYPAD_MODE to NUMBERS_AS_ARROWS (consensus) -TD +* add COOKIE_SAVE_FILE lynx.cfg and corresponding command-line option, default + it to /dev/null, which is recognized on all systems -BJP +* correct typo in declaration of LYLeakSAVsprintf() -Michael Warner +* remove from_source_cache_p parameters in LYMainLoop.c (request by LP) -TD +* documentation updates covering the Options Menu & other changes omitted + previously -PW +* small correction in TRSTable.c: One of my previous changes for TRST broke + inheritance of alignment for cell contents from TR elements -KW +* new functions for keeping track of temp files (and some other files) for user + interface pages: LYRegisterUIPage(), LYIsUIPage(). Most checks that look at + the loaded document's title have been replaced by this mechanism. This also + replaces various mechanism that were implemented for some specific pages -KW +* also replaced some more checks that looked at the document's title by checks + of the address, for pages that are always identified by a special URL scheme + (LYNXCOOKIE:, LYNXKEYMAP:, LYNXMESSAGES:) -KW +* now check directly in postoptions() whether the loaded document is one from + which submission of option changes can be accepted, using the new tracking + mechanism. Only the form-based Options Menu and Visited Links are allowed. + Relying on a good random generator to prevent spoofing is not necessary. + Kept the secure_string check, but it should be only regarded as an aid to the + user, it prevents changing options from an instance of the form-based Options + Menu that is not the most recent one (this can happen if an Options Menu page + is pushed on the history stack and later returned to) -KW +* honor REUSE_TEMPFILES for some more user interface pages -KW +* prevent an obscure LYNXOPTIONS://MBM_MENU crash -KW +* other minor additions and corrections to checks for special pages -KW +* changed INSTALLATION text for --enable-internal-links -KW, HN +* changes to build dev16 with color styles on DJGPP/PDCurses 2.3 + (you must uncomment a line in makefiles to build lynx that way) -LP +* correct a missing check in HTML.c HTML_A case against force_empty_hrefless_a + (reported by KW) -VH +* changed lines -> disp_lines, cols -> disp_cols in GridText.c -KW +* don't reparse with SOURCE_CACHE if screen size changed only + vertically (disp_lines). Also don't reparse unnecessarily in + some cases of LYK_MINIMAL -KW +* don't append (HEAD) to title for INFO screen if already present -KW +* set newdoc.title to curdoc.title in LYMainLoop.c for SOURCE command. + Otherwise INFO could show the wrong document's title -KW +* made global from_source_cache PRIVATE to mainloop -KW +* reset DIRED_MENU item list when lynx.cfg is reloaded -KW +* new lynx.cfg option AUTO_UNCACHE_DIRLISTS for Dired mode, see lynx.cfg -KW +* prevent file descriptor and inode leak in HTFWriter.c that occurred if + the same resource is repeatedly downloaded (for 'd' or for passing to + a viewer) -KW +* corrected logic for suppressing last HTDisplayPartial call at end of file, + after discussion with LP -KW +* corrected line counting in HTDisplayPartial, taking into account offsets used + for the various variables being compared -KW +* added confirmation prompt for reloading non-safe post_data documents in + form-based Options Menu change handling. Before this change, the prompt + would be issued after returning to mainloop() instead, with different + behavior if confirmation was denied: The document would be popped instead of + keeping the current instance -KW +* function confirm_post_resub made PUBLIC and moved to HTAlert.c. New function + srcmode_for_next_retrieval in LYGetFile.c. Both used for the above and in + LYMainLoop.c -KW +* fixed behavior for various post_data confirmation prompts in connection with + SOURCE_CACHE in LYMainLoop.c. Before this change, the user would be prompted + to confirm reloading, yet on confirmation reparsing from the source cache + would be attempted. So prompts were unnecessary and misleading -KW +* try to handle some failures of errors in source cache reparsing better. Try + to make sure that unsafe post_data documents don't get reloaded accidentally + without confirmation if source cache reparsing fails. Treat partial data + (i.e. loading from source cache probably 'z'apped by user) as successful, as + HTLoadDocument does. (Various error conditions are currently only passed on + to the caller by HTParseFile, not by HTParseMem. I left this apparent design + decision unchanged.) -KW +* source cache reparsing did not rewrite a previous cache copy when the + document was reloaded from the net. This means that e.g. NOCACHE or RELOAD + would force reloading from the network, but then on the next non-forced + loading of the document (e.g. by toggling to SOURCE view) the old (and + possibly stale) copy would again be used. Now the newer copy replaces the + old copy if loading is successful (and not interrupted or aborted with 'z'). + (Note that RELOAD while in source view, at least in the normal one without + -preparsed or -prettysrc, does not have this effect since the document does + not get pushed through the cache writer at all in that case.) -KW +* if a source cache copy for a document exists, we need a way to ensure that + reparsing from that copy does not try to rewrite that same copy "under our + feet" while still reading from it. Previously that was done by just never + rewriting an existing source cache. After changing that (see previous item), + a different approach is needed to prevent such collisions. This is now + solved in two ways: (a) Base a temporary new file or memory chunk for + writing, and only commit it to the doc's ParentAnchor object (replacing the + previous copy) at the end of the incoming data stream. This is done in + CacheThru_free(), but not in CacheThru_abort(), meaning that an interrupted + or otherwise aborted transmission will not replace an existing cached copy + with a truncated now version - as long as such interruption gets detected and + properly indicated, which is not the case for reading from the source cache + with SOURCE_CACHE:MEMORY in effect, see above. (b) Change the + HTParentAnchor's protocol field to indicate a non-HTTP protocol, before + starting to load from source cache in HTreparse_document(). Normally, as + long as DEBUG_SOURCE_CACHE is not defined, this prevents the cache writer + from (re)generating a cache copy. Mechanism (b) isn't necessary (everything + still works when DEBUG_SOURCE_CACHE is defined), it just avoids unnecessary + work -KW +* source cache files and chunks were not always being removed when they should, + probably since change of 1999-06-18. A large number of cache copies could be + kept around unnecessarily wasting disk or memory space. Now make sure that + the source cache copy gets removed when a document is removed from the cache + of rendered docs. They would never be reused anyway. New function + HTAnchor_clearSourceCache. Note to other developers: HTAnchor_delete() + doesn't always remove the HTParentAnchor object, see its implementation -KW +* detect errors during appending to the cache copy. Previously, memory + allocation errors (for SOURCE_CACHE:MEMORY) would cause program exit, and + file write errors (SOURCE_CACHE:FILE, e.g. if the temp disk space was full) + would go undetected and leave the cache file corrupt or truncated. Now allow + the program to continue normally, just cancel the source cache generation for + the current document (which may free up enough memory or disk space to remedy + the immediate problem). Produce an alert message. In the case of a file + error, produce the alert only once until a possibly re-reading of lynx.cfg, + since Lynx should remain otherwise functional in the face of cache file + writing errors -KW +* extended HTChunk: added a variant for which memory allocation errors + are not fatal. Used for changes described in previous item -KW +* don't write raw escape sequences to trace output for lynx-keymaps if + not using trace log file -KW +* protect echo() in stop_curses, it could crash if stop_curses gets called + without preceding start_curses -KW +* save size for regular files in anchor structure (we do the stat() anyway). + It shows up on INFO page as Content-Length. Also use it in partial display + mode to prevent the last call to HTDisplayPartial from HTFileCopy, since a + call to HText_pageDisplay will follow immediately. (But note that nothing + important depends on the correct size; should it be wrong, we lose at most + one partial display screen update. An equivalent suppression of the last + partial update for network protocols is not recommended, since (a) the size + is more unreliable and (b) the socket FIN may be delayed by the network.) -KW +* split HTMIME_put_character into three functions -KW +* made HTMIME.c handle folded header lines correctly (long-standing bug, + reported in February by Devid Coles) -KW + [ reference: http://www.flora.org/lynx-dev/html/month0299/msg00135.html ] +* changed how HTTP redirection messages are handled. Don't read full message + and parse buffer for some header fields in HTLoadHTTP. Use common HTMIME.c + header parsing instead. Functions added/modified in HTMIME.c for storing + away the Location URL (if requested and found) and for stopping after the + headers. New private MIME types "message/x-http-redirection" and "www/debug" + to control this via HTStreamStack. Basic approach taken from newer W3C + libwww. Benefits: + - Removes actual bug that was reported: "Content-Location:" was falsely + recognized as "Location:". (long-standing bug) + [ reference: http://www.flora.org/lynx-dev/html/month1199/msg00370.html ] + - Removes potential other bugs caused by inferior header parsing in HTTP.c + (including Set-Cookie/Set-Cookie2). + - Should more header fields be needed in the future (also) for redirection + messages, we now get them automatically instead of having to add extra + code. + - Trace output now shows the same kind of info as for other responses. + In particular, Set-Cookie/Set-Cookie2 header fields will normally be + visible. + - Statusline progress messages now actually show the HTTP response line + as intended, and it is recorded for LYNXMESSAGES:. (Long-standing error, + previously what was shown could be an empty string, or arbitrary parts + of the response, including HTML markup from the message body.) + - Adding redirection support for lynxcgi would now be simpler (although + currently not done) -KW +* HTErrorStream(), similar to W3C libwww, used in some cases for the above -KW +* remove check in HTParse() dated 98/09/08 which prevented unescaping of 8-bit + data (reported by KW) -TD +* refresh screen for TRST changes in partial display mode as early as possible. + This fixes a problem when the table finished below the screen bottom -LP +* remove global Newline_partial, use LYGetNewline() instead -LP +* adapt idea by VH as a Perl script cfg-html.pl which generates HTML form of + the lynx.cfg documentation -TD + +1999-11-30 (2.8.3dev.16) +* added -nozap command line option -KW + - In its basic form, it disables all checks for 'z' or ^G or other + "immediate" keys that otherwise happen while processing a request (for name + lookups, before or during loading of a document). Note that it also disables + paging through an incompletely loaded document during "partial display". + Normally, i.e. without this option, key input gets "swallowed" or "used up" + by the quasi-asynchronous checks even if they are not 'z' etc. or keys that + have meaning during partial display (meaningless keys just get ignored). + With this option, key input only gets read when lynx is ready to act on it. + - This can be used (a) by people who like to always have predictable + type-ahead (and don't care for 'z'apping and partial display scrolling), (b) + to achieve predictable reaction to keys if lynx is used under some scripting + environment that feeds it input like expect, and (c) for scripting a lynx + session by feeding it keyboard-like character input via input redirection + from a file or pipe (a simpler alternative to b, without the need for expect + or similar). + - Point (c) could be called "poor man's scripting". Note that the input has + to be provided in a raw form (as lynx would see it when it is actually sent + by keys), including raw control characters and escape sequences if necessary. + This patch does not change anything in the way such input is read and parsed, + other that what is explicitly described here. (This paragraph is only here + to explain the context, it does not describe new features.) P.m.s. will only + work as expected if lynx, on a given platform and with the display library + chosen, uses standard input for reading keyboard input. This is the case + with ncurses and possibly other curses implementations, but not with slang, + on Unix-like platforms, and cannot work on platforms where lynx gets keyboard + input in the form of platform- or implementation-specific keycodes (DOS, + Windows - except with Cygwin?) instead of as an octet stream. + - The -nozap option takes an argument. The basic functionality as already + described gets invoked if the argument is not a specially recognized keyword + (it is suggested that -nozap=full or -nozap=all be used). The only + recognized keyword is "initially". With -nozap=initially, additional special + behavior is invoked the first time (and *only* the first time) when lynx + encounters an error or EOF when reading key input. (Currently this will not + get detected if slang with USE_KEYMAPS is used.) In this, case, -nozap + reverts to the default state ('z' will be checked for again). Under some + conditions are true (key input was taken from stdin, and stdin was not + connected to a terminal), lynx will then attempt to reopen stdin, connecting + it to a terminal (stdout, stderr, and the process's controlling tty are + tried, in that order - this is subject to change if something would be more + reasonable). + - The -nozap=initially special behavior will get triggered if input comes + from a file or pipe (p.m.s. above) when the provided characters are "used + up". Normally lynx should then just exit. The special behavior hands + control of the session to the interactive user instead at that point. All + code for -nozap is only compiled in if preprocessor symbol MISC_EXP is + explicitly defined. +* ifdef'd some places for MINGW32 (diffs from Victor Schneider) +* remove 'host' variable in LYGetHostByName() that obscured module-level + 'host[]' array in HTTCP.c for _WINDOWS_NSL configuration (patch by SH, + discussion by KW) -TD +* the Newline variable is now PRIVATE except the mouse code in LYStrings.c -LP +* modify HTDOS.c for Wattcp targets (Watt-32 and original wattcp). When Lynx + is sitting idle in getxkey() waiting for a keypress, no network functions are + called. Hence no sockets are processed, "ICMP Echo replies" is sent etc. + This patch has been tested with SLang and '-DDJGPP_KEYHANDLER' I'm not sure + how to hook into 'SLkp_getkey()' or keyboard polling in performed under raw + PDCurses (Gisle Vanem <gvanem@eunet.no>) +* update docs for -tna instead of --sticky_inputs -KW +* document extended KEYMAP syntax in lynx.cfg -KW +* update Users Guide for KEYMAP changes, especially the TEXTAREA-related + sections -KW +* move text on ^V a bit to better place, provide a couple links to it -KW +* add blurb about TRST to Users Guide. Also mention external scripts for table + handling -KW +* revise section in Supported URLs on internal schemes. Toned down, provide + rationale, give examples -KW +* fix a few typos in README.TRST -LP +* use 'rand()' in NewSecureValue() -TD +* use a random number rather than a counter to name temporary files -TD +* change LYReadCFG.c to accept any leading punctuation in lynx.cfg as a comment + delimiter -TD +* eliminate some clutter with typecalloc/typecallocn macros -TD +* eliminate some clutter with new function LYBadHTML() -TD +* add checks for null pointers in CTRACE statements in HTML.c (based on report + by LV) -TD +* change realloc calls in SAVE_TIME_NOT_SPACE ifdef in StrAllocVsprintf() to + HTalloc, since older machines (e.g., SunOS 4.x) do not necessarily handle a + null pointer parameter to realloc -TD +* correct ordering of command-line options in LYMain.c -TD +* updates for files in lynx_help & keystrokes -PW +* clarify `General Configuration Instructions (all ports)' in INSTALLATION -PW +* remove "your lynx.cfg"/"compiletime settings" from '='Info Page -LP +* add a note to Lynx_Users_Guide.html#lynx.cfg on "g lynxcfg:" -LP,HN +* change LYNXCOMPILEOPTS: to a link from LYNXCFG: -LP +* slightly reorganize partial mode logic: 'display_partial' variable is now + initialized directly in HText_new(), no need for specialized semaphore any + more -LP +* Allow KEYMAP directives in lynx.cfg of extended form + KEYMAP:lynxkey:lynxaction:editaction[:sel], where lynxkey and lynxaction are + as before, editaction is a line-editor action like FORW, BACK, ERASE etc. + and sel selects the line-editor style to be affected (as a number, starting + with 1 for the Default Binding; or 0 for all styles (the default); or a + negative number -n meaning "all line-editor styles except n"). See Line + Editor Help pages for keywords to use as editaction. This includes PASS + (which was already implemented), for "passing" on the key when line-editing + form fields so that the normal lynxaction will be invoked. + (KEYMAP:lynxkey:lynxaction:DIRED is also still possible for defining a Dired + mode binding). + This is based on a patch from IZ which introduced combined definitions + in a .lynx-keymaps file in the form: + setkey "\200s" LAC:LEFT_LINK/BACKW # C-left + setkey "\200t" LAC:RIGHT_LINK/FORWW # C-right + Combined definitions in .lynx-keymaps are also supported in this patch, but + the syntax was changed to use another ':' instead of '/' as separator. Note + that there is no need to support .lynx-keymaps (i.e., compile with + USE_KEYMAPS defined) for using the extended KEYMAP lynx.cfg directive with + this patch -KW +* avoid access to uninitialized members in TRSTable.c -KW +* limit span values accepted for TRST with TRST_MAXCOLSPAN and TRST_MAXROWSPAN, + which can be changed in userdefs.h. Without imposing a limit, attempts to + trick lynx into allocating huge blocks of memory (which might cause thrashing + without apparent reason) with something like ROWSPAN=10000000 are just too + easy -KW +* moved definition of SAVE_TIME_NOT_SPACE to userdefs.h. You may want to + undefine it for a platform where running out of memory is a frequent problem + (DOS?), although the effect won't be very pronounced. Used in TRST code to + affect size of some allocations (also used as before for + HTSprintf0/HTSprintf) -KW +* implement COLSPAN=0 and ROWSPAN=0 according to HTML 4.01 (not HTML 4.0). The + span extends until the end of the current column group and row group (i.e. + next THEAD/TFOOT/TBODY), respectively; or until the end of the row or table, + respectively, if there is no containing group (thus acting as per HTML 4.0). + Also cancel effect of all ROWSPANs at a THEAD/TFOOT/TBODY boundary (problem + with other browser described and behavior proposed by G James Berigan in + <http://www.war-of-the-worlds.org/html/span-vs-group.html>) -KW +* 'prev_target' is now PRIVATE to LYMainLoop.c [defined outside of mainloop()]; + this undoes some dev.15 changes. -LP, KW +* replace HText_pageDisplay() calls from partial mode (LYUtils.c and + HTFormat.c) with LYMainLoop_pageDisplay() function implemented in + LYMainLoop.c, it simply calls HText_pageDisplay() but has access to + LYMainLoop.c PRIVATE variables. -LP, KW +* make ^X a prefix key in all Line Edit styles. That means ^V should never be + needed any more to invoke the special textarea commands (but it's still + supported). Updates to help files to reflect this change -KW +* don't produce a link from the KEYMAP page to a help file. The one we used to + use doesn't really help -KW +* correction in code executed after textarea external editing (that determines + when to prompt for re-wrapping): use start_anchor not anchor_ptr. Without + this correction, invalid memory access could occur. (This was probably also + responsible for producing the prompt when it shouldn't be produced in some + cases, as has been reported.) -KW +* some tweaks of Novice mode help lines: don't show wrong key "to delete all + text in field" (FORM_NOVICELINE_TWO); replaced an occurrence of <delete> with + <backspace>. In some cases (e.g., disabled fields), prefer no info to wrong + info -KW +* extended KEYMAP option: additional field can specify DIRED to request + mapping in the Dired mode key_override table rather than the normal keymap + table. Documented the DIRED field and default override mapping in + lynx.cfg -KW +* corrected KEYMAP display for dired mode. It could display the normal binding + when that wouldn't actually be used, for example if a key is bound to + DO_NOTHING for DIRED. The logic deciding whether to show a separate line for + uppercase letters was only looking at the normal keymap -KW +* reset the edit_mode flag (indication of Dired mode) in various places, so the + flag doesn't stat TRUE after a new page has been loaded. For example, + invoking the forms based 'O'ptions page from a Dired directory view would + leave the Dired key bindings enabled within the Options page -KW +* for LYNXMESSAGES: page of recent statusline messages, removed setting of the + LYforce_no_cache flag in getfile(). Set the flag in LYMainLoop.c instead, + but only for following a link. This makes the page act more like a normal + no-cache document, for example returning to it via PREV_DOC does not cause an + automatic update. The special handling in LYMainLoop.c is necessary because + the link to LYNXMESSAGES: appears on the History Page, and following a link + from the History Page (as well as some other generated user interface pages) + normally implies overriding of no-cache behavior which we don't want in this + case -KW +* in LYNXMESSAGES: page, number recent statusline messages in historic order, + starting with 1 for the oldest. This should make it more obvious that they + are listed latest-first. Add "(No messages yet)" text if there are no + messages. Removed generation of invalid <pre> -KW +* use a temporary file instead of the normal .lynxrc file for saving and + restoring current settings in reload_read_cfg(). This avoids unexpected side + effects of lynx.cfg reloading (LYNXCFG://reload action), i.e. silent + modification or first-time generation of .lynxrc contents. In principle this + should make reloading of lynx.cfg usable for accounts that don't allow saving + of personal settings (i.e. option_save restriction, implied by -anonymous) + if other restrictions don't forbid it; but currently the option_save + restriction is still obeyed for saving to the temporary file (so that + reloading of lynx.cfg is prevented) -KW +* tweaks for LYNXCFG: and LYNXCOMPILEOPTS: pages: honor REUSE_TEMPFILES + setting if pages need to be regenerated, and clean up the memory for holding + the file URLs in free_lynx_cfg(). Recover if the tempfile has unexpectedly + disappeared, by regenerating it. Also regenerate tempfile if NOCACHE key + ('x') is used. Added extra checks before doing automatic uncaching of + previous page in LYNXCFG://reload code, to test whether the previous page is + really a LYNXCFG: view -KW +* corrected problems with "show color" in forms Options page. Omit "ON" choice + if color is not possible (but saving allowed). When option_save restriction + was in effect, the ON/OFF initialization was wrong (resulting in unwanted + toggling of color each time options were changed in an anonymous account) -KW +* tweaks of reload_read_cfg() for retaining "show color" setting and for + updating display_lines (user_mode may have changed) -KW +* change for HTParse: if there is a hostname part, recognize a '?' as ending + it if there are no further slash characters -KW +* tweaks in configure.in and INSTALLATION: describe correctly what + --disable-dired-override does. Rename --disable-dired-archive to + --disable-dired-dearchive. Clarified INSTALLATION text for + --disable-full-paths. Changed some "define" to "prevent defining" -KW +* don't try to put cursor in last screen position for hiding in + show_main_statusline if -show_cursor/SHOW_CURSOR is on. The show_cursor + behavior may have been turned on to avoid problems with curses libs or + terminal types that cannot deal with it correctly. On pages with no links, + for example SOURCE display, this may leave the cursor at the end of the + statusline message if show_cursor is on. This just restores previous + versions' behavior in that case. On pages with links, the movement is + unnecessary anyway since the cursor will move again to the current link -KW +* removed a bug in automatic textarea growing. Textarea would grow by + one line unnecessarily if enter was used on the last input line on a + screen (if that was not actually the last line in the textarea). New + function HText_TAHasMoreLines() to help with this -KW +* revision of "nonsticky" behavior / options. Got rid of "sticky" terminology. + Renamed the controlling option to TEXTFIELDS_NEED_ACTIVATION and command line + flag -tna. + Compiling in of this mode can be disabled, see in userdefs.h under + TEXTFIELDS_MAY_NEED_ACTIVATION. Two versions of "Textfields Need + Activation" mode are provided. The default mode (simpler yet better IMO) + highlights an inactive selected text input fields like a current normal + anchor. The alternative variant (may go away later?) behaves like VH's + previous implementation and gets used when compiling with + -DINACTIVE_INPUT_STYLE_VH. + Many bugs that would occur in somewhat unusual circumstances are fixed, for + both variants. (Action of various commands on TEXT_SUBMIT_TYPE fields, + interaction with mouse selection, ...) Selecting an inactive input field with + the mouse will activate it. Various tweaks to make sure selecting a field in + this way will put the editing cursor at the right position (even if the line + had been scrolled / might be scrolled on entering the line editor), at least + with NCURSES mouse support. Also, -show_cursor now in general works as + expected. (In the INACTIVE_INPUT_STYLE_VH variant, cursor may sometimes end + up on the statusline after error messages.) -KW +* treat input lines of the same textarea more like one entity, as far as + "Textfields Need Activation" is concerned, as long as movement among those + lines is with PREV_LINK/UP_LINK/LPOS_PREV_LINK/NEXT_LINK/DOWN_LINK/ + LPOS_NEXT_LINK or ACTIVATE keys (the last one only if TEXTAREA_AUTOGROW is + defined, for consistency with line-appending behavior). I.e. moving among + textarea lines with those keys automatically activates ('enters') the new + field for line editing if the previous one was activated -KW +* modified statusline messages to be more appropriate and specific on non- + activated form fields. (The additional messages are not used or compiled + in if TEXTFIELDS_MAY_NEED_ACTIVATION isn't defined.) Avoid unnecessary + repainting/refreshing of the physical statusline in many cases of moving + among fields and links. Make sure the additional lines shown in Novice + mode are also appropriate -KW +* modified line editor behavior on "disabled" form text fields: instead of + disabling all non-terminating edit keys, allow those that never modify the + field contents. The user can now scroll through a long value in a disabled + field with the arrow keys, rather than being stuck at the end -KW +* the ncurses mouse popup window would overlap the statusline in Novice mode. + Limit the overlap to border area (so at least no significant text gets + corrupted) -KW +* modified code for stickiness of the second kind (ex-STICKY_FIELDS) according + to preliminary proposal from Vlad. Named LEFTARROW_IN_TEXTFIELD_PROMPT. + Does not depend on any conditional compilation symbols, and is now unrelated + to the other kind of "stickiness" discussed above. See lynx.cfg. This isn't + optimal yet (LAKABOFTIF discussion etc..), but better than leaving it as it + was -KW +* made default width of textarea fields (if no COLS attribute given) depend on + window or screen width, instead of using a fixed default of "60". I.e. for + wider windows make better use of available space, and for narrows windows + avoid wrapped textarea lines. Take the usual left/right margins (depending + on current block style) into account. But for -dump don't make fields longer + than 60 anyway (they will just show up as blocks of underscores anyway, not + showing text content) -KW +* changes in code used to create new bookmark file after a bookmark has been + 'R'emoved. Change should only affect Unix. Basically, revert back to + behavior used before 2.8.1dev.8 for "normal" files (no symlinks or extra + hard links). I.e. use rename / maybe try "mv" instead of "cp", then change + permission bits explicitly. Using "cp" means running the risk of losing or + truncating the user's bookmark file if for example the disk became full + (although these occasions should be rare - the scratch file we are trying + to copy or rename was written just before without error, usually on the + same filesystem). Some more comments in LYBookmark.c. Note: if you like + your bookmark files, make backup copies of them anyway... -KW +* changed F1 key bindings so it always invokes DWIMHELP, also in the Line + Editor (for all three Binding tables). This means that pressing F1 (if you + have it, and it is correctly mapped and recognized) while in a text form + field will now bring up the Line Editor Help Page for the currently selected + line edit style. Other keys bound to HELP by default ('?', 'h') remain + unchanged, they still always go to the main Help Page -KW +* don't let DWIMHELP show Line Editor help for a text input field that is + disabled -KW +* don't mangle a -cookie_file like /home/user/.lynx_cookies.~1~, only interpret + the '~' as reference to HOME if it's right at the beginning and followed by + '/' and then some more. There are probably other instances where '~' gets + mistreated (in addition to the intentional dropping of "user" from something + like "~user/" in file URLs etc.) -KW +* changed type of EXP_KEYBOARD_LAYOUT tables to LYKbLayout_t. They hold + Unicode values, any similarity to LYKeymap_t is just accidental -KW +* changed EXP_KEYBOARD_LAYOUT logic so that input characters that are + unrepresentable in the current display character set (unless it is UTF-8) get + transformed into '?' instead of some accidentally chosen 8-bit character. + For UTF-8, convert to UTF-8 encoding instead. Note the Line Editor isn't yet + UTF-8 aware; with some care it is possible to enter UTF-8 text, but the + display will be messed up, esp. the cursor position will be shown wrong -KW +* some corrections for TPOS, YANK enhanced lineedit functions -KW +* added back in a block in LYmbcsstrlen that got lost somehow -KW +* fix an array boundary accident in GridText.c -JB +* reiterate that LYNXCGI_LINKS is set by the configure script -PW +* note that patches should be generated by "diff -u" -PG +* modify HTReadProgress so that setting SHOW_KB_RATE false will let the + amount read be shown in bytes/sec -DK +* modify mkdirs.sh to ignore DOS-style device -IZ +* modify CF_PATH_SYNTAX configure macro to accept DOS-style path syntax, for + use in OS/2 EMX port -IZ +* fix some memory leaks in visited-pages tree -IZ +* correct recent change to LYEditmap.c for EBCDIC -PG +* change 'elf32ppc' to 'elf32ppc*' in config.guess to work on MkLinux DR3 + (reported by Christopher Conrade Zseleghovski (kkz@MIMUW.EDU.PL>) -TD +* add check to HTConfirmDefault() to ensure that NLS form of "yes" and "no" + are distinct in the first character, revert to English if not -TD +* add configure test for wredrawln, and use CF_CURSES_FUNCS -TD +* improve CF_TERMCAP_LIBS configure test -TD + +1999-11-17 (2.8.3dev.15) +* add popup in options menu to control alternate organizations of the + visited links page -IZ +* reformatted src/makefile.dos and src/makefile.dsl to make them simpler to + modify -TD +* add -DOK_OVERRIDE to DIRED_DEFS for DJGPP -LP +* change the samples in "URL Schemes Supported in Lynx" so they would appear + without //user:passw@ but //user@ with the explanation of yet another + possibility added in words... So user will not get a wrong impression if + reading that document not so carefully (you know, samples are so easy + remembered without details), -KW, LP +* ifdef bkgd() call in force_repaint that accommodated pre-ncurses 4.1 bugfix, + from early 1997. With current code, a ^L when a popup is displayed causes + the screen colors to be reset (reported by KW) -TD +* undo recent no_color_video check for A_BOLD, A_UNDERLINE since this did not + have the intended effect (reported by KW) -TD +* add note to lynx_url_support.html about lynxcgi -PW +* add user search in partial mode (while loading of the document is in + progress). Scrolling to the string in question is not working properly yet + if you repeat 'n' next time. More work required -LP +* improved makelynx.bat (Victor Schneider) +* fixed bug that corrupted memory (resulting in crashes) in situations when + line ends with LY_SOFT_HYPHEN -VH +* correct comment in userdefs.h regarding renaming of + LINKS_AND_FORM_FIELDS_ARE_NUMBERED to LINKS_AND_FIELDS_ARE_NUMBERED and + change DEFAULT_KEYPAD_MODE to LINKS_AND_FIELDS_ARE_NUMBERED -PW +* fix bug that caused lss-enabled lynx to crash on growing textarea or + inserting file into it -VH +* new lynx.cfg option REFERER_WITH_QUERY:[SEND|PARTIAL|DROP] -KW +* don't send Referer if we have to load a document again that we got + from the history stack. Lynx would send the URL of the current + document (the one "later" in history) which could only accidentally + be right -KW +* changed default for PERSISTENT_COOKIES from TRUE to FALSE, since + persistent cookie support is now configured in by default -KW +* new functions (key_for_func_ext) to return a "best" key (or key pair) to + invoke a given lynx action, either in the Line Editor or in normal mode. + Currently only used for a couple of statusline messages (those that had ^V + hardcoded). The statusline info while in a textarea now gives the right + key(s) for invoking external editing, or omits the info if appropriate + (no key bound, or no editor defined or allowed) -KW +* doc updates for TEXTAREA special functions -KW +* moved #defines for TEXTAREA_EXPAND_SIZE, AUTOGROW, AUTOEXTEDIT from + LYMainLoop.h to userdefs.h, the latter two renamed to TEXTAREA_AUTOGROW + and TEXTAREA_AUTOEXTEDIT, added description -KW +* minor tweaks: -accept_all_cookies help string, some formatting changes, + minor text additions and corrections -KW +* set $(PROG_EXT) variable in makefiles for Cygwin -TD +* define __CYGWIN__ if needed, e.g., for betas that define __CYGWIN32__ -TD +* workaround Cygwin b19.1 problem generating cfg_defs.h because it did not + properly export $PATH -TD + +1999-11-03 (2.8.3dev.14) +* modify no_color_video check for A_UNDERLINE so it is active for any + combination that uses underlining (reported by KW) -TD +* modified HTML.c so configure --enable-internal-links builds -TD +* improved 'lynx.patch' rule in makefile.in -PG +* add rough version of makelynx.bat for use with Khan's MingW32 (from Victor + Schneider <vtailor@gte.net>) +* update dependencies in makefile.bcb for src/TRSTable.c -SH +* fix PDCurses ifdef's in LYCurses.c to work with WATT-32 -DK +* correct ifdef's in LYPrint.c so that send_file_to_mail() works with DJGPP -DK +* modify DOS makefiles for PDCURSES for watt-32 and some of the other recent + changes to lynx. Included some of the EXP_ defines that DOS users may want. + Changed the -O3 back to -O2, since -O3 has no advantage under DJGPP -DK +* remove a useless ';', use FREE() instead of free() - JB +* correct spelling lexem/lexeme (reported by KW) -TD +* split-out function check_history() in LYMainLoop.c -TD +* add configure check for vasprintf -TD +* add configure check for _GNU_SOURCE -TD +* minor fixes for configure script macros CF_TERMCAP_LIBS, CF_DISABLE_ECHO, + CF_GCC_ATTRIBUTES, CF_GCC_WARNINGS -TD +* fixed bug in psrcmode code. Now htmlsrc_tag encloses only tagname, not + everything in generalized brackets <,>,</,/> (reported by KW) -VH +* fixed a bug with 'g' command (reported by KW) -VH +* default value for 'OPT' in SGML.c made '1', removed alternatives to code + surrounded by #if OPT1 -VH +* notes (VH): + + Seems that 'OPT' stuff doesn't contain errors. Let's enable it for several + releases, and then remove alternative code. + + Added comments about pools. + + Docs updated to reflect new functionality of -dont-wrap-pre +* old psrcview bug fixed - markup was unbalanced in some situations -VH +* content of SAMP tag made justifiable -VH +* implemented HTStyleChange pooling - sizeof(HTStyleChange) is 4 times smaller + than before, and only necessary number of stylechanges is allocated now, + instead of some constant (1024 by default) -VH +* functionality of dont-wrap-pre improved and extended. Now it's possible to + avoid wrapping the document being dumped completely (size of the non-wrapped + line before the patch was limited by MAX_LINE = 1024 by default). Specifying + -dont-wrap-pre with interactive session enables wrapped lines (in PRE) to + be marked as in source view - with '+' in normal view -VH +* functionality of -force-empty-hrefless-a was cleaned up, + #ifndefs NO_EMPTY_HREFLESS_A and endif's were removed -VH +* colorstyle changes are not emitted in HTML_end_element if me->skip_stack was + >0 on entry to this function. This caused some glitches if + -force-empty-hrefless-a was enabled -VH +* LYPrettySrc.c was slightly cleaned up, added support for lynx.cfg reloading, + memory deallocation -VH +* possible bug in print_wwwfile_to_fd fixed - when quoting the page, seems that + several '>'s could be emitted on the long line formed by concatenating lines + with LY_SOFT_NEWLINEs at the begining of them -VH +* general notes (VH): + + users of lss-enabled lynx should consider on upgrading the lynx - at least + those who use lynx for viewing huge files. By default, each line on the + screen took 1K for colorstyles (on x86). With new approach colorstyle + changes take 24 bytes (on x86) per line in average document. Old lynx with + 900K html file loaded as startfile occupied 30M of virtual memory, lynx + with patch applied occupied 5 Mb on the same file. Old code is still + accessible by defining OLD_STYLECHANGE. + + I spent 4 hours debugging attempting to write/fix code that cleans up the + memory allocated in LYPrettySrc.c, but Lynx.leaks shows that I didn't + succeeded. I fear that leak detection stuff is broken - I checked/traced + the code very carefully several times. +> the remainder (most) of this patch from KW: +* for confirmation prompts (HTConfirm), also accept English letters 'Y', 'y', + 'N', 'n' as responses. If characters different from those are derived from + the first letters of the translation of "yes" and "no" in a localized lynx, + the latter will still be the ones that appear in the prompt text and will + have precedence. Message translations using multibyte character sets should + continue to *not* translate "yes" and "no". Added a note to that effect. +* small update for some chartrans tables, minor comment changes. +* for Unix, use LYSystem instead of system for invoking telnet, rlogin, + rtn3270 commands. + [ For some non-Unix systems, LYSystem messes around with the passed command + string in various ways, and does some other stuff for DJGPP. So no change + for those, since I assume it worked before. For Unix the change prevents + the following occurring with ncurses (at least if USE_SIGACTION is + defined): + - access some (valid) telnet://some.host URL. + - within telnet client, escape to command level (usually '^]') + - suspend (usually 'z' or ^Z) + - resume (fg). Lynx process gets woken up, redraws lynx screen, + screen & tty state get messed up. ] +* another tweak for display refreshing when text previously displayed + had UTF-8 (for ncurses) - a check in display_page was missing. +* corrected stupid problem in LYGetFileInfo - invalid memory access. +* corrected and extended handling for textarea INSERTFILE and EDITTEXTAREA + (or DWIMEDIT), the previous patch wasn't quite right: + - now really truncate very long lines as intended for INSERTFILE, instead of + wrapping with loss of one character. + - for EDITTEXTAREA (DWIMEDIT), implement wrapping instead of truncation + (Rationale for the difference: user's editing work shouldn't be lost if we + can avoid it; it is only temporarily stored in a file which may be + unrecoverable, different from the typical INSERTFILE case.) If, upon + returning from the external editor, lines are encountered that don't fit in + the displayed width of the textarea fields, the user may be given the + option to wrap to that width. (This prompt may not be given when the first + such line has no suitable spaces for breaking - the file may be binary + garbage after all, not worth fixing up too much.) Line breaking is + attempted at spaces if possible (using isspace() for checking), but not if + the only available spaces are close to the beginning of a line. An attempt + is made to join the wrapped part of a line (if not too long) with the next + line if it is not indented, by suppressing the next line break (if not too + far away). Some other heuristics are used that work reasonably well for + normal text paragraphs. + If the above mechanisms fail, or the user did not confirm wrapping when + prompted, very long lines will still be wrapped to fit into the buffer size + (around 1024 chars). + [ The wrapping works quite nicely in "normal" cases - please try it! ] +* mouse action in popups would lead to call of fancy_mouse() with wrong row + number, which could lead to messed-up display as well as invalid memory + access. +* The previous changes in link redrawing made things worse instead of better + for UTF-8 display with ncurses (without color style). This time (using + wredrawln, not touchline) it should really get better... + [ The UTF-8 related changes would need testing with non-ncurses curses libs, + if anyone has one of those AND a working UTF-8 environment - late xterm + betas(?) from Tom's site should do. If the functions used for ncurses are + available in other curses libs, the code should probably look the same as + for ncurses. ] +* SGML.c to compile without --enable-prettysrc (reported by HN) -KW +* fixes an invalid memory problem from previous patch +* adds alignment inheritance from COLGROUP / COL / THEAD / TFOOT / TBODY. +* remove some logic from LYmbcsstrlen() that gave an incorrect count for + the number of cells displaying multibyte characters, resulting in too-few + cells being highlighted (reported by HN, SH) -KW +* added support for ROWSPAN attribute of TD and TH to TRST. This only + reserves the appropriate amount of space in subsequent lines. + [ Pages that show off ROWSPAN nicely: + <http://www.iro.umontreal.ca/contrib/po/HTML/domain-hello.html> + and related ones for other "domain"s. (Verify that there really + is a ROWSPAN= in the current version.) View with a screen width + of 100. With 80 there is some kind of problem, compare both + ^V settings... ] +* some corrections in TRST code. +* change initialization order of key escape sequence mappings for slang, so + that terminfo/termcap information always overrides defaults that may + conflict. +* minimal memory cleanup / leak prevention for EXP_FILE_UPLOAD error + cases in GridText.c. +* in HText_SubmitForm, don't change the post_content_type of the + passed in newdoc structure unless that is really wanted. +* tweaked UTF-8 prevention of display library wrapping/truncation to make + better use of available width for centered text, and to not apply if dumping + to stdout. +* for UTF-8 output with ncurses, do a clearok in display_page also if the page + that was *previously* displayed had UTF-8 characters. Without this there + were still display glitches. +* made previous changes to SGML.c and HTMLDTD for handling OBJECT more generic. +* minor tweaks, cleanups, glitch removal in previous changes. +* better tracking of HTSprintf0/HTSprintf with --enable-find-leaks + (-DLY_FIND_LEAKS). This can be disabled in LYLeaks.h by removing the + definition of LY_FIND_LEAKS_EXTENDED. +* added variant behavior in StrAllocVsprintf to make HTSprintf0/HTSprintf use + less memory allocation calls and keep its temporary string buffers across + calls. The buffers then only grow and never get cleaned up. This is enabled + by defining SAVE_TIME_NOT_SPACE in HTString.c, disable the definition there + in case of problems. +* added code so HTSprintf0/HTSprintf can use vasprintf() in some situations, + which should be more efficient. It also works with --enable-find-leaks + (EXTENDED or not). This only comes into play if USE_VASPRINTF is defined + (not defined automatically anywhere). + [ For me (some Debian glibc version), the prototype for this function + is in stdio.h but only gets included with an explicit -D_GNU_SOURCE. ] + [ Which of the four combinations with/without vasprintf, with/without + SAVE_TIME_NOT_SPACE is better (if any) remains to be tested. I have seen + drastic differences under leak tracking, but that's just too much + different from a normal situation to count for anything. ] +* Some minor leaks fixed. (LYMainLoop.c) + +[ Had to make owner_address and ownerS_address file-wide PRIVATE's + instead of auto to unleak them. Could be taken out of more + argument lists now. ] + +* HTFile.c: correction in FormatNum (could duplicate fields for some + LIST_FORMAT settings), avoid some HTSprintf0 calls in FormatStr. +* replaced calls to HTSprintf with calls to HTSprintf0 in various files. +* added missing include of LYLeaks.h in LYPrettySrc.c. But disabled memory + tracking there, too many allocations show up as leaks. +* allow digits in tagspec for -prettysrc. +* the 'fixit' change of 1999-05-16 didn't really let LYConvertToURL() revert to + the right old behavior in the non-'g' use. Now return a file URL for the + nonexisting file in the relevant situation again, as before 1998-03-25, + instead of an erroneous "file://localhost" which (on Unix-like systems at + least) would result in access to the root directory. This change (like the + changes of 1999-05-16 and 1998-03-25) only matters for strings that aren't + already in absolute URL form, don't start with a slash (or, for DOSPATH + systems, other path separator) either, and don't get turned into remote URLs + by successful 'guessing' and DNS lookup. None of the changes affect VMS. +* protect INSERTFILE and EDITTEXTAREA from generating memory access violations + if the inserted file has lines that are too long for the buffer used. An + alert message is issued and the long lines are truncated. Also don't exit if + memory allocation fails for the buffer to hold the whole file, since the only + reason for the failure may be that the file is too huge when otherwise lynx + has enough memory. +* improved handling of some invalid constructs in SGML, especially + '<' followed by various characters; don't lose those characters from + what gets displayed for -prettysrc. +* a pre-filled TEXTAREA text that needed charset translation could cause + use of an invalid pointer when building the page, resulting in garbage + data being displayed (or worse). The problem was in HTML.c, not related + to TEXTAREA editing or other related new functions. + [ preceding three were partially already in previous patch ] +* recognize '<?' as introducing an SGML PI. Within most elements' content (or + outside of any elements) this makes no effective difference except for TRACE + messages and -prettysrc, the input is still junked up to the next '>' as for + a completely invalid tag. Within PCDATA elements the PI is now also ignored + instead of being treated as character data, this makes a difference for + example in a TEXTAREA in SortaSGML mode. (PI's aren't really expected to + occur in the middle of HTML, but are used at the beginning of XHTML documents + and other XML documents.) +* the earlier change of TEXTAREA handling (treating as SGML_PCDATA, SortaSGML + only) created a problem, some lynx special characters were passed on as data + characters in the field contents and would mess up line editing and possibly + the submitted form data. Actually the problem also existed before, but only + for non break space, soft hyphen etc. encoded directly as character data + (not NCRs or entities). Resolved by telling SGML.c not to generate lynx + special chars for some element contents (currently only TEXTAREA), with new + flag Tgf_nolyspcl. +* corrected some logic errors in LYUCFullyTranslateString. Special attribute + characters are now more often translated to real characters when 'Back' flag + is set, and should now be translated to the *right* characters for the target + charset. (They were sometimes converted to ISO-8859-1 values when the 'to' + charset was different.) +* added a missing significant cast in UCReverseTransChar. +* for scrollbar mouse clicking, use codes that work independent of current + line-editor key bindings. +* better calculation of "subjective distance" from next anchor for mouse. + Change of 1999-07-30 had various problems, it wasn't quite intuitive. Use + scaled numbers for finer granularity. Don't make "basin of attraction" too + wide, or it becomes hard to find a "background" spot to click on that doesn't + affect a link if a page has a high density of links. + [ For example with a pair of fields: + Submit Reset + xxx + clicking in any of the positions marked 'x' on the next line would + select the first field, not the second. That was not an improvement. ] +* functions LYmbcsstrlen, LYno_attr_mbcs_case_strstr, and LYno_attr_mbcs_strstr + in LYStrings.c where unclear about the concept of 'printable' or 'physical' + used for some returned values in the CJK case. Callers expected number of + display cells, implemented was number of 'characters' counting full-width + characters as 1 instead of 2. Now these functions take an additional + argument 'count_gcells' that tells them how to count. + This removes some long-standing, somewhat obscure problems with search target + highlighting under CJK display character sets, as well as new (and less + obscure) CJK problems introduces by the latest changes for highlighting. + Also fixed some details in the *strstr functions. The positioning of the + highlighting in CJK mode should now be correct and work as expected (as for + other display character sets) for anchors, search targets, and combinations + of both. +* reorganized LYOpenTempRewrite. It should finally make sense for systems + without HAVE_TRUNCATE defined. +* corrected SNACat (was unused). +* changes for SUP and SUB: Render SUP visibly as a '^' character if it needs + to be separated from a preceding character in order to prevent + misinterpretation. The test currently used is isxdigit for the the preceding + character. Render <SUB> and </SUB> always as brackets '[' and ']' + respectively. SUB is mostly used in technical material while SUP occurs + frequently in pages of general nature where it is not essential, therefore + the different treatment. + +1999-10-21 (2.8.3dev.13) +* revert a change from dev.4 which disabled getbkgd support in PDCurses -DK +* modify ifdef for USE_QUOTED_PARAMETER to include __CYGWIN__, else names such + as "telnet.sh" are translated to "telnet" -DK +* improve/simplify scrollbar support -IZ +* implement LYNXMESSAGES:/ page using non-tempfile approach -LP +* correct an assignment to last_kcode, broken by restructuring of LYMainLoop.c + in dev.11 -SH +* tweak LYExecv() to exclude SH_EX conditional (dired commands didn't work + on non-Windows platforms when SH_EX defined) -LP +* fix a potential out-of-range pointer in HTParse - JB +* fix a small leak in the statusline history page - JB +* restore DELEL lineedit key binding in the Alternate map (which apparently was + changed in -dev.4 to the DELNW function) to the ^K key -KED +* LYMainLoop.c: remove a dozen of unnecessary `refresh_screen' flags from + LYK_HISTORY, LYK_PRINT, LYK_LIST, LYK_ADDRLIST, LYK_VLINKS where a new html + page is generated (any document update that may be displayed in "partial + display" mode need not set `refresh_screen' flag) -LP +* correct some typos in cernrules.txt -VH +* move declaration of LastDisplayChar to make GridText.c compile with DJGPP -LP +> the remainder (most) of this patch from KW: +* HTFTP.c: (already sent w/o description - this is updated to dev.10) + - interrupted_in_next_data_char was not being reset. That could make all + subsequent FTP directory listings fail (by showing an empty directory) + after receipt of one directory listing had been interrupted. + - be nice, send quit before closing at least in the normal (non-interrupted + and successful) case. Some servers (wu-ftpd at least) otherwise complain + with "You could at least say goodbye" which in turn causes unnecessary RST + packets. To minimize round-trip delays, the QUIT is sent before we start + reading the returned data (but after the initial response to our retrieval + command). + - always close data connection immediately after we are done reading from it, + also for directory requests. This was already the case for file requests. + Some servers (including recent wu-ftpd beta) wait for indication that we + closed before proceeding. + - keep better track of closed sockets. Some more trace messages. + Some comments corrected. +* tabular representation for simple tables. See included file README.TRST. +* made User-Agent warning more friendly, and more specific. Tell the user what + lynx expects in order to avoid the warning. On the other hand, issue an + equivalent warning when -useragent is used. Change documentation + accordingly. +* don't send User-Agent header at all if it somehow would be blank. +* indicate on forms 'O'ptions Screen which options are not saved to .lynxrc. +* disable the form fields in the 'O'ptions Screen if the screen is generated + when FORMS_OPTIONS code is compiled in but not actually active. +* LYPrint.c: In subject_translate8bit (see OUTGOING_MAIL_CHARSET + option), use higher level function to charset-translate mail Subject + line, rather than low-level UCTransCharStr. +* UPPER8, UCForce8bitTOUPPER: was severely broken for UTF-8 display, making + WHEREIS search for strings containing non-ASCII characters impossible (and + probably with other bad effects). Now case mapping may still be wrong, but + at least identical strings compare as equal. +* LYHistory.c: Entification for saved statusline messages happened twice by + mistake. +* HTFWriter.c: Made code for automatic decompression of bzip2 files + conditional on BZIP2_PATH. Such files should be treated as normal binary + files on systems without bzip2. The configure seems to always define + BZIP2_PATH, but it could be undefined manually. +* HTFWriter.c: Use LYRemoveTemp instead of remove in some cases, to avoid + keeping those files in the temp file list after they are long gone. +* HTTCP.c: Check whether port numbers in URLs are really numbers. +* HTPlain.c: + - deal with backspace formatting as used in formatted man pages. + (No highlighting, only avoid double output of characters) + - pass on 0xAD (soft hyphen) character in more cases. +* HTNews.c: Prevent some ways that could trick lynx into treating a regular + "news:" or "nntp:" URL as something else, like snewspost. Extra check in + LYNews.c whether posing is allowed. Return with an error message in some + cases of URLs that are too long, instead of silently truncating. Make HEAD + work again on news articles. Some memory leaks in error path removed. A + message tweak. +* HTFormat.c: HTStreamStack: avoid some unnecessary work, add a trace message + to show what is returned. +* SGML.c: some cleanup of ugly ifdefs, and of unnecessary abuse of global + variables. (still a lot left!) +* handle INCLUDE and CDDATA marked sections: output the contents. +* parse various elements differently that had/have special requirements or + hacks. Extend meaning of Tgf_strict for literal-like content modes. Use + SGML_CDATA in some cases (and treat it similar to SGML_LITTERAL), use + SGML_PCDATA for literal-like parsing (but if modified by Tgf_strict it's + more like regular SGML_MIXED). A '<' that would start a tag gets displayed + (since not element content is allowed that's just error recovery). Comments + now work in TEXTAREA instead of getting displayed as text (SortaSGML mode + only). +* minor tweak of sorta SGML handling for invalid end tag if start tag could be + validly omitted. +* more consistent and correct recognition of element names. The characters + "_-.:" don't end tag names. +* improved handling of '/' after element name in a tag: "<foo/>" is treated as + an empty element (as in XML). If we recognize "foo" as an empty element, do + nothing special; and if we recognize "foo" as a non-empty element; convert to + "<foo></foo>". "<foo/bar/" is treated as a shortref construct, by converting + to "<foo>bar</foo>" (for non-empty and recognized "foo"). This is not + general as it would have to be for or real SGML parser, in particular '/' is + only treated this way if it directly follows the element name, and it may not + even be quite right. It is better than the recovery lynx previously did in + these cases though. +* changed handling of include buffer which is used to pass back data + from HTML.c to SGML.c. Passing data upstream now works without strange + reordering effects even when SGML_character was already parsing data from + a previous include buffer. + Character set translation would happen several times on data passed back + to SGML_character in the include buffer for re-parsing. This is now + avoided. Well at least in most cases, and for characters that *can* be + translated, there are likely combinations of input and output character + sets where the assumptions made are still wrong. +* the start_element and end_element methods of structured stream class now + return a status code. Currently only used for the OBJECT stuff below. +* mostly HTML.c, SGML.c: Changed handling of OBJECT and MAP. + - avoid using the include buffer mechanism as much as possible. This + involves introducing some new special handling in SGML.c to change parsing + mode for element contents, and a way for HTML_{start,end}_element to signal + to SGML_character what it should do. In most cases when the OBJECT element + content should be parsed and displayed, SGML_character now only needs one + pass through the data. + - don't lose content when several OBJECTs are nested. + - in HTML 4, an OBJECT with USEMAP attribute can refer to a MAP within the + OBJECT's content, possibly within nested inner OBJECTs. Lynx would fail to + find the MAP in that case, now it doesn't. + - in HTML 4, MAP can contain arbitrary block elements in addition to AREA. + Lynx now shows such block content, even if it occurs within (possibly + nested) OBJECTs with USEMAP whose contents we would otherwise skip. + Sometimes we may show too much now, by generating a LYNXIMGMAP link as well + as showing block content or by showing more of the OBJECT content than what + is within a MAP, but that is preferable to losing data. + - treat an A tag with COORDS attribute as equivalent to an AREA when it is + within MAP, for the purpose of collecting links for LYNXIMGMAP. + - as a fallback, internally redirect a LYNXIMGMAP request to the position of + the MAP element in the normally rendered text of the document containing + the MAP, if it is known that the MAP element exists and just doesn't + contain any AREA (or equivalent A-with-COORDS) links. It is assumed that + in such a case there is some block content within the MAP that is rendered + normally. +* HTFile.c: new function LYGetFileInfo. +* HTAnchor.c: new function HTAnchor_findSimpleAddress. +* new function HTStartAnchor5. +* modified the way link text is (re-)drawn by function highlight. The bulk of + processing now happens in new function LYMoveToLink. The data of the + containing line is now scanned from the beginning, using the same logic as in + display_line to make sure that lynx and the display library have the same + idea of where in the line the link starts. In UTF-8 output mode, parts of + the line preceding the link are also repainted if this is necessary. + Refreshing of the physical line is forced if necessary in UTF-8 mode. For + anchors split across lines, the new approach is currently only used for the + first line. + This change is not in effect for lynx with color style. In that case + highlighting already is sometimes done in a similar similar, but not quite + the same, separate function. +* modified WHEREIS target highlighting for hypertext links. Now this is done + in the same pass as drawing the normal link text, in LYMoveToLink. This + avoids problems in UTF-8 display mode. It also avoids a lot of complicated + and extremely hard to understand older code in highlight(), but that code is + still there for use by lynx with color style and for other remaining cases + (non-hypertext anchors, second line highlighting). +* modified WHEREIS target highlighting for general text. Instead of first + writing each line's characters in display_line, then scanning again through + the line's data for portions to highlight and repainting those parts after in + display_page, this is now done in one pass within display_line. However, + this isn't (yet?) done for lynx with color style which still uses the old + code. +* these last three changes reduce problems that occur when using UTF-8 display + character set (in an appropriate terminal environment that understands it, of + course). Most of them don't apply with color style lynx, so it continues to + have more UTF-8 problems. Pages with mostly ASCII characters should be more + or less ok. Problems that otherwise are not visible become apparent in + search highlighting, and after ^Z / fg. +* GridText.c: More changes to deal with problems caused by using UTF-8 output + with a display library that isn't aware of it. Break line with UTF-8 before + curses does it. This causes lines that are too short, effectively the + rightmost part of a line cannot be used if there are UTF-8 encoded + characters. The alternative, letting curses wrap the line when it thinks it + got too long, is worse, so do it in lynx code instead. +* avoid memory overrun for very long lines in UTF-8 mode. Avoid splitting line + in the middle of a multibyte UTF-8 character. +* test for SHOW_WHEREIS_TARGETS instead of 'defined(FANCY_CURSES) || + defined(USE_SLANG)'. +* initialize new textarea lines created by insert_new_textarea_anchor with + current display character set for value_cs. (The "cloned" value can be stale + in some cases if the user changed the display character set after the + document was last loaded - normally that should not happen). For a file + inserted into a textarea with INSERTFILE use new function LYGetFileInfo + instead to determine the file content's charset. Thus -assume_local_charset + and conventions based on file suffix should be honored. +* for Unix, added more specific error message if calling external editor for + textarea failed, based on the status returned by system(). +* it is possible to require an additional prompt before Enter in + an input field causes form submission: define TEXT_SUBMIT_CONFIRM_WANTED, + explained in userdefs.h. +* some small changes to prevent overstepping string boundary (HTParse.c) +* extended SUFFIX option, added SUFFIX_ORDER option, see documentation in + lynx.cfg. The long list of built-in file suffix rules in HTInit.c can now be + disabled, either at compile time - see userdefs.h - or at run time. The + equivalent functionality is now available in lynx.cfg for those who want it. + Added comments, see HTFileInit in HTInit.c. +* various tweaks of built-in file suffix rules. +* allow XLOADIMAGE_COMMAND to be empty (in lynx.cfg) or NULL (in userdefs.h), + just don't use a default X viewer for image types in that case. +* moved UCGetUniFromUtf8String from LYCharUtils.c to UCAux.c. +* renamed LYUCFullyTranslateString -> LYUCTranslateHTMLString, and + LYUCFullyTranslateString_1 -> LYUCFullyTranslateString. +* tweaks for special chars in (what is now) LYUCFullyTranslateString, in + obscure cases (input fields of type password prefilled with unusual content) + lynx would pass text back to the server with special characters (soft hyphen + or non-break space) expressed as lynx-internal code values. +* added some replacement characters or strings to various chartrans tables. +* experimental command line option -convert_to, only compiled in if new + MISC_EXP symbol is defined. This takes a string in the form of a MIME type, + which can also be combined with an appended ";charset=" parameter. (This + needs shell quoting of course). The charset value can be used to set the + display character set from the command line. The MIME type can be one of the + non-official types used internally, for some interesting effects (crashing + lynx not excluded). Try www/download, www/source, www/dump, or some + unrecognized string. +* fixed HTMainText_Get_UCLYhndl, it was returning the wrong kind of charset + handle (a "UChndl", which is different from a "LYhndl" or "UCLYhndl" etc., + and shouldn't be directly accessed by arbitrary bits of lynx code - it should + be regarded as private to the chartrans mechanism). +* protect various printf-like calls against crashes from strings with '%': + LYSyslog. +* LYDownload.c: made parsing of LYNXDOWNLOAD: URL slightly more robust. +* disabled some broken pieces. + +1999-10-14 (2.8.3dev.12) +* fixes for restructured LYMainLoop.c (reported by PG, LP) -TD +* minor fix for makeutcb, to compile with K&R C -TD + +1999-10-13 (2.8.3dev.11) +* restructured LYMainLoop.c, so the main switch statement calls functions + rather than doing everything inline. This greatly reduces memory required + to compile that module, as well as making the compile 3-4 times faster -TD +* tweak CJK_EX code for incorrect x-transparent charset handler - it now + depends on --with-charsets= configure flag -LP +* tweak comments in UCDomap.c to be consistent with KW changes as of + 2.8.3dev7 -LP +* define DECL_ERRNO for Borland compiler, so errno will be declared (report + by JES) -TD +* add definition for DJGPP so truncate() function is used there, needed for + LYOpenTempRewrite() function -LP +* correct character set for lines added in an external editor (Marek Kubita + <kubitovi@mbox.lantanet.cz>, KW, KED) +* remove a couple more duplicate includes -LP +* remove a couple of duplicate includes -JB (John Bley <jbley@cs.cmu.edu>) +* fix some missing ifdef's for win32 versus DOS, as well as change calls to + strcasecomp() to strncasecmp() -SH +* undo spurious change from win32 integration in dev.5 to HTSprintf0() which + causes a memory leak (reported by John Bley, analysis KW) -TD +* prevent embedded "%s" in generated messages from causing a core dump in + exit_immediately_with_error_message by using fputs rather than fprintf/printf + (reported by KW) -TD +* Changes in UCAuto.c for --enable-font-switch: Support some more code pages + if available. Check return code from setfont invocation, and use it to + determine whether font and/or translation map loading was successful. + Warning, this is not based on any documented interface but on + experimentation, so may not work for long or for anyone but me; it shouldn't + be worse than before though. Better logic for keeping track of state, some + parts just didn't work right. Workaround for wrong data in some distributed + font files. Minor memory leak removed -KW +* modify test/c1.html to use tabs for better formatting, added comments -KW +* modify HTFTP.c for better conformance with RFC959. Among other things, one + major purpose was ending the control conversation cleanly, at least in the + normal case, to get rid of the "221 You could at least say goodbye.." + responses from wu-ftpd servers and resulting RST traffic. In response to the + problem with ftp.wu-ftpd.org, made one small change to when the data_soc is + closed. This was done early for some specially code server types, apparently + those that has caused the same type of problem in the past; just changed it + to close data_soc at that point independent of server type -KW +* set CDPATH to . in the makefile.in's that use cd, in case user has set + CDPATH without . at the beginning -TD + +1999-09-29 (2.8.3dev.10) +* change CTRACE macro to double-parenthesis form, to allow ifdef'ing most + trace statements -TD +* fix the creation of a new bookmark file and takes care that older bookmarks + files do not fall into the same bug anymore by making sure the <ol> tag is in + a line by itself. This correction will only be activated when the first + bookmark is attempted to be erased (patch by Eduardo Chappa) +* change a trace/error message in HTInit.c to say "Lynx" rather than + "metamail", to avoid confusion -HN +* change <tab> formatting in user's guide, etc., to <pre> sections, thereby + appeasing Dave Raggett's "tidy" program -TD + +1999-09-13 (2.8.3dev.9) +* add -nobold, -noreverse, -nounderline options to disable corresponding + video attributes (based on a patch by John Hawkinson <jhawk@MIT.EDU>) -TD +* add STICKEY_FIELDS to lynx.cfg, which tells lynx whether to activate the + previous document when an extra key-left is given -VH,TD +* minor cleanup of run_external(), use single return, HTSprintf0 -TD +* for WATT32 configuration, call _eth_release() and _eth_init() in HTTelnet.c + to make telnet work properly -DK +* correct redefinition of u_long for WATT32 -LP +* modify syslog change to make it more specific, based on comments by KW -TD +* fix potential security problem with SYSLOG_REQUESTED_URLS, which would let + syslog() send sensitive information as broadcast to any syslog daemon that + care to listen. + E.g. URLs with embedded passwords are sent to syslog: + Sep 11 12:26:06 lynx[16177]: ftp://joe:password@host/~joe + The patch masks the password by breaking up the URL and replacing + the password with "******" (Gisle Vanem <giva@bryggen.bgnett.no>). +* fix mismatch of const's from call of map_string_to_keysym() in + lkcstring_to_lkc() -TD +* supply trailing slash for protocol_proxy settings (whether environment + variables or lynx.cfg) in HTAccess.c if the slash was omitted and if the + content otherwise looks normal (starts with http, no superfluous slashes) -KW +* add links for "Free WWW E-mail services" to online help -PW +* add links in online help to FAQ-o-matic -JES +* more fixes to build with slang under cygwin32 - DK +* add/use LYwaddstr(), etc to fix more const-casts (reported by PG) -TD +* modify HTTCP.c to prevent telnet and similar applications from inadvertently + using hostname tokens which look like command-line options -KW +* modify configure script's --with-charsets option so that if the option + --without-charsets is selected, then it will use a 'minimal' set. The + keyword 'minimal' is recognized as the list us-ascii,iso-8859-1,utf-8 + (request by KW, HN) -TD +* ifdef'd recursive calls on UCGetLYhndl_byMIME() for charsets that may be not + present (--with-charsets), and add getLYhndl_byCP() to cover a special case + of recursion which was also a preexisting hole (reported by Frederic L W + Meunier, analysis by KW) -TD +* replace fr.po with a placeholder. Add placeholders for ru.po, pt_BR.po -JES +* review/modify HTNews.c to avoid potential buffer overflows, as well as reduce + the number of embedded constants that make it difficult to adjust fixed + buffer sizes -TD + +1999-08-28 (2.8.3dev.8) +* correct ifdef's combining HAVE_POPEN and __CYGWIN__ in LYPrint.c, which would + link popen() code when it was not available -TD +* correct order of ifdef's for __CYGWIN__ in LYGlobalDefs.h, which would result + in a syntax error if the symbol __CYGWIN__ were undefined when __CYGWIN32__ + was defined -TD +* change hardcoded ifdef for <arpa/inet.h> include to autoconf'd form -TD +* modify makeuctb to add ifdef's allowing most charsets to be suppressed at + compile time. Use similar ifdef's in UCdomap.h to suppress registration + of non-uctb charsets. Add configure option --with-charsets to specify list + of charsets which are not suppressed (def7_uni is always active) -TD +* change makeuctb to generate the name of the output file, simplifying all of + the build scripts in chartrans -TD +* correct a syntax error in crypt_util.c from dev.7 and an ifdef in LYCurses.c + that sets the codepath -SH +* use macro TABLESIZE throughout for consistency -TD +* revert use of TYPECAST for parameter of 'FREE()' macro, since that puts a + cast on the parameter as an lvalue (reported by LV) -PG +* correct improperly-nested ifdef EXP_CHARSET_CHOICE in ifdef for USE_PSRC + in LYReadCFG.c -TD + +1999-08-26 (2.8.3dev.7) +* tweak ifdef'ing of `debug_delay' (only available with SH_EX _and_ WIN_EX) -LP +* tweak src/Xsystem.c (extern system_is_NT is now ifdef'ed with WIN_EX) so + exec_command() can also be used with DJGPP when compiled with _WIN_CC symbol + (though choice of _WIN_CC is questionable) -LP +* simplified ifdef'ing for resolv() vs LYGetHostByName() for DJGPP -TD +* DJGPP with WATT32 now does DNS lookup via LYGetHostByName()/gethostbyname() + like other lynx ports so we get reasonable error recovery when DNS lookup + fails. (For example, we now avoid a hang when wattcp.cfg is not configured + properly - a typical situation when playing with nullpkt.com). Build with + -DNSL_FORK (in both src and WWW makefiles) is recommended: this will prevent + unexpected 1 second curses delay when alerting a wrongly configured tcp. (No + real fork() in DJGPP, unfortunately: this function always returns -1 and set + 'errno' to ENOMEM, as MS-DOS does not support multiple processes. It exists + only to assist in porting Unix programs) -LP +* alternative patch (replaces HN's) for UCdomap.c -KW +* modify initialization of lynx_temp_space in case the given name has + embedded "~", ifdef'd for WIN_EX -SH +* fix a problem hanging caused by allowing some unknown entities in an ALT + string. The "hang" problem was caused by a combination of removing too much + under 'case S_check_name' in 'LYUCFullyTranslateString_1', _and_ having + having some Latin 1 character codes that are untranslatable to the display + character set -KW +* added lynx.cfg setting PSRCVIEW_NO_ANCHOR_NUMBERING that inhibits link + numbering when in psrc mode if set to TRUE (default is FALSE) -VH +* fixes for justification code (anchor position recalculation) and the + GridText.c:*TrimHightext (it was not designed to support LY_SOFT_NEWLINES), + correcting rendering of links on wrapped lines in psrc mode -VH +* fixes to www_tcp.h, LYUtils.c and UCdomap.c to build on BeOS 4.5 -TD +* fixes for CYGWIN with Slang, mainly due to platform differences in Slang -DK +* fixes for DJGPP, missing headers and declarations -DK +* let CJK charsets default to 7 Bit Approximations. Needed to display entities + in the decimal 160-255 range. (Restore behavior before the changes made to + declarations of charsets on 1999-03-04) -HN +* rename -number_links_forms to -number_fields -TD +* add the -number_links_forms command line option (John Hawkinson + <jhawk@MIT.EDU>). +* modify configure script so --enable-change-exec sets default for + the --enable-exec-links and --enable-exec-scripts options -TD +* modify ifdef's for ENABLE_OPTS_CHANGE_EXEC since one or both of EXEC_LINKS + and EXEC_SCRIPTS must also be defined to make this effective (reported by + KED) -TD +* add explanations of the various choices for revealing/not images, to Users + Guide, Options Help & lynx.cfg -PW +* fix LYgetstr() to disable saving of input text on LYE_ENTER state when the + input is supposed to be hidden -KW +* add/use LYaddstr() to fix some const-casts -TD +* move dependency of "lynx$x" from "install" to + "install-bin:" in top-level makefile.in -PG +* corrected display of SGML_LITTERAL content -VH +* now LY_SOFT_NEWLINE is used in psrc mode to denote wrapped lines (as in plain + source mode) -VH +* add configure option --enable-scrollbar -TD +* make the charset-choice code lynx.cfg-reloading-safe -VH +* add experimental code to allow users to specify that a subset of the + compiled-in charset definitions are available for selection for display + (ifdef'd with EXP_CHARSET_CHOICE, added configure option + --enable-charset-choice -TD) -VH +* add/use ANSI_PREPRO symbol to simplify ifdef's concerning preprocessor token + substitution/concatenation -TD +* modify ifdef of code that shows current CJK code in the title area under + SH_EX as well as CJK_EX -TD +* modify HTMLDTD.c to set canclose for <Hn> inside <PRE></PRE> -VH +* correct ifdef'ing of set_ws_title(), which should be applied only on win32 + (reported by Frederic L W Meunier) -LP, TD +* reduce compiler warnings from Borland C++Builder. Most of these are casts, + with boolean constructs dominating -JES + +1999-08-13 (2.8.3dev.6) +* workarounds in LYMain.c and LYMainLoop.c for excessive compiler warnings due + to defective design of glibc2 -TD +* modify logic for EXP_JUSTIFY_ELTS in GridText.c to change a raw + LY_NONBREAK_SPACE to ' ', to work better for tables -VH +* add/clarify user's guide for command line option syntax -DK, KW +* add a new command line toggle for DOS to control debugging of packets under + WATTCP and WATT-32. Under WATT-32, once dbug_init is called, debugging + cannot be turned off (although output can be sent to /dev/null). This new + option "-wdebug" controls whether debugging is active, is off by default -DK, + Gisle Vanem +* allow ':' as a separator between the option and its value -DK +* corrected install rule using symbolic link for copyright files (reported by + HN, KED) -TD +* reset "stalled for xxx" counter from IZ's ETA change in dev.5 between ftp + requests -VH +* add support for scrollbars, ifdef'd with USE_SCROLLBAR. Use command-line + options -scrollbar and -scrollbar_arrow or corresponding lynx.cfg to enable + it. Requires ncurses; may be further tuned if color-style configuration + is used -IZ +* LYCopyFile(): Thanks to Hiroyuki Senshu, DOS-based systems need no cp.exe + binary any more. The code was originally ifdef'ed with SH_EX; now defined + with DOSPATH so is used automatically by any dos/windows port, not used for + UNIXes (permissions?) -LP +* a few includes labeled with _WIN_CC now tweaked with WIN_EX as should be -LP +* adjustments to SH_EX, CJK_EX ifdef's in LYMainLoop.c and LYUtils.c to aid in + porting -LP +* improved logic in status_link() for -short_url option (patches from + NSH <nsh@itjit.ne.jp>, Eduardo Chappa) +* modify display_page() to not necessarily call lynx_force_repaint() to make + highlighting work when displaying UTF-8 -Christian Weisgerber, KW +* add check in read_directory() if transfer was interrupted -KED + +1999-07-30 (2.8.3dev.5) +* add/use LYHideCursor() macro to accommodate position in older curses -TD +* add configure option --enable-cjk to compile-in CJK_EX logic -TD +* add -short_url option and associated logic to elide middle of long urls + (adapted from patch by Eduardo Chappa <chappa@math.washington.edu>) -TD +* ifdef'd read-progress changes with EXP_READPROGRESS, add configure option + --enable-read-eta to turn this on -TD +* enhanced read-progress logic (Ilya Zakharevich): + a) makes size/transfer rate reports use format "8.3 KB" (instead + of "8 KB") if numbers are below 10 KB and reports are in KB; + b) makes transferred/expected/transfer-rate use bytes/KB independently + so "236 bytes of 56 KB" is possible, as is + "8.3 of 56 KB, 456 bytes/sec"; + c) adds "ETA 23 sec" info if available; + d) adds " (stalled for 75 sec)" info if available (updated each 5 + sec or so); + e) uses gettimeofday() if present (instead of current hacks) to get more + frequent updates. +* fixes for OS/2 and ncurses from Ilya Zakharevich: + a) Makes lynx ignore mouse events which are not clicks (filtering through + ncurses does not work as expected). + b) Makes mouse-clicks "basin of attraction" of a link wider (the area where + clicks make the link a current link). It was 2 units vertically and + horizontally, make it 2 units vertically, and 6 units horizontally. This + leads to "more intuitive selection". + c) Make processing of .lynx-keymap write messages to trace buffer; + d) LAC-keybindings were not working; + e) Allow .lss files include one another via INCLUDE:/file/name + g) Allow a change of default color in .lss files (not the color of attributes + text, but colors for a style if "default" is specified); This (together + with "e") allows for a simple modification of a color scheme + Here is an example of a .lss file with a changed default + foreground/background and a handful of other declarations fine-tuned for + this change. (It implements "Commander" style). "Overriding" + declarations should be put before INCLUDE:, and the "default:" declaration + should be the last one. + status:reverse:yellow:black + h1:bold:yellow:black + em.a:reverse:black:blue + em.b:reverse:white:black + font.letter:normal:default:black + link.blue:bold:white:brightblue + link.blue.prev:bold:yellow:brightblue + title:normal:magenta:black + i:bold:white + table:normal:white + blockquote:normal:white + li.blue:bold:blue:black + link.blue.next:bold:blue:black + normal:normal:default:default + INCLUDE:F:/emx.add/lib/lynx.lss + default:normal:brightcyan:blue + h) Improve algorithm for allocation of color-pairs; + i) Lynx was not recognizing HOME directory on EMX; + j) UP_LINK and DOWN_LINK now actually move along a vertical line (as far as + it is possible), including an arbitrary sequence of such keypresses. +* modify LYIsPathSep() macro to include '\' for OS/2 EMX -TD +* correct a problem with spurious cookie names when reloading lynx.cfg (Michael + Warner, KW) +* add check for too-long line in HText_ExtEditForm(), splitting it if needed + (reported by <yury.burkatovsky@telrad.co.il>) -TD +* move NO_GROUPS definitions from HTFile.c to HTFile.h to make them available + for use in LYUtils.c on DOS -LP +* correct several minor problems with integration of SH's changes in + GridText.h, HTAlert.c and LYPrint.c (reported by LP) -TD +* restore dev.3 interface to LYLowerCase and LYUpperCase and do casts + internally to work on unsigned chars -PG +* corrected typos in some messages (reported by Dmitry Sivachenko + <demon@gpad.ac.ru>) -TD +* changes for win32 -SH + + added ifdef's using _WIN_CC (for Borland C) to some places in prettysrc + definitions which use the __STDC__ symbol. + + renamed makefile.w32 to makefile.bcb + + renamed src/chrtrans/makefile.w32 to src/chrtrans/makefile.bcb +* the DOS port compiled with WATT-32 now works in a DOS window under Windows + 3.11 and Windows for Workgroups 3.11. It still needs its own packet driver + and does not use any native winsocks and has only been tested with Toni + Lopez's DOSPPP. This does fill a void for those running Win3.x, who + previously had to close Windows and go back to plain DOS before they could + run lynx. Updated the help files, reflecting current platform support -DK +* corrected definitions in HTTP.c and HTDOS.h to build with old TCP library -LP +* When keypad_mode was changed from forms options menu + set_numbers_as_arrows()/reset_numbers_as_arrows() was not reinitialized + (reported by KED) - LP +* SOURCE_CACHE: add one more parse setting member (keypad_mode) + to HText structure -LP +* SOURCE_CACHE: fix updating the document when "display charset" was changed + from Options Menu by user: FREE(anchor->UCStages) call from + HTuncache_current_document() now duplicated in HTreparse_document(). + (problem reported by KW) - LP +* tweak trace message in scan_cookie_sublist(): limit trace output by trying + LYstrstr() as a first approximation before host_matches() -LP +* open temp-file in LYNewsPost() in binary mode for DJGPP to avoid translation + of \r\n vs \n -DK +* add note about potential conflicts with cookie files to description of + --disable-persistent-cookies -BJP +* added status message to indicate state of text inputs -VH +* added ability to make text inputs non-sticky (i.e., user will have to + activate them explicitly via an LYK_ACTIVATE action) - seems useful for + people navigating with alphanumeric keys. Default is 'sticky' - i.e., old + behavior. Behavior is controlled via command line option '--sticky-inputs' + and STICKY_INPUTS in lynx.cfg -VH +* added conditionals to 'userdefs.h' that disable support for + force-empty-hrefless-a mode if lynx is configured without lss (it's not + useful for such setup) -VH +* minor change to prettysrc mode, writing comments one character at a time + to avoid translation of \r\n to \n\n in HText_appendText() -VH +* correct rendering of DL in EXP_JUSTIFY_ELTS, will inhibit justification of + DT's content -VH +* other modifications to EXP_JUSTIFY_ELTS logic, to use information associated + with each element that indicates whether it can be justified -VH +* modify HTMLDTD.c so that "center" is not treated with EXP_JUSTIFY_ELTS -VH +* fix for core-dump in EXP_JUSTIFY_ELTS -VH +* modify signal handling in LYSystem to workaround competing SIGTSTP handlers + when a subprocess is active. This adds a new function LYToggleSigDfl(), + using sigaction as an alternative to signal to save/restore as much of the + signal state as possible -KW +* add configure option --enable-justify-elts (request by VH) -TD +* add configure test for sigaction function and related structs -TD +* restore hardcoded escape sequences on Unix in setup_vtXXX_keymap() + inadvertently dropped in dev.4, to accommodate users of slang library who + have their $TERM set incorrectly -TD +* correct ifdef's for resizeterm() call to allow Lynx to build with old + versions of ncurses -TD + +1999-07-14 (2.8.3dev.4) +* minor fixes to build with SunOS K&R compiler -TD +* cleanup unbalanced curly braces from other recent experimental options -TD +* rename internal definition for LINKS_AND_FORM_FIELDS_ARE_NUMBERED to + LINKS_AND_FIELDS_ARE_NUMBERED to keep it shorter than 32 characters -TD +* change ifndef's for NO_JUSTIFY to ifdef EXP_JUSTIFY_ELTS since something in + VH's recent code causes core dumps, by crosslinking the state of two parts of + the parser -TD +* modify slang code to recognize F1 from terminfo/termcap on Unix (John E Davis) +* changes to use the WATT-32 tcp library, making a DOS port that does http, + ftp, news, mailto, and telnet -DK + Remaining work includes: + * This has been tested only with slang and the djgpp_keyhandler code. There + will probably need to be more changes to have this work properly with + PDCurses. + * There is at least one bug. When set to use http_proxy, there seems to be a + long wait between socket connect and write if the proxy is accessed too + rapidly in succession. It seems that if it is accessed more frequently + than about 20 seconds, there is a timeout of up to about 85 seconds. + * some problems with ctrl-break handling, will report to the watt-32 list. +* rename tcp.h to www_tcp.h -DK +* fix typo in manpage description of -color (Christian Hudon + <chrish@debian.org>). +* add $(LDFLAGS) to chrtrans/makefile.in, for NetBSD -JES +* use symbolic link rather than hard link for installing copyright files -TD +* now dashes and underscores can be intermixed in commandline options, and in + -restriction option, ifdef'd with OPTNAME_ALLOW_DASHES -VH +* added commandline switch '-dont_wrap_pre' that will inhibit line wrapping in + <pre> when -dump'ing and -crawl'ing. (But maximal length of line on output + can't exceed MAX_LINE (1023 by default)) -VH +* lynx.man updated to reflect new option -dont_wrap_pre and to note that gnu + style of options (with two dashes) is also supported -VH +* some small developer's docs tweaks -VH +* added text justification (controlled by commandline switch '-justify' and + from lynx.cfg too), ifdef'd with NO_JUSTIFY -VH +* added support for emitting backspaces (a-la man) - commandline option is + '-with-backspaces', ifdef'd with NO_DUMP_WITH_BACKSPACES -VH +* added support for forcing-empty-HREFless-As - ie A element that doesn't + contain HREF will be closed after it was seen (without waiting for </a>) - + this fixes rendering of documentation, produced by broken translators that + don't emit balanced 'A's (eg RedHat docs produced by 'dlh', Sybase docs) - + commandline option is --force-empty-hrefless-a, and force_empty_hrefless_a in + lynx.cfg, ifdef'd with NO_EMPTY_HREFLESS_A -VH +* changes for win32 by Hiroyuki Senshu <senshu@shonai-cit.ac.jp> SH: + from + ftp://crab.it.osha.sut.ac.jp/pub/Win32/develope/senshu/Lynx/ + based on his patch against 2.8.2pre.6 + Most changes are ifdef'd + #define _WIN_CC= .... for Windows C Compiler + #define CJK_EX .... CJK EXtension + #define SH_EX .... Senshu Hiroyuki EXtension + #define WIN_EX .... Windows EXtension +* add missing null-pointer check in MakeNewMapValue(), for verbose-images + (from Debian bug report #39596) -TD +* test/build with gettext-0.10.35 -TD +* renamed uppercase makefiles and .bat files to lowercase, change the makefiles + consistently to Unix-style format -TD + +1999-06-29 (2.8.3dev.3) +* move HTAlert call so we don't get it each time we run the options menu -TD +* entify messages in LYshow_statusline_messages() -LP +* add -DNO_PORT to WWW/*/djgpp makefiles -DK + This is to make ftp work with new version of the WATTCP library as revised by + Igor Poretsky for building lynx with DJGPP. The old version has been renamed + to "tcplibdj-old.zip". For the new package, go to: + "http://www.rahul.net/dkaufman/tcplibdj.zip" or + "ftp://ftp.rahul.net/pub/dkaufman/tcplibdj.zip" +* new option REUSE_TEMPFILES, see comments in lynx.cfg -KW +* use P instead of invalid TR for right-aligned "LYNXMESSAGES:" link in HISTORY + page -KW +* better support for accessing FTP directory listings on Windows NT FTP + servers: try to switch MSDOS-like directory output off with SITE DIRSTYLE. + The price to pay for this is one or (probably more often) two more command/ + response round trips -KW +* added support for accessing FTP directory listings in "dls" style sent by + some OS/2 servers. Only one server was known and used for testing, so the + heuristics used may not be quite general enough. File date/time is not shown + since it doesn't seem to be part of the basic format -KW +* in lynx.man removed bogus "ID:" for -assume_charset, + -assume_local_charset -KW +* in a list, render a <DIV> that doesn't have an ALIGN="center" or + ALIGN="right" attribute like a <P> in that situation: break the line if + necessary but don't create an empty line, an keep list indentation. This + addresses Debian bug #21331 -KW +* other changes for DIV: it's a block element, so make sure its contents + doesn't get rendered inline, even for nested DIVs that don't change text + alignment. Try to avoid improperly kept change of DIV styles' alignment by a + <P> or </P> in its content -KW +* make "treating H# in a list as an LH" work also for SortaSGML parsing, + previously it only worked with TagSoup -KW +* removed special handling for empty last field from LYstrsep(), which made it + act differently from (GNU) C library's strsep() -KW +* macro DEFAULT_INVCHECK_BV for default invalid cookie checking behavior, can + be changed at top of LYCookie.c for those who really want that -KW +* reorganize code for invalid cookie checking / prompting somewhat, it is + hopefully easier to follow now, and should result in more logical prompting + (or not) if a cookie is invalid for more than one reason -KW +* change invalid cookie confirmation prompts to default to "no" answer. This + can prevent the impression that Lynx hangs because the prompt is not + completely visible. There should be a better way to ensure that all prompts + are recognizable as such (at least with "normal" screen widths) -KW +* use more of the available statusline width for showing cookie name and value + in normal cookie prompts -KW +* handle \" in quoted cookie values, so that the quote char doesn't end the + value string -KW +* write quoted cookie values to cookie file with the quotes ('"' chars). When + the cookie file is read, assume that quoted strings are quoted cookie values. + It would be better to have a separate flag stored, but we are limited by the + choice of the Netscape-compatible file format. This should resolve Debian + bug #35523 -KW +* handle empty value strings like any other cookie values: they can be kept in + the cookie jar (in memory), and can be written to and read from the cookie + file -KW +* more checking whether a line read from a cookie file is complete -KW +* write out second field in cookie file lines a TRUE or FALSE depending on + whether the domain can be used for suffix matching or has to match + completely. This seems to be how Netscape uses it. We don't actually use + this field when reading a file (presence of a leading dot in the domain value + tells us what we need to know), but this should improve behavior for people + sharing a cookie file between Lynx and a Netscape browser (although such + sharing shouldn't be recommended) -KW +* treat case as insignificant in cookie domains more consistently -KW +* remove remnants of FROM_FILE domain behavior, it was unused -KW +* add some clarifications in lynx.cfg regarding cookies -KW +* entify strings when adding them to LYNXMESSAGES: stack -KW +* save HTAlwaysAlert messages for LYNXMESSAGES: page -KW +* generate TRACE output for prompts that use HTConfirm() or + HTConfirmDefault() -KW +* make sure force_old_UCLYhndl_on_reload is initialized and reset properly -KW +* minor tweaks (LYCharUtils.c, LYMain.c, LYPrint.c) -KW +* flush Lynx.leaks file after writing each memory leak record but before + freeing the memory block, to ensure the info is on disk if something goes + seriously wrong (i.e., FREE causes a signal) -KW +* more general checking in postoptions - `lynx LYNXOPTIONS:foo' now doesn't + crash -KW +* revived dired "install" functionality, more or less as it was (apparently) + originally meant to be used, but with various checks added. Compilation is + now conditional on new symbol OK_INSTALL. The "install" function is the + closest we have to a "copy file" function, and could be used instead; the + actual command executed depends on macros INSTALL_PATH and possibly + INSTALL_ARGS, one can define INSTALL_PATH for example to "/bin/cp" before + compilation to effectively get something like a dired "copy" function. Note + the the "install" function requires a special file in the home directory, + which can be customized, see samples/installdirs.html -KW +* new function HTURLPath_toFile in HTFile.c. Use it if we don't have a full + URL where HTnameOfFile_WWW was used previously, this avoids misparsing of + some unusual URL forms for files -KW +* other changes for dired support (KW): + - various corrections with respect to URL-unescaping: don't escape + too often or too little, dired operations could fail on filenames + with special characters + - avoid some unnecessary copying and allocation for filenames + - avoid some more static buffers + - add some buffer overflow checks +* make local directory display somewhat interruptible even without + partial page display -KW +* make do_readme in HTFile.c 8-bit clean -KW +* tweak in HTTP.c to avoid doing strlen() on received data that are to be + passed on raw; raw NUL bytes within the first block read could lead to data + loss -KW +* change newly introduced CAN_ANONYMOUS_* at end of userdefs.h to be FALSE by + default, to get behavior with -anonymous that is equivalent to 2.8.2 -KW +* handle some more common forms of mailcap $DISPLAY tests internally in + HTInit.c -KW +* correct a problem which appears when the curses library causes FANCY_CURSES + to be defined but not COLOR_CURSES: the code can call attrset() twice for + the same characters, thus replacing the original attribute with the new one. + Fix by using attron() instead (patch by Julian Coleman + <J.D.Coleman@newcastle.ac.uk>) +* modify LYonedot() so it does not change its parameter, avoiding corrupting + the name to be zipped (reported by DK) -TD +* modify LYDownload.c to skip over delimiter for file://localhost to avoid + treating it as part of the DOS filename -DK +* alter LYExecv() to only do an HTAlert if the return-code is zero, i.e., an + error was reported. This lets us reuse (and free) memory pointed to by + tmpbuf (reported by DK) -TD +* remove redefinition of lstat() and change test of stat() function with DJGPP, + which returns nonzero rather than negative on failure -DK + +1999-06-18 (2.8.3dev.2) +* move some of the path-manipulation from the DJGPP dired change into new + functions LYisAbsPath, LYisRootPath and LYLastPathSep -TD +* dired support with DJDPP -Igor B Poretsky, DK, TD + (patch adapted by DK from Igor B Poretsky, (Some corrections/rework by TD + also - must retest). + Some notes from DK: + + since this is DJGPP based, it may be incompatible with a called program + that uses a WATCOM DOS extender. I think I had this problem with a + precompiled binary for zip. The current zip binary doesn't have this + problem. + + The key to making this work with DJGPP is the __sysflags = 0x501d in + LYMain.c, since this lets the system() call handle multiple commands on one + line and allows the cd command to work across disks. + + I didn't look at Igor's changes to LYMainLoop.c as regards to the HTUncache + calls. He said he wasn't sure about this. + + This was tested with Info-Zip's zip and unzip, GNU tar, gzip, comp430d, + PKZIP, and PKUNZIP. This was only tested when built with slang. I don't + see where PDCurses is likely to cause a problem, however. + Problems: + + To make this work, I made lynx_edit_mode = TRUE in LYMainLoop.c. This does + not seem to be the correct solution. It seems that this should be handled + by the code in HTAccess.c, but I don't understand how this works. If + lynx_edit_mode isn't true, the dired menu doesn't appear with the "f" + invocation of LYK_DIRED_MENU. + + I'll try to explain this briefly, but this bug is very reproducible. If a + program is invoked from the dired menu which needs to interact with the + user, the system sometimes freezes and has to be rebooted. For example, a + call to unzip a zip archive where the files already exist has zip ask if + the file should be overwritten. If done initially after lynx is started, + no keystrokes are accepted and the system always hangs. If, however, any + file has been moved or had its name changed via the dired menu, then the + above problem doesn't occur. I have tried to see what changes after the + name change that fixes this problem, but I am stumped. Gzip and unzip seem + to have this problem, but PKUNZIP doesn't. +* correct most-recent LYNX_RELEASE_DATE (reported by KW) -TD +* change touchline() call in LYOptions.c to touchwin() in case anyone wants to + compile with BSD 4.4 curses (reported by IC) -TD +* modified ifdef for DECL_ERRNO to allow for errno to be a macro -TD +* ifdef'd the extern declaration of h_errno in HTTCP.c in case that name is + also a macro, e.g., for threaded code (reported by Mike Gravitz + <ddavid@lamar.ColoState.EDU> on AIX 4.3.1.0) -TD +* rename ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS to keep the names less than + 31 characters, and add configure option --enable-change-exec to set the + ENABLE_OPTS_CHANGE_EXEC ifdef -TD +* correct syntax of popup_choices() within + ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS ifdef (reported by IC) -KW +* modified some message texts, mostly for consistency -KW +* correct display of local file times in INFO screen -KW +* add null-pointer checks for buf2 variable in + exit_immediately_with_error_message(). Invalid memory access happens if + access to startfile fails but first_file is not true -KW +* change all ifdef's except on for VAX Ultrix that use the presumed predefined + symbol 'unix' to 'UNIX', which the configure script sets. Not all Unix + systems define this in their compiler -TD + From compiler warning on NetBSD 1.4 (report by JES): + deprecated symbol "unix" is no longer predefined +* add experimental file-upload, ifdef'd with EXP_FILE_UPLOAD and configured + with --with-file-upload (adapted from patch by RP) -TD +* document use of '|' pipes in PRINTER commands in lynx.cfg -TD +* add shell script man2hlp.sh, used that to generate lynx.hlp from lynx.man -TD +* SOURCE_CACHE: source_cache_file and source_cache_chunk are now members of + HTParentAnchor (where they should belong, not HText nor mutable globals). + Add one more parse setting member (verbose_img) to HText structure -LP +* correct spelling of ifdef for reload_read_cfg() (reported by KW) -LP +* minor docs tweaks -LP +* test/{sgml.html, unicode.html} files were badly broken for tagsoup mode + (incorrect html: extra <pre>..</pre> were added inside PRE mode in dev26) -LP +* fix back-slashes conversion for DOSPATH systems when expanding ~ to local + path (mostly affects information screen) -LP +* correct default value for --disable-persistent-cookies configure option + (reported by HenSiong Tan <tan@stat.psu.edu>) -TD +* uncomment --with-libjs configure option -TD + +1999-06-11 (2.8.3dev.1) +> minor corrections by TD, patch from KW: +* Key handling changes: + - Extended lynxkeycodes: a bit flag is used to indicate that the lower bits + of the value already are a lynxactioncode and need not be looked up again. + Reduces need for back and forth forward and reverse binding lookups; + currently only used in some places. + - Extended lynxkeycodes: several (currently three) bit flags are used to + indicate key modifiers. + - Added some macros for manipulating and mapping of these codes, see + especially LYKeymap.h, LKC_TO_LAC() etc. Added some comments about the + various kinds of codes. + - Added several editaction codes and flags for setting key modifier on next + key (i.e. for declaring keys as prefix keys, for the purposes of line + editing); for flagging a key for different action if same key is repeated; + for exiting input field line editing and passing a specific lynxactioncode + on; and for undoing 8-bit C1 -> 7-bit replacement transformation for some + chars. Added code to line-editor implementation to react to these new + editactions. Note that the mapping of lynxkeycode to lynxactioncode + outside of line editing, i.e. KEYMAP in lynx.cfg etc., ignores the + modifiers. The main loop just drops modifier flags or ignores the modified + key; modifier flags cannot be used in lynx.cfg KEYMAP 'keystroke' values. + - An ESC not recognized as part of an escape sequence can set the appropriate + modifier flag in LYgetch(), except for SLANG which normally uses a + different LYgetch() implementation. Interpreting an ESC prefix as modifier + is very useful for situations where a held-down Alt key (or some other key) + is encoded this way: linux console, kermit with emacs key mappings, + possibly xterm with '*eightBitInput: false'. OTOH it doesn't work for all + characters or in all situations. + - Extended syntax recognized in .lynx-keymaps file (which is only used if + compiling with USE_KEYMAPS defined, which in turn depends on slang and + ncurses version): + (a) Meta-foo can be used to map an escape sequence to a key + modifier. + (b) LAC:foo can be used to map an escape sequence directly to a + lynxactioncode (actually, to an extended lynxkeycode that + encapsulates a lynxactioncode). + See examples added to samples/lynx-keymaps. + - Extended syntax of KEYMAP option, additional field can override line-editor + behavior. PASS documented in lynx.cfg. + - Extended syntax that can be used for specifying key in KEYMAP, some of the + forms allowed in .lynx-keymaps file are now additionally recognized, but + only if compiling with USE_KEYMAPS defined. Left undocumented in lynx.cfg + (maybe subject to change). + - New "Bash-like" Line Editor binding. Adds several new emacs-like editing + functions. Adds tables for keys with modifiers (actually the same table is + currently used for all modifiers, to save some space). Most notably, ^X is + a prefix key to set a modifier flag. Keys with second function when + pressed twice are ^E^E and ^K^K. ESC is also recognized as setting a + modifier flag, in case it gets through without been having been handled in + LYgetch(). See new file keystrokes/bashlike_edit_help.html for more info. + The Bash-like Line Editor Bindings are only compiled in if compiled with + -DEXP_ALT_BINDINGS / configured with --enable-alt-bindings (but not subject + to a new macro). Implementation code for the new emacs-like functions + additionally ifdef'd with ENHANCED_LINEEDIT. + - Avoid dependency on DNARROW key binding when form field line-editing is + ended with Enter or Return key. + - Take setting of real_c/old_c into consideration after return from form + field line-editing. Previously there were some strange effects: + statusline messages would sometimes not appear when they should, the KEYMAP + command would sometimes not work when invoked with ^Vk while in a form + field. + - Make NOCACHE ('x') work for TEXT_SUBMIT_TYPE form fields (i.e. forms with + a single text input field where Enter automatically submits). Of course + 'x' has to be typed as ^Vx while line-editing the field (or NOCACHE mapped + to a different key). Similarly allow DOWNLOAD, and HEAD to work for such + fields. Try to ensure that all permission checks that apply to other form + submissions are also done for TEXT_SUBMIT_TYPE fields, this wasn't the case + before. + - New key actions LPOS_PREV_LINK and LPOS_NEXT_LINK. They are like PREV_LINK + and NEXT_LINK, with the difference that, when moving to a form input or + textarea line, the last column position (relative to the field) is + remembered. They are not mapped by default, but mentioned in lynx.cfg. + - New key action DWIMHELP. It should give some context-sensitive help. + Currently the appropriate Line Editor Binding help page is shown if a form + input field is selected, otherwise it defaults to the main HELP page. + - New key action DWIMEDIT. Revert meaning of EDIT back to previous meaning: + always edit document file, not textarea content. DWIMEDIT acts like + EDITTEXTAREA if the current link is a form textarea or input field and + AUTOEXTEDIT was defined, and like EDIT otherwise. Also added slightly + different statusline message if form field external editing cannot be done + because editing is disabled: it shouldn't refer to "The 'e'dit command". + - Summary of reasonable ways to invoke external texarea editing (assuming + that it is desired to keep the action of 'e' to edit files at least outside + of input fields): + 1) KEYMAP 'e' to DWIMEDIT, invoke ^Ve. (if AUTOEXTEDIT is defined, + which is the case by default.) + 1a) KEYMAP <some other key> to DWIMEDIT, invoke ^V<some other key>. + 1b) KEYMAP <some other key> to EDITTEXTAREA, invoke ^V<some other key>. + 2) KEYMAP a key (function or control, not printable!) to EDITTEXTAREA + or DWIMEDIT, using PASS in the KEYMAP line. + 2a) Find some key whose LineEdit binding is already LYE_FORM_PASS, and + KEYMAP it to EDITTEXTAREA or DWIMEDIT. + 3) compile with EXP_ALT_BINDINGS defined (--enable-alt-bindings), + select Bash-like Bindings, + invoke ^E^E or ^X^E (or ESC ^E aka M-C-e), or + invoke ^Xe (or ESC e aka M-e), or + 3a) compile with EXP_ALT_BINDINGS defined (--enable-alt-bindings), + and without selecting Bash-like Bindings + (invoke ESC ^E aka M-C-e or ESC e aka M-e). + Bindings in parentheses under 3/3a may not work with slang unless a + tweaked .lynx-keymaps file is used. +* Other changes related to textarea handling: + - More appropriate message statusline message if GROWTEXTAREA or INSERTFILE + cannot be done because a textarea is not selected: it shouldn't refer to + "external editor". + - Check whether an editor is defined before trying to use it for textarea + editing. Generate message if spawning of external textarea editor failed. + - Allow INSERTFILE only if file access is not restricted. + - Enforce dotfiles restriction and "show dot files" setting for INSERTFILE. +* Mouse handling changes, mostly only if mouse support comes via ncurses: + - Re-enabled changing link by clicking in area *near* a link (but not on the + link text), but limit max. distance to 2 character positions. + - Make mouse popup menu disappear when it should, by applying the right magic + touchline() in popup_choice(). + - Lots of small tweaks to remove glitches in mouse handling, among them: No + left scrolling of long input fields on entering with mouse. Try to ensure + statusline is updated after mouse menu. Make menu actions work as + expected. Avoid acting on mouse events, especially invoking mouse menu, in + wrong context (e.g. while at a prompt), at least in many places. + - Clicking on left or right border of mouse menu now only moves selection. + - At right end of top/bottom line, where single click causes HISTORY action, + double click now causes VLINKS action. + - Allow to distinguish between submitting and just positioning into a + TEXT_SUBMIT_TYPE input field. Single click positions, double click + submits, 'activate' from menu also submits. + - When initializing ncurses mouse, call mousemask() with only those bits set + that we may actually be interested in. +* Changes relevant for handling window size changes: + - For ncurses, changed the way how mainloop() notifies the curses library + about a window size change. The approach taken previously, and still used + if we are not using ncurses, has more overhead, can unnecessarily switch + out of the alternative screen buffer (and back) under xterm, and didn't + really make ncurses update the WINDOW structures for the new size in time. + - Other tweaks for size change: make sure curdoc.link is valid after + refresh. + - Detection of size changes in more situations: tolerate EOF from GetChar in + the (non-SLANG) LYgetch_for() in more cases if errno is EINTR, if this + happens check for a size change and generate trace output. Recognize + KEY_RESIZE from ncurses, check for a size change and generate trace output + when it occurs. + - Added NONRESTARTING_SIGWINCH lynx.cfg option and -nonrestarting_sigwinch + flag. If set, lynx *may* react more immediately to window size changes + when running under xterm or similar. Whether this actually has an effect + depends on the implementation of sigaction() and on the behavior of the + curses (or similar) library when a read() (or other system call) is + interrupted by signals. + Depends on '#if HAVE_SIGACTION', which currently has to be defined by hand, + for example by 'make SITE_DEFS="-DHAVE_SIGACTION"'. The command line flag + is only available on systems with HAVE_SIGACTION and SIGWINCH. + - Tweaks so that lynx in an xterm can survive when the window size is made + (probably temporarily) very small, for example 1x1. Avoid display_page's + work if it wouldn't be displayable anyway. Make display_title handle very + small screen widths, at least to the degree that it doesn't crash. +* Except for VMS or when DOSPATH is defined, set restore_sigpipe_for_children. + Fixes Debian bug #33853, maybe not really a bug but let's be nice. +* Changes in HTTCP.c: + - Added a CTRACE_FLUSH before creation of NSL_FORK child process. + - Block certain signals during creation of NSL_FORK child process, if + sigprocmask() and friends are available. This should prevent a rare + problem where sometimes the child process could be killed before it has a + chance to modify its signal handlers, resulting in screen corruption, a + seemingly hanging lynx, and/or other problems. It is assumed that + sigprocmask() etc. are available if HAVE_SIGACTION is true. It currently + has to be defined by hand, for example by 'make + SITE_LYDEFS="-DHAVE_SIGACTION"'. + - Generate diagnostic messages for some failures of forked lookup. Depends + on HAVE_H_ERRNO. In particular, try to detect whether the child process + failed because of memory problems, and also fake a 'z' in that case to + short-circuit a URL guessing cycle. + - For most systems, generate more trace output for connection attempts, close + to the actual connect() and select() calls to prevent clobbering errno. + See SOCKET_DEBUG_TRACE. This should help diagnose some obscure + system-dependent problems that have occasionally been reported. +* Added some missing stuff for color handling to forms Option Menu code. +* Printing to screen sometimes didn't show anything for short texts, if screen + output was buffered (and ncurses makes stdout buffered). Added another + fflush(stdout) in send_file_to_screen(). +* Some checks for specific URLs (helpfilepath, lynxlistfile, and lynxjumpfile) + in LYGetFile.c were inappropriately case-insensitive for Unix. The + comparison is now case-sensitive except for VMS. This may need tweaking for + DOS and similar systems. +* Added additional LYNoRefererForThis check in getfile(), the one in mainloop() + could be missed for TEXT_SUBMIT_TYPE form fields. Also moved other check for + whether to send Referer header earlier, and made it apply for URL types that + might be proxied. +* LYAddVisitedLink tried to regard documents with the same address but a + different title string as different documents, but this was coded wrong. + Removed ineffective comparison, but keep old title string if new title string + is empty. +* Correct long-standing logic error in MAIL_SYSTEM_ERROR_LOGGING handling. + Apparently not many people are using it... +* Fix for traversal code to put the right address into the TRAVERSE_REJECT_FILE + if a request fails after popping a document from the history stack (this can + only occur if a previous request for the same document had succeeded). Also + don't try to send mail in such a case if MAIL_SYSTEM_ERROR_LOGGING is on. + Also prevent possible history stack underflow if this occurs on return to the + first document. +* According to lynx.cfg, error logging mail may be sent to ALERTMAIL if no + document owner is known, but this was not implemented; now it is. ALERTMAIL + is used if it is defined non-empty in userdefs.h. Of course normally it + should be left undefined. +* Fix for traversal code to reject form fields a bit earlier. This prevents + unnecessary lookups as well as adding of an empty line to the + TRAVERSE_REJECT_FILE for each form field encountered. +* Format -crawl output as was documented in CRAWL.announce: with this switch, + link numbering is always off by default (userdefs.h and lynx.cfg defaults und + saved user preference are ignored) unless -number_links is given, and -crawl + -traversal format is now consistent with -crawl -dump with respect to link + numbering. As a side effect, -crawl without either -traversal or -dump now + also turns link numbering off unless -number_links is used (the meaning of + -crawl without either of these was undocumented), so it then acts effectively + as a (less powerful) negation of the -number_links switch. +* For -crawl -dump, the list of links was appended twice. Fixed. +* Check URL as well as title before deciding that a document should not be + pushed on the history stack because it looks like a generated special page. +* Made "Don't waste the cache" optimization in historytarget() subject to + additional checks, to avoid uncaching of the wrong document in some cases. +* LYSafeGets() would drop the last line from a file if it was not terminated. + Changed to return the unterminated line like fgets(). +* Clarifications on restrictions. "download" does not imply "disk_save" while + "print" does, this doesn't seem to make much sense but has been the behavior + for a long time. +* Restrictions inside_news, outside_news now apply to reading as well as + posting. The documentation (except for the corresponding comments in + userdefs.h) said that they apply to posting, while in fact they were + implemented for reading only. [Does nobody read this stuff???] Also, the + implementation only checked the flag for news: URLs, but not for nntp: + URLs, which doesn't make much sense given that the latter provide an + alternative way for most (if not all) purposes of the first. So now these + restrictions apply to news:, nntp:, newspost:, and newsreply: (but not to + snews:, snewspost:, or snewsreply:). +* Document -restrictions=externals. +* Some of the restriction stuff not added to VMS lynx.hlp file, since I'm not + quite sure whether the corresponding features work there at all. +* Changed restriction parsing so that "all" and "default" don't get ignored if + they appear as one of several items in the same list. +* Implement listing of current restrictions to stdout with new -restrictions=? + option. This should appear as the last command line option, otherwise the + effect of options appearing later may not be shown. The '?' may require + quoting. +* Made -restrictions= (without any option flags) act like -restrictions + (without equal sign either) as implied by documentation, i.e. list + recognized restriction options. +* LYRestricted has been greatly abused. Once upon a time it was a PRIVATE flag + in LYMain.c (then called anon_restrictions_set), used only to get the + precedence of various command line options right. Recently it has been + misused as a check (and as the only one) whether "anonymous restrictions" are + in effect. This undermines various assumptions: + - that -anonymous is basically an aggregate set of restrictions which could + be specified individually with -restrictions=. + - that individually listed restrictions (-restrictions=...) act as expected, + and can be used to restrict various aspects in a useful manner. + - that -validate implies the strongest restrictions, except for what is + explicitly exempted (i.e. 'g'oto for http/https URLs). + Use specific restrictions instead: + - new "compileopts_info" for LYNXCOMPILEOPTS: - for anonymous default see + userdefs.h + - new "lynxcfg_info" for LYNXCFG: - for anonymous default see userdefs.h + - new "lynxcfg_xinfo" for extended LYNXCFG: - for anonymous default see + userdefs.h + - new invisible "goto_configinfo" for LYNXCOMPILEOPTS: & LYNXCFG: for + anonymous default, see userdefs.h + - additionally check existing "option_save" for LYNXCFG://reload/ - + always restricted by anonymous default + ("invisible" means that this restriction cannot be explicitly listed in a + -restrictions=... list, but has a value derived from userdefs.h that is used + with -anonymous and -restrictions=default.) +* Forms options menu can now be used with -validate. +* Allow following local help file links, even if "file_url" restriction is set, + from LYNXKEYMAP, LYNXCOOKIES. (Possibly more need to be added.) +* Apparently realm checking (with -realm option) is bypassed for URLs from + (some) form submissions (it seems to be intentional, but why?). Made sure + this at least doesn't weaken -validate restrictions. +* Apply -localhost check in getfile for news URLs that include a hostname, + i.e., that begin with with "news://". +* Add '&' to nonalphanumeric characters forbidden by exec_ok() for lynxexec and + lynxprog URLs, but keep allowing it for lynxcgi. There's not much point in + excluding ';' and so on if '&' is acceptable! +* Tweaked LYNXMESSAGES: handling slightly: don't bypass normal getfile + handling. +* Reset LYforce_no_cache flag in mainloop() after failed access, before popping + the previous (or, actually, probably currently still displayed) document. +* Tweak for 'no data' handling: it isn't always an error, but was sometimes + treated as such. It mostly doesn't make a difference, except for the message + printed when the startfile cannot be accessed and for traversal and mail + error logging. This needs to be revised to apply for all protocols. +* Added new functionality for rules: Redirect, UseProxy, various others. See + cernrules.txt in samples directory for details. +* Prevent crashes in HTNews.c with HEAD. +* Allow HEAD requests for proxied URLs (checking whether any applicable proxy + begins with http: or lynxcgi:), as far as this can be determined based on + regular environment settings (i.e. unaware of proxying by rules). +* Modified add_item_to_list() so that if the restriction flag is omitted from a + DOWNLOADER/UPLOADER/EXTERNAL line in lynx.cfg, it is assumed FALSE. This + modifies the change of 1998-10-17 to be on the safer side, it is more + consistent with how PRINTER lines or lines with the colon separator present + but the flag value absent are handled, and it only makes a difference when a + -restriction command line option or its equivalent is in effect anyway. +* Deal with unusual cases where telnet and similar protocols are proxied, or + possibly changed to a different type of protocol by rules. Normally such + protocols should never be proxied, but there was no protection against it, + and lynx could crash. The approach now taken does not disallow it, but just + tries to deal with the situation in a way that avoids crashing; it is + conceivable that one may want to direct e.g. telnet or rlogin URLs to a HTTP + page that explains why theses types are not supported. A similar problem + that occurred when e.g. telnet was forbidden by a rule is also dealt with. +* Protect start_curses calls in getfile against being executed if + dump_output_immediately is in effect. Maybe access to telnet, rlogin, + lynxexec URLs should be completely disabled for this case; skipping the + start_curses at least avoids being left with non-restored tty settings after + the program exits, is someone attempts to use -dump or -source with such a + URL (the -dump or -source flags is then effectively more or less ignored). +* Tweaks in fix_http_urls, renamed fix_httplike_urls. +* Moved LYStrerror from LYStrings.{h,c} to HTAlert.{h,c}, so that it can be + used in HT*.c files without pulling in yet more LY*.h headers. +* Reset 'safe' flag in anchor on parsing "Safe: no" and "Safe: false" headers. +* The top makefile.in had some 'rm -rf' for whole directories $(helpdir) and + $(docdir) in install targets that could potentially wipe out unrelated files; + added checks to make sure the directories haven't been changed to something + not lynx-specific (they are regarded as lynx-specific if the last component + is lynx_help and lynx_doc, respectively). +* Various doc tweaks. +* Updated README.defines. Other contributors should please add their stuff + there, too. +* Additional non-option args (before the last one), i.e. URLs or filenames, + are made available for 'g'oto recall. If unwanted, this can be disabled by + changing EXTENDED_STARTFILE_RECALL in LYMain.c -KW +* In UCChangeTerminalCodepage() used for --enable-font-switch with linux: use + LYOpenTemp() etc. instead of tempnam(), this avoids "Invalid pointer" with + LY_FIND_LEAKS and avoids leaving old temporary files hanging around in some + situations. Also added some error checking -KW + +1999-06-01 (2.8.2rel.1) +----------------------- +1999-06-01 (2.8.2pre.11) +* minor fixes from W3C HTML validation -TD +* update links to HTML'ized lynxcfg in users' guide -VH + +1999-05-31 (2.8.2pre.10) +* add links to HTML'ized lynxcfg to users' guide -LP +* cleanup temporary files left by + lynx -dump LYNXCFG:// > /dev/null + (analysis by LP) -VH +* add comments to lynx.cfg describing effect of restricting configuration + settings in nested includes -VH +* delineate URL's in README with "<URL:" and ">", with space in lynx.man -LV +* add some comments to lynx.lss -TD +* minor improvements to configure script: use newer config.guess and + config.sub from xterm, which adds case for HP 9000/800 (fix problem reported + by Peter Jones <jones.peter@uqam.ca>) -TD + +1999-05-29 (2.8.2pre.9) +* use StrAllocCopy rather than HTSprintf in LYstore_message() because no + formatting is done there; the message may contain formatting controls such as + %s (related to bug report by Frederic L W Meunier <fredlwm@urbi.com.br>) -TD +* add/use function LYRenamedTemp() to update our record of temporary filename + when using external decompression program, so we will remove the decompressed + file correctly on exit. This is the usual case if we do not link with zlib + (reported by HN) -TD +* modify LYValidateFilename() to derive original directory preferably from + Current_Dir() rather than environment variable $PWD, since the $PWD directory + may not be writable if Lynx is invoked from another application rather than + directly from the command line -TD +* add/use function Current_Dir(), to check for failure in getcwd/getwd -TD +* change ALL_LINGUAS assignment in configure script to use the .po file which + actually reside in the po directory, making it simpler to drop/add message + files from a distribution of Lynx. Also, make the assignment contigent on + ALL_LINGUAS not being set externally, making it simple to override -TD + +1999-05-28 (2.8.2pre.8) +* when reloading/reparsing the document with forms, issue a warning only when + user input is detected (forms content is changed from its default so + information will be lost). New function HText_HaveUserChangedForms() is + called from HTReparse_document() and HTuncache_current_document() -LP +* fix exit from postoptions() when need_reload is set but no source_cache, + was broken in dev23 -LP +* remove unneeded float from integer calculations -LP +* move comment for 'const' off the definition line, to simplify debugging + configure problem on HPUX for David Eaton -TD +* move LYGetYX() out of conditional expression, just in case it cannot be + evaluated as a function, i.e., return a value (from bug report by David + Eaton) -TD +* make install for COPYHEADER and COPYING work when the build directory is not + the top source directory -PG +* add check to FastTrimColorClass() to avoid updating stylename and pointer + into it when the tag to be trimmed is not found (fixes a core dump reported + by VH) -TD + +1999-05-25 (2.8.2pre.7) +* update illustration of forms options menu in Lynx User Guide according to + current lynx output -LP +* old-style options menu: hot key for "local e(X)ecution links" is now + displayed in bold (call addlbl() instead of addstr() like the other options + do), adapted from Hiroyuki diffs -LP +* fix handling of incorrect html in psrc mode. If a piece of html matched the + pattern "<known_tag_name unknown_attr_name any_attr_name>", then styles of + internal markup were unbalanced - resulted in cluttered colors -VH +* comment-out (for release) configure option --enable-libjs -TD +* change configure script defaults for --enable-persistent-cookies and + --enable-alt-bindings to 'yes' -TD +* add DESTDIR variable to top-level makefile to facilitate packaging releases + with compiled-in pathnames -TD +* further correction to VMS pathname in HFTPLoad.c, to translate /vms/fileserv/ + to [vms.fileserv], for example. The wku fileserver gives back a Unix-style + listing rather than VMS-style when given a Unix-style CWD, which confuses + Lynx into discarding the listing (reported by Andy Harper) -TD +* modify LYCookies.c to append new items to the end of the list rather than + at the start, so cookies will be written and read from .lynx_cookies in + consistent order (reported by KED) -TD + +1999-05-24 (2.8.2pre.6) +* fix for problem reported by LP -VH + Load an html file with META charset and switch "\" to source mode. Now press + ^R to reload: + (1) In -prettysrc case you got a broken document (charset will be assumed by + lynx from assume_charset or assume_local_charset, not from a META charset + which was previously pushed with LYPushAssumed() so you get a problem with + 8bit documents when assume_charset != META charset). + (2) Without -prettysrc you got a document handled properly via META charset + assumption. Now if you press ^R again you will get a broken document. +* LYK_SOURCE & HTreparse_document(): when using SOURCE_CACHE_MEMORY fix tiny + charset problem when switching to the source mode and the original document + have its charset specified. Now aligned with SOURCE_CACHE_NONE and + SOURCE_CACHE_FILE. More LYK_SOURCE fixes that might affect next coming + document in come cases (mainly Info page and Options menu, which now show + correct charset information) -LP +* add CTRACE_FLUSH call before fork() in NSL_FORK logic so child's messages + will not mess parent ones -LP +* add a few trace messages -LP +* HTReadProgress message now display statusline properly in TRACE mode + (was always broken since early HTReadProgress days) -LP +* install COPYING and COPYRIGHT for install-help rule as well as install-doc, + so we can refer to local copies of those files -TD +* tweak HTParse trace message -LP +* minor formatting change for Lynx_users_guide.html -SH +* correct a few mismatches between variable declarations (char vs BOOLEAN) + (adapted from win32 version by Hiroyuki Senshu <senshu@shonai-cit.ac.jp>) -TD + +1999-05-20 (2.8.2pre.5) +* correct links to COPYHEADER and COPYING in about_lynx.html, by pointing to + author's URLs, rather than to files which are not installed anyway -PG +* shorten a couple of identifiers to keep with 31-character limit, i.e., + hash_code_aggregate_lower_on_fly -> hash_code_aggregate_lower_str + LYprint_statusline_messages_on_exit -> LYstatusline_messages_on_exit + (reported by Andy Harper) -TD +* correct VMS pathname in HTFTPLoad(), allowing connect to + ftp://ftp.wku.edu/vms/fileserv (reported by Andy Harper) -TD +* chartrans: cpXXXX Microsoft codepages verified against ftp.unicode.org - + apparently cp1256 (Arabic) was updated recently. Although Arabic letters are + hardly useful for lynx (no right-to-left support) this codepage is supported + under chrtrans. So update, just for fun -LP +* fix core dump when starting "lynx LYNXOPTIONS:" command. All phases of forms + options logic now handled by postoptions(): LYNXOPTIONS:/ without post_data + create a page (gen_options() now PRIVATE), LYNXOPTIONS:/ with post_data do + proccess changes as before. Also LYK_ADD_BOOKMARK fixed: forms options page + will not be added to bookmarks file -LP +* modify HTGetRelLinkNum(), removing increment of HText_getTopOfScreen() value + so checks for line number begin at the very top of the screen, fixing a + problem reported when processing the 123[g][+-] command -LE +* minor change to LYReadCFG.c to combine similar gettext'd strings -HN + +1999-05-16 (2.8.2pre.4) +* add 'fixit' parameter to LYEnsureAbsoluteURL() to suppress logic in + LYConvertToURL() that was changed in 2.8.1dev.4, to re-offer the original + string after an invalid URL is entered at a 'g' prompt. The calls to support + 'g' are unmodified; other calls revert to the older behavior (recommended by + KW) -TD +* add/use string functions that make EBCDIC comparisons sort in the ASCII + collating sequence, eliminating some special ifdef's in HTMLDTD.c -PG +* when STARTFILE cannot not be loaded, lynx now exits with more understandable + status messages: all important statusline messages are now printed to + stderr/stdout -LP +* add definition for _DECC_V4_SOURCE for VMS SOCKETSHR_TCP configuration to + top-level and ./src build*.com files (reported by Andy Harper) -TD +* change UNKNOWN_URL_TYPE to 1, to keep it distinct from NOT_A_URL_TYPE, fixes + an error introduced when changing UrlTypes to an enum (reported by KW) -TD + +1999-05-12 (2.8.2pre.3) +* add DEBUG_SOURCE_CACHE makefile flag so all documents will be cached in + SOURCE_CACHE mode, including local files. Normally undef'ed so only http + served documents cached with sources -LP +* in LYK_HISTORY, set newdoc.link = 1 so position at link #2 bypassing "recent + statusline messages" link -LP +* comment out "partial_thres=" option in .lynxrc (it was coded so the changes + from lynx.cfg file could not be activated) -LP +* add a sanity check to LYCurses.h to point out problems with the FANCY_CURSES + configure checks -TD +* fix uninitialized pointer used in decoding of -term switch (patch by Sergey + Svishchev) +* define _DECC_V4_SOURCE for VMS SOCKETSHR_TCP configuration, to fix conflict + with unistd.h versus non-POSIX prototypes in the other headers (report by + Andy Harper) -TD +* ifdef'd includes for HTUtils.h to limit size of preprocessor listings with + DEC C; verify that all header files include definitions needed for their + contents -TD +* add docs/OS-390.announce (Paul Gilmartin) +* add fallback extern declaration for h_errno to HTTCP.c for systems that have + that variable but do not declare it (reported by Jean-Pierre Radley + <jpr@jpr.com> for SCO OpenServer 5.0.5) -BL +* correct SortaSGML element info: SPAN can contain SPAN -KW +* fix several small memory leaks (John Bley): + + minor (~ 7 bytes) leak in LYCookie.c + + leak in the warning message about invalid cookies + + obvious leak in do_readme + + small leak in dired_options (LYLocal.c) + + leak with -selective option in HTFile.c + + a few leaks and a minor cleanup in local_dired + +1999-05-08 (2.8.2pre.2) +* substitute a few more free()s with FREE()s in files HTString.c and + LYReadCFG.c -John Bley +* fix buffer problems with long filenames and custom DOWNLOADERs -John Bley +* fix typical alloc-fail-return-error-without-free leakage in + save_bookmark_link (LYBookmark.c) -John Bley +* modify generated WWW/*/makefile and src/chrtrans/makefile to omit include + from intl directory if it is not used (report by LP) -TD +* add configure test for h_errno, by splitting CF_ERRNO macro and reusing + test for external data. Noticed that DECL_ERRNO was not defined/used, + added that as well. The h_errno symbol is provided in some network + libraries, e.g., on SCO and Linux, but may/may not be declared (report + by BL) -TD +* fix some serious lossage in lookup_reject (LYTraversal.c): memory and + logic errors. This (replaced) line is one for the record books: + frag = strlen(buffer) - 1; /* real length, minus trailing null */ + Previously, this code caused a read before an array boundary as well as + failing to compare the right number of characters in a pattern -John Bley +* fix some minor leakage in the cookie jar -John Bley +* fix up some casts and mode_t types in HTAAProt.c, HTFile.c, LYLocal.c, + LYUtils.c -John Bley + +1999-05-05 (2.8.2dev.26 - 2.8.2pre.1) +* remove some weird cruft from HTAAUtil.h (yeah, "/home2/luotonen" is a good + default path) -John Bley +* correct a buffer overflow in LYDownload.c (reported by John Bley) -TD +* 8bit attribute values are now translated in psrc view (reported by LP) -VH +* trailing ';' now is shown after HTML entities (reported by LP) -VH +* split-up/correct typo in text at top of generated bookmark file -JES, -TD +* allow anchors as input for commands 'g','G','E' -VH +* correct off-by-one error in pointer to filename in DOSPATH configuration for + LYPathLeaf() -DK +* fix infinite recursion bug in lynx.cfg includes, from dev.25 integration + (reported by LP) -VH +* implement the following separators in lynx.cfg "include" commands + ":" on Unix + " for " on all OS's -VH +* fixes for LYList.c, adding title info to the (mostly unused) HTLinkType -KW +* change remaining <banner>'s to <blockquote> in other html files, fix + a few escapes that tidy (15-apr-99) reports. Leaving <tab>'s alone for the + moment because there appears to be no standard equivalent -TD +* change <banner> in lynx-dev.html to <blockquote> since the latter is + standard, correct IEFT version and supply <p>'s as needed (Karl Eichwalder) +* correct a couple of two documentation inconsistencies in the sources for + USE_PSRC and -prettysrc (Karl Eichwalder <ke@gnu.franken.de>) +* register free_messages_stack with atexit to fix some statusline leakage, + explicitly fill out a struct initializer -John Bley +* fix a few html nits in the docs -John Bley +* cleanup some gcc -Wundef warnings -TD +* add logic to free_lynx_cfg() to unset environment variables (requested by + LP) -TD +* modify SafeHTUnEscape() to work with EBCDIC (Paul Gilmartin) +* remove dangling comma in UrlTypes enum (reported by Paul Gilmartin) -TD +* make description of STARTFILE in userdefs.h agree with lynx.cfg -TD +* fix: newline position when we come from the history stack and cached HText + is used (say, return from 'p'rint menu), was broken in dev23 -LP +* remove numerous HTMLSetCharacterHandling() calls from getfile(), use single + call in mainloop instead -LP +* #define PUTS() in LYCookie.c and LYMap.c to make code more readable -LP +* fix: LYmouse_menu() in LYStrings.c calls popup_choice(), which is #ifdef'd + out when --disable-menu-options is used (patch by Sergey Svishchev) +* modify generated src/makefile to omit include from intl directory if it is + not used. This in turn required fixing a redefinition of gettext on Solaris + when using cc, since the locale.h file includes Sun's libintl.h file which + prototypes gettext. Successfully built/ran using Sun's msgfmt utility, (had + to manually add -lintl to src/makefile) though the generated message objects + are incompatible, resulting in a core dump if not reinstalled (unnecessary + include reported by LP) -TD +* change VMS WWW descrip.mms file to use prefix=all rather than prefix=ansi, so + that POSIX functions such as 'read()' are linked properly (reported by Andy + Harper) this is a detail I overlooked in dev.18 -TD +* fixes to compile with SunOS K&R cc -TD + +1999-04-27 (2.8.2dev.25) +* updates to INSTALLATION -HN +* undo some redundant dev23 changes, in particular PSRC_TEST in HText_new + was responsible for a wrong line breaking in -prettysrc mode + (try "lynx . -prettysrc" and press "\" to see wrapping with altered + define). Also fix Visited Links for internal pages -LP +* restore links in lynx-dev.html to original form, to make redirection work + properly -TD +* add to MAKEFILE.W32 (untested - suggested by LP) -TD + * definitions for DISP_PARTIAL;SOURCE_CACHE;USE_PSRC + * lypretty.obj to the list of objects. +* remove CF_MAKE_INCLUDE from configure script, since it is not needed -TD +* merge WWW/Library/Implementation/CommonMakefile into WWW/.../makefile.in -TD +* corrections/simplification of LYSafeGets(), and remove sizeof(buf) from + related code in LYCookie.c (analysis by KW) -TD + +1999-04-23 (2.8.2dev.24) +* added overlooked WWW/Library/Implementation/makefile.in -TD +1999-04-23 (2.8.2dev.23) +* add/use new function LYSafeGets to replace reads into fixed-size buffers -TD +* change xxxx_URL_TYPE definitions in LYUtils.h to a enum -TD +* use HTSprintf0 in LYCurses.c, LYReadCFG.c -TD +* implement restrictions on options that can be set via the lynx.cfg "include" + directive -VH + For example, admins may specify + include:~/.lynx/colors:COLOR + include:~/.lynx/keymap:KEYMAP + include:~/.lynx/viewers:VIEWER + safely - and be sure that no critical options were altered by those files. + The syntax is + include:<filename>[:[<OPTNAME>* ] ] + More samples: + include:~/.lynx/rc:COLOR KEYMAP VIEWER SUFFIX + include:/usr/local/lib/lynx-cfg.part: #all settings can be changed + The patch does this: + * It prints warnings to stderr about unknown options specified in the list of + allowed options in include command. When 'o'->'lynx.cfg'->'RELOAD THE + CHANGES' is activated, these warnings are also printed on stderr - so the + screen will be corrupted if lynx.cfg and included are incorrect. + * Only options, allowed for a given file are printed in + 'o'->'lynx.cfg'->'RELOAD THE CHANGES'. + * Fully backward compatible - lines of the form + include:filename + will work as they did(i.e., if the list of allowed options is not + specified, then the included file can use the same set of options, as the + file that contained that 'include' command). + * If you wish to allow an included file to + include others, you must specify 'include' in the list of allowed options. + Sample: + include:~/.lynx/suffixes:INCLUDE SUFFIX + so that users will be able to use 'include' command in '~/.lynx/suffixes' + (otherwise included file will be unable to include anything). + * Option sets are ANDed. If file lynx.cfg contains: + include:/usr/lib/lynx.cfg.0:COLOR SUFFIX VIEWER INCLUDE + and /usr/lib/lynx.cfg.0 contains + include:/usr/lib/lynx.cfg.1:SUFFIX VIEWER INCLUDE STARTFILE HELPFILE + then /usr/lib/lynx.cfg.1 can use the following options: + SUFFIX VIEWER INCLUDE +* change the STARTFILE description in lynx.cfg to offer the user's home + directory as an alternative to lynx.browser.org (amended this to reflect + consensus that l.b.o should be the default) -TD +* move a big chunk of code into print_status_message() -LP +* also add numerous HTProgress messages to LYNXMESSAGES:/ page (but not + HTReadProgress) -LP +* HTAlert, HTUserMsg and HTInfoMsg statusline messages are now stored in a + cycled buffer and accessible from the History Page as LYNXMESSAGES:/ link. + This allows us to decrease the messages delay in lynx.cfg when we feel + messages too annoying, but have a nice history list for diagnostic purposes. + Uses a 40-line buffer (suggested by Bela Lubkin) -LP +* fix reloading with HTreparse_document() for LYK_MINIMAL, LYK_HISTORICAL, + LYK_SOFT_DQUOTES, LYK_SWITCH_DTD mainloop events (hope we work around replies + from POST properly) -LP +* elaborate description in Lynx_users_guide.html for "comments" (Michael + Sobolev <mss@transas.com>) +* fix --disable-trace (by making the ifdef's directly depend on NO_LYNX_TRACE + rather than DEBUG), chop more unneeded #includes -John Bley +* combine WWW/Library/unix and WWW/Library/Implementation to simplify make + dependencies, drop Makefile.old -TD +* fixes for DOS port - DK + (a) When exiting with interrupt, the message was printed in binary mode, + leaving the cursor in the middle of the screen + (b) In the PDCurses build, the keypad enter key only worked when LYK_ACTIVATE + was utilized, but not in GOTOLINK or GOTOPAGE. This maps the keypad + enter to '\n', so it works in all situations, but keypad enter will no + longer be able to be mapped separately. CTRL-PADENTER and ALT-PADENTER + can still be separately mapped. +* various changes to userdefs.h and lynx.cfg explanatory text -KW +* corrected placement of "partial_thres" code in LYrcFile.c, removed an unused + prototype in LYUtils.h -KW +* add a note about LYNX_SAVE_SPACE to INSTALLATION -JES +* remove docs/*.old (request by HN) -TD +* update INSTALLATION notes for DJGPP with PDCurses; a suggested patch is + no longer applicable -DK +* fixes for control/C and control/BREAK handling on DJGPP -DK +* tweak in HTML_start_element case HTML_DT: prevent generation of empty line + between multiple simple DT elements without intervening DD elements (Debian + bug #3846) -KW +* add list of downloaders to lynx_help_main.html -PW +* add attributes for {bq,blockquote}.cite,{frame,iframe,img}.longdesc, + {table,td}.background, td.{height,width} -VH +* define DISP_PARTIAL for VMS (request by Andy Harper) -TD +* include <unistd.h> for DEC C, to prototype sleep() and alarm(). Ifdef'd + include of HTString.h by HTUtils.h, but keep include as general rule for + making headers standalone (report by Andy Harper) -TD +* modified LYrcFile.c to avoid putting '#' characters at the beginning of + lines, since that confuses VAX C (report by Tony Bolton) -TD +* fix redefinition of h_errno (report by Tony Bolton) -TD +* ifdef'd print_local_dir in HTFile.c since this function does not compile on + VMS (report by Andy Harper, Tony Bolton) -TD +* fix reload_read_cfg() to avoid persistent cookies mode changing at run time; + reload printers list, downloaders list, environments - as expected - LP +* fixes for SOURCE_CACHE!=NONE mode, trying to accommodate HTreparse_document() + for mainloop() events: + - add/use flag "from_source_cache" for better mainloop maintenance + - add partial display mode for HTreparse_document() operations + - add warning when the reparsed document may lose its forms content + - fix options menu stuff to use HTreparse_document() when possible - LP +* fix exit from postoptions() when the reloaded document was in source mode -LP +* update flags to correct behavior with SOURCE_CACHE!=NONE: the length of the + re-rendered text may vary so the scrolling down is broken (especially nice + when switching to source). ("more" updated, "lines_in_file" inlined) -LP +* use configure script macro CF_CHECK_CACHE to compile-in Unix SYSTEM_NAME, + for info screen (request by LP) -TD +* minor fixes for uncaching document, other items missed in dev.22 -LP +* merge the two versions of start_curses() function -LP +* add -DSOURCE_CACHE and -DUSE_PSRC to djgpp makefiles -LP +* add a few words for CHANGES and INSTALLATION -LP +* add a configure option for prettysrc -TD +* separate ifdef's for prettysrc from color-style -LP +* fix for -prettysrc: when pressing '\' on non-local files, the prettysrc view + is shown, but there is no way out of this mode -VH +* change all PUTS() with a string of length 1 to PUTC(), fix a uid_t/int + assumption in LYLocal.c, remove some unneeded #includes, remove some spurious + semicolons -John Bley +* fix typo in configure --help for --disable-direct (reported by LV) -TD +* update user's guide and lynx.cfg descriptions of jumps files - PW +* fixes for related bugs tweaked by going to an internal page while viewing + source, and a few blurbs in the documentation -DSB +* fixes to separate RAW_MODE from internal variable LYRawMode by adding new + variable LYUseDefaultRawMode -LP +* add a missing null-pointer check in expand_tiname() (from report by KW) -TD + +1999-04-13 (2.8.2dev.22) +* correct a missing include for LYLeaks.h in UCAuto.c -TD +* implement HTML source caching. In this implementation, each document kept in + cache has associated with it a temporary file containing the HTML source for + the document (well, not all of them -- only those using the HTTP protocol, on + the premise that file:// documents are probably local and ftp:// documents + are probably not HTML). The temporary file is deleted when the document is + uncached. For certain operations, instead of reloading the document via + HTLoad<mumble>(), the source file is reparsed with HTParseFile(). The cached + document also remembers certain parser settings (screen size, historical vs. + minimal vs. valid comment parsing, and the like), and is regenerated from + source if it is fetched out of cache under different settings. This behavior + is selectable by a configure option --enable-source-cache and by a lynx.cfg + option SOURCE_CACHE; I didn't add a command-line argument or an options menu + entry, as this didn't seem to be the sort of thing one would want to change + You had to challenge me, didn't you? ;) Okay, after some pfutzing around + with HTChunks, I think I've got a working version of memory caching of + source. The SOURCE_CACHE option now has settings FILE, MEMORY and NONE, with + the obvious meanings, defaulting to NONE. (DSB - Scott Bigham + <dsb@cs.duke.edu>) +* amend HTConfirmDefault() logic so that a second character will cause the + default response to be returned, e.g,. so that pressing "qq" will make + Lynx exit (reported by John Bley) - TD +* change the PUTS("\n") calls in HTFile.c to PUTC('\n') since that would be + a little more efficient (noted by KW) - TD +* minor cleanup: remove obsolete parameters from command-line parsing functions + in LYMain.c, add newlines in HTFile.c for readability of html - LP +* change default STARTFILE to the current directory, "." - PW +* revised lynx-dev.html - PW +* lynx.cfg and further included cfg files can be edited from LYNXCFG:/ page + with the default editor and changes can be activated for the same lynx + session. NOT allowed for restricted users (LYRestricted) and occasionally + for user mode other than ADVANCED. This is an *experimental* code + (reload_read_cfg() in LYMain.c - more work required): currently command-line + switches may be lost when overridden by lynx.cfg changes, file paths like + lynx_save_space and LYCookieFile should not be changed (unwanted results) -LP +* retest PARSE_DEBUG ifdef's (LYMain.c, LYReadCFG.c), minor corrections + but found no specific reason for LP's problem with tables, except possibly + different effect from "&(value)" versus "(&value)" - TD +* fix the problem of reading included lynx.cfg files by changing LYReadCFG.c + table signature (now it is more close to one in LYMain.c). The problem was + the ignoring of *some* values got from the included cfg file (at least for + DJGPP2.02/gcc2.8.1 build). Probably we calculate the addresses of variables + on a later stage now. - LP +* DOSPATH changes: local directory style now configurable from lynx.cfg + (LONG_LIST defined). Unlike UNIX it is not "ls -l" by default + but a more compact form (date and size present, from lynx.cfg example) - LP +* cookies: domains now match case insensitively (reported by Paul Wagner + <paul.wagner@mci.com>) - LP +* correct an ifdef in LYGetFile.c for config-page - LP +* reading of long local directories now benefits from partial mode and fully + interruptible. Split out print_local_dir() function from HTLoadFile() - LP +* behave sanely if NSL_FORK fork() fails -BL +* NSL_FORK try for dns_patience *seconds*, not dns_patience select() calls, + which might have been shortened by keyboard input -BL +* fix some screwy comment indentation -BL +* add section on editing TEXTAREA to user's guide - PW +* add a null-pointer check in LYCookie.c (Bill Nottingham <notting@redhat.com>) +* revise changes ifdef'ing LY_FIND_LEAKS by making atexit a no-op function + since the DOS port depends on atexit to keep the DOS BREAK function properly + set on exit. Put back atexit, and ifdef's each place where atexit isn't + needed except when finding leaks - DK +* modify LYMain.c on DOS, fixing the determination of BREAK status to be + independent of SLANG or PDCurses - DK +* spawn a new function, www_user_search_internals, to begin canceling the + effects of cut-n-paste coding in www_user_search. The body of + www_user_search_internals used to be duplicated at two points in + www_user_search. See comment in GridText.c for more details -John Bley +* big pile of unneeded #includes removed -John Bley +* remove obsolete files from the distribution -John Bley + WWW/Library/Implementation/HTWriter.* +* one malloc check, fix --disable-ftp -John Bley +* fixes for compiler warnings when building for OpenVMS 6.2 using DEC C and the + SOCKETSHR library (reported by Andy Harper) - TD +* add cpp -H option for HPUX bundled C compiler, which otherwise does not + have enough symbol table space (reported by JES). Also, modify ifdef's + for <stdarg.h> vs <varargs.h> to avoid including the former when ANSI_VARARGS + is not defined since HPUX had a broken <stdarg.h> - TD +* changed OMIT_SCN_KEEPING ifdef to 0 (inactive) in LYCurses.c and in HTML.c, + still enabling the Style_className:HTML.c keeping and making lynx with lss + slightly slower than it could be (though faster then dev21). If somebody + wishes to fix a bug, here is a description: If contents of some tag that has + corresponding color style occupies more than 2 screens, after navigating to + the page, on which the content of that block starts, and then pressing PGDN + PGDN PGUP, the effect (color style) of that tag will be lost. The same + (loosing style) happens when jumping to the anchor that is in such block and + is located not on the 1st page. IMO this is something with style stack. If + this will be fixed, then keeping of Style_className:HTML.c can be omitted + again -VH +* fixed the bug in lynx with lss support -when displaying html pieces such as + <b> A <b> B </b> C </b>, only 'AB' was drawn in style corresponding to + <b> -VH +* added HTML source syntax highlighting (when option -prettysrc that is added + is given to lynx). It's available for lynx compiled with and without lss + support (it can be much more beautiful when compiled with lss support - read + lynx.cfg for description). The code is ifdef'ed with USE_PSRC. + This functionality coexists with old source view and with -preparsed logic + (ie different commandline options make source view logic different) -VH +* HTChunkPutc was inlined in SGML.c for better performance -VH +* keeping of Style_className was omitted in HTML.c to increase performance of + lynx compiled with lss support -VH +* performance of lynx compiled with lss support is increased ~ by 15-20% for + normal documents, and by up to 50% for documents with a lot of tags -VH +* fixed bug in lynx compiled with lss support that caused it to load local CSS + stylesheets - lynx didn't understand their syntax so it was exiting -VH +* added type information for attributes in HTMLDTD.c (it's used in source + syntax highlighting mode) -VH +* sample .lss files are updated to support source syntax highlighting -VH + +1999-03-30 (2.8.2dev.21) +* disable LYatexit if memory-leak testing is not configured -TD +* fixes for unhighlighting problems with color-style support (Vlad Harchev) +* remove '(default: on)' and '(default: off)' strings from configure script + help message (much lynx-dev discussion) - TD +* remove outdated link to the WebTechs HTML Validation Service from help menu + and change link to more suitable location for rfc1945 - PW +* correct logic of --disable-full-paths configure option (reported by Georg + Schwarz) - TD +* fix problems building on OpenVMS with DECC 6.2 -TD + (reported by Andy Harper <Andy.Harper@kcl.ac.uk>) + + remove 'DEBUG' definition from build scripts since it is defined in + the source code. + + turn off code that tries to use getpwuid(), by defining NOUSERS, since + those functions are not present on VMS. + + provide a dummy location for h_errno for systems without that symbol. + + correct string syntax in VMSexit function + + ifdef'd use of lynx_version_putenv_command in LYMain.c + + correct spurious parenthesis in mailform function + + correct missing COPY_PATH definition for LYUtils.c +* check for 'z' user interrupt in HTLoadHTTP before setting up the output + stream. This avoids doing unnecessary work, including possible creation of a + new HText structure that most likely is never displayed but still pushes + another document out of the. cache. Most commonly this occurs when a HTTP + error response is received and the user presses 'z' while the resulting alert + message is shown - KW +* fix of HTUnEscapeSome in HTParse.c for non-ASCII - KW, PG +* tidy up around ed_offset initialization in GridText.c - KED + (the patch as given did not compile on a non-ANSI compiler because it used + aggregate initialization - TD) +* add samples/mild-colors.lss (Vlad Harchev) +* add samples/blue-background.lss (from Sergey Svishchev <svs@ropnet.ru>) +* documentation updates for INSTALLATION and PROBLEMS - PW +* use HTConfirm and HTConfirmDefault to gettext'ify CONFIRM_BOOKMARK_DELETE, + CONFIRM_COMMENT, CONFIRM_LONG_PAGE_PRINT, CONFIRM_LONG_SCREEN_PRINT, + CONFIRM_MAIL_SOURCE_PREPARSED, CONFIRM_MAIN_SCREEN, FILE_EXISTS_HPROMPT, + FILE_EXISTS_OPROMPT, NO_OWNER_USE, PREV_DOC_QUERY, REALLY_EXIT_N, + REALLY_EXIT_Y, REALLY_QUIT_N, REALLY_QUIT_Y (based on report by LP) - TD +* at LYNXCFG:/ page, add links for every included configuration file so we can + read and edit them (no, currently the changes will be active the next session + only. Minor reorganization of LYMain.c done, more required) - LP +* correct test/spaces.html - it should not be in a <PRE> mode by default - LP +* undo recent   changes so it is a single space as before (suggested by + KW) - LP +* add ETag anchor element (currently not used, only for information) - LP +* assign LYNXCFG:/ and LYNXCOMPILEOPTS:/ for internal pages of parsed lynx.cfg + and compile-time info. Now we will not see a temp file link name in a + statusline in advanced mode, also kill overhead since pages created only when + really accessed - LP +* form-based options menu: the bug described in 1999-03-17 changes now finally + fixed - LP +* fix expanding entities for x-transparent display charset + (was broken from 1999-03-04 changes) - LP +* trimmed trailing blanks from *.tbl, fixed chrtrans/def7_uni.tbl and + chrtrans/viscii_uni.tbl, ensure that it produces correct result - TD +* chrtrans/def7_uni.tbl - entries with trailing spaces now explicitly enclosed + in quotes to avoid problems with integrating the patches sent by e-mail, + more comments added - LP +* attempt to implement --disable-ftp -John Bley +* fix tiny memory leak in HTAAUtil.c -John Bley +* chop useless #includes from LYHash.c, LYExtern.c, LYCurses.h -John Bley +* --disable-news was also disabling ftp, --disable-finger without + --disable-gopher wasn't right -John Bley +* remove a duplicate #include from HTFTP.c -John Bley +* remove several obsolete files from the source distribution -John Bley + WWW/Library/Implementation/HTAAServ.* + WWW/Library/Implementation/HTAAFile.* + WWW/Library/Implementation/HTAuth.* + WWW/Library/Implementation/HTACL.* + WWW/Library/Implementation/HTPasswd.* + WWW/Library/Implementation/HTHistory.* +* --disable-partial wasn't compiling because of a suppressed #include, replace + one more free() with FREE() -John Bley +* correct typo LIsListpageTitle vs LYIsListpageTitle + (reported by Artur Frysiak <wiget@usa.net> and KED) -TD +* don't append sed expression to help_files.sed if the $(COMPRESS_EXT) + variable is empty - TD + +1999-03-17 (2.8.2dev.20) +* protect a couple of spaces with quotes in def7_uni.tbl (suggested by KW) - TD +* add ifdef's for NO_RULES to HTAAServ.c - HN +* add configure --disable-news option - JES +* add configure --disable-finger option - JES +* add malloc checks, remove some #includes that don't need to exist, and + cleanup where somebody decided to waste instructions setting fields to 0 when + he already memset()ed the whole struct to 0 -John Bley +* remove obsolete/unmaintained SHORT_NAMES ifdef's -John Bley +* add/use LYTrimStartfile function (suggested by LP) - TD +* correct missing null-pointer check in add_printer_to_list function (forwarded + by BJP from Debian bug-reports) - TD +* add notes about $CC variable to INSTALLATION and PROBLEMS - JES, PW +* tweak for TABLE formatting: break line at </TR> end tag (don't wait + for next <TR> start tag), effective in SortaSGML mode only - KW +* lots of color style changes, only effective if compiled with USE_COLOR_STYLE; + together they seem to make color styles act much more reliably and + consistently - KW + - Moved some extern definitions and declarations. + - Made extra handling for LINK REL (or TITLE) attributes consistent + with example lynx.lss file. + - More complete (and hopefully more consistent) setting of "normal" + attributes, especially background color, on screen refresh and after + statusline messages. Set normal attributes for statusline prompts. + - Various other small tweaks, mostly to not lose color changes in a + document and to avoid color leaking. + - Attributes for highlighting WHEREIS search targets can be controlled + by setting style for "whereis" in lynx.lss. + - Allow mono attribute field in lynx.lss to be a combination of several + attributes separated by '+' characters. + - Changes of example lynx.lss file: more logical ordering, added some + comments, document new stuff. Changed a few styles for demonstration + purposes or because text was really hard to read. +* apply color styles to HTML source display, using the same methods as + for displaying the rendered version. This is done if and only if + the -preparsed flag is used (and lynx is compiled with -DUSE_COLOR_STYLE, + of course). Please remember that the source displayed with -preparsed + is *not* the same as the original text/html document, it has been + mangled by lynx (as the name implies) and may itself not be a valid + HTML document even if the original was - KW +* changed some slightly suspicious casts in HText_endAnchor's casting hell; + prefer to cast a line's size element to (int), rather than various int + variables to (unsigned) - KW +* remove some unnecessary use of dynamic buffers where there is no apparent + benefit for using them, for the sake of performance or to avoid a minor + memory leak - KW +* stuffed small memory leak (MultipartContentType) - KW +* absorb 'len' parameter into logic of argncmp, so it still achieves its + purpose of comparing prefixes of options without undue maintenance effort -TD +* retain logic that uses final URL on command-line (request by KW) - TD +* add/use new functions argcmp and argncmp to allow the use of '--' prefix as + well as '-' for commandline options. This means that '-localhost' and + '--localhost' mean the same thing for lynx. If EXTENDED_OPTION_LOGIC is + defined then the extended commandline option logic will be used. It means + that '--' will be accepted and will be treated as an end of options. + Anything after it will be treated as URL even if begins with '-' or '--' + (Vlad Harchev) +* correct some typos in docs and in scripts (Vlad Harchev <hvv@hippo.ru>) +* modify generated sed script to handle special case of alt_edit_help.html, + which was being rendered in --enable-gzip-help as alt_edit_help.html.gz.gz + (reported by KED) - TD +* modify lynx_help/help_files.txt to update links to gzip'd versions of + alt_edit_help.html, environments.html, test_display.html - KED +* tweak for SGML_LITTERAL (sic) parsing, so that the first nonmatching + character after the beginning of a putative end tag goes through character + translation - KW +* add some more pieces of info (if available) to '=' page in advanced user + mode. Also show mode as "source" instead of "normal" if viewing SOURCE, in + all user modes - KW +* minor FASTBACKW_LINK / FASTFORW_LINK tweaks - KW +* removed documentation for nonimplemented chargen URLs - KW +* remove num_n256 hack introduced in dev18 UCDomap.* - LP +* forms-based options menu: fix reloading of previous document *only* when + necessary (was always, since early forms-based options menu days). Still + have a bug - while submitting the options menu lynx reload menu again, but + this is much faster to load small local file twice than fetch previous + (possible large) document over the net. - LP +* — (—) now display as "--" (popular requests) - LP +*   are now displayed as two   (popular requests), + previous definition of HT_EM_SPACE now renamed to HT_EN_SPACE - LP +* minor tweaks in postoptions(), new flag added - LP +* minor changes to make this build with SunOS K&R cc - TD +* entities.h: clean HTML4.0 entities table added, it is #ifdef'ed with + ENTITIES_HTML40_ONLY (may be useful for page validation), file entities.h + moved to src/chrtrans directory - LP +* save few KB of static memory by storing unicodes as 'u16' (was 'long') - LP +* trace log toggle now really interruptible - LP +* move entities.h to src/chrtrans - LP +* fix display of -help output: (on/off) info was wrong for UNSET_ARG case - LP +* ifdef'd recent changes to LYPrint.c to build with djgpp - LP +* remove redundant -DDEBUG from djgpp makefiles - LP +* remove nonstandard ISO-9945-2 - LP +* eliminate a duplicate --enable-included-msgs in configure --help, (reported + by LV) - TD +* redefine LY_BOLD_START_CHAR for EBCDIC platforms to avoid conflict, adjust + IsSpecialAttrChar() to take this into account - PG +* rewrite LYKeymapCodes with leading commas to avoid accidental/illegal + use of trailing comma in an enum list - PG +* modify UCdomap.h to avoid gcc-specific construct using cast to struct of + data aggregate - PG +* modify makefiles to allow .c.i rule to work with --srcdir - PG +* add a rule to makefile.in to generate patches - PG +* correction to LYCookie.c, to get it to eat all cookies (reported by LV) - BJP +* corrections/updates to entities.h (Jacob Poon): + HTML 4.0 compliance: + - Added support for Euro currency symbol. + - Fixed duplicated ◊ definitions. + Fixes: + - Fixed some typos in the old references. (fixed: b.delta) +* update follow_help.html for LE's 123g changes - PW +* further correction to 123g logic - LE + +1999-03-04 (2.8.2dev.19) +* forgot to update PRCS when renaming src/chrtrans/iso9945uni.tbl - TD +1999-03-04 (2.8.2dev.18) +* modify configure script to recover if the intl and po directories are + missing, allow experimentation with --enable-nls --disable-included-msgs + --without-included-gettext options (request by HN) - TD +* add sanity-check for EBCDIC FixCharacters() in LYMain.c - PG +* ifdef'd the ADDRLIST code with EXP_ADDRLIST_PAGE, making this available as + a configure script option --enable-addrlist-page - TD +* create a new command called ADDRLIST, which behaves exactly the same as LIST, + but which *should* always show only the URL's. Rather than make it a config + option (which would have taken me quite a bit longer to do), I've bound it to + the "A" key (that's a capital "A"). Why not "L" you ask? Because of the "vi + keys" option, whereby "l" is used for cursor movement, and "L" stays reserved + for L(ist) - KED +* change the LYK_xxx keymap definitions to an enum, to simplify ifdef's - TD +* add configure options --disable-gopher, to remove GOPHER code, and + --disable-trace to remove TRACE code - JES +* modify trace log header to always inform us if anonymous restrictions are + set - LP +* chartrans: old-style declarations of charsets which do not have Unicode + tables (CJK, x-transparent, also UTF-8) now moved from LYCharSets.c to + UCdomap.h and now included with UCInit() in UCdomap.c in a standard way - LP + (Please re-test CJK and UTF-8) +* add configure --enable-libjs option (Lalo Martins <lalo@webcom.com>) +* add checks for some more LINK tags as listed in "6.12 Link types" of the HTML + 4.0 Specification (Masayasu Ishikawa <mimasa@isoternet.org>) +* changed the effect of some LINK tags with REL attribute of a very relative + character (Up, Next, Prev, ...) on titles as they appear e.g. on the LIST + page: the title of the target HTParentAnchor isn't being set when such a + LINK tag is parsed, but the relation is now stored as a property of the + link itself rather than its destination. The LIST page shows the relation + as additional info, not superseding a URL or title string obtained + otherwise - KW +* move commands in top-level makefile.in which clean *.rej and *.orig from + 'distclean' rule to 'maintainer-clean', make distinct from the @SRCDIR_CLEAN@ + substitution which is intended for use with the configure --srcdir option + (from reports by Glenn E Thobe <thobe@lafn.org> and BL) - TD +* correct LYRemoveTemp() to close file before attempting to remove it; else + the remove fails on some platforms, e.g., DOS/Windows (report by KW) - TD +* improved documentation for the new cookie options, e.g,. + COOKIE_ACCEPT_DOMAINS, in lynx.cfg - BJP +* fix some memory leaks in LYCookie.c - BJP +* modify 123g (and similar movement) commands to allow for relative links, + e.g., by using a '+' or '-' after the 'g' - LE +* modify help_files.sed to include '$', making regular expressions work for + HP-UX (Jens Schmalzing <jens@stat.physik.uni-muenchen.de>) +* add a comment to aclocal.m4 to show where patches for autoconf, needed for + this configure script, can be found - JES +* add toggling trace log on/off in partial mode, when the downloading is still + in progress - LP +* more consistent docs for debugging of invalidly nested HTML: important trace + messages from actions on invalid tags now have '***' prefix such as "SGML: + ... ***ignored" (well: illegal, forced, assumed, etc.), -preparsed mode now + better documented - LP +* minor code cleanup: remove redundant includes, fill in 0's for some static + data initialization -John Bley +* add 'joe' editor, and variants, to list of those editors that are assumed to + position the file to a given line number using the "+line" command-line + option - IC +* remove redundant "(y/n)" substrings from LYMessages_en.h - LV +* add new command named GROWTEXTAREA which adds 5 new blank lines to the bottom + of a TEXTAREA when executed. It does not have a default binding, so you need + to add a KEYMAP for it in your lynx.cfg. The number of lines added is fixed + by a #define, but 5 seems to be a "reasonable" increment to use - KED +* add new command named INSERTFILE, which (obviously) inserts a file's contents + into a TEXTAREA, just above the line the cursor is on when invoked (which + means you cannot insert a file *below* the final existing TEXTAREA line ... + but see 1) and 3) for easy ways to over- come this limitation). It too, has + no default binding, so a KEYMAP entry is also needed for it - KED +* by default, when the cursor is on the last line of a TEXTAREA, if you hit the + ENTER key, a new line will be added to the TEXTAREA, with the cursor + positioned on it. If that should happen at the bottom of the screen, a + DOWN_HALF scroll operation is (effectively) performed - KED +* ifdef'd this feature (since at least one person objected to this automatic + behavior when it was discussed awhile back - BL?), for easy disabling (and to + make adding a ./configure option easier). The symbol is AUTOGROW is + #define'd in LYMainLoop.h - KED +* added an ifdef for the code that causes the external editor to be + invoked "automatically" on the TEXTAREA contents when ^Ve (or whatever + the EDIT binding is), rather than attempting to invoke it on the .html + source file. This should allow adding a ./configure option to control + this behavior, until we come up with a different binding/mechanism to + do the job, that we can all agree on. The symbol AUTOEXTEDIT is also + #define'd in LYMainLoop.h. The command EDITTEXTAREA is still available + for separate KEYMAP binding, per KW's suggestion - KED +* check the range of chars between 0x80 and LYlowest_eightbit[current_char_set] + for validity against the charset in use. If such chars are detected in + edited or inserted data, a "." char is substituted for them, as with normal + control chars. (Suggested by LP) - KED +* added KW's LYCloseTempFP bugfix - KED +* add/use function GetFileName(), e.g., by INSERTFILE. It is fairly general + purpose, and can be used whenever the name of an existing file needs to be + input. It uses the same mechanism for filename expansion and "history" as + does the PRINT function - KED +* reorganized a lot of the code into subroutines to provide for 1) and 2); + still need to do a bit more cleanup of some other (nearly) common code - KED +* rename iso9945_uni.tbl to iso9945uni.tbl to accommodate 'make' programs on + old systems (such as CLIX 3.1) whose suffix rules fail for filenames longer + than 14 characters - TD +* change VMS WWW build-script to use prefix=all rather than prefix=ansi, + so that POSIX functions such as 'stat()' are linked properly (reported by + Morris D Cox <coxmd@appstate.edu>) - TD +* modify configure macro CF_EBCDIC to avoid using #error, since that is not + recognized by all compilers - TD +* include <sys/types.h> in CF_INET_ADDR macro, to accommodate systems which + require that to compile test program with the socket.h, other network + headers - TD +* removed a cast in free_lynx_cfg, on FREE's argument, which caused some + compilers to report that an rvalue was being modified (reported by PW) - TD + +1999-02-16 (2.8.2dev.17) +* modify LYReadCFG.c to avoid duplicating data for cookies - BJP +* modify HTConfirm to use gettext values for yes/no. Use HTConfirm in a few + more places, though completing this will require more work - TD +* add note about resolv library to PROBLEMS - PW +* minor clarification about DOS/Windows binaries in README - PW +* modify ./makefile.in so that portions which are commented-out will be done + without a leading tab, since that confuses the make program on Digital Unix + 3.2 - TD +* Unix: Don't accept HOME variable as valid if it does not begin with + a slash - KW +* changed HTGetCharacter to be 8-bit clean, it could not distinguish between a + character value 255 and EOF. Changes affect several protocols: nntp, + gopher, finger, ftp. Most notably, news articles containing byte value 255 + could not be completely read - KW +* removed a memory leak in HTFTP.c for some directory data, added a few gettext + calls - KW +* added ability to show file type description in local Unix directory listings. + New format codes for use in LIST_FORMAT %t, %T are not used by default - KW +* modify "clean" makefile rule to allow for FreeBSD, which generates core + files such as lynx.core - KED, TD +* correct sign-extension when converting characters after edit of TEXTAREA + (upper-128 characters were being translated to dots, reported by IC) - KED +* worked with some pathological/boundary-case pages, and fixed some some edges + that could fail (eg, last line of document is also last line of a TEXTAREA, + and lines are being added; page containing *only* a one-line TEXTAREA field; + etc). While it was unlikely one would run into such beasts in real life, + they all work correctly now. Thanks to Greg Marr and Serge Munhov for + providing some very basic pages that I was able to easily modify for various + test cases - KED +* added a few flags to the TextAnchor and HTLine struct's, to indicate an + expansion line. These were added to allow for line deletion when a TEXTAREA + is "reset" or shrinks (when we get around to tackling those tasks) - KED +* the editor's cursor is now positioned on the same line in the edit file, as + it was on when the editor was invoked (relative to the beginning of the + TEXTAREA). At least for those editors that lynx knows support initial + positioning (emacs, vi, pico, jove, and jed for non-VMS platforms; sedt for + VMS) - KED +* cleaned up and corrected a few comments; simplified a few small bits of + code - KED +* added cookie_domain_flags enum to LYCookie.h, usage should be apparent with + patch applied - BJP +* updated free_lynx_globals() for cookie variables - BJP +* replaced cookie_add_acceptlist, cookie_add_rejectlist and + cookie_set_invcheck functions with cookie_domain_flag_set - BJP +* saved a bit of memory by dropping useless pointer memory initialization + (exactly WHAT was I thinking?) - BJP +* changed LYrcFile.c, LYReadCFG.c to call cookie_domain_flag_set - BJP +* new lynxkeycode BACKTAB_KEY with value 0x10F. DO_NOTHING is and shall remain + 0x10E, as documented in lynx.cfg. Moved MOUSE_KEY out of the way - does it + need to be in the tables at all? BACKTAB_KEY will be recognized if the + (n)curses keypad() input handling returns KEY_BTAB, which happens if the + terminal description has the right kB or kcbt capability string and the + terminal actually generates that string (often "^[[Z", generated for + shift+tab). May also work with lynx-keymaps mechanism. Not tested with + slang, maybe this has to be added to some more of the various tables in + LYStrings.c - KW +* new user-visible key commands FASTFORW_LINK and FASTBACKW_LINK, with + lynxactionscodes LYK_FASTFORW_LINK and LYK_FASTBACKW_LINK. By default mapped + from <tab> key (^I) and new BACKTAB_KEY, respectively. Previously <tab> was + mapped from NEXT_LINK, which has some special handling if the invoking key + was <tab> (and if FASTTAB was defined in LYMainLoop.c, which was the case by + default). The old behavior of <tab> is still available if it is mapped with + KEYMAP to NEXT_LINK in lynx.cfg - KW +* these commands always go to a previous (or next) link if there is one, + and skip multiple lines that are part of the same textarea - KW +* recognize the new key actions also during partial file display, for some + roughly corresponding movement - KW +* new lynxeditactioncode LYE_FORM_PASS, to allow any lynxkeycode to end the + editing of a form field and be passed up to the caller - it will then + normally be mapped to a lynxactioncode. LYE_FORM_PASS keys are generally + ignored in non-forms line editing. This is used for BACKTAB_KEY, as well as + several other keys that were previously handled specially in form_getstr - KW +* extended the maps in LYEditmap.c to cover the same range of lynxkeycodes as + the LYKeymap.c tables. Yes, this uses more space, but the tables need to be + consistent - KW +* map lynxkeycode 0x00 to LYK_DO_NOTHING, as lynx.cfg said all the time - KW +* some tweaks of displayed strings in 'K'ey Map page. Don't show CHANGE_LINK + binding if mouse not enabled (it may not be useful even when -use_mouse is + on) - KW +* function expand_substring used with NCURSES for user-defined mapping keysyms + to byte sequences was parsing the "^(...)" construct wrong - KW +* other small tweaks in key handling code - KW +* changes to lynx.cfg to better reflect reality - KW +* terminology note: lynxkeycode = what's between the colons in lynx.cfg + KEYMAP:...:..., lynxactioncode = LYK_* code for what's right of the second + colon, lynxeditactioncode = what's assigned in LYEditmap.c (and which may + differ between lineedit_mode Default Binding and alternative bindings) - KW +* formatting tweak in HTML.c for <DD> not preceded by <DT>: Don't use wrong + indentation in that case - KW +* changes from DK for DOS up to 1999-02-14 - KW +* minor documentation tweaks - LP +* replace most uses of free with FREE -John Bley +* correct HTEndParam so that if fewer command-parameters are given than + expected, we still terminate the command properly (reported by + Michael Warner) - TD + +1999-02-08 (2.8.2dev.16) +* minor documentation tweaks for EDITTEXTAREA - LP +* correct uninitialized buffer variable in send_file_to_mail() which caused + core dump (reported by LV) - KW +* recognize Subject and Message-Id in embedded comments in HTML documents, in + the form generated by MHonArc for mailing list archives (including lynx-dev). + Use these to generate a default Subject and an In-Reply-To header (currently + not for VMS) when replying by mail (sending a 'C'omment, or following a + mailto link) from such a page. The old methods to get a title other than the + fallback (the URL) still are there and have precedence, by in reality seem to + apply very rarely. If no suitable comment strings are found or they are + regarded as invalid (bad characters, not exactly right format) they are not + used, and the fallback (URL as Subject, no In-Reply-To) applies - KW +* use the Message-Id of a news article to generate a References header when + posting a reply. Lynx's new article listing doesn't understand threading, + but this is nicer for other newsreader that do. The References header of the + referenced article is not used, so there will be only one message-id in the + generated References header, but this is better than nothing. The article's + message-id is appended as a parameter to the URL of the generated newsreply + link, in the form ";ref=...", so this extends the syntax of Lynx's newsreply: + URL scheme. Nothing should have changed for snews: and other s-versions of + the various URL schemes for news access - KW +* Message-Id and Subject of a news article are also made available for replying + by mail - KW +* LYNews.c: Don't post a message that is empty or has only '>'-quoted text - KW +* HTNews.c: got rid of some suspicious fixed length buffers. Fixed minor + memory leaks. Added abort of the target stream which was missing in some + cases. Create mailto: hrefs in URL-escaped form if necessary, they will be + unescaped in LYMail.c. (News URLs still don't use escaping the right way, + especially for message-ids.) Recognize special meaning of "Followup-to: + poster" (don't treat "poster" as a newsgroup name). Other small tweaks - KW +* add samples/cernrules.txt - KW +* except for DJGPP, move lookup code for domain names (not dotted-quad IP + addresses) from HTParseInet into a new function: LYGetHostByName acts like + the normal gethostbyname, but includes the NSL_FORK logic. Interruption is + indicated in global variable lynx_nsl_status - KW +* use LYGetHostByName instead of HTParseInet for URL guessing - KW +* select on tty file descriptor in NSL_FORK loop also if compiled with slang. + This should make 'z' during lookup more responsive - KW +* don't compile in the rules implementation code if NO_RULES is defined + (suggested by BL) - KW +* fix special case of EDITTEXTAREA where the returned file is empty - BJP +* write to .lynxrc values for COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAIN + when options screen is used - BJP +* add lynx.cfg and .lynxrc support for a few new options (BJP): + COOKIE_STRICT_INVALID_DOMAINS, + COOKIE_LOOSE_INVALID_DOMAINS, + COOKIE_QUERY_INVALID_DOMAINS + They're the same sort as COOKIE_ACCEPT_DOMAINS, comma-delimited lists. +* modify LYOpenTemp() to report unusual errors, i.e., other than if the + temporary file could not be created because it already exists - PG +* more fixes to CF_INET_ADDR - TD +* modify README to indicate where win32 binaries are found - JES +* add chrtrans tables for Ukrainian Cyrillic: koi8-u, cp866u, iso-9945-2 + (patch by Serhii Hlodin <hlodin@lutsk.bank.gov.ua>) +* patch for TEXTAREA edit feature - KED + 1. Handles the renumbering of link number tags [nnn], when the tag itself is + split across two lines (see below). + 2. Scrolling down, going to the bottom of the document, etc, now work + properly, when the TEXTAREA is expanded beyond the bottom of the + (original) screen display. + 3. Hitting the reset button is now handled properly WRT the "old" text in + expansion lines (now *always* empty). + 4. Attempting to edit (^Ve) a TEXT field (not a TEXTAREA), is now blocked, + with the user getting an error msg. + 5. The function call now returns the number of lines that the cursor should + be moved from its current position, to end up on the first blank line of + any trailing empty lines in the TEXTAREA (there will always be one). +* bug fixes for TEXTAREA edit feature - KED + 1. Thanks to a suggestion by Bela, your regular EDIT keybinding ("e" by + default), will now bring up the editor within a TEXTAREA, so there's no + need to "waste" a separate keybinding (though you can still additionally + bind the function separately, if desired). + 2. Converts any tab chars in the edited file, to spaces in the TEXTAREA + anchor line. The tabstop is currently #define'd to the quasi-standard + value of 8. (If anyone thinks that needs to be user configurable, feel + free to add that to the o(ptions) form/menu, + cmd-line-arg/lynx.cfg/.lynxrc/userdefs.h, whatever ... + I recommend against doing so though, as tabstops that are not set at 8, + are a PITA to deal with, generally speaking. I dunno if tab chars in a + TEXTAREA form are prohibited "by spec", or if it is just a "lynxism" that + they cause rendering problems (as well as downstream problems with + submit/etc, I think), but I felt I needed to do something to make lynx + behave rationally if they are present in the edited data (quite possibly + from an arbitrary file that one pulled into the editor). Filtering them + to spaces, seemed the most reasonable thing to do. + 3. Replaces any embedded control chars with something printable (I chose a + "." char, since it is less "intrusive" than some other choices, like "*", + "+", "#", etc). As with tabs, when some of these chars *are* rendered + into the TEXTAREA, strange things may happen. This shouldn't be much of a + limitation, since many of these chars perform line-editing or + system/job-control functions, when entered directly while one is in the + TEXTAREA. They currently cannot be "escaped" and entered as actual text + chars, so far as I can tell. Anyway ... I don't know of any "legitimate" + reason for them to be used as TEXTAREA data, so for now, you get "dots" in + their place. + 4. Cleans up a few comments, and such. +* update some linked in lynx_help_main.html (Heikki Kantola <hezu@iki.fi>) +* add checks for null return from malloc to HTInit.c, LYMain.c, LYReadCFG.c, + LYUtils.c -John Bley +* add telnet, tn3270 and rlogin program paths to configure script + (patch by George Lindholm <George.Lindholm@ubc.ca>). + +1999-01-28 (2.8.2dev.15) +* correct calls to HTAddParam() in LYDownLoad.c to handle optional second + parameter (reported by KW) - TD +* change HTAddXpand() to assume its parameter (an environment variable) is + already expanded and simply is not quoted (reported by Ryan Hung + <rhung@vcn.bc.ca>) - TD +* add configure --disable-included-msgs option to allow suppressing of bundled + ./po directory for the NLS message library contents. If no ./po directory + is found, the configure script assumes it is preinstalled anyway (request + by HN) - TD +* add pattern to script which customizes pathnames in lynx.cfg to support + GLOBAL_MAILCAP:/PATH_TO/lynx_doc/samples/mailcap + (request by PG) - TD +* export $PATH when calling cfg_defs.sh - PG +* add a simple test to check if the temporary directory is actually writable + if we cannot create a temporary file in LYOpenTemp (reported by PG) - TD +* miscellaneous DOS/DJGPP compile/build fixes - LP +* enabled CERN-style rules, there are two new lynx.cfg options, RULESFILE and + RULE. No example file or documentation yet beyond comments in lynx.cfg. The + rules mechanism itself is unchanged from what was present for a long time + (but never used), except for some memory cleanup. Use -DNO_RULES at compile + time to disable - KW +* add changes to invoke external editor on textarea, can be invoked by adding a + KEYMAP entry for EDITTEXTAREA area to lynx.cfg (originally from + aldomel@ix.netcom.com, but much rework) - KED +* use HTSprintf0 in HTTCP.c - TD +* added PARSE_STRICTPATH and PARSE_QUERY to interface of HTParse(), for + requesting only the relevant part of what is returned for PARSE_PATH. This + isn't yet used anywhere - KW +* changes to StrAllocVsprintf() to take width and precision in most format + specifications into account, and to correct the memory allocation logic. + This was tested by setting GROW_SIZE to a small value of 8, so far no + crashes, but it is certainly not right for all possible formats, especially + involving floating point conversions - KW +* changed HTSprintf0() to pass a string already existing in its output buffer + on, this should save a few realloc's in StrAllocVsprintf() - KW +* changes to code handling LIST_FORMAT to avoid some unnecessary reallocations, + to recognize some more format flags, and to treat invalid formats somewhat + better - KW +* corrected recent HTFile.c change for systems without S_ISVTX - KW +* added memory cleanup for uid/gid cache functions in HTAAProt.c - KW +* increased ATEXITSIZE to 40 - KW +* added TRACE output to HTAnchor.c's free_adult_table. If this shows anything + at program exit (if TRACE is on then), it means that HTAnchor structures have + been missed by the normal automatic cleanup (walking the history list and + following links) - KW +* changed more status codes in HTUtils.h to libwww5-like values - KW +* added new function to check for a valid Internet hostname - KW + Use it before actually trying to resolve an address, it should + a. avoid the overhead of NSL_FORK if it would fail anyway, + b. prevent DNS queries for invalid names, which may unnecessarily + consume time, bandwidth, and DNS server cache memory, and + may confuse some resolver libraries and servers, + c. speed up address guessing sometimes if something was mistyped, + d. thwart some attempts to crash Lynx with invalid URLs. +* this time really make "Alert" statusline prefix localizable - KW +* new function HTAlwaysAlert(), which can be called even when LYCursesON isn't + true and should always produce a visible message - KW +* use new valid_hostname to also check telnet, tn3270, and rlogin hostnames + before calling the external program (after most invalid character have + already been stripped). Added a fflush(stdout) to make sure messages are + visible before external program is called - KW +* made changes equivalent to the 1998-12-31 HTSACopy and HTSACat modification + to the LY_FIND_LEAKS versions of those functions. Having source and target + string for StrAllocCopy or StrAllocCat overlap (or being equal) should be + considered a programming error, but at least one place in LYEdit.c currently + seems to do it and rely on the new behavior. (Editing current file sometimes + didn't work with LY_FIND_LEAKS) - KW +* closed memory leaks in LYKeymap.c, provided for memory cleanup at exit of + LYCgi.c environment strings - KW +* explicitly put HTTP_ACCEPT_LANGUAGE and HTTP_ACCEPT_CHARSET strings into + lynxcgi environment only if they are non-empty, i.e., set to something in + lynx.cfg or the personal configuration or Options screen. This makes the + environment a lynxcgi scripts sees resemble more closely that of a remote CGI + script handling a request from Lynx with the same configuration - HTTP.c also + only sends Accept-{Language,Charset} headers if preferred language and + preferred charset (respectively) have been set to non-empty strings. + (Strictly speaking, an empty Accept-* header has a different meaning from a + non-existing one, but it doesn't make much sense to generate empty Accept-* + headers, since they mean "nothing is accepted".) There are other differences + in the lynxcgi environment (e.g. HTTP_ACCEPT isn't set, ",iso-8859-1;q=0.01" + etc. isn't appended to HTTP_ACCEPT_CHARSET, apart from missing + redirections), but apparently nobody has needed a more exact CGI emulation + for real scripts - KW +* removed sending of "Negotiate: trans" in HTTP.c since it violates transparent + content negotiation specs, added comments - KW +* correct error handling in CF_INET_ADDR, which did not restore $LIBS when no + applicable library was found for inet_addr (reported by IC) - TD +* correction to CF_TERMCAP_LIBS, which used inconsistent spelling for the cache + variable, so predefined termcap/terminfo library was not necessarily + detected - TD +* resolved autoconf 2.13 problem, resync configure script with patched + autoconf 2.13 - TD + +1999-01-18 (2.8.2dev.14) +* use HTSprintf0 in LYCurses.c, LYForms.c, LYGetFile.c, LYJump.c - TD +* modify LYCheckMail so it does not continue to report new mail when the mail + file's modification time differs from its access time (reported by LV) - TD +* add check for inet_addr function, and (preferred) inet_aton. The first + function is reported to be sometimes in -lresolv, or -lbind when it is not + present in the conventional network libraries (from report by + mattack@area.com and comments by HN) - TD +* resync config.sub, config.guess with autoconf 2.13.19990117 (not yet + configure, since autoconf 2.13 contains some new bugs) - TD +* modified handling of untranslatable charsets, after noticing that a page + with charset=ISO-2022-JP produced an alert message with a truncated + "iso-2022-j". Looking more closely, the code could also result in memory + corruption in some cases. Compared with older versions, then changed the + code to something somewhat like what was intended there. But we don't have + an "Other ISO Latin" display character set any more; maybe those `else' + blocks should just have disappeared completely - KW +* minor changes to SortaSGML DTD for PARAM, THEAD - KW +* make "Alert" statusline prefix localizable - KW +* extend fixtext.sh to also change continued lines - KW +* changed LYCheckForProxyURL to act more like it appears to have been indented, + and clarify comment. Minor change in is_url - KW +* prevent removal of hidden link number from bookmark document in a very + obscure case of a bookmarked ISMAP link - KW +* HText_SubmitForm: make sure query is always allocated, even if the set of + form fields to be sent turned out to be empty - KW +* some comments corrected in HTML.c, LYCharSets.c - KW +* tweak in curses_w_style for display without color - KW +* remove minor memory leak in LYDownload.c - KW +* changed error handling in LYTraversal.c to make sure terminal gets restored + to sane mode before showing error message and exiting - KW +* increased VALUE_SIZE for buffer in HTMIME.c from 1024 to 5120. Someone + needed increase for long Set-Cookie headers - KW +* two new functions in HTList.c to reverse and to combine lists - KW +* Lynx was using the wrong precedence for entries within a mailcap (relative to + other entries from the same file): RFC 1524 says "The configuration + information will be obtained from the FIRST matching entry in a mailcap + file[...]", but Lynx effectively gave precedence to the last match. Recent + Debian packages of lynx have had a patch applied to change this, but that + patch also seems to affect the precedence order relative to viewers defined + in other places, i.e., lynx.cfg and HTInit.c. The patch here instead changes + the precedence of mailcap entries form the same files to RFC-like behavior, + by reordering the list generated from a mailcap file after we have finished + reading it in. It leaves the order relative to viewers from other sources + unchanged. Maybe it should be made configurable whether Lynx's traditional + precedence or the new one is used; currently there is just a #define in + HTInit.c which could be changed to revert to traditional behavior - KW +* add checks for null return from malloc to LYCurses.c, LYStrings.c, + (patch by John Bley) +* add support for HP Roman8 as a display character set. HP Roman8 is used by + Hewlett-Packard terminals and hpterm, HP's version of xterm. The character + repertoire is largely similar to ISO Latin 1 but the code points are all + mixed up (patch by Christian Weisgerber) +* modify WWW/Library/Implementation/HTAAUtil.c::HTAA_setupReader(): to use + malloc'd buffer rather than static buffer, to avoid overflow (patch by Thomas + Braun <Thomas.Braun@link-up.de>) +* modifications to allow building the DOS lynx port with support of gettext for + producing messages in various languages. The DOS port of the gettext package + still needs minor tweaking to get it to function properly, but this shouldn't + be a problem for most people trying to compile lynx for DOS themselves. + Rather than put yet more DOS-specific makefiles in the distribution, I put + the changes to the makefiles within comments, which can easily be removed to + enable the changes - DK +* add a comment about LYUCcharset struct "UChndl" field. Tweak trace + messages - LP +* fix parsing of ALT=value attribute when the value is not quoted. When the + first character is not us-ascii it was corrupted by chartrans in all versions + of lynx. Fix case S_equals in SGML_character() - LP +* chartrans: ignore RAW_TOGGLE key and do not change LYUseDefaultRawMode if + current document's charset specified explicitly, add status message. (Let + user switch toggle only when necessary, to avoid future problems :-) - LP +* chartrans: change the default value of PREPEND_CHARSET_TO_SOURCE in lynx.cfg + from FALSE to TRUE (better safe than sorry) - LP +* reorder forms-based options menu (cosmetic): rename "HTML error tolerance" + to "HTML error recovery", reorganize "Character Set Options" section - + "Display character set" went to "Personal preferences" section, "Assume + character set" and "Raw 8-bit or CJK mode" went to "Document Layout" section; + "Execution Links" went to "File management" section. (Hope this helps to + reduce confusion) - LP +* remove "environment variables" section from INSTALLATION, change references + to Lynx User Guide in all docs. Minor tweaks on help files - LP +* add a comment to mime.types and lynx.cfg on SUFFIX definition: "This has an + effect for ftp and local files only, http server does specify MIME type in + the Content-Type header" - LP + +1999-01-13 (2.8.2dev.13) +* correct a missing trailing newline in caselower.h (this may be a problem + patching since 'diff' does not like that) - TD +* fix off-by-one alignment download options (reported by LV) - IC +* use HTSprintf/HTSprintf0 in UCAuto.c - TD +* remove stop/start curses calls around UCChangeTerminalCodepage() in + GridText.c, since they are not necessary, and are a little distracting + when running Lynx in xterm - TD +* correct handling in getfile() of ~/ expansion - KW +* modify NSL_FORK logic to prevent child process from running any signal + handlers the parent may have installed - KW +* the logic added to display_page for avoiding unnecessary screen redraw with + partial display (see 1998-12-03) is now disabled if enable_scrollback is set. + Otherwise displayed pages could appear as empty (or with only the current + link drawn) - KW +* modify conditions under which screen style cache is reset (only relevant for + color style in combination with partial display) - KW +* update the INSTALLATION file, reflecting the changes between the two DJGPP + versions of GCC in use. Also, change optimization to -O2 in the other two + DOS makefiles - DK +* add support for ISO 8859-15, i.e., "Latin 9", make corrections to DEC + Multinational character translations (patch by Christian Weisgerber + <naddy@mips.rhein-neckar.de>) +* modify po/makefile.inn to use mkdirs.sh rather than mkinstalldirs script + (reported by LV) - TD +* modify print_help_and_exit() to print values for the simple options, i.e., + toggle, integer and string, as part of "lynx -help" (request by + mattack@area.com) - TD +* correct sense shown for Old_DTD variable in LYOptions.c (reported by DK) -TD +* correct order of params for non-Unix use of HTAddParam in LYBookmark.c + (reported by DK) -TD + +1998-12-31 (2.8.2dev.12a) +* delete unused 'PREVAIL' color-style code from HTML.c, merge a couple of + sections of logic with TrimColorClass, and change Style_className to + a dynamically-allocated string - TD +* modify fmt_tempname() to check for buffer overflow - TD +* check/modify for potential buffer overflows: HTAlert.c, LYBookMark.c, + LYKeymap.c, LYPrint.c (including splitting it up into functions) - TD +* change GetOptValues to return status separately from the decoded value, in + case the options form is damaged (suggested by LP) - TD +* add new function HTAddXpand to use in special case where Lynx is building + shell command using data from user's configuration, which should not be + quoted. Use this in LYEdit.c to allow $EDITOR to be given as the editor + name (request by PG) - TD +* add new function LYOpenTraceLog, to combine logic in LYMain.c and + LYMainLoop.c, including Lynx's version message - TD +* fix some discrepancies between the code and the documentation (help files), + for the alternate line edit keybindings, that were first included in the + distribution somewhere around -dev.3, or so - KED +* added a delete-to-beginning-of-line (for the alt bindings only), and a help + page that describes the alternate bindings - KED +* improved description of "HTML error tolerance" - KW +* changes for handling lynxcgi: handle failure of execve(), by showing the + system error and then _exit()ing the child process. Make sure REQUEST_METHOD + is always set. Added checks for EINTR and other errors from read() - KW +* DOSPATH or EMX: remove strange code dealing with root of local drive from + is_url() and HTDOS_name()/HTDOS_wwwname(), add right code at the earlier + stage in LYFillLocalFileURL() - LP (thanks KW) +* relax warning from HTAlert to HTUserMsg on REFRESH_URL_NOT_ABSOLUTE - LP +* more tweaks on transfer rate calculation - LP +* modify HTSACopy and HTSACat in case the source and destination are the same + pointer - TD +* tested/removed redundant OS/2 EMX adjustment to filename from LYEdit.c - TD +* optimized LYEdit.c by moving calls on HTSYS_name(filename) to a single place + near the top - LP +* forms-based options menu: prevent spoofing attempts from possible overruns + (e.g., user can doing 'e'dit in 'o'ptions and get core dump if + display_char_set gets an illegal number such as 50, or hang the keyboard with + illegal Line edit style) - LP +* forms-based options menu: add new logical section - Document Layout, + currently with "HTML error tolerance" (TagSoup/SortaSGML), "Pop-up for select + fields", "Show images" (no_alt/labels/links) and "Verbose images". New + switches added for information purposes mostly, they duplicate hot keys but + not so hidden from user's view. Documentation updated also. (Oh yes, "Line + edit style" option is now available when we have a real choice >1) - LP +* split cfg_defs.sh into two script based on revised script from PG - TD +* minor fixes for top-level makefile.in - PG +* fixes for makefiles with gcc 2.8.1 using DJGPP 2.02 (do not use "-c -o" + combination, strip trailing blanks from makefile.sla, change optimization + level to -O2) - DK +* rename New_DTD variable to Old_DTD, change logic for -tagsoup option to be + consistent with sense in lynx.cfg (reported by LP) -TD + +1998-12-26 (2.8.2dev.12) +* use HTSprintf0 in LYCgi.c - TD +* add tab-completion on URL's, by using previously-entered strings for + matching (patch by Kari Davidsson <karid@isholf.is>) - TD +* add version number to trace log (patch by IC) +* modify HTDOS_name to be consistent with HTVMS_name, which does not modify + its parameter (reported by LP). Also, modify HTDOS_name and HTDOS_wwwName + so they allocate space for the result rather than using a static buffer - TD +* modify LYEdit.c to use HTAddParam - TD +* make HREF/NAME for "Environment" consistent in Lynx_users_guide.html + (reported by LP) -TD +* correct DOS/EMX logic in LYEdit.c which incremented 'filename' pointer when + its length was greater than 1 rather than recopying the string, causing a + core dump when 'filename' was freed (reported by LP, this applies to + 2.8.1rel.2) - TD +* correct sense of 'already_exists()' function from dev.11, which caused + various file-menu operations to stop working (reported by IC) - TD + +1998-12-24 (2.8.2dev.11) +* use HTSprintf/HTSprintf0 in about half of the WWW library files where + applicable: HTAABrow.c HTAAServ.c HTAAUtil.c HTAccess.c HTAnchor.c HTDOS.c + HTFTP.c HTFWriter.c HTFile.c HTFinger.c HTFormat.c HTGopher.c - TD +* eliminate most duplicate gettext parameters, reduced the number of files + listed in po/POTFILES.in to a size that may allow build with the Solaris + xgettext utility - TD +* correct rule for remaking po/makefile - TD +* workaround for HPUX sed program, providing '$' anchors for ".*" expressions, + which is redundant, but should be harmless (suggested by Jean-Yves Levesque + <Jean-Yves.Levesque.jyves@nortelnetworks.com>) +* add new help file, keystrokes/environments.html - LP +* fix HTReadProgress(): more accurate transfer rate calculation - LP +* update slang makefile.dos, and corresponding INSTALLATION notes - DK +* correct my integration of IZ's LY_CHANGE_LINK code, which resulted in an + out-of-bounds index into revmap (reported by LP, LV) - TD +* add note about sendmail for Win32 to lynx.cfg - JES +* add note for successful build on NeXT to INSTALLATION (Christian Jensen + <cejensen@winternet.com>) +* add checks for null return from malloc to HTInit.c, LYMainLoop.c, LYUtils.c, + (patch by John Bley) +* remove reference to 'persistent_cookies' in LYCookie.c which prevented + compile when persistent cookies configure option was disabled (report + by PG) - KW +* move assignment to SHELL back from WWW/Library/makefile.in to CommonMakefile, + and revert use of $CONFIG_SHELL in configure script, since this appears to + stop auto-configure from finding working include feature of 'make' on CLIX + (reported by Alex Matulich) - TD + +1998-12-16 (2.8.2dev.10) +* FROM_FILE is not used any more for a domain (although it is currently still + defined. Renamed COOKIE_FLAG_PERSISTENT to COOKIE_FLAG_FROM_FILE. Don't + change a domain's "behavior" (ACCEPT_ALWAYS, REJECT_ALWAYS, or QUERY_USER) + just because there was a persistent cookie for it. Users who want to always + accept cookies from a domain without prompting should use + COOKIE_ACCEPT_DOMAINS - KW +* FREE domain_entry objects when they are not used any more. Other minor leak + removed - KW +* some (few) changes for draft-ietf-http-state-man-mec-10.txt. Don't accept + invalid port lists (this may need more tweaking). Added some comments - KW +* try to preserve cookies (within a domain) in the same order in which they + were received, although this is probably not necessary after all. There is + no difference any more w.r.t. insertion into the list between cookies from + the file and cookies from response headers - KW +* use <= instead of < comparison when checking whether a cookie has expired -KW +* don't write expired cookies, cookies with discard attribute, or cookies + without expiration date to persistent file - KW +* don't call HTConfirmCookie for cookies read from file. This doesn't change + the logic since previously HTConfirmCookie allowed all file cookies + anyway - KW +* don't delete the domain_list if it becomes empty. Doing this could result in + unnecessary multiple atexit()'s - KW +* write the cookie file even if we now have no cookies, if we have previously + read cookies from the file. The file should be updated if all cookies that + were in it are expired or superseded or deleted - KW +* when reading file cookies, set attributes in a way that (hopefully) makes + more sense than just ignoring them. See comments in LYLoadCookies. + We are restricted a lot by the choice of a Netscape-compatible cookie file + format, some version 1 properties just cannot be stored in it AFAIK. Some + more tweaking in LYLoadCookies - KW +* setting a domains behavior to accept "A)lways" didn't actually work, it had + the same effect as "P)rompt". Corrected this simple (probably cut-and-paste) + error - KW +* some changes in what is displayed on Cookie Jar page: FROM_FILE is a + property of individual cookies, not of domains as previously. Cookies from + file (which haven't been updated) are shown as "(from a previous session)". + Show expiration time ("Max. Gobble Date") whenever we have one. The state + of the "discard" attribute is already displayed separately - KW +* made color styles code work much better with TagSoup parsing mode. A new + flag bit is set for some tags in HTMLDTD which indicates that, even though + they may be otherwise handled as SGML_EMPTY, this emptiness is fake. This + can only work reasonably for elements that require an end tag (not for LI, + for example) - KW +* added SUMMARY attribute for TABLE element to HTMLDTD (but we don't do + anything with it) - KW +* split_line: Try to account for changes in anchor position and extent in all + possible cases. This improves some cases where the selectable text could + become too short and, in extreme cases, a link could become erroneously + "hidden" - KW +* split_line: color style changes after the split position are moved to the + correct position in the new line - KW +* set TextAnchor's line_num in HText_beginInput, so that split_line can adjust + the input field's position properly if a split moves it to the next line. + Should solve problem reported for www.lycos.com - KW +* don't refuse to read from file-descriptor 0 in HTDoRead for Unix if it is not + a tty. The socket fd from HTDoConnect can be 0 if fd 0 was not open when + lynx was started non-interactively - KW +* increase INIT_LINE_SIZE in HTTP.c slightly from 1024 to 1536, so that for a + typical ethernet MTU the first packet of a response can more often be read in + with a single read() - KW +* add a missing FREE() in HTTP.c - KW +* use case mapping from ftp.unicode.org /Public/UNIDATA for case-insensitive + user search (thanks "Kari E Hurtta" <Kari.Hurtta@ozone.FMI.FI>), new file + src/chrtrans/caselower.h added. This is used instead of UPPER8 assumption + introduced in 2.8 release (see 1998-02-27). There is no difference in speed + though - LP +* fix links in History/Visited Links page for documents with blank + <TITLE></TITLE>, also remove leading spaces from titles to make output a + little better - LP +* use djgpp's <sys/config.h> file, which contains default values for autoconf + style definitions - LP +* updated lynx.man, lynx.hlp for "SEE ALSO" sections - KED, JES +* optimize the test commands specified in the mailcap file by remembering which + tests have been run already. (patch by Marc Huber <marc@sixpack.de>) +* add lint rule to makefile.in, as well as corresponding rule in WWW/... - LV +* update version in makefile.in to 2-8-2 - PG +* fix makefiles to build with DJGPP (problem introduced in dev8) - LP +* use new symbol KEYMAP_SIZE to get rid of various constants relating to the + size of keymap[] array, e.g, 0x293, 659 - TD +* add new mouse and keymap functionality to lynx (IZ): + a) If one clicks mouse *near* a link, the "point/focus" is moved to this link + (without actual activation); + b) One can bind keys with ordinals larger than DO_NOTHING; + c) Primitive context sensitive menu added to the middle button of a mouse + (currently ncurses only); + Current micro-problem with "c" is that I do not know how to refresh a screen + before triggering the action, so if the action chosen from the menu would + not redraw the screen, the menu outline is left on the screen. +* modify LYKeymap.c so that it can show internal keymaps above 0400 as + hexadecimal codes even if they do not appear in the function-key table -IZ +* add HTOptParam to avoid spurious quoting of blanks in rlogin URLs by + HTAddParam - TD +* correct missing assignment in remote_session(), from dev.9 changes for + HTAddParam, which broke telnet/rlogin URLs (reported by IC) - TD + +1998-12-12 (2.8.2dev.9) +* change location-not-absolute message from an alert to user-message - TD +* check for EINTR from read() call in HTDoRead, and retry if necessary. This + change only for Unix. Interrupted read() system calls should be rare (or + impossible, depending on the system implementation?) since the read() is only + done after a successful select(), but checking can't hurt - KW +* check for read read() errors in HTDoRead and HTCopy, and generate alert + messages for unexpected errors. HTCopy still returns HT_LOADED to indicate + success if any data have been received before an unexpected error or + disconnection. Previously this happened without any indication to the user + that something was wrong and a document or file might be incomplete. These + changes currently only for Unix - KW +* added/enhanced comments in HTFormat.c to document current behavior of HTCopy, + HTFileCopy, HTGzFileCopy, HTParseSocket, HTParseFile, and HTParseGzFile - KW +* moved definition of HT_NO_DATA to HTUtils.h, changed value of some status + codes to libwww5-like values while we're at it - KW +* correct uninitialized de variable in LYCookie.c when dump_output_immediately + is set. Also, made a slight change to this mode in LYMain.c, so that cookies + received will also be written to the cookie file; cleanup() is not called in + -dump mode (reported by Elwin Oost) - BJP +* correct include-path for chrtrans makefile to allow builds outside the + source tree (Masashi Fujita) +* minor cleanup of LYCookie.c, add some traces - BJP +* add support for content encoding for x-bzip2, bzip2 for suffix "bz2" - HN +* add po directory to install-bin and uninstall rules - TD +* modify the environment variable logic to avoid freeing string given to putenv + until after giving it a new string - TD +* add several environment variables to LYPrint.c - KED +* add ENVIRONMENT section to lynx.man and lynx.hlp - KED +* add installation note about --enable-gzip-help - KED +* update installation notes for WAIS - DK +* add/use new functions for building up command-string for shell commands, + which quote parameters as needed: HTAddParam(), HTEndParam(). Moved the + logic in quote_pathname to HTQuoteParameter, extending that function to quote + the parameter only if it contains characters which are problems with various + shells (e.g., wildcards), and to escape backslashes. In particular, use + these functions to ensure that the user and port strings in HTTelnet.c are + quoted (fixes a hole reported by Art Mulder <art@openbsd.org> - TD +* modify print-to-file logic to permit writing to pipe, provided that the + user does not have no-shell restriction - TD +* split-out logic for LYValidateFilename() from printfile() and LYDownload - TD +* whitespace fixes - BJP +* add configure option --with-nls-datadir, to allow installer to specify + alternate locale data directory. A separate option from --datadir is + required because the GNU gettext code is usually installed under + $(prefix)/share rather $(prefix)/lib - TD +* add configure check for gettimeofday, to implement 0.1 second interval + for skipping HTCheckForInterrupt() - TD +* modify configure script to generate references to $CONFIG_SHELL rather than + /bin/sh, to allow some testing with alternate shells. Autoconf uses this + variable for a similar purpose - TD +* correct missing case for 'o', octal in StrAllocVsprintf (reported by IC) - TD +* fix -restrictions=bookmark check in forms-based options menu (reported by KW + & Rodiger Geys) - LP +* fix memory leaks in LYPrint.c and UCdomap.c - KW +* when printing HEAD to email use URL in the subject, was title. (it was + especially annoying when we have 8bit title being sent as 7bit: no charset + information is supplied for letters with 7bit message body) - LP +* remove "temp fix for HText_trimHightext side effect from partial mode by + introducing a flag in HText_beginInput()" from 1998-09-12 since it is now not + needed after KW's changes in HText_trimHightext. - LP + +1998-12-03 (2.8.2dev.8) +* use HTSprintf/HTSprintf0 in LYCookie.c, LYLocal.c - TD +* correct logic in OpenHiddenFile, which did not check if a failure to open a + file for append was due to the file's not existing and hence causing + IsOurFile to return failure. This caused the -traversal option to fail + (reported by Francis Irving <francis@ncgraphics.co.uk>, applies to + 2.8.1rel.2) - TD +* fixed line number removal code in HText_endAnchor in several places, it was + modifying the wrong line which could lead to memory corruption - KW +* tweaks in HText_startAnchor and HText_endAnchor for handling link numbers. + Don't swallow space after number if line was split. Find link number on + previous line even it it is at the very end. Adjust line split position after + number removal. Generate TRACE output in interesting cases - KW +* prevent havoc (access to already freed memory etc.) caused by multiple + recursive invocations of HTAnchor_delete on the same HTParentAnchor. This + does not seem to actually happen normally during a session, but can occur + when the HTAnchor structures are cleaned up while handling a terminating + signal or outofmem condition - KW +* reset the HTAnchor "underway" flag during final cleanup, so structures are + not prevented from being freed. This also should only make a difference when + handling a terminating signal or outofmem condition - KW +* show sticky-bit in directory listings - LV +* correct options-message on Print page - IC +* update installation note about freewais library (reported by Chris Maden + <crism@oreilly.com>) - TD +* improvements to mouse code, ncurses-based, from IZ (Ilya Zakharevich): + a) Mouse navigation inside text entry fields; + b) Mouse navigation to a text entry field (including an empty one) + c) Mouse navigation to a specific position of a text field (since I do not + know which fields are text fields, I implemented "b" and "c" for + F_TEXTAREA_TYPE and F_TEXT_TYPE only, search for these symbols in the + patch); + d) Mouse navigation in menus: To scroll, one can click on top/bottom border + (single=byline, double=bypage, triple=beg/end), or above/below menu + (single=bypage, double=beg/end)) mouse-3 ==> quit; + e) Double-click-1 on the first and last row are interpreted as goto- + start/end/main-window (depending on the location of the click). + Other Changes: + a) Ask ncurses for all mouse events, but increase mouseinterval() to simulate + current behavior (which is effectively an infinite mouseinterval() + + masking of repeated clicks); + b) Earlier clicking to the left of a link would activate the link. I see no + use for this, so consider this a bug. +* HText_trimHightext (GridText.c): don't apply final adjustment repeatedly to + an anchor that has already been handled by this function; the function may be + called repeatedly if partial display is enabled. Some other changes in this + function, to interact better with the other GridText.c functions, especially + for partial display mode. We don't have to handle all anchors if the new + parameter "final" is not set. + Also empty anchors should now generally not any more move down over empty + lines, if they happen at a line end. Made some trace messages give more + information - KW +* color styles: reset screen style cache to avoid random coloring when a link + is unhighlighted - KW +* tweak in HText_setLastOptionValue: if an OPTION tag was directly followed by + several newlines, characters could be dropped - KW +* tweak havevisible() function in LYBookmark.c to compare against Unicode + value rather than ASCII when checking for blanks - LP +* ifdef user/group function caching calls so that this builds with djgpp, which + doesn't need/support this (patch by Gisle Vanem) +* documentation updates for NLS - HN +* separate some html from gettext in LYCgi.c, LYHistory.c, LYLocal.c - JES +* avoid setting recent_sizechange during the very first start_curses call for + ncurses. This would result in an unnecessary refresh after loading the first + document - KW +* added logic to display_page to avoid repainting the full screen contents in a + specific situation: if it has been called before (for the same lines in the + same document) during partial display, and is now being called normally (not + during partial display). If this applies, the normal line content is not + redrawn, but the title line and form fields are still repainted, and updating + of the links structures is always done. There are additional checks for + recent_sizechange and a text->stale flag (which was already implemented but + unused) to do the full redraw if that may be needed. This should avoid + unnecessary screen 'blinking' with curses when partial display is used (which + didn't seem to happen with slang) - KW +* modify SGML.c to check for SGML_ELEMENT tag contents, fixing a case where an + entity that appears within a TABLE but outside of any table row TR will be + displayed by Lynx _without_ its entities being interpreted (analysis by Alan + J Flavell <flavell@a5.ph.gla.ac.uk>, applies to 2.8.1rel.2) - KW +* check that stdin is really a tty before trying to select from it in the + NSL-FORK logic in HTParseInet(), file HTTCP.c (reported by Kim DeVaughn, for + someone who was unable to run lynx -dump in a cron job, applies to + 2.8.1rel.2) - TD, BL +* updates for lynx_help_main.html (JES, IC). +* change fopen for write in LYCookie.c to LYNewTxtFile so that the resulting + file will be readable by only the owner (Bill Nottingham <wen2@po.cwru.edu> + suggested using umask, but that may not be portable enough) - TD +* use CONST in some places in UCdomap.c and makeuctb, to make more tables + sharable (suggested by LP) - TD +* fixes for SunOS K&R compiler with/without unproto wrapper, i.e., definition + of 'const' - TD + +1998-11-23 (2.8.2dev.7) +* convert KEY_ENTER to newline in LYgetch() to make Lynx work with IRIX's + iris-ansi terminfo description, which equates the kent capability with + carriage return. Doing this will allow lynx to use the keypad "enter" key as + an alias for carriage return on most terminals - KW +* correct a few missing ifdef's for disabling the partial-display logic - TD +* add/use new functions HTAA_UidToName(), HTAA_NameToUid(), HTAA_GidToName() + and HTAA_NameToGid() to hide details of code which uses pwd.h and grp.h, + as well as to cache the returned user/group names, improving performance + in the dired screen - TD +* modify HTCheckForInterrupt() to check for interrupt no more than one per + second, since this check is comparatively slow - TD +* modify ANSI_VARARGS case for HTSprintf() and HTSprintf0() to always use + ANSI prototypes, since __STDC__ may not necessarily be defined on some + systems, resulting in an inconsistent definition - PG +* add install-full rule to makefile.in - LV +* modify PutDefs macro in LYShowInfo.c to check for nonnull table[N].value, + which may be null due to limitations of cfg_defs.sh script on some + platforms where an empty string was intended (reported by LV, PG, applies + to 2.8.1rel.2) - TD +* correct typo in 'make distclean' rule; an extra '-' prevented removal of + .orig and .rej files (patch by LV). + +1998-11-21 (2.8.2dev.6) +* add call on dbug_init to LYMain.c, allowing use of the debugging code built + into the WATTCP code which is included in the DJGPP port of lynx. This is + activated by placing lines in the WATTCP.CFG file for: + DEBUG.MODE= (choices are HEADERS, DUMP, or ALL) + DEBUG.PROTO= (choices are TCP, UDP, or ALL) + DEBUG.FILE= (name of log file. Defaults to WATTCP.DBG) + This adds about 2K to the size of the stripped, compressed executable. You + get a log of the headers and/or a binary dump of the packets sent and + received. Maybe this will help in determining where ftp is failing in this + port - DK +* correct definitions for ANSI_VARARGS, HAVE_STDARG_H in HTUtils.h (reported + by LP, for djgpp) - TD +* correct logic in StrAllocVsprintf(), remove spurious test on dst_len + (analysis by LV) - TD + +1998-11-21 (2.8.2dev.5) +* modify HTLoadFile() to make compressed files work with OS/2 EMX and + LYSystem() to convert forward slashes in pathnames to backslashes, also for + EMX (patches by Ilya Zakharevich). +* documentation nits (apostrophes) in lynx.cfg and userdefs.h - LV +* fix inconsistent newlines in po/it.po (report by Irving_Wolfe@Wolfe.net) - TD +* modify config.guess, added Intergraph 2430 CLIX machines (reported by Alex + Matulich <matuli_a@marlin.navsea.navy.mil>) - TD +* minor fix in LYCharSets.c according to recent changes in UCDefs.h introduced + by IBM OS/2 codepage number - LP +* modify configure script to work with --enable-nls built into a subdirectory + of the source tree (reported by PG) - TD +* disable regeneration of intl/po2tbl.sed and po/POTFILES if --disable-nls + configure option is specified - TD +* add configure test for stdarg.h vs varargs.h - TD +* fixes to work with SunOS K&R compiler - TD +* don't trim trailing and leading spaces from unformatted text lines in some + cases (split_line in GridText.c). Prevents corruption of some uuencoded + files when they are displayed and then 'P'rinted (although 'D'ownload should + be used instead) - KW +* some changes in HText_appendCharacter (GridText.c). Splitting of long SOURCE + lines now works with color styles - KW +* workaround for multiple anchors in the same (invalid) HTML document with the + same NAME and different destinations (HTAnchor.c) - KW +* check for 'z'ap while constructing local directory listings (non-VMS only, in + HTFile.c) - KW +* added a couple outofmem checks (HTAnchor.c). Minor TRACE message change in + GridText.c for -tlog / USE_TRACE_LOG disabled - KW +* when adding bookmark entries, don't accept a title string which appears to + consist only of blank characters (LYBookmark.c). When rendering a bookmark + file, use hiddenlinks=merge counting, so that numbers after entries with + empty titles don't get out of whack (GridText.c). This should prevent 'R' + from removing the wrong bookmark entry - KW +* prevent generation of some unnecessary temp files when constructing mailcap + file test commands (HTInit.c) - KW +* include LYLeaks.h in UCdomap.c for memory leak detection - KW +* fixed various memory leaks (UCdomap.c, LYShowInfo.c, LYReadCFG.c, LYMain.c, + LYDownload.c, LYBookmark.c, HTML.c, DefaultStyle.c) - KW +* escape '&' and '<' in HTML generated to display current lynx.cfg option + values (LYReadCFG.c) - KW +* revert logic in split_line. Emphasis highlighting that should extend over + several lines was being lost at line breaks (GridText.c). (IsSpecialAttrChar + probably shouldn't return true for LY_SOFT_NEWLINE since in most places it + tests whether to skip a character position, but as long as this special char + is only used in SOURCE mode it cannot mess up any anchor positions so it + should be ok. - KW +* correct character counting in SOURCE display continuation lines. A + highlighted search target would be shown shifted left by one character + position because the LY_SOFT_NEWLINE special was displayed as '+' but not + counted (GridText.c) - KW +* prevent generation of invalid/unparseable comments if + UCSaveBookmarksInUnicode is in effect, other minor changes in + LYBookmark.c - KW +* correction for color styles in HText_appendCharacter (GridText.c). At some + point a memmove was replaced by a for loop, but source and destination were + reversed and the counter was wrong - KW +* modify HTSprintf/HTSprintf0 to use a more generic approach to varargs by + using only va_alist in the parameter list - TD +* correct html expression in LYShowInfo.c of dev.3 which did not allow the temp + file with the lynx.cfg settings to be accessed from the Configuration + Definitions page (patch by IC (Ismael Cordeiro)). +* correct "Exiting" message format in cleanup_sig(), which had unexpanded %d + (reported by BJP) - TD +* add to config.hin the definitions set by AM_GNU_GETTEXT macro (PG pointed + out that this also sets 'inline', needed for GNU gettext) - TD +* modify MakeNewTitle() to check for null pointer, fixing core dump with + verbose images when value[src_type] is null (reported by John Bley + <jbb6@acpub.duke.edu> for 2.8.1rel.2) - TD + +1998-11-18 (2.8.2dev.4) +* change default for configure option of NLS (gettext) to disabled until we + finish porting it to implementations other than GNU gettext. Also, + change default for include-gettext configure option to "with" - TD +* suppress cookie-storing if the value is null - BJP +* ifdef'd alternative set of line-edit bindings with EXP_ALT_BINDINGS, add + configure option --enable-alt-bindings, rename DELEOL to DELEL, remove + binding of DELEL to '\' - TD +* add alternative set of line-edit bindings to change the behavior of the ^B + and ^F line editor bindings to provide emacs/tcsh like behavior (cursor + left/right), instead of "word" deletes. Corrected a bug in the ^R (LYE_DELN) + function, which is described as "delete next character", but was in fact + performing identically to ^D (LYE_DELC) "delete current character". Added a + function called LYE_DELEL, which does the expected thing, and deletes + from the current cursor position, to the EOL. + New bindings: + ^B = LYE_BACK cursor backwards + ^F = LYE_FORW cursor forwards + ^K = LYE_DELEOL delete to end-of-line + ^T = LYE_DELNW delete next word + ^X = LYE_DELPW delete previous word + ^^ = LYE_UPPER upper case line (not active when kbd-layout binding is) + ^_ = LYE_LOWER lower case line + KED (Kim DeVaughn <kimdv@best.com>). +* modify to show address to submit to on the statusline when in advanced user + mode. Also fixes one small typo in LYMainLoop.c. (suggested by + <erisson@sw-tech.com>) - BJP +* modify HTParseInet() so that it works if stdin has been redirected to + /dev/null, e.g., when running a cron job (reported by John H DuBois III + <spcecdt@armory.com>) - BL +* minor documentation updates to lynx.cfg (Larry Virden). +* change some character constants from '\hex' and '\octal' form to decimal, + to persuade compilers that upper-128 compares are legal - TD +* ifdef'd KEYBOARD_LAYOUT with EXP_KEYBOARD_LAYOUT, add configure option + --enable-kbd-layout - TD +* implement EXP_CHARTRANS_AUTOSWITCH for OS/2 EMX (Sergey Svishchev). +* add 'a' response when printing a file to allow append rather than overwrite + (Sergey Svishchev). +* add KEYBOARD_LAYOUT to lynx.cfg, to support character-translation on input, + add missing line editing style selection to Options form. This is enabled + and disabled by the line edit control/uparrow (Sergey Svishchev + <svs@ropnet.ru>). +* use exit_immediately() to reduce some signal-function clutter - LP +* correct dependency in src/makefile.in for cfg_defs.h (Masashi Fujita + <objectx@bandit.co.jp>) +* change quoted includes in intl directory to bracketed includes - TD + +1998-11-16 (2.8.2dev.3) +* misc documentation updates for the gettext/internationalization - LP +* rename po/makefile.in.in to po/makefile.inn, and modify distclean rule to + remove the remaining generated files - TD +* preliminary changes to support port to OS/390, some ifdef'd with __MVS__, + some with EBCDIC and NOT_ASCII -PG +* modify LYCookie.c to accept cookies with no value, in case the site resets a + cookie by nulling out the value (reported by Larry Virden) - BJP +* modify cookie parsing to ignore comment lines beginning with a '#' (reported + by Jonathan Bobin indicates that Netscape adds comments back, confusing + Lynx) - BJP +* highlight option letters in old options screen (adapted from patch by Ismael + Cordeiro) - TD +* use HTSprintf functions in HText_SubmitForm(), user_message(), + LYLoadIMGmap(), HTTelnet.c. (The HTTelnet.c modifications fix a security + hole reported by Martin Mokrejs) - TD +* add HTSprintf, HTSprintf0 functions, to use in resolving potential buffer + overflows - TD +* modify HTVMS_purge() to rename the remaining file to version 1 unless a + permissions problem was encountered - TD + +1998-11-10 (2.8.2dev.2) +* some testing against Solaris gettext implementation, enough to see that it is + not really compatible either source or binary with GNU gettext. For the time + being, I recommend building NLS support only with GNU gettext (and + --with-included-gettext to avoid conflict with Solaris' gettext in the + standard library). Otherwise use the --disable-nls configure option - TD +* various changes to configure script and makefiles to make this build with and + without NLS - TD +* undo spurious substitutions such as gettext("") - TD +* modify some gettext() expressions to avoid embedding HTML in them - TD +* restore definitions in LYMessages_en.h - TD +* first cut of integrating Jim Spath's changes to incorporate message library + support - JES, TD + +1998-09-20 (2.8.1dev.29-intl) +* edited files for language hooks (JES): + src/HTAlert.c src/HTInit.c src/HTML.c src/LYBookmark.c src/LYCgi.c + src/LYClean.c src/LYCookie.c src/LYCurses.c src/LYDownload.c src/LYEdit.c + src/LYForms.c src/LYGetFile.c src/LYMail.c src/LYMain.c src/LYMainLoop.c + src/LYMap.c src/LYNews.c src/LYPrint.c src/LYUpload.c src/LYUtils.c + src/LYexit.c + WWW/Library/Implementation/HTAABrow.c WWW/Library/Implementation/HTAAProt.c + WWW/Library/Implementation/HTAccess.c WWW/Library/Implementation/HTFTP.c + WWW/Library/Implementation/HTFWriter.c WWW/Library/Implementation/HTFinger.c + WWW/Library/Implementation/HTFormat.c WWW/Library/Implementation/HTGopher.c + WWW/Library/Implementation/HTMIME.c WWW/Library/Implementation/HTNews.c + WWW/Library/Implementation/HTRules.c WWW/Library/Implementation/HTStyle.c + WWW/Library/Implementation/HTTCP.c WWW/Library/Implementation/HTTP.c + WWW/Library/Implementation/HTVMSUtils.c WWW/Library/Implementation/HTWAIS.c + WWW/Library/Implementation/HTWSRC.c + +1998-09-08 (2.8.1dev25-intl) +* Resynch with dev tree - JES + +1998-09-07 (2.8.1dev.21-intl p3) +* About half through language hooks in WWW/Lib... - JES + Integrated part of Chebucto's French translations - JES +* Included latest ABOUT-NLS from GNU project, + +1998-08-27 (2.8.1dev.21-intl p2) +* Tested language hooks using src/LYNews.c and Italian messages file + provided by Sabato De Rosa <sabato.derosa@usa.net>. Made changes to + LYMain.c, LYMainLoop.c, LYNews.c and HTNews.c - JES +1998-08-27 (2.8.1dev.21-intl p1) +* add hooks to GNU gettext for international language support - JES + (This is an experimental modification that will be patched into + the main Lynx release after other platform testing. I've only done + NetBSD.) + +1998-11-05 (2.8.2dev.1) +* relax the cookie sanity checking for version 0 (old) cookies _only when_ the + user has accept_all_cookies set (patch by Risto Widenius + <widenius@ling.helsinki.fi>) +* modify get_listen_socket() to check if master_socket is set before attempting + to use it in FD_CLR (patch by Karl-Andre Skevik <karls@kosmo.inet.no>) +* minor documentation fixes - DK +* use $(LIBS) symbol in src/chrtrans/makefile.in (reported by Alois Maier + <m9235159@grz08u.unileoben.ac.at>) -TD +* Fix core dump which may happen after printing-to-email - LP +* Move read_rc() before parsing any command-line arguments (except -help) + so the latter will override any .lynxrc settings. In particular, the problem + was detected with -cookie_file= which was ignored after saving values + from Options menu - LP +* Chartrans bug: LYNXIMGMAP now shows the text in right charset. + (The page was converted twice, fixed by adding META charset to this internal + page. The bug was in all versions of Lynx starting from 2.7.1ac) - LP +* Oops, my typo from pre3 back to 27-09-98: windows-1252 appears twice + in the list of character sets in options menu, was also typo in docs - LP +* modify HTDOS.c to permit compile with K&R compiler - TD + +1998-10-27 (2.8.1rel.2) +* tidy up version numbers - TD +* modify HTDOS.h to permit compile with K&R compiler - TD + +1998-10-24 (2.8.1rel.1) +----------------------- +* reorganize lynx_help_main.html - PW +* minor change to WWW/.../tcp.h to eliminate redefinition warning by DEC C - TD +* move checking for command-line "-head" and related options before curses + initialization so that program exits with correct terminal settings + (report by LV) -BL +* correct uninitialized index into id_append in makeuctb, which causes problems + with def7_uni.tbl (analysis by LP) +* add TAGSOUP flag to lynx.cfg to set initial state of Tag Soup vs SortaSGML + (request by LP) - TD +* add PERSISTENT_COOKIES flag to lynx.cfg to allow disabling the persistent + cookies feature in a Lynx executable (request by BJP) - TD +* modify read_cfg so that it does not display included-file information when + NO_CONFIG_INFO is defined (reported by LP) - TD +* minor/cosmetic fixes for comments and documentation - LP +* revised patch for nsl-fork, which does not rely on WNOWAIT definition - BL +* include termio.h in LYCurses.c only #ifdef TERMIO_AND_CURSES (Philippe + De Muyter <phdm@macqel.be>) +* modify cfg_defs.sh to work when the 'set' command emits double-quotes + (Paul Gilmartin) +* update obsolete copy of HTFWriter.c to add content-encoding for HTFileSuffix + (reported by David Helder <dhelder@umich.edu) - TD + +1998-10-17 (2.8.1pre.11) +* add dependency on cfg_defs.h to src/makefile.in for LYShowInfo.o + PG (Paul Gilmartin <pg@sweng.stortek.com>) +* modify add_item_to_list() so that if the restriction flag is omitted from + a download/upload/extern line in lynx.cfg, it is assumed true. Also check + for null command string in LYExtern.c (bug report by HN) - TD +* modify logic in forms-options menu so that assume_char_set now works + correctly for any LYRawMode value by synchronizing gen_options() and + postoptions() via rawmode memory - LP +* correct ifdef'ing in LYShowInfo.c for non-Unix platforms - LP +* modify nsl_fork logic to handle a case where child exits successfully + right after parent's select timed out (reported by Serge Munhoven) - BL +* small updates to lynx_help files and other documentation (BJP, PW, LV). +* add #define's for later work to simplify configuring the maximum number + of cookies (suggested by BJP) - TD +* flush output in makeuctb, as possible fix for build problems on systems that + do not implement POSIX 'exit()' call (reported by Serge Munhoven + <munhoven@mema.ucl.ac.be> and Jan Hlavacek) - TD +* put GOTOBUFFER, JUMPBUFFER and QUIT_DEFAULT_YES back the way they used to be + (majority decision) - TD + +1998-10-14 (2.8.1pre.10) +* add/use HTSYS_purge and HTSYS_remove functions (based on report by Tony + Bolton and patch by BJP dealing with removing older versions of cookie + files) - TD +* add --disable-config-info option - TD +* change configure script --enable-forms-options to --disable-forms-options, + add --disable-menu-options - TD +* comment-out FM's code to fold cookie headers and force cookies to be + presented in the same order that they were received - BJP +* use full "Implementation" directory name in include path in WWW djgpp + makefile - DK +* use HTDOS_name() to force DOS temporary-directory into consistent form - DK +* include HTVMSUtils.h and HTDOS.h from LYUtils.h, consolidate some ifdef's + using macro HTSYS_name - TD +* another fix for HTTCP.c, for lookups with Lynx/32 - WB +* add fallback to $TMPDIR for Lynx temporary directory on Unix - TD +* remove verbose_links variable due to popular demand - TD + +1998-10-10 (2.8.1pre.9) +* add verbose_links variable to lynx.cfg and userdefs.h to control whether Lynx + should show "(LINK)" before links (request/patch by Moshe Zadka + <moshez@math.huji.ac.il>) - TD +* change defaults in lynx.cfg and userdefs.h, add comments - PW + (a) defaults are stated for `verbose' & `KB'; + (b) GOTOBUFFER & JUMPBUFFER defaults to TRUE; + (c) QUIT_DEFAULT_YES defaults to FALSE +* restore suggested file name in download menu: it is really useful for other + download methods which should be available in menu when `save to disk' is + disabled. Remove local_path/ prefix (LYNX_SAVE_SPACE if any) from visible + suggested file name string near the top instead - LP +* restore newline position when toggling comments parsing (at least we could + return to previous screen to try comments toggling twice) - LP +* add a link from keystrokes help for edit_help.html (input line keys) - LP +* corrected to make -nostatus command-line option override HTReadProgress - TD +* updates to lynx-dev.html (Al Gilman). +* modify NSL-fork support in HTTCP.c to use waitpid call to reap child + processes which may otherwise become orphaned. The new variable + "dns_patience" represents how many seconds we're willing to wait for DNS to + respond (should later make it configurable) - BL +* modify PutTextInput and PutDefs macros in LYOptions.c and LYShowInfo.c to + avoid pre-ANSI compilers attempting to substitute macro parameters in + coincidental matches within quoted strings - BL + gcc -Wtraditional reports the first, but not the second, which is "n" + substituted into "\n" - TD +* add an error-check for fg/bg values to lynx_chg_color function in case + lynx.cfg specifies color names not in Lynx's table - BL +* modify IsOurFile function to accommodate links-to-links, so that users whose + home directory is reached by that type of path can save .lynxrc file + (reported by PW) - TD + +1998-10-04 (2.8.1pre.8) +* modify HTTCP.c to copy soc_in from phost in HTParseInet, making Lynx/32 do + lookups again - WB +* modify LYCurses.c to compile mouse-code with Borland C and PDCURSES 2.3 - WB +* correct backward logic in CF_TERMIOS_AND_CURSES (reported by LE) - TD + +1998-10-04 (2.8.1pre.7) +* add special-case CF_TERMIOS_AND_CURSES configure macro (fixes problem + reported by Philippe De Muyter) - TD +* update/reorganize option_help.html - PW +* restore newline position when return from the Print menu or follow a link + from History page (was broken for partial display mode only): LYPop() and + LYPop_num now reinitialize Newline_partial if it happens on getfile stage. + Also remove changes from 1998-06-11 (case LYK_DOWNLOAD) since this is now + protected by HText_new() which never starts. - LP +* tweak suggested filename for download menu: now it we have URL + terminated with "/" (e.g., a directory or possibly root) do one more try - + remove terminating "/" - LP +* download menu: do not show "Suggested file name" when "save to disk disabled" + (requested by HN) - LP +* more tweaks on LYshow_kb_rate - LP +* move fallback definitions for POSIX S_ISLNK, etc., to allow build with + VAX C (reported by Tony Bolton) - TD +* add parentheses to eval-expression in CF_MAKE_INCLUDE configure test to + accommodate bash2 (Tadayoshi Okuma <tad@pht.co.jp>) + +1998-10-01 (2.8.1pre.6) +* add EMX to special cases for SetOutputMode, to force stdout to O_BINARY mode + so that downloading binary files will not corrupt them (reported by Ilya + Zakharevich <ilya@math.ohio-state.edu>) - TD +* correct missing "\n\" in change to LYrcFile.c for pre.4 (reported by David + Eaton) - TD +* reorder HTCheckForInterrupt() so that partial display mode will work for + VMS (reported by LP) - TD +* fix LYK_DOWNLOAD to restrict downloading remote links for local_host_only, + like it was done for mailto: links recently, see comments where in - LP +* replace few statusline messages with ones from LYMessages.en.h -LP + +1998-09-30 (2.8.1pre.5) +* force compile on VMS to use stdarg.h; it was ifdef'd for __STDC__ which + VAX C does not define, though it does support stdarg.h (reported by Tony + Bolton). Test-compile HTVMS_WaisUI.c on Linux to check... - TD +* update url for tcplib in INSTALLATION - DK +* fix HTDOS_name trace massage - LP +* expand "~" in include-statements in lynx.cfg (reported by LP) - TD +* remove some obsolete stuff from INSTALLATION - HN +* DOSPATH fix: user input URL like c:/path/file.ext (begins with drive letter) + now resolved as local path and will not be passed to DNS search in any case + (was running URL guessing process for host "c:" if file.ext not found...) + fix LYFillLocalFileURL() - LP +* fix HTUserMsg2 trace massage - LP +* add user's guide documentation for COOKIE_ACCEPT_DOMAINS and + COOKIE_REJECT_DOMAINS - BJP +* change default Unix cookie-file name to "~/.lynx_cookies" - BJP +* customize incremental rendering (Eric Brun <erbrun@bellatlantic.net>): + - add -partial_thres[=NUMBER] option to set the number of lines + - add PARTIAL_THRES config variable in lynx.cfg to set the number of lines + - add partial_thres variable in .lynxrc to set the number of lines. + Selecting save to disk and hitting Accept Changes in options menu will save + this variable to the current value. Haven't looked into making a form + entry for this yet. With -partial_thres command line option, probably not + necessary. +* fix some text in lynx.man and Lynx_user_guide.html. The man change includes + changes to "h" and "k" so they work whether or not vi keys are on - DK +* workaround for inconsistency between slang ports to DOS and other platforms + by suppressing test of SLtt_Use_Ansi_Colors. This fixes a problem where + colors change in the slang DOS port when the forms_based option menu is + accepted - DK + +1998-09-28 (2.8.1pre.4) +* tentative fix for HPUX sed problems (reported by jones.peter@uqam.ca) - TD +* update lynx.man and lynx.hlp to reflect new command-line options - TD +* minor documentation fix - LP +* miscellaneous fixes for build on VMS (reported by Tony Bolton) - TD +* tweak 'const' assignment for VMS (in LYReadCFG.c and LYPrint.c) - LP +* clarify discussion of download in Lynx user's guide (Al Gilman). +* trim trailing newline from lines read from cookie file so that Lynx does + not send embedded newlines in the cookie list - BJP + +1998-09-27 (2.8.1pre.3) +* fix a place in cookie_add{accept,reject}list() where cookies would be deleted + from memory if a persistent cookie had the same domain as an entry in + COOKIE_{ACCEPT,REJECT}_DOMAINS - BJP +* move Lynx's writing of persistent cookies to COOKIE_FILE from happening when + you enter the Cookie Jar page to quit time, before cleaning up temporary + files - BJP +* Lynx_user_guide.html: add text about lynx.cfg - LP +* forms-options: options names moved 2 columns to the right (is it good?) - LP +* fix reading .lynxrc "character_set" (trim trailing spaces in fullname) - LP +* fix ReadProgress message for LYshow_kb_rate (while <1024 bytes received + we showed byte-transfer rate even in KB mode), extra dot removed - LP +* DOS text files: opening text mode switch now incorporated in LYNewTxtFile/ + LYAppendToTxtFile and hope for the best - LP + +1998-09-25 (2.8.1pre.2) +* fixed forms submission charset: was broken by me in dev26 (HText_SubmitForm() + in GridText.c) - LP +* documentation updates for verbose images - LP +* minor fix for trace message in TrimHightext() -LP +* add compatibility with 2.8/2.7.2 lynx.cfg and (especially) .lynxrc - old + "character_set" parameter now acceptable - LP +* add OUTGOING_MAIL_CHARSET symbol to lynx.cfg to make mail more recognizable + by remote recipient, it may be "US-ASCII" for 7 bit approximation as the + safest case or any other value. If blank, use display character set + (default, compatibility). Currently implemented only for "subject" in + "print-to-email" - LP +* fix SGML.c so invalid characters are not dispalayed in hex UHHHH but just + omitted as already done for plain/text mode - LP +* fix download' suggested file name (8bit) - LP +* correct logic error in "Change Location" command, and allow "~" there in + addition to the existing "~/" prefix (reported by Ismael Cordeiro) - TD +* ifdef'd out "don't replace '\n' with ' ' if Chinese or Japanese" from dev.23, + with symbol EXP_JAPANESE_SPACES, FIX_JAPANESE_SPACES based on discussion with + HN, LP - TD +* correct missing '\' in generated sed-script for "make install-help" rule, + which changed a couple of "/html" substrings to ".html" (reported by BL) - TD +* modify cfg_defs.sh script to handle empty token in config.cache, e.g., a line + such as "foo=${foo=}" (reported by Philip Chong <pchong@boopsie.ml.org>) - TD +* modify so that lynx_cfg_infopage() and lynx_compile_opts() pages are not + invoked when Lynx is running -anonymous - TD + +1998-09-22 (2.8.1pre.1) +* correct logic error in parse_restrictions() which caused infinite loop, + probably from changes in dev.8 (reported by HN) - TD +* add SHOW_KB_RATE symbol to lynx.cfg to allow user to control whether + HTReadProgress should show KB/sec or bytes/sec - TD +* modify HTReadProgress to allow user to display KB/sec or bytes/sec - BL +* add/use new function LYstyles(), to force initialization of styles[] array + when it is used outside HTML.c; fixes a problem with Lynx not using styles + for files listed on the command line - TD +* correct keymap strings for F1 and DO_KEY - TD +* add keymap table entries for F1, to accommodate slang which appears to ignore + terminal description when keymaps are defined - TD + +1998-09-20 (2.8.1dev.29) +* add checks/warnings for user agent string in forms-options menu - TD +* change render_item to force a '/' before substituted path or directory + strings if (as in OS/2 EMX) absolute filenames do not normally begin with a + '/' -TD +* modify HTnameOfFile_WWW() to interpret an empty acc_method as a local file, + allowing its use in permit_location(), making OS/2 EMX dired-mode change + permissions work - TD +* make download and print menus a little more compact in intermediate/advanced + user modes - TD +* correct filename shown in download menu - LP +* change behavior of configure --enable-forms-options switch. By default, both + old and new options menu are available via a command-line toggle + "-forms_options" or lynx.cfg statement "FORMS_OPTIONS:TRUE/FALSE". Configure + --enable-forms-options now _disables_ old-style code, which is + ifdef'ed with "#ifndef EXP_FORMS_OPTIONS" - LP +* add more pointer-checks in GridText.c so that "lynx LYNXDOWNLOAD://" does + not crash (reported by Wilson Cheung) - TD +* add special case to handle NNTPSERVER environment variable, which had been + lowercased as part of LYReadCFG.c cleanup (reported by Wilson Cheung + <wcheung@netcom.com>) - TD +* modify info-page to add link to new internal page showing the noncomment + lines from lynx.cfg - LP, TD +* use function wwwName to reduce clutter - LP +* create "lynx.cfg Information" page, comments skipped, "include" OK. + The link is available from '='InfoPage and 'O'ptions menu. + Since DJGPP/Win32 binary have no built-in absolute path for distributions + lynx.cfg those ports will look for a copy of lynx.cfg in lynx_help/ + for most advanced info/comments (if you made http:// depository for lynx help + please care of it) - LP +* tweak helpfilepath URL (for DOSPATH only) - LP +* some cleanup of cp852, cp850, cp775 - LP + +1998-09-17 (2.8.1dev.28) +* minor fix to make PRCS ProjectDate print in "dd mmm yyyy" form - TD +1998-09-17 (2.8.1dev.27) +* minor fixes for recent (dev24 and dev25) chartrans changes - LP +* add LYNX_DATE definitions in userdefs.h; Info Page now shows the date of your + lynx along with version number and a link to the latest sources. - LP +* use ECHO_CC symbol in install-help rule to control whether the sed commands + are echoed - TD +* corrected install-help rule to avoid getting compress-suffix repeated in + the generated/updated files - TD +* documentation nit for COLLAPSE_BR_TAGS (Michael Warner) +* use getsockname_s rather than getsockname for djgpp (from patch by Gisle + Vanem) - DK +* add .bz2 suffix to lynx.cfg and HTInit.c, for bzip2 utility - DK +* modify store_cookie to suppress warning message for invalid domain if Lynx is + setup to accept all cookies - LV +* modify/expand LYLocalFileToURL() function, getting rid of most places where + inline concatenation is used for "file://localhost/<filename>", as well + as eliminating a number of static buffers - TD +* move fallback definitions for POSIX S_ISLNK, etc., out of NeXT ifdef's, to + make this compile on Apollo (reported by David Eaton) - TD +* restructured pathname-tests in LYLocal.c, using common utility functions + ok_stat, ok_lstat, ok_file_or_dir to simplify freeing pointer allocated + by HTfullURL_toFile - TD +* modify HTLocalName, making it a macro around a more flexible function + HTnameOfFile_WWW, to reuse logic for stripping off "file://localhost" and + "file:" prefixes, fixing some places where a spurious '/' would be left in + EMX local filenames (other macros: HTfullURL_toFile, HTpartURL_toFile) - TD +* modify configure script macro CF_PATH_PROGS for OS/2 EMX, so that compiled-in + utility pathnames work - TD +* use HTDOS.c module for OS/2 EMX, since it has similar device syntax - TD +* correct logic for wrapping long lines, to not use the rightmost column of the + screen, fixes a problem with duplicated character (reported by LP) - TD +* correct logic for dumping screen to file, so that blank lines are retained, + not counted in the logic for pruning soft-newlines which supports wrapped + lines - TD +* add info and user messages to traces - TD + +1998-09-12 (2.8.1dev.26) +* change behavior of NSL_FORK and related I/O (BL): + - Make URL guessing (www.huh.com? www.huh.org? www.huh.net?) interruptible. + - Make URL guessing from the command line interruptible. + - Use select() instead of FIONREAD. This makes it work on OSes where + previously it only *looked* like it was working. + - select() on stdin as well as the child pipe, when using [n]curses (not + SLANG). This allows interrupt to be processed instantly, without + up-to-1-second delay. + - While looping, 1 second at a time, bail out after "too many" (currently 50) + loops: just in case something weird happens, like select() returning some + unexpected error that we ignore. + - Make sure child processes are always killed and reaped. + - Close pipe ends as soon as possible. + - Now write the length down the pipe (using a known-to-the-program length of + sizeof(int)) first -- this both helps workaround old CMU TCP bugs and the + fact that select() doesn't let us get number of bytes ready, like FIONREAD + does. +* change default for NO_ANONYMOUS_EMAIL to TRUE (patch by HN) +* use url for "W3C HTML Validation Service" rather than "A Kinder, Gentler HTML + Validator" -TD +* update url for HTML Quick Reference Guide (report by LE) - TD +* modify verbose images to show ISMAPs and USEMAPs (patch by LE). +* fix typos in AttrList.h, LYStrings.h (reported by LV & HN) - TD +* Chartrans recovery and cleanup: by introducing an invariant + "current_char_set and UCLYhndl_for_unspec always valid charsets" we solve + possible problems with invalid/undeclared charsets. Use + 'safeUCGetLYhndl_byMIME()' for reading charset information from + lynx.cfg/userdefs.h/command line switches to recover possible typos by + fallback to ISO-8859-1; If UCLYhndl_for_unrec or UCLYhndl_HTFile_for_unspec + not set explicitely - now fallback to UCLYhndl_for_unspec (was before, but + not clear in certain places). Add comments to UCMap.h, add comments on + chartrans initialization in LYMain.c. UCAssume_localMIMEcharset and + UCAssume_unrecMIMEcharset now removed (UCLYhandl_* do all the stuff). - LP +* LYCharSets.c: LYRawMode code simplified and comments added. It was realized + that UCAssume_MIMEcharset may differ from its handler as LYRawMode history. + Also: HTMLSetRawModeDefault() moved into HTMLUseCharacterSet() to reduce + clutter, declare HTMLSetCJKCharacterSet() as PRIVATE. - LP +* more "big5" bugs fixed (in HTMIME.c and HTFile.c); function Set_HTCJK() added + to LYCharSets.c - LP +* LYCharUtils.c: META charset code corrected against 2.7.2, obsolete code + removed - LP +* partial mode now repaint the screen in one stage with a complete display + ('display_lines' received, fix in HTPartialDisplay()). Incremental rendering + of the first page may be annoying on slow connection (reported by Nelson + Henry Eric <nelsonhe@nara.kindai.ac.jp>) - LP +* temp fix for HText_trimHightext side effect from partial mode by introducing + a flag in HText_beginInput(), so this side effect still only happens for long + documents with forms input mixed with normal href= link. - LP +* print menu: fixed document URL near the top (was temp file name) - LP +* forms-options menu: fixed screen size in Novice mode - LP +* limit length of strings copied via tok_values[] in LYCookie.c - TD +* clean up a few memory leaks in cookie_add_acceptlist() and + cookie_add_rejectlist() in LYCookie.c. These were leaking 4 bytes for each + entry in COOKIE_ACCEPT_DOMAINS - BJP +* fix to LYLoadCookies() which was causing duplicate invalid cookies to be + loaded - BJP +* split out install-doc rule in top-level makefile to install extra + documentation files in $(libdir)/lynx_doc (request by HN) - TD +* improved algorithm to set 'secure_value', used in forms-options to circumvent + spoofing (based on comments from Mike Castle) - TD +* integrate WB's mouse changes (see 1997-04-24) for page-up/down into the Unix + flavors of mouse support (e.g., ncurses and slang) - TD +* use ncurses define_key to implement lynx-keymaps (see dev.10) - TD +* modify slang keymap code to work with slang 0.99-38 - TD +* replace several ifdef'd pathname constructions to use LYAddPathToHome() - TD +* make keymaps file consistently named on Unix and VMS - TD +* remove redundant "Lynx" from internal-page titles (suggested by LP) - TD +* remove install-log makefile target, generate cfg_defs.h file directly from + lynx_cfg.h and config.cache, to compile-in the configuration-definitions + rather than rely on external file lynx_site.txt - TD + +1998-09-06 (2.8.1dev.25) +* corrected compiled-in path for lynx_site.txt - TD +* implement logic for exec-links in forms-options page - TD +* add configure options --enable-exec-links and --enable-exec-scripts - TD +* correct logic for show-color in forms-options page (reported by DK) - TD +* implement logic to set $DISPLAY in forms-options page - TD +* add/use functions LYsetXDisplay() and LYgetXDisplay() to reduce clutter - TD +* retain help-link on internal pages only for those where the pages would be + pushed onto the history stack, and only in novice mode - TD +* absorb LYSystem.h into LYUtils.h, adding LYSystem() and LYSysShell functions + to LYUtils.c to hide djgpp clutter - TD +* limit strings passed to mailer in LYMail.c to 7-bit ASCII, converting other + characters to '?'. This guards against trash on the end of the mailing + address in a mailto link (from Duncan Simpson <dps@io.stargate.co.uk>). +* add fallback definitions for <sys/stat.h> S_xxx macros to tcp.h (from report + by Francisco A Tomei Torres <fatomei@sandburg.unm.edu> that OpenStep 4.0 + lacks definition for S_IWOTH) - TD +* modify quote_pathname() so that for DJGPP it does not put single-quotes + around the result - DK +* correct a missing assignment to turn bold off in split_line (GridText.c) - LE +* Fixed: forms input in display_partial mode! Previously hightext was printed + at wrong positions while loading was in process (try -debug_partial to see + the bug). Fix made in HText_pageDisplay: we call HText_trimHightext() which + was the main part of HText_endAppend() before. Seems no more problems + reported from incremental rendering mode! - LP +* set PARTIAL mode ON by default, unless it disabled in lynx.cfg or by + configure --disable-partial option - LP +* restore temporary -debug_partial switch, broken in dev.23 - LP +* made trace in HText_appendCharacter() a little more readable + for lynx special characters - LP +* chartrans: human-readable character set names in Options Menu now changed + according to Netscape 4.x style - "language (MIMEname)", it looks more useful + and reduce chaos in people's heads. Documentation corrected + (option_help.html/Lynx_User_guide.html). Minor tip: "Central and Eastern + European" was truncated to "Eastern European" because of space limitation in + popup menu. (Changes in chrtrans/*.tbl, LYCharSets.c, also docs including + userdefs.h/lynx.cfg). Since names were changed, users on display other than + iso-8859-1 should go to options menu and resave .lynxrc (and probably correct + lynx.cfg - character_set now uses MIME notation in sync with other charset + settings, although complete name string is still acceptable for this + field) - LP +* an attempt made to tweak the code replacing lynx internal 'main' charset '0' + (iso-8859-1 in fact) with its MIME name - LP +* rename ifdef EXP_8BIT_TOUPPER in favor of lynx.cfg switch + FORCE_8BIT_TOUPPER - LP +* remove a lot of "(char **)" casts from HTML.c which obscured some type + mismatches - TD +* add/use functions LYIsHtmlSep, LYAddHtmlSep, LYTrimHtmlSep, LYIsPathSep, + LYAddPathSep, LYTrimPathSep to reduce clutter - TD +* fix a bug, present at least since dev.17, where lynx can't download files if + it is started from one of the root directories of a disk drive, since it is + trying to write to "c:\\file.ext", rather than "c:\file.ext" - DK +* correct a comment in userdefs.h; commercial Japanese sites are named with + co.jp, not com.jp (LV). +* correct some debug messages in LYCookie.c - BJP +* fix a missing </h1> in ShowInfo.c - SKY +* modified '+'->' ' conversion to allow Unix commands to have '+' beginning + options - TD +* sorted all option items (i.e., static variables, postoptions(), + gen_options()) according to the sections they are in - SKY +* added '+'->' ' conversion for forms-options values - SKY +* centered 'save to disk' and put a dash between 'accept' and 'reset' for + clarity - SKY +* add "-cookie_file=" commandline option to specify cookie file - BJP +* add "cookie_file=" option to .lynxrc - BJP +* add "cookie_file:" option to lynx.cfg - BJP +* change default cookie file to "Home_Dir()/cookies" (or sys$login:cookies + for VMS, which may or may not work, DOS also needs to be checked) - BJP +* add cookies switch to options menu - LP +* Security considerations and form-based options: items restricted in + gen_options() should be ALSO restricted under the same conditions in + postoptions() to prevent a limited access user to edit option's HTML code + manually and submit a restricted items. This may be not a good idea to have + two functions in sync but those functions are synchronized anyway. Please + read comments inside the functions if change something! - LP +* add new functions BeginInternalPage and EndInternalPage to reduce clutter in + code that sets up internal pages (email from LP). +* change version in makefile.in to 2-8-1 -DK +* the code in GridText that adds control characters to the current line + does not test for buffer overflow. Normally Lynx gets away with this because + it will wrap the current line as soon as the line exceeds the display width, + but if you have a file with nothing but control characters with no + displayable text in-between (a few thousand hidden links will do), then Lynx + bombs. Modified to silently ignore excess control characters as well as add + a few extra bytes when allocating the line buffer to allow for a bunch of + control characters followed by a kanji or utf-8 sequence. (patch by Dick + Wesseling <ftu@fi.uu.nl>) +* remove WWW/Library/Implementation/HTInit.c, which is not used, since + src/HTInit.c has this functionality - TD +* change ID="<number>" in Lynx_users_guide.html to ID="<name>" to appease + weblint; tested with IE&NS - TD +* Al's convention of '#<number>' into '#<id name>' in Lynx_users_guide.html is + included - SKY + +1998-08-31 (2.8.1dev.24) +* re-correct DH's patch for COLLAPSE_BR_TAGS (reported by LV) - TD + +1998-08-29 (2.8.1dev.23) +* make interim fix for gzip'd html files until we can resolve portability + issues raised by SKY's renaming - TD +* implement LY_SOFT_NEWLINE, to mark places where wrapping is done in + HText_appendCharacter, to allow printing to join lines back together + (reported by LP) - TD +* correct missing assignment in change to HText_appendCharacter, fix a core + dump - TD +* removed SKY's change that attempted to skip help-links, since it causes a + core dump, e.g., when viewing source - TD +* use LYCloseTempFP in forms-options code and LYPrint.c where file was opened + with LYOpenTemp, to fix a core dump - TD +* All XYZ_TITLE defines of UIPs (User Interface Page) are collected in + LYMessages_en.h for multi language support - SKY +* Head and H1 of each UIP is standardized; reduced to 1 line. In this line a + context sensitive Help anchor introduced which is skipped by default; i.e., + 'd' will directly goto 'Save to Disk' not to the help anchor - SKY +* Download and Print UIPs are divided into 'Standard' and 'Local additions'. + Current and Suggested Filenames are printed on the page which was hidden on + the status line or accessed only by '=' - SKY +* Information page now has links to either development or lynx home pages + depending on LYNX_RELEASE define. Besides compile options can also be + accessed on this page: $helpdir/lynx_site.txt. A file derived from + 'config.cache'. Its corresponding makefile macro is 'install-log' - SKY +* New Form-based options page is re-organized; logical sections are introduced + and sorted alphabetically (except for 'User Mode' - SKY +* All links in the help files are marked, i.e., each + 'href="../_filename.html_#section"' is converted to + 'href="../@FILENAME@#section"'. This is useful if a help filename or + link has to be changed through out whole package - SKY +* 'lynx_help/help_files.txt' is introduced which contains + FILENAME=_filename.html_ definitions. Format and details are given in the + file - SKY +* All help files are renamed from '.html' -> '.html_' - SKY +* For context sensitive help links in UIPs 'src/LYHelp.h' is created with all + the filenames marked like the help files. It will be included from + LYGlobal.h. In 'src/makefile.in' necessary changes are done to load the + filenames from 'lynx_help/help_files.txt' - SKY +* To be able to compress help files '--enable-gzip-help' option is added in + configure script. In 'makefile' 'install-help:' is updated. + If COMPRESS_PROG and COMPRESS_EXT are *both* left empty (default) no + compression will be carried. For the moment compression is restricted only + to 'gzip'. Necessary updates are done in configure.in - SKY +* documentation fixes for nsl-fork, print screen - PW +* don't replace '\n' with ' ' if Chinese or Japanese - HN +* use title information rather than suggested filename as a subject line when + printing a page to email - LP +* add verbose_images to old-style options menu, and the .lynxrc - LE +* add verbose_images and useragent to forms-based options menu - LP +* disable download of "mailto:" links (reported by SKY (Sinan Kaan Yerli) + <sky@star.cpes.susx.ac.uk> ) - LP +* Change HTUserMsg to HTInfoMsg for "ALREADY_AT_BEGIN" and "ALREADY_AT_END" + messages to make it less annoying - LP +* reduce clutter in mainloop by inserting LYpop() in postoptions() - LP +* makefile.dos: split long lines - LP +* Fix bug with TAIPEI big5 charset in src/LYCharUtils.c + (this typo also found in lynx2.7.2: "big-5" instead of "big5"), + patch by Shou-Chuan Lai <chuan@cs.nthu.edu.tw> - LP +* Add -debug_partial command line switch so we got MessageSecs dely + between incremental rendering stages if partial display mode is ON. + (MessageSecs available from lynx.cfg and set to 2 sec by default). + The problem in incremental rendering of forms input was reported by SKY + (Sinan Kaan Yerli) <sky@star.cpes.susx.ac.uk> ), still not fixed + but now we may enter form-based options menu in -debug_partial mode + and rerender the page with Cntrl-R to see what is happening in fact - LP +* Serious bug fixed for DISP_PARTIAL: two asynchronous processes synchronized. + HTDisplayPartial() synchronized by flag against HText_new() which create + the new HTMainText object. Otherwise HTDisplayPartial() sometimes was + matching old HTMainText (with its own line counter) and repaint previous doc, + not a new one. TRACE log now got a message from HText_pageDisplay - LP +* fixed last chartrans changes, lines such as + #0x99 #NOTDEFINED + should not be commented with leading comment symbol because they are ignored + by makeuctbl in fact - LP +* modify DH's patch for COLLAPSE_BR_TAGS to only modify the nonstandard case, + thereby making that more restrictive, and restoring standard behavior + (reported by HN) - TD + +1998-08-21 (2.8.1dev.22) +* correct test for -std1 compiler option on Digital Unix (reported by Michael + Warner) - TD +* modify treatment of COLLAPSE_BR_TAGS, so that if it is set TRUE, two or more + concurrent BRs will be collapsed into a single blank line. Note that the + valid way to insert extra blank lines in HTML is via a PRE block with only + newlines in the block (David Henderson <davidh@psiphi.org>) +* clarification in userdefs.h - HN +* MS Windows codepages updated for EURO SIGN (0x20AC), from ftp.unicode.org -LP +* minor fix for DISP_PARTIAL, disable scrolling when HTTP request already sent + but the new document not displayed on the screen yet - LP +* ifdef DOS/WINDOWS to open lynx.trace in text mode - LP +* rearrange text in lynx.cfg concerning character_set - LP +* correct miscellaneous typos - LP +* Fixed: Verbose images now work with [IMAGE]-Submit. Also, fixed the core + dump when clickable_images is on. The problem was an oversight in + MakeNewTitle() - LE +* reviewed the INSTALLATION file as it relates to DOS and updated it for the + newly released version of PDCurses 2.3. Added the HAVE_GETBKGD define to + makefile.dos, fixes some of the unusual background color handling that was + present in the PDCurses DOS port - DK +* correct ifdef: LYOptions.c fails to build with -DEXP_FORMS_OPTIONS but + _without_ -DDIRED_SUPPORT (e.g., djgpp) - LP +* redesigned cookie_add_{accept,reject}list in LYCookie.c -- they work now -BJP +* added COOKIE_{ACCEPT,REJECT}_DOMAINS in .lynxrc handling to LYrcFile.c - BJP +* slight spacing fix in lynx.cfg - BJP +* added blurb in lynx.cfg about COOKIE_{ACCEPT,REJECT}_DOMAINS - BJP +* -accept_all_cookies on the commandline works as a toggle now (against + lynx.cfg value -- NOT against .lynxrc value) - BJP +* change HTAlert for bad partial reference to an HTUserMsg to make it less + annoying (request by Philip Webb, Jason F McBrayer) + +1998-08-15 (2.8.1dev.21) +* correct pathname for help file in forms-options screen - TD +* reduce clutter in LYOptions.c with SELECTED, DISABLED, NOTEMPTY macros, + PutOptValues, GetOptValues functions - TD +* modified LYOptions to include MBM support from form-based options, + by making a link href="LYNXOPTIONS://MBM_MENU" like it was in LYPrint.c and + calling edit_bookmarks() from postoptions() - LP +* add/use HTUserMsg to encapsulate most of the important messages - TD +* add/use HTInfoMsg to encapsulate most of the informational messages - TD +* make most of the alert messages use HTAlert, for consistency - TD +* exclude forms-options pages from Visited Links page - LP +* The current keymapping for the DOS Slang ports maps the keys directly to lynx + actions via keymap.c. There are several places in the code that test for + arrow keys, page up or down, home and end for special handling that depend on + the lynx definition of the keys. Hence, the keys in the DOS Slang ports were + failing the tests and not working as expected. The following patch now maps + these special keys. They can no longer be mapped individually via the KEYMAP + mechanism in lynx.cfg. Arrows should now work in GOTO fields. Tested the + patch against the binaries maade by makefile.dos, makefile.dsl, and + makefile.wsl - DK +* The wsl port seems to be working well with DISP_PARTIAL, make this the + default - DK +* correct spelling in lynx.cfg - DK +* modify HText_appendCharacter to wrap long lines when displaying HTML document + source - TD +* add configure option --enable-cgi-links - TD +* clarify discussion of no_proxy in lynx.cfg (Al Gilman). +* Multilingual bookmarks: now we store characters >127 in bookmark titles with + a more consistent and independent way, by keeping in unicode as &#UUUU + (NCR=numeric character reference). The idea belongs to Klaus Weide & Andrey + Chernov (long ago). It may be useful if we need switching display charset + frequently. This is the case when you use lynx on different platforms, e.g. + on UNIX and from remote PC, but want to keep common bookmarks file valid. + Compatibility: NCR as part of I18N and HTML4.0 specifications supported + starting with Lynx 2.7.2, Netscape 4.0 and MSIE 4.0. New option to lynx.cfg + added: NCR_IN_BOOKMARKS which is FALSE by default. - LP +* Tweak "print options menu" to exclude choises which are not available under + the certain conditions (print to the screen and lpansi on DOS/WINDOWS, print + to e-mail for local_host_only). - LP +* Forms options menu: add a link on option_help.html; synchronize + option_help.html against Lynx_User_guide.html and lynx.cfg. Rename label + "raw 8-bit or CJK Mode" with "CJK Mode" for CJK people and "raw 8-bit" for + others. Cleanup postoptions() by introducing flags - LP +* Force HTuncache_current_document if gen_options() invoked. This is a + dirty fix until we uncache previous document only when necessary. - LP +* Add time/date in addition to X-URL and BASE (PrependBaseToSource), (request + by Hans-Joachim Gurt <gurt@nacamar.net>) - LP +* Turn partial_display off if we are not interactive (reported by Ari Moisio + <armoi@sci.fi>) - LP +* more fixes/refinements for auto-configuring socks5 on AIX (report by Brian + Hauber) - TD + +1998-08-06 (2.8.1dev.20) +* rename eat_all_cookies to accept_all_cookies everywhere - BJP +* added ACCEPT_ALL_COOKIES lines to the dist lynx.cfg with the appropriate + description - BJP +* added COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS to lynx.cfg. These are + comma delimited lists of the domains to handle - BJP +* added cookie_add_acceptlist and cookie_add_rejectlist to LYCookie.c, which + are passed the list of domains from lynx.cfg and add them to the global + cookie list. These may be subject to change, as I might not be handling the + LYstrsep() right -- it works with dev19's LYstrsep(), but hasn't been tested + with Bela's... - BJP +* added a big ugly ifdef'd out section to LYrcFile.c with what I have so far on + the .lynxrc handling of COOKIE_{ACCEPT,REJECT}_DOMAINS. Don't use it. Makes + nasty segfaults - BJP (Brian J Pardy) +* fix a bug where the DJGPP_KEYHANDLER version doesn't allow movement by arrow + keys within a text area. Undo previous patch to LYGetFile.c, with LYgetch + now changed where it is defined in LYStrings.c, rather than at each place + where it is used. The patch in LYStrings.c regarding Windows should fix the + problem with keymapping that occurred when we got rid of RAWDOSKEYHACK - DK +* turn on DISP_PARTIAL in makefile.dos - DK +* correct typo in LYOptions.c - BL +* corrected logic of LYstrsep - BL +* Few minor typos and forgotten notes in man/hlp/cfg files; also quote Bela's + note on lynx.cfg INCLUDE facility - LP +* correct typos in makefile.wsl, makefile.dsl - LP +* correct typos, fix character set problems in recent changes of + LYOptions.c - LP +* move include for socks.h past tcp.h, to allow for redefinition of some + symbols on AIX (report by Brian Hauber) - TD +* adjust headers so that each can be compiled separately, eliminating order + dependencies - TD +* include tcp.h always from within HTUtils.h, to enforce ordering of headers + needed for socks5 definitions - TD +* use S_ISREG, S_ISDIR macros to reduce clutter - TD +* make test for OpenHiddenFile to overwrite user's file more stringent by + ensuring that the given pathname is not a link from a world-writable + directory (reported by BL, with suggested patch) - TD +* add/use LYPathLeaf() function to reduce clutter of pathname-leaf parsing - TD +* eliminate redundant definition of 'FREE() - TD +* ifdef'd LYOptions.c to reduce unneeded code wrt --enable-forms-options - TD +* check in OpenHiddenFile to ensure that we overwrite only regular files, + since we also force the file's permissions to 0600 - TD + +1998-07-31 (2.8.1dev.19) +* modify OpenHiddenFile so that it can overwrite files owned by the real + user if the O_EXCL open fails because the file already exists - TD +* add experimental forms-based options screen (Mike Castle): + This is ifdef'd with EXP_FORMS_OPTIONS and configured with + --enable-forms-options. +* add option -eat_all_cookies and corresponding config variable + EAT_ALL_COOKIES - BJP (Brian J Pardy <posterkid@psnw.com>) +* correct spurious 'Content' string versus newline after X-URL in LYMail.c + (Bela Lubkin, LV). +* updated versions of config.guess and config.sub based on automake 1.3 - TD +* updated experimental persistent-cookie support based on RP's patch: Replaced + the call to strsep with a home-rolled one for those people who don't have it. + (Reported by Bela Lubkin, Mon, 27 Jul 1998 16:51:14 -0700 on the mailing + list.) Bela's modification to make some character arrays static is also + included -TD +* nits/spelling in LYPrint.c, LYUtils.c (reported by Mike Castle) -TD +* changed LYGetFile.c to build lynx2.8.1dev.18 with SLANG and the + DJGPP_KEYHANDLER for DOS - DK +* fix a couple of places where the return-value of calloc was not checked + (reported by Mike Castle <dalgoda@ix.netcom.com>) - TD +* correct typo in command-line parsing of -lss option (reported by Chris + Kottaridis <chrisk@BSDI.COM>) -TD +* define _AIX if needed for socks5 (request by Brian Hauber) - TD +* improved configure test for getgroups array type - TD + +1998-07-24 (2.8.1dev.18) +* improved test for socks5, to account for special cases on AIX (reported by + Brian Hauber) - TD +* several changes to reduce the number of gcc cast-qual warnings, by adding + CONST, removing casts - TD +* add configure option --enable-syslog to enable system logging of requested + URL's - TD +* add RP's experimental persistent-cookie support, and configure option + --enable-persistent-cookies, ifdef'd with EXP_PERSISTENT_COOKIES - TD +* removed references to DOSRAWKEYHACK, which is no longer used. Modified the + dos makefile for libwww and makefile.dsl to default to using display_partial. + Modified INSTALLATION to reflect the successful use of slang with the dos + port and the now confusing alternatives when compiling the dos port, along + with some other updates - DK +* modify lynx_enable_mouse() for pdcurses configuration so that mouse support + is disabled unless -use_mouse is specified. This is ifdef'd with + __BORLANDC__ for the time being (WB). +* resync build-slang.com, against build.com - TD +* add $(MMSQUALIFIERS) to top-level descrip.mms, e.g., to use options such as + /FROM, /IGNORE, /NOACTION, etc., and $(INCLUDES) definitions to lower-level + descrip.mms files. Improve error-recovery in build.com (patches by Liam + Davis <ld@stian.demon.co.uk>) +* use memset to clear soc_in fields before doing a connect, needed for BSD/OS + (patch by Jeffrey C Honig <jch@bsdi.com>). +* remove spurious sprintf params when using FIXED_RECORD_COMMAND_MASK which has + only one parameter, change VMSsignal from void* to void (report by Mike Xun + Ma <mike@mira.concordia.ca> ) - TD +* use open(O_CREAT|O_EXCL) to open new hidden files - TD +* eliminate_*putenv_cmd variables used by LYReadCFG.c as placeholders for + putenv calls - TD +* disable include of <sys/filio.h> for VMS, from report by Chris Doran) - TD +* fixes for VMS: mismatched curly brace, etc., from CTRACE and buffer-overflow + changes (reported by chris.doran@gblis.mail.abb.com) - TD +* correct a loop in HTML_start_element that strips 7 leading characters from + an href, fixes a core-dump in traversing ".." to "/" - TD +* use new macro SetOutputMode to reduce some clutter - TD +* modify interface of LYCachedTemp so fileCache member is reset to null, fixes + bug in my recent cleanup of temp-files, which caused a core-dump - TD +* add kb/sec rate to HTReadProgress message - TD +* modify computation in HTReadProgress to interpolate rate - LP +* One more fix for DISP_PARTIAL: to avoid blinking while reloading document + with Newline_partial > 1 (say, we press '*' and noproxy) we repaint the page + only when Newline_partial <= HText_getNumOfLines() - LP +* add "-verbose" command-line switch - LP +* DOS fix: open stdout in TEXT mode for -help and startup error message - LP +* correct use of $mapname variable in CF_ALT_CHAR_SET (Tomas Vanhala) + +1998-06-25 (2.8.1dev.17) +* add configure option --with-socks5 (request by Brian Hauber + <bhauber@frenzy.com>) - TD +* define symbols HAVE_CURSESX_H, HAVE_JCURSES_H (report by Georg Schwarz + <schwarz@physik.tu-berlin.de>) - TD +* modify logic that reports progress of download to update screen no more than + once per second, fix an overrun problem (reported by Jacob Poon + <a324poon@cdf.toronto.edu>) - TD + +1998-06-11 (2.8.1dev.16) +* modify configure script to check for special compiler options which are + assumed for particular platforms (suggested by BL) - TD +* modify display_page in GridText.c so that TRACE does not cause a repaint, + since that causes colors to be incorrectly rendered when tracing - TD +* fix a few of the signed/unsigned mismatch warnings in GridText.c - TD +* correct pathname in LYOpenScratch call for bookmarks (reported by DK) - TD +* DISP_PARTIAL: fix initialization of newdoc.line (case LYK_DOWNLOAD, + mainloop) to correct display while 'd'ownloading files (it was initialized + _after_ the download completed and was good enough without display_partial + mode). - LP +* correct some ifdef's for DISP_PARTIAL - LP + +1998-06-04 (2.8.1dev.14) +* minor formatting fixes and documentation for upload screen - LP +* remove config.cache at beginning of configure script - TD +* eliminate cast for GetChar in LYStrings.c (from bug report by Michael Warner, + analysis by BL) - TD +* shorten logs from WWW/* by disabling echo of compiler options as in src/* -TD +* add configure test for types pid_t and uid_t - TD +* add configure test for array type used in getgroups call, to distinguish + between BSD and POSIX variations which use different sizes - TD +* modify configure script to compile DISP_PARTIAL code by default - TD +* fix compiler warnings dealing with unreached statements - TD +* change 'keymap[] array to unsigned char, move logic that relies on its size + into LYKeymap.c - TD +* make LYOpenScratch() work properly for 8.3 names (reported by DK) - TD +* DISP_PARTIAL: introduce separate variables Newline_partial and + NumOfLines_partial, initialize them in mainloop and synchronize with Newline + later when the reload completes (case NORMAL). To reduce the CPU usage while + downloading, call HText_pageDisplay only if NumOfLines_partial is in the + current display page or any Scroll key pressed by the user. We disable + partial_display if requested URL have #fragment, otherwise user will see the + top page first (yes, s/he will be moved to #fragment when the download + completed, but only if no scroll keys were pressed before!). Processing of + "END" key changed from MAXINT to real number of lines in the document + (important for display_partial mode) - LP +* correct problem that caused DGJPP version built with slang 1.2.2 to lose its + socket whenever the rendering of a http URL is interrupted with "z". This is + in HTCheckForInterrupt in LYUtils.c (reported by John Lewis) - DK +* add files pdcurses.key, slang.key, djgpp.key to document the keybindings + used for DJGPP version - DK +* allow mapping of ALT and Function keys with the DOS port for both the + PDCurses version and the SLANG version with the DJGPP keyhandler. The + extended keys to be mapped have to be specified numerically according to the + definitions in curses.h (for PDCurses) or in keys.h (for SLANG with DJGPP + keyhandler). DJGPP maps keys up to 0x293, while PDCurses maps keys up to + 0x1c0 - DK +* don't try to use -std1 option for gcc on Digital Unix (reported by Michael + Warner <warner@wsu.edu>) - TD + +1998-05-23 (2.8.1dev.13) +* use new function LYLocalFileToUrl to cleanup some pathname references - TD +* eliminate 'tempname()' function, using LYNewTxtFile, etc., with new functions + LYOpenTemp, LYCloseTemp, etc., so that temporary files are opened with + appropriate permissions - TD +* correct use of cache variable in CF_ALT_CHAR_SET (reported by BL) - TD +* spell out the logic in HTPlain.c against 2.7.2: there was a certain problem + with chartrans in text/plain mode (LYRawMode was wrongly interferring, + problem reported by Jacob Poon & FM). - LP +* modify logic for zero-width spaces in conv_uni_to_pc to exclude 0x200a - LP +* supply missing "break", which was forcing raw utf-8 output in URLs (NOT hex + escaped) - LP + +1998-05-14 (2.8.1dev.12) +* remove unneeded definition used in testing dev.11 from config.hin) - TD +1998-05-14 (2.8.1dev.11) +* fixes for function-keys with slang configuration on DOS (patch by DK). +* correct missing '&' in command-line options entry for syslog (reported by + HN) - TD +* correct initial value for NoColorvideo with PDCurses, from my error in + 1998-05-10 integration (reported by DK) - TD + +1998-05-10 (2.8.1dev.10) +* eliminate assignment to stderr for trace-file by making tfp a function - TD +* added keymaps/keysym patch (it really should be integrated with the normal + lynx.cfg file (John E Davis). +* tweak chartrans, "Convert the octet to Unicode": incoming symbols >127 but < + LYlowest_eightbit[IN-charset] now ignored, previously displayed as UFFFD. + (SGML.c, HTPlain.c, LYCharUtils.c) - LP +* removed conflicting/unused declaration of 'bzero()' from tcp.h (from report + by Ashraf Zorkani <zorkani@aucegypt.edu>) - TD +* modify the set/unset/toggle options to allow "on" and "off" values also - TD +* apply the "partial display" patch, modified from + http://www.flora.org/lynx-dev/html/month0398/msg00993.html + The behavior is controlled by a compile-time option (DISP_PARTIAL), by a + command-line argument (-partial), and by a lynx.cfg option (PARTIAL). - BL +* extend command-line option processing of set/unset/toggle options + -toggle- (set that toggle to FALSE) + -toggle+ (set that toggle to TRUE) + e.g., + lynx -show_cursor+ -case- + or with explicit 1/0 values, e.g., + -toggle=0 (set that toggle to FALSE) + -toggle=1 (set that toggle to TRUE) + NOTE: this allows you to change a few flags that would previously have been + controlled by lynx.cfg, and are security-related, such as -locexec or + -telnet. I believe there is no issue, because if the user can control the + command line to Lynx, he could have run `lynx -cfg my_cfg_file` and + circumvented those settings anyway. - BL +* fix for buffer-overrun in LYMail.c when processing a mailto:very-long-address + URL - BL +* correct, for OS/2 EMX, a place in LYConvertToURL() which must not use + HTDOS_wwwName() (patch by Jason F McBrayer <jmcbray@mailhost.tcs.tulane.edu>) +* similar changes to LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.wsl, + for building DOS version with slang - Bill Schiavo +* modify LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.dsl, for building + DOS version with slang - DK +* fix to improve reloading if user changed assume_charset in options menu + using ^A, which sometimes did not work - LP +* add several chartrans-related files to test/ directory: spaces.html, + c1.html, raw8bit.html - LP +* fixes to compile on SunOS with K&R compiler - TD + +1998-05-03 (2.8.1dev.9) +* correct missing counter increment in tempname(), from cleanup - TD + +1998-05-02 (2.8.1dev.8) +* Fix for CGI-related URLs processing (syntax: ?x=1&yz=2). To avoid interfere + with SGML we restrict '=' as terminator for a named entity, this only applied + for HREF= attribute translation (LYCharUtils.c). (reported by Alex Matulich + alex@unicorn.us.com & FM). - LP +* restore information in the INSTALLATION file for the DOS port on patching + tcplib. Also, clarifies the location of nullpkt. It also clarifies + that the PDCurses beta has incorporated some of the patches we made for + the lynx DOS port - DK +* modify logic that updates bookmark file after removing a link to use copy + rather than rename, to solve file-ownership problems (patch by Paul + Gilmartin, though I kept the permissions check) - TD +* reduce a little of the clutter in tempname() with fmt_tempname, and + bad_tempname functions. Though this doesn't address the security problems it + does fix the problem with signed getpid values. - TD +* simplify LYUtils.c with compare_type() function - TD +* add/use string functions LYLowerCase, LYUpperCase, LYRemoveBlanks (replaces + collapse_spaces), LYTrimLeading, LYTrimTrailing (incidentally fixes core-dump + in LYCookie.c) - TD +* rewrite read_cfg function to make it more table-driven (reworked from a + patch by John E Davis) - TD +* rewrite parse_arg function to make it more table-driven (reworked from a + patch by John E Davis) - TD +* omit -Olimit compiler option on Digital UNIX 4.0 (patch by Tomas Vanhala). +* modify configure test for acs_map[] array to work on Digital UNIX 4.0 + (reported by Jim Spath and Tomas Vanhala <vanhala@ling.helsinki.fi>). - TD + +1998-04-23 (2.8.1dev.7) +* fix core-dump when pressing '.' on a page with no links (patch by + Jan Hlavacek <lahvak@math.ohio-state.edu>). +* initial changes to use macros CTRACE and tfp to replace explicit use of + stderr for the trace log. Remaining work is required for some complex + expressions, switching file pointers and for perror-substitute - TD +* ifdef's for OS/2 EMX, mostly pathname tweaks (patch by Jason F McBrayer + <jmcbray@mailhost.tcs.tulane.edu>). + +1998-04-18 (2.8.1dev.6) +* correct misplaced ifdef in LYMail.c, which caused Cc to not work (patch + by LE). +* convert \x escapes to octal form (reported by Claude Soma) - TD +* modify configure script to check for cursesX before curses library, for + ultrix 4.3 (reported by Claude Soma <soma_c@decus.fr>) - TD +* incorporate lpansi into LYPrint.c (patch by HN). +* modify top-level makefile to use INSTALL_PROGRAM and INSTALL_DATA + consistently, rather than installbin and installdoc (reported by + <karl@deas.harvard.edu>). - TD +* modify treatment of -auth and -pauth options to allow setting a blank + password, e.g., -pauth=user: specifies a blank password, and -pauth=user + leaves the password unspecified (patch by Frederick P Herrmann + <fph@tiac.net>). +* Change documentation to indicate "Lynx.trace" file rather than + "lynx.trace" -TD +* Change default for USE_TRACE_LOG in userdefs.h to TRUE, to make behavior + consistent with 2.7.2 - TD +* Rename no_color_video symbol in LYCurses.c to NoColorVideo, to avoid conflict + with term.h, which is included by curses.h on some systems (reported by Paul + Gilmartin) - TD +* modify include-path in djgpp makefile to avoid conflicting tcp.h - DK +* Add -tagsoup option, for initializing parser directly to TagSoup - TD +* Modify HTML.c, ifdef'ing some of the logic involved in unstacking tags. It + appears to be not completely necessary: makes Lynx a little faster, at the + cost of making the tagsoup parser do the wrong thing. Some entries in the + tagsoup DTD table versus the sortasgml table have SGML_EMPTY versus + SGML_MIXED. This information is used to control unstacking (in the + color-style configuration as well). There is still a problem evidenced + when toggling between the two parsers in the Lynx main help page, but that + appears to be missing logic in 2.8's version of the tagsoup parser. - TD +* Modify HTTCP.c to check the length returned from gethostbyname(), which + returns 0 on error on a SunOS 4 system (reported by Paul Gilmartin) - TD + +1998-03-29 (2.8.1dev.5) +* Fixed my typo for FNAMES_8_3 define - WB +* Added SYSTEM_MAIL and SYSTEM_MAIL_FLAGS defines for DOSPATH target - WB +* Better kluge to set terminal type for DOSPATH - WB +* Restored DOSPATH kludge to get to root of directory - WB +* Added a bit of missing _WINDOWS_NSL ifdef'ing - WB +* Minor DOS dirent mod to work with Tom's rearrangements - WB +* Changed #if XYZ to #ifdef XYZ in tcp.h for dumb (?) compilers - WB + +1998-03-25 (2.8.1dev.4) +* restore original string in LYUtils.c when user enters a badly formed or + nonexistent URL when prompted for Goto/history list. Otherwise Lynx would + always attempt to load a local file if the original string omits scheme:// + prefix but guessing fails (patch by Randall <hezekiah@may98.rahul.net>). +* tweak formatting of .message in HTFTP.c so it has leading/trailing blank + lines (patch by Ismael Cordeiro <ismael@CAM.ORG>) +* retested 'make depend' rule (for LV (Larry Virden)) - TD +* eliminate (except for absolute pathnames, as in VMS) quoted includes - TD +* remove WWW/Library/Implementation/HTAlert.[ch], since they conflict with + src/HTAlert.[ch], and are not used - TD +* replace the [LINK], [INLINE] and [IMAGE] comments (for images without ALT) + with filenames of these images. This feature can be enabled or disabled by + setting VERBOSE_IMAGES in lynx.cfg and/or userdefs.h (patches by + Helen Sommer <helen@voland.cc.huji.ac.il>, + Bill Schiavo <wschiavo@concentric.net>) +* consistently use ${cf_cv_ncurses_header-curses.h} rather than + $cf_cv_ncurses_header in configure script, as noted by JES - TD +* tweak include of HTML.h in HTFile.h to fix compile problem on VMS (we really + should not use quote-style includes) - TD +* fixes to LYStyle.c to make color-style code work on Digital Unix 4.0 - TD + +1998-03-20 (2.8.1dev.3) +* Added death for Win/DOS clients that don't have a TMP space defined - WB +* Added _WINDOWS_NSL to provide interruptable lookups in Win32 per a + patch from afn06760@afn.org. (modified hopefully for borland AND Cygwin and + hard defined in tcp.h). I had to recompile everything in multithread + mode for borland, including my zlib library - WB +* Added _WINDOWS as a target for FNAMES_8_3 in userdefs.h to allow for 16 + bit helper apps that can't handle LFN's. (report by afn06760@afn.org) - WB + +1998-03-18 (2.8.1dev.1) +* correct an ifdef that caused inconsistent pathname separators on Windows + (reported by afn) -DK +* correct a missing AC_MSG_RESULT in configure.in (also MM) - TD +* guard against illegal (e.g., zero) value for DEFAULT_CACHE_SIZE, when it is + read from lynx.cfg (reported by Martin Mokrejs + <mmokrejs@prfdec.natur.cuni.cz>) - TD +* implement simple 'include' facility for lynx.cfg - BL +* change TagClass and TagFlags to #define's to accommodate older compilers + which do not accept initialization of enums from data that do not correspond + to the declared values, e.g., CLIX (which complains) and Apollo (which fails + to compile, reported by Dave Eaton). - TD +* remove some obsolete definitions from userdefs.h, tcp.h and HTUtils.h - TD +* remove obsolete files from WWW/Library - TD + +1998-03-12 +* UPPER8: a separate function HTMLSetDisplayCharsetMatchLocale() introduced + (LYCharSets.c). Locale mismatch assumed for DOS/WINDOWS display charsets. -LP |