[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
lynx-dev dev.15 patch 7 - doc updates for recent changes
lynx-dev dev.15 patch 7 - doc updates for recent changes
Tue, 30 Nov 1999 06:34:59 -0600 (CST)
Some doc changes only.
* Update docs for -tna instead of --sticky_inputs.
* Document extended KEYMAP syntax in lynx.cfg.
* Update Users Guide for KEYMAP changes, esp. TEXTAREA-related sections.
* Move text on ^V a bit to better place, provide a couple links to it.
* Add blurb about TRST to Users Guide. Also mention external scripts
for table handling.
* Revise section in Supported URLs on internal schemes. Toned down,
provide rationale, give examples.
--- 2.25/lynx.man Thu, 25 Nov 1999 07:18:32 -0600
+++ 2.25(w)/lynx.man Tue, 30 Nov 1999 04:26:43 -0600
@@ -558,9 +558,6 @@
allow non-http startfile and homepage with -validate.
-don't require activating inputs in order to edit them.
initialize parser, using Tag Soup DTD rather than SortaSGML.
@@ -576,6 +573,9 @@
toggles between using a Lynx Trace Log and stderr for trace output
from the session.
+turns on "Textfields Need Activation" mode.
turns on Lynx trace mode. Destination of trace output depends
--- 2.25/lynx.cfg Sun, 28 Nov 1999 13:18:29 -0600
+++ 2.25(w)/lynx.cfg Mon, 29 Nov 1999 21:09:26 -0600
@@ -777,7 +777,10 @@
# LYNXCGI_ENVIRONMENT adds the current value of the specified
# environment variable to the list of environment variables passed on to the
-# lynxcgi script. Useful variables are HOME, USER, EDITOR, etc...
+# lynxcgi script. Useful variables are HOME, USER, etc... If proxies
+# are in use, and the script invokes another copy of lynx (or a program like
+# wget) in a subsidiary role, it can be useful to add http_proxy and other
+# *_proxy variables.
@@ -1800,8 +1803,9 @@
# Key remapping definitions!
# You may redefine the keymapping of any function in Lynx by
-# using the KEYMAP option. The form of KEYMAP is:
+# using the KEYMAP option. The basic form of KEYMAP is:
# KEYMAP:<KEYSTROKE>:<LYNX FUNCTION>
+# (See below for an extended format.)
# You must map upper and lowercase keys separately.
@@ -1922,28 +1926,6 @@
#KEYMAP:0x00:DO_NOTHING # Does nothing (ignore this key)
#KEYMAP:0x10E:DO_NOTHING # Does nothing (ignore this key)
-# KEYMAP lines can have an additional field. If present, and if it specifies
-# PASS, then if the key is pressed in a text input field it is passed by the
-# built-in line-editor to normal KEYMAP handling, i.e. this flag acts like an
-# implied ^V escape. It overrides any line-editor binding for the key. For
-#KEYMAP:0x10C:UP_TWO:PASS # Function key Insert - Move display up two lines
-# If the additional field specifies DIRED, then the function is mapped in
-# the override table used only in DIRED mode. This is only valid if lynx
-# was compiled with dired support and OK_OVERRIDE defined. Default override
-# mappings are
-#KEYMAP:^U:PREV_DOC:DIRED # Return to the previous document
-#KEYMAP:.:TAG_LINK:DIRED # Tag a file or directory for later action
-#KEYMAP:c:CREATE:DIRED # Create a new file or directory
-#KEYMAP:f:DIRED_MENU:DIRED # Display a menu of file operations
-#KEYMAP:m:MODIFY:DIRED # Modify name or location of a file or directory
-#KEYMAP:r:REMOVE:DIRED # Remove files or directories
-#KEYMAP:t:TAG_LINK:DIRED # Tag a file or directory for later action
-#KEYMAP:u:UPLOAD:DIRED # Show menu of "Upload Options"
# In addition to the bindings available by default, the following functions
# are not directly mapped to any keys by default, although some of them may
# be mapped in specific line-editor bindings (effective while in text input
@@ -1968,6 +1950,96 @@
# LYMessages_en.h Otherwise, it will be NOVICE_LINE_TWO.
#KEYMAP:O:TOGGLE_HELP # Show other commands in the novice help menu
+# KEYMAP lines can have one or two additional fields. The extended format is
+# KEYMAP:<KEYSTROKE>:[<MAIN LYNX FUNCTION>]:<OTHER BINDING>[:<SELECT>]
+# If the additional field OTHER BINDING specifies DIRED, then the function is
+# mapped in the override table used only in DIRED mode. This is only valid
+# if lynx was compiled with dired support and OK_OVERRIDE defined. A
+# MAIN LYNX FUNCTION must be given (it should of course be one that makes
+# sense in Dired mode), and SELECT is meaningless. Default built-in override
+# mappings are
+#KEYMAP:^U:PREV_DOC:DIRED # Return to the previous document
+#KEYMAP:.:TAG_LINK:DIRED # Tag a file or directory for later action
+#KEYMAP:c:CREATE:DIRED # Create a new file or directory
+#KEYMAP:f:DIRED_MENU:DIRED # Display a menu of file operations
+#KEYMAP:m:MODIFY:DIRED # Modify name or location of a file or directory
+#KEYMAP:r:REMOVE:DIRED # Remove files or directories
+#KEYMAP:t:TAG_LINK:DIRED # Tag a file or directory for later action
+#KEYMAP:u:UPLOAD:DIRED # Show menu of "Upload Options"
+# If the OTHER BINDING field does not specify DIRED, then it is taken as a
+# line-editor action. It is possible to keep the MAIN LYNX FUNCTION field
+# empty in that case, for changing only the line-editin behavior.
+# If alternative line edit styles are compiled in, and modifying a key's
+# line-editor binding on a per style basis is possible, then SELECT can be
+# used to specify which styles are affected. By default, or if SELECT is
+# 0, all line edit styles are affected. If SELECT is a positive integer
+# number, only the binding for the numbered style is changed (numbering
+# is in the order in which styles are shown in the Options Menu, starting
+# with 1 for the Default style). If SELECT is negative (-n), all styles
+# except n are affected.
+# NOP # Do Nothing
+# ABORT # Input cancelled
+# BOL # Go to begin of line
+# EOL # Go to end of line
+# FORW # Cursor forwards
+# BACK # Cursor backwards
+# FORWW # Word forward
+# BACKW # Word back
+# DELN # Delete next/curr char
+# DELP # Delete prev char
+# DELNW # Delete next word
+# DELPW # Delete prev word
+# DELBL # Delete back to BOL
+# DELEL # Delete thru EOL
+# ERASE # Erase the line
+# LOWER # Lower case the line
+# UPPER # Upper case the line
+# LKCMD # In fields: Invoke key command prompt (default for ^V)
+# PASS # In fields: handle as non-lineedit key; in prompts:
+# Modify following key (prefixing only works within line-editing, edit actions
+# of some resulting prefixed keys are built-in, see Line Editor help pages)
+# SETM1 # Set modifier 1 flag (default for ^X - key prefix)
+# SETM2 # Set modifier 2 flag (another key prefix - same effect)
+# May not always be compiled in:
+# TPOS # Transpose characters
+# SETMARK # emacs-like set-mark-command
+# XPMARK # emacs-like exchange-point-and-mark
+# KILLREG # emacs-like kill-region
+# YANK # emacs-like yank
+# SWMAP # Switch input keymap
+# PASTE # ClipBoard to Lynx - Windows Extension
+# May work differently from expected if not bound to their expected keys:
+# CHAR # Insert printable char (default for all ASCII
+# ENTER # Input complete, return char/lynxkeycode (for RETURN/ENTER)
+# TAB # Input complete, return TAB (for ASCII TAB char ^I)
+# Internal use, probably not useful for binding, listed for completeness:
+# UNMOD # Fall back to no-modifier command
+# AIX # Hex 97
+# C1CHAR # Insert C1 char if printable
+# If OTHER BINDING specifies PASS, then if the key is pressed in a text input
+# field it is passed by the built-in line-editor to normal KEYMAP handling,
+# i.e. this flag acts like an implied ^V escape (always overrides line-editor
+# behavior of the key). For example,
+#KEYMAP:0x10C:UP_TWO:PASS # Function key Insert - Move display up two lines
+# Other examples (repeating built-in bindings)
+#KEYMAP:^V::LKCMD # set (only) line-edit action for ^V
+#KEYMAP:^V:SWITCH_DTD:LKCMD # set main lynxaction and line-edit action for ^V
+#KEYMAP:^U::ERASE:1 # set line-edit binding for ^U, for default style
+#KEYMAP:^[::SETM2:3 # use escape key as modifier - works only sometimes
# Alternate jumps files can be defined and mapped to keys here. If the
# keys have already been mapped, then those mappings will be replaced,
--- 2.25/lynx_help/Lynx_users_guide.html Thu, 25 Nov 1999 13:27:27 -0600
+++ 2.25(w)/lynx_help/Lynx_users_guide.html Mon, 29 Nov 1999 20:43:25 -0600
@@ -1375,23 +1375,77 @@
href="#submit">submit</a> the form if the text entry field is the
only non-hidden field in the form.
+ If <A NAME="tna">"Textfields Need Activation"</A> mode is turned on,
+ then text entry fields do not become active immediately upon being
+ selected, as normally. Keystrokes have their normal command meaning
+ unless the Line Editor gets activated with <em>Return</em> or <em>Left
+ Arrow</em>. This mode can be used to avoid "getting stuck" in input
+ fields, especially by users that rearely fill out forms.
+ <DIV ID="CtrlVNote">
+ <p><em>NOTE:</em> If you have a text input field selected you will not
+ have access to most of the Lynx keystroke commands, because they are
+ interpreted by the <a href="keystrokes/edit_help.html"
+ >Line Editor</a> as either text entries or editing commands. Select a
+ button or box when you want to use Lynx keystrokes; or prefix your
+ keystroke with <em>^V</em> to temporarily escape from line editing.
+ Some flavors of UNIX, shells & terminal settings require
+ that you enter <em>^V^Ve</em> in order to start the external editor,
+ as they also use <em>^V</em> as default command-line quote key
+ (called `lnext' in stty man pages and `stty -a' output);
+ to avoid this, you can put `stty lnext undef' in your .cshrc
+ file (or .profile or .bashrc, depending on what shell you use),
+ or invoke Lynx with a wrapper script, e.g.<p>
+ stty lnext undef<br>
+ $HOME/bin/lynx "$@"<br>
+ stty lnext ^V<br>
+ NB when NOT in the Line Editor, <em>^V</em> is by default bound
+ to the command
+ to switch between SortaSGML and TagSoup HTML parsing
+ (i.e., SWITCH_DTD).
+ To avoid confusion, either of these separate functions could be changed
+ (mapped away) with a KEYMAP directive in <em>lynx.cfg</em>. For
+ would map SWITCH_DTD away from <em>^V</em> to <em>#</em>, while leaving
+ its default Line Editor function as a command escape in place. On the
+ other hand,<pre></pre>
+ would move <em>^V</em>'s Line Editor binding as command escape to
+ <em>^_</em> for the first Line Edit style, letting <em>^V</em> still
+ act as SWITCH_DTD
+ outside of text input fields.
-<dd>TEXTAREA fields are handled as if they were a series of text entry
- (INPUT) fields for which successive lines imply a newline at the end of
+<dd>TEXTAREA fields are for most purposes handled as if they were a series of
+ text entry (INPUT) fields
+ for which successive lines imply a newline at the end of
the preceding line. You enter text on each line to construct the overall
message. Any blank lines at the bottom of the TEXTAREA field will be
eliminated from the submission. The <em>up-arrow</em>, and
<em>down-arrow</em> or <em>Return</em> keys move you to the preceding,
- or next line of the overall message, as for INPUT fields, and the
+ or next line of the overall message, as for INPUT fields. The
<em>TAB</em> key will move you down beyond the bottom of the TEXTAREA
+ field, and <em>Back Tab</em> (if available, e.g. as Shift-Tab, and
+ correctly mapped in the terminal description) will move backward to
+ a link or field before the TEXTAREA.
<dt>Editing TEXTAREA Fields and Special TEXTAREA Functions
<dd>TEXTAREA fields can be edited using an external editor.
The statusline should tell you when this is possible and what
key to use, it might for example say
-<PRE> <strong>(Textarea) Enter text. </strong>[...] <strong>(^Xe for
+ >(Textarea) Enter text. </strong>[ ..... ]<strong> (^Xe for
An external editor has to be defined, for example in the <a
href="#InteractiveOptions">Options Menu</a>, before you can start
@@ -1408,46 +1462,47 @@
(the first is only functional for TEXTAREA editing, while the second
allows to use the same key for normal <a href="#FileEdit">file
- editing</a> <em>as long as both functions don't conflict</em>).</p>
+ editing</a> <em>as long as both functions don't conflict</em>).
+ <p>Please see the <a href="#CtrlVNote">note above</a> for details
+ about <em>^V</em> behavior.</p>
You can also use two other special TEXTAREA functions. Again, these
are already bound to key sequences in the <a
- You can invoke them independently of the line edit style
+ Bindings</a>, by default <em>^Xg</em> and <em>^Xi</em>.
+ You can use different keys
by adding KEYMAP bindings to your <em>lynx.cfg</em> file, e.g.<p>
- With these bindings -- you can choose other keys -- ,<br>
- (in a TEXTAREA only) <em>^V$</em> adds 5 lines to the TEXTAREA
- and <em>^V#</em> prompts for the name of an existing file
+ With these bindings,
+ (in a TEXTAREA only) <em>^V$</em> would add 5 lines to the TEXTAREA
+ and <em>^V#</em> would prompt for the name of an existing file
to be inserted into the TEXTAREA (above the cursorline).
- An automatic variation is normally compiled in,
+ An automatic variation of GROWTEXTAREA is normally compiled in,
so that hitting <em>Enter</em> with the cursor on the last line
adds a new line to the TEXTAREA, with the cursor on it.<p>
- Some flavors of UNIX, shells & terminal settings require
- that you enter <em>^V^Ve</em> in order to start the external editor,
- as they also use <em>^V</em> as default command-line quote key
- (called `lnext' in stty man pages and `stty -a' output);
- to avoid this, you can put `stty lnext undef' in your .cshrc
- file (or .profile or .bashrc, depending on what shell you use),
- or invoke Lynx with a wrapper script, e.g.<p>
- stty lnext undef<br>
- $HOME/bin/lynx "$@"<br>
- stty lnext ^V<br>
- NB when NOT in the Line Editor, <em>^V</em> is by default bound
- to the command
- to switch between SortaSGML and TagSoup HTML parsing
- (i.e., SWITCH_DTD ).
+ If you have some single keys (or control keys) to spare that you
+ do not need for their normal purposes, you can dedicated those keys
+ to invoke the special functions (without requiring a prefix key).
+ For example, to use
+ the <em>^E</em> key for the DWIMEDIT action, and
+ the <em>Insert</em> key for the INSERTFILE action,
+ (see lynx.cfg for other keystroke codes to use).
+ <p>Note that the default bindings that use <em>^X</em> as a prefix key
+ <em>may</em> also work by substituting the <kbd>Escape</kbd> key
+ for ^X. If your keyboard has a modifier (Meta) key that gets
+ transmitted as an ESC prefix, for example <kbd>Alt</kbd>, you can
+ then even us <em>Alt-e</em> instead of <em>^Xe</em>, <em>Alt-g</em>
+ instead of <em>^Xg</em>, and so on. But this does not work reliably
+ everywhere (it depends on the way Lynx is compiled, including which
+ libraries are used, and behavior of the connection and terminal type).
In general, you can move around the form using the standard Lynx navigation
@@ -1455,14 +1510,6 @@
select the previous or next field, box, or button. The <em>TAB</em> key
selects the next field, box, or button.
-<p><em>NOTE:</em> If you have a text input field selected you will not
-have access to most of the Lynx keystroke commands, because they are
-interpreted by the <a href="keystrokes/edit_help.html"
->Line Editor</a> as either text entries or editing commands. Select a
-button or box when you want to use Lynx keystrokes; or prefix your
-keystroke with <em>^V</em> to temporarily escape from line editing.
<p>To <A name="submit"><em>submit</em></a> the form press
<em>right-arrow</em> or <em>Return</em> when positioned on the form's
submit button. If you've submitted the form previously during the Lynx
@@ -1665,6 +1712,50 @@
for PRE content, construct the <em>table</em> using <a
href="#Tabs">HTML Tabs</a>. An example <em>table</em> using <em>TAB</em>
elements is included in the test subdirectory of the Lynx distribution.
+<p>Starting with version 2.8.3, Lynx can now render some tables in tabular
+form. This tabular representation for <em>simple</em> tables
+(<dfn>TRST</dfn>) does not attempt to implement full support for any table
+model. Limitations are:
+ <li>All data constituting a table row generally has to fit within the
+ display width without inserting line breaks.
+ <li>Cell contents have to be simple. In general, only inline markup is
+ acceptable, no <code><P></code>, <code><BR></code> etc.
+ (although <code><BR></code> may
+ be ignored at the beginning of the first cell or at the end of the
+ last cell of a row).
+ <li>When tables are nested, only the innermost level is a candidate
+ for tabular representation.
+ <li>Most attributes are ignored, including borders, <code>WIDTH</code>,
+ vertical alignment.
+Horizontal alignments (<code>LEFT</code>, <code>CENTER</code>,
+<code>RIGHT</code>), <code>COLSPAN</code>, and <code>ROWSPAN</code> are
+interpreted according to HTML 4.01. (<code>ROWSPAN</code> can only reserve
+empty space in subsequent rows, because of the limitiations above.) When
+TRST fails because a table is not "simple" enough, the representation falls
+back to the minimal handling described earlier.
+Many (but, unfortunately, by no means all) tables that represent inherently
+tabular material will thus be shown with correct tabular formatting.
+Where table markup is used only for layout purposes (containing whole blocks
+of text and list within table cells) and not essential for understanding
+the textual contents, it remains basically ignored. Some more information
+on details is available in the file <tt>README.TRST</tt> of the source
+<p>For tabular display of more complex tables, Lynx users can make use of
+external scripts or programs. The normal Lynx distribution currently does
+not provide such scripts, but they can be written locally or downloaded
+from several sources. It is suggested to use one of Lynx's facilities for
+invoking external programs (see <tt>DOWNLOADER</tt>, <tt>PRINTER</tt>,
+<tt>EXTERNAL</tt>, <tt>TRUSTED_LYNXCGI</tt> in <A
+HREF="#lynx.cfg">lynx.cfg</A> and <A HREF="lynx_url_support.html#cgi"><code
+>lynxcgi:</code></A> in <em>Supported URLs</em> for information on various
+ways for setting this up).
<h2 ID="Tabs"><A NAME="Tabs"><em>Lynx and HTML Tabs</em></a></h2>
@@ -2341,7 +2432,7 @@
<dd>force numbering of links.
- <dd>toggles displaying of partial pages while downloading.
+ <dd>toggles displaying of partial pages while loading.
<dd>set authorization ID and password for a protected proxy
server at startup. Be sure to protect any script files
@@ -2564,6 +2655,9 @@
keystroke command. If use of a Lynx Trace Log
is turned off, any trace output will go to the standard
+ <dd>turns on <A HREF="#tna">"Textfields Need Activation"</A>
<dd>turns on Lynx trace mode. If a Lynx Trace Log
(<em>Lynx.trace</em> in the home directory) has
--- 2.25/lynx_help/lynx_url_support.html Thu, 25 Nov 1999 07:30:47 -0600
+++ 2.25(w)/lynx_help/lynx_url_support.html Mon, 29 Nov 1999 06:03:12 -0600
@@ -594,22 +594,42 @@
<H2><a name="internal">The <em>LYNXfoo</em> internal URLs:</a></H2>
-Lynx uses a variety of internal URL schemes as structured stream
-objects for communication among its display modules. If you discover
-what they are, and are tempted to use them externally in documents,
-find the self-restraint to <em>resist</em> that temptation!!!
+Lynx uses a variety of private URL schemes form communication among its
+internal modules. They start with uppercase letters <code>LYNX</code>
+by convention, although, as input, URL schemes are recognized in a
+As you discover what they are, and are tempted to use them externally in
+documents, you should <em>resist</em> that temptation:
+<UL><LI>There already is too much browser-specific markup around...
+<LI>The schemes, or their meanings, may change between Lynx versions.
+<LI>Even if a scheme stays the same, some aspect of its behavior may
+ be modified without notice, or the context in which it is allows
+ may change.
+<LI>If it doesn't work as expected when used outside of the intented
+ purpose, don't expect anyone to "fix" it.
-<p>For example, tempting though it might be, do <em>not</em> use these:
+<p>For example, tempting though it might be, do not use these:
<em>Return to your <A HREF="LYNXHIST:0">Startfile</A></em>
<em>Review your <A HREF="LYNXKEYMAP:">Keymap</A></em>
-(Yes, they'll work. No, they won't do any harm. But...)
+(No, they won't do any harm. Yes, they work. But don't rely on it.)
-<p>If you <em>must</em> try one, the second is OK from the command line:<BR>
+<p>If you must try one, the second is OK from the command line:<BR>
But within Lynx, use the '<em>K</em>' keystroke command.
+Sometimes it may be convenient to use an internal scheme with
+'<em>g</em>'oto, as in:
+ <em>g LYNXMESSAGES:</em>
+ <em>g LYNXCOMPILEOPTS:</em>
+ <em>g LYNXCFG:</em>
+But again, there usually is a way in which those special pages are
+meant to be reached that is more convenient.
--- 2.25/lynx_help/keystrokes/keystroke_help.html Thu, 25 Nov 1999 13:27:27
+++ 2.25(w)/lynx_help/keystrokes/keystroke_help.html Mon, 29 Nov 1999 04:16:25
@@ -90,7 +90,8 @@
>alternative parsing</A> of HTML.
- In a form text input field,
CTRL-V prompts for a key command (allows
- escaping from the field).
+ <A HREF="../Lynx_users_guide.html#CtrlVNote"
+ >escaping</A> from the field).
CTRL-U - Erase input line (<a href="edit_help.html"
>more input line commands</a>)
CTRL-G - Cancel input or transfer
--- 2.25/samples/lynx-keymaps Sat, 12 Jun 1999 17:10:16 -0500
+++ 2.25(w)/samples/lynx-keymaps Mon, 29 Nov 1999 02:40:23 -0600
@@ -131,15 +131,18 @@
#setkey "\033e" Meta-'e'
#setkey "\033\033[28~" Meta-F1
-# The following extension, introduced after lynx2.8.2, allows to map
+# The following extensions, introduced after lynx2.8.2, allow to map
# escape sequences directly to key commands (lynxactioncodes).
# setkey ESC-SEQUENCE LAC:LYNX_ACTION
+# setkey ESC-SEQUENCE LAC:LYNX_ACTION:LYNX_EDITACTION
-# where LYNX_ACTION is a key command specified as in lynx.cfg KEYMAP
-# options and on the KEYMAP ('K') screen. Using this form makes remapping
-# according to user preference with KEYMAP impossible and should thus be
-# used sparingly (in general, use KEYMAP with PASS instead, if the goal is
-# to force recognition of a key in form text fields). For example:
+# where LYNX_ACTION is a key command specified as for lynx.cfg KEYMAP
+# options and as listed on the KEYMAP ('K') screen, and LYNX_EDITACTION
+# is a line-editor action specified as for KEYMAP and as listed in Line
+# Editor help pages. Using this form makes remapping according to user
+# preference with KEYMAP impossible, and should thus be used sparingly
+# (in general, use KEYMAP with PASS instead, if the goal is to force
+# recognition of a key in form text fields). For example:
-#setkey "\033e" LAC:EDITTEXTAREA
+#setkey "\033e" LAC:EDITTEXTAREA:PASS
- lynx-dev dev.15 patch 7 - doc updates for recent changes,
Klaus Weide <=