Summary of changes in Lynx v2.8.3 This list only summarizes some changes, for a detailed history of changes see the [1]CHANGES file. New features (some are compile-time options): * tabular representation for simple tables. See [2]README.TRST * add FTP_PASSIVE option to lynx.cfg, allowing installer to defer decision of whether lynx uses passive ftp connection * add colored source view (configure with --enable-prettysrc), use command line option --prettysrc to activate. * added text justification, controlled by commandline switch -justify. * added support for emitting backspaces when printing a page, command line option -with-backspaces. * added commandline switch -dont_wrap_pre that will inhibit line wrapping in
when -dump'ing and -crawl'ing.
* text inputs in forms can be made "non-sticky" (controlled by
lynx.cfg setting TEXTFIELDS_NEED_ACTIVATION) - if enabled, they
will accept user's input only after activation (by pressing Enter
or left-arrow on them).
* add -short_url option to elide middle of long urls that are
displayed the status line.
* add popup menu to control alternate organizations of the visited
links page.
Other enhancements:
* improve performance:
+ color-style code now uses less memory.
+ restructured the largest source file so it compiles faster
and on smaller machines.
* lots of fixes for source caching.
* improve HTML interpretation:
+ improved handling of '/' after element name in a tag:
" " is treated as an empty element (as in XML).
+ Changed handling of OBJECT and MAP.
o 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.
o in HTML 4, MAP can contain arbitray 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.
o 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.
+ in a list, render a that doesn't have an ALIGN="center"
or ALIGN="right" attribute like a in that situation:
break the line if necessary but don't create an empty line,
and keep list indentation.
+ since DIV is a block element, make sure its contents do not
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
or
in its content
+ added support for forcing empty HREFless A's - i.e., an A
element that doesn't contain HREF will be closed after it was
seen, without waiting for . This fixes rendering of
documentation, produced by broken translators.
* improvements to character sets and display:
+ improved handling of CJK, especially Japanese test
+ improved display of UTF-8 text
+ deal with backspace formatting as used in formatted man
pages. (No highlighting, only avoid double output of
characters).
+ changes for SUP and SUB: Render SUP as a '^' character if it
must be separated from a preceding character in order to
prevent misinterpretation. Render and always as
brackets '[' and ']' respectively.
+ 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
+ if configured with --enable-charset-choice, it is possible to
select which charsets are available for selection on the
Options page (so you can compile in support for a lot of
charsets, but make only a few available for selection).
+ 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.
* improve textarea handling:
+ 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 is still supported).
+ 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.
+ 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 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.
* improve interaction with other programs:
+ modify HTFTP.c for better conformance with RFC959, avoid
hanging when showing some directory listings (especially from
newer wu-ftpd servers).
+ 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
+ added support for accessing FTP directory listings in "dls"
style sent by some servers.
* improve cookie support:
+ changed default for PERSISTENT_COOKIES from TRUE to FALSE,
since persistent cookie support is now configured in by
default.
NOTE: If you are using persistent cookies, i.e., a cookie
file, you may have to change your lynx.cfg to explicitly
enable PERSISTENT_COOKIES.
+ add COOKIE_SAVE_FILE lynx.cfg and corresponding command-line
option, default it to /dev/null, which is recognized on all
systems.
NOTE: If you use lynx non-interactively (with -dump or
-source etc.) AND want new cookies from those invocations to
be saved, you will have to update your script (or lynx.cfg
file) to use this new option. The good news is that saving of
cookies should then also work with -source, whereas in
previous versions it only worked with formatting -dump.
+ 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.
+ write quoted cookie values to cookie file with the quotes.
When the cookie file is read, assume that quoted strings are
quoted cookie values.
+ use more of the available statusline width for showing cookie
name and value in normal cookie prompts.
+ change invalid cookie confirmation prompts to default to "no"
answer.
* improvements to keyboard input:
+ New "Bash-like" Line Editor binding.
+ Allow KEYMAP directives in lynx.cfg of extended form (see the
comments in [3]lynx.cfg for details).
+ 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).
+ 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
+ add key actions LPOS_PREV_LINK and LPOS_NEXT_LINK, 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.
+ 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.
+ add bindings for ^ and $ (like vi) to move the cursor to the
first and last link on the current line.
+ add key action DWIMHELP, for some context-sensitive help, by
default mapped to F1, currently differs from HELP (by default
mapped to '?' and 'H') only in text input fields.
+ improve mouse support in ncurses and PDcurses configurations.
+ add support for scrollbars with curses. Use command-line
options -scrollbar and -scrollbar_arrow or corresponding
lynx.cfg to enable it. With ncurses, the mouse operates on
the scrollbar, otherwise it is useful for display.
* improved support for reloading lynx.cfg options in running
session, see LYNXCFG:/ pseudo-page (there's a link to it from the
bottom of the forms-based Options menu). This is still
experimental.
* Added new functionality for rules: Redirect, UseProxy, various
others. See [4]cernrules.txt in samples directory for details.
* add Perl script for generating HTML'ized users' guide from
lynx.cfg, which now contains markup information for this purpose.
The configure option --enable-htmlized-cfg installs the htmlized
lynx.cfg files.
* indicate on forms Options Screen which options are not saved to
.lynxrc.
* add -nobold, -noreverse, -nounderline options to disable
corresponding video attributes.
* revived dired "install" functionality, more or less as it was
(apparently) originally meant to be used, but with various checks
added. (See example: [5]samples/installdirs.html file.)
* expand tilde (~) consistently in paths for LYNX_TEMP_SPACE,
LYNX_CFG, LYNX_LSS_FILE, cookie files
* enhanced read-progress logic (a compile-time option).
* you may use dashes instead of underscores in commandline options
(e.g. --dont-wrap-pre and -dont_wrap_pre mean the same).
New ports:
* to BeOS R4.5
Existing ports:
* many improvements to the Win32 ports, both for Visual C++ and for
GNU compiler ports.
* modify Home_Dir() so that on DOS and Windows, if the $HOMEDRIVE
variable is set, it may be used to specify the drive on which
$HOME is located
* add built-in copy-file logic for DOS-based systems dired support.
* make dired work (with some limitations) with DJGPP and Win32
configurations.
* DJGPP with WATT32 now does DNS lookup via gethostbyname() like
other lynx ports so users get reasonable error recovery when DNS
lookup fails.
* changes for DJGPP to use the WATT-32 tcp library, making a DOS
port that does http, ftp, news, mailto, and telnet
As well as security-related changes:
* disable setuid on initialization.
* on initialization, check if the LYNX_TEMP_SPACE denotes a
directory which Lynx cannot easily determine if someone could
alter the user's temp-files. If so, make a subdirectory of that,
with appropriate permissions.
* use a random number rather than a counter to name temporary files.
* review use of strcat/strcpy, changing as needed to avoid buffer
overflows.
* review use of "%s" in sprintf, to guard against buffer overflows,
modified some to use HTSprintf0 or StrAllocCopy, others to use
specific lengths.
* protect various printf-like calls against crashes from strings
with '%'.
* modify HTTCP.c to prevent telnet and similar applications from
inadvertently using hostname tokens which look like command-line
options.
* ifdef'd IsOurFile() to perform only an ownership check on
single-user DOS and OS/2 systems, so user can overwrite files.
* review/update code for the various -restriction options, in
particular adding restrictions for the new information pages such
as LYNXCFG:.
* restrictions inside_news, outside_news now apply to reading as
well as posting. The documentation said that they apply to
posting, while in fact they were implemented for reading only.
* replaced checks that looked at the document's title by checks of
the address, for pages that are always identified by a special URL
scheme.
* check directly in postoptions() whether the loaded document is one
from which submission of option changes can be accepted. Only the
form-based Options Menu and Visited Links are allowed.
And finally:
* A lot of bug fixes
* A lot of documentation changes.
* A lot of dead code removed
http://lynx.isc.org/lynx2.8.3/features.html
Page maintained by Thomas Dickey ([6]dickey@clark.net).
Copyright(c) 2000, Thomas Dickey
Last Updated: 2000-05-05
Valid HTML! [7]Re-validate
References
1. file://localhost/usr/local/apache/htdocs/lynx/lynx-2.8.3/lynx2-8-3/CHANGES
2. file://localhost/usr/local/apache/htdocs/lynx/lynx-2.8.3/lynx2-8-3/docs/README.TRST
3. file://localhost/usr/local/apache/htdocs/lynx/lynx-2.8.3/lynx2-8-3/lynx.cfg
4. file://localhost/usr/local/apache/htdocs/lynx/lynx-2.8.3/lynx2-8-3/samples/cernrules.txt
5. file://localhost/usr/local/apache/htdocs/lynx/lynx-2.8.3/lynx2-8-3/samples/installdirs.html
6. mailto:dickey@clark.net
7. http://validator.w3.org/check?uri=http://lynx.isc.org/release/features.html