Summary of changes in Lynx v2.8.2
This list only summarizes some changes, for a detailed history
of changes see
the CHANGES file.
New features:
- provide international language support using gettext. Lynx may be built
with (or without) either GNU or Solaris gettext.
- implement HTML source caching. HTML documents are kept either
in memory or in a temporary file according to lynx.cfg
(you must configure with --enable-source-cache).
- add changes to invoke external editor on textarea, can be invoked by adding a
KEYMAP entry for EDITTEXTAREA area to lynx.cfg
- statusline messages are now stored in a cycled buffer and accessible from the
History Page as LYNXMESSAGES:/ link.
- when STARTFILE cannot not be loaded, lynx now exits with more understandable
status messages. All important statusline messages are now printed to
stderr/stdout
- added experimental HTML source syntax highlighting (use option -prettysrc,
you must configure with --enable-prettysrc).
Other enhancements:
- improve performance:
- cache user and group identifiers for the dired screen.
- improve performance of forms-based options menu:
reload previous document when necessary.
- reduce frequency of keyboard interrupt checks since this is
comparatively slow. Use gettimeofday when available, to implement
0.1 second interval for skipping interrupt check. Otherwise, limit
to no more than once per second.
- improve HTML interpretation:
- tweak for TABLE formatting: break line at </TR> end tag
(don't wait for next <TR> start tag), effective in SortaSGML
mode only
- formatting tweak in HTML.c for <DD> not preceded by
<DT>: Don't use wrong indentation in that case
- prevent generation of empty line between multiple simple DT
elements without intervening DD elements
- 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
- Added support for Euro currency symbol.
- — (—) is displayed as "--"
- new character sets:
- ISO 8859-15, i.e., "Latin 9"
- HP Roman8
- improve interaction with other programs:
- do not report new mail when the mail file's modification time differs
from its access time
- 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.
- use the Message-Id of a news article to generate a References header
when posting a reply.
- improve mailcap support:
- correct precedence of entries within a mailcap (relative to other
entries from the same file) as per RFC 1524.
- prevent generation of some unnecessary temp files when constructing
mailcap file test commands
- optimize the test commands specified in the mailcap file by
remembering which tests have been run already.
- improve cookie support:
- domains now match case insensitively
- try to preserve cookies (within a domain) in the same order in which
they were received.
- don't write expired cookies, cookies with no value, cookies with
discard attribute, or cookies without expiration date to persistent
file
- write the cookie file even if we now have no cookies, if we have
previously read cookies from the file.
- make the cookie file readable by only the owner
- ignore comment lines beginning with a '#'
- Rejection or Acceptance of cookies, without prompting, can be
controlled on a per-domain basis by lynx.cfg options. In addition,
rejection of cookies that are invalid (according to criteria
that follow RFC2109 and more recent drafts, which are sometimes
stricter than the widely used "Preliminary Specification" from
Netscape) can now be controlled by separate lynx.cfg options,
on a per-domain basis; by default, some of these "invalid"
cookies can be accepted after confirmation.
- improve mouse support:
- navigation works to or inside text entry fields
(ncurses only).
- a context sensitive menu is invoked with the middle mouse button
(ncurses only).
- Double-click-1 on the first and last row are interpreted as goto
start, end or main-window depending on the location of the click.
- improve experimental color style:
- 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.
- Allow mono attribute field in lynx.lss to be a combination of several
attributes separated by '+' characters.
- added experimental command "ADDRLIST", invoked with 'A',
- add links to HTML'ized users' guide to lynx.cfg
- 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.
- assign LYNXCFG:/ and LYNXCOMPILEOPTS:/ for internal pages of parsed lynx.cfg
and compile-time info.
- use case mapping from ftp.unicode.org /Public/UNIDATA for case-insensitive
user search, rather than UPPER8 assumption introduced in 2.8 release.
- add support for content encoding for x-bzip2, bzip2 for HTML files.
- add tab-completion on URL's, by using previously-entered strings for
matching
- modify 123g (and similar movement) commands to allow for relative links,
e.g., by using a '+' or '-' after the 'g'.
- workaround to allow lynx to use the keypad "enter" key as an alias for
carriage return on most terminals
New ports:
- to OS/390, which uses EBCDIC
Existing ports:
- implement experimental setfont translation for OS/2 EMX
- modify HTVMS_purge() to rename the remaining file to version 1 unless a
permissions problem was encountered
- change VMS WWW build-script to use prefix=all rather than prefix=ansi,
so that POSIX functions such as 'stat()' are linked properly
- make compressed files work with OS/2 EMX and
- fixes for control/C and control/BREAK handling on DJGPP
As well as security-related changes:
- use safe-sprintf to eliminate most fixed-size buffers (and associated
potential for buffer overflow).
- use new functions for building up command-string for shell commands, which
quote parameters as needed
- prevent spoofing attempts from possible buffer overruns in forms-based
options menu.
- implement restrictions on options that can be set via the lynx.cfg "include"
directive
- derive original directory (used as a download default) from
the process's current working directory rather than environment variable $PWD
And of course, fixes from the initial 2.8.1 release:
- 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
- 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.
- check that stdin is really a tty before trying to select from it in the
NSL-FORK logic, allowing users to run lynx -dump in a cron job.
And finally:
- A lot of bug fixes
- A lot of documentation changes.
- A lot of dead code removed
features.html
Page maintained by Thomas Dickey
(dickey@radix.net).
Copyright(c) 1999, Thomas Dickey
Last Updated: 2001-01-31