Blob Blame History Raw
<!-- $LynxId: Lynx_users_guide.html,v 1.141 2018/07/08 15:22:44 tom Exp $ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">

  <title>Lynx Users Guide v2.8.9</title>
  <link rev="made" href="mailto:lynx-dev@nongnu.org">
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii">
  <meta name="description" content=
  "This is the user's guide to Lynx, giving detailed information on how to use the program, and how to change its configuration using the options menu.">
  </head>

<body>
  <h1>Lynx Users Guide v2.8.9</h1>

  <p>Lynx is a fully-featured <em>World Wide Web</em>
  (<em>WWW</em>) client for users running cursor-addressable,
  character-cell display devices (e.g., vt100 terminals, vt100
  emulators running on PCs or Macs, or any other character-cell
  display). It will display <em>Hypertext Markup Language</em>
  (<em>HTML</em>) documents containing links to files on the local
  system, as well as files on remote systems running <em>http</em>,
  <em>gopher</em>, <em>ftp</em>, <em>wais</em>, <em>nntp</em>,
  <em>finger</em>, or <em>cso</em>/<em>ph</em>/<em>qi</em> servers,
  and services accessible via logins to <em>telnet</em>,
  <em>tn3270</em> or <em>rlogin</em> accounts (see <a href=
  "lynx_url_support.html">URL Schemes Supported by Lynx</a>).
  <a href="#Hist">Current</a> versions of Lynx run on Unix, VMS,
  Windows3.x/9x/NT and later, 386DOS and OS/2 EMX.</p>

  <p>Lynx can be used to access information on the <em>WWW</em>, or
  to build information systems intended primarily for local access.
  For example, Lynx has been used to build several <em>Campus Wide
  Information Systems</em> (<em>CWIS</em>). In addition, Lynx can
  be used to build systems isolated within a single LAN.</p>

  <h2 id="TOC"><a name="Contents" id="Contents">Table of
  Contents</a></h2>

  <ul>
    <li><a href="#Help" name="ToC-Help" id="ToC-Help">Lynx online
    help</a></li>

    <li><a href="#Local" name="ToC-Local" id="ToC-Local">Viewing
    local files with Lynx</a></li>

    <li><a href="#Leaving" name="ToC-Leaving" id=
    "ToC-Leaving">Leaving Lynx</a></li>

    <li><a href="#Remote" name="ToC-Remote" id=
    "ToC-Remote">Starting Lynx with a Remote File</a></li>

    <li><a href="#EnVar" name="ToC-EnVar" id="ToC-EnVar">Starting
    Lynx with the WWW_HOME environment variable.</a></li>

    <li><a href="#IntraDocNav" name="ToC-IntraDocNav" id=
    "ToC-IntraDocNav">Navigating hypertext documents with
    Lynx</a></li>

    <li><a href="#Disposing" name="ToC-Disposing" id=
    "ToC-Disposing">Printing, Mailing, and Saving rendered files to
    disk.</a></li>

    <li><a href="#LocalSource" name="ToC-LocalSource" id=
    "ToC-LocalSource">Viewing the HTML document source and editing
    documents</a></li>

    <li><a href="#RemoteSource" name="ToC-RemoteSource" id=
    "ToC-RemoteSource">Downloading and Saving source
    files.</a></li>

    <li><a href="#ReDo" name="ToC-ReDo" id="ToC-ReDo">Reloading
    files and refreshing the display</a></li>

    <li><a href="#Search" name="ToC-Search" id="ToC-Search">Lynx
    searching commands</a></li>

    <li><a href="#InteractiveOptions" name="ToC-InteractiveOptions"
    id="ToC-InteractiveOptions">Lynx Options Menu</a></li>

    <li><a href="#Mail" name="ToC-Mail" id="ToC-Mail">Comments and
    mailto: links</a></li>

    <li><a href="#News" name="ToC-News" id="ToC-News">USENET News
    posting</a></li>

    <li><a href="#Bookmarks" name="ToC-Bookmarks" id=
    "ToC-Bookmarks">Lynx bookmarks</a></li>

    <li><a href="#Jumps" name="ToC-Jumps" id="ToC-Jumps">Jump
    command</a></li>

    <li><a href="#DirEd" name="ToC-DirEd" id="ToC-DirEd">Directory
    Editing</a></li>

    <li><a href="#ColorMouse" name="ToC-ColorMouse" id=
    "ToC-ColorMouse">Using Color &amp; the Mouse</a></li>

    <li><a href="#MiscKeys" name="ToC-MiscKeys" id=
    "ToC-MiscKeys">Scrolling and Other useful commands</a></li>

    <li><a href="#Forms" name="ToC-Forms" id="ToC-Forms">Lynx and
    HTML Forms</a> | <a href="#Images" name="ToC-Images" id=
    "ToC-Images">Lynx and HTML Images</a></li>

    <li><a href="#Tables" name="ToC-Tables" id="ToC-Tables">Lynx
    and HTML Tables</a> | <a href="#Tabs" name="ToC-Tabs" id=
    "ToC-Tabs">Lynx and HTML Tabs</a></li>

    <li><a href="#Frames" name="ToC-Frames" id="ToC-Frames">Lynx
    and HTML Frames</a> | <a href="#Banners" name="ToC-Banners" id=
    "ToC-Banners">Lynx and HTML Banners</a></li>

    <li><a href="#Footnotes" name="ToC-Footnotes" id=
    "ToC-Footnotes">Lynx and HTML Footnotes</a> | <a href="#Notes"
    name="ToC-Notes" id="ToC-Notes">Lynx and HTML Notes</a></li>

    <li><a href="#Lists" name="ToC-Lists" id="ToC-Lists">Lynx and
    HTML Lists</a></li>

    <li><a href="#Quotes" name="ToC-Quotes" id="ToC-Quotes">Lynx
    and HTML Quotes</a></li>

    <li><a href="#Eightbit" name="ToC-Eightbit" id=
    "ToC-Eightbit">Lynx and HTML Internationalization: 8bit,
    UNICODE, etc.</a></li>

    <li><a href="#USEMAP" name="ToC-USEMAP" id="ToC-USEMAP">Lynx
    and Client-Side-Image-Maps</a></li>

    <li><a href="#Refresh" name="ToC-Refresh" id="ToC-Refresh">Lynx
    and Client-Side-Pull</a></li>

    <li><a href="#Cookies" name="ToC-Cookies" id="ToC-Cookies">Lynx
    and State Management</a> (Me want <em>cookie</em>!)</li>

    <li><a href="#Cache" name="ToC-Cache" id="ToC-Cache">Lynx and
    Cached Documents</a></li>

    <li><a href="#Sessions" name="ToC-Sessions" id=
    "ToC-Sessions">Lynx and Sessions</a></li>

    <li><a href="#Invoking" name="ToC-Invoking" id=
    "ToC-Invoking">The Lynx command line</a></li>

    <li><a href="#Environment" name="ToC-Environment" id=
    "ToC-Environment">Environment variables used by Lynx</a></li>

    <li><a href="#lynx.cfg" name="ToC-lynx.cfg" id=
    "ToC-lynx.cfg">Main configuration file lynx.cfg</a></li>

    <li><a href="#Hist" name="ToC-Hist" id="ToC-Hist">Lynx
    development history</a></li>
  </ul>

  <h2 id="id-Help"><a name="Help" id="Help">Lynx online
  help</a></h2>

  <p>Online help is available while viewing any document. Press the
  &ldquo;<samp>?</samp>&rdquo; or &ldquo;<samp>H</samp>&rdquo; key
  (or the &ldquo;<samp>h</samp>&rdquo; key if vi-like key movement
  is not on) to see a list of help topics. See the section titled
  <a href="#IntraDocNav">Navigating hypertext documents with
  Lynx</a> for information on navigating through the help
  files.</p>

  <p>In addition, a summary description of all the Lynx keystroke
  commands and their key bindings is available by pressing the
  &ldquo;<samp>K</samp>&rdquo; key (or the
  &ldquo;<samp>k</samp>&rdquo; key if vi-like key movement is not
  on).</p>

  <p>If you want to recall recent status-line messages, you can do
  so by entering the &ldquo;g&rdquo; command, followed by
  &ldquo;LYNXMESSAGES:&rdquo;.</p>

  <p>[<a href="#ToC-Help">ToC</a>]</p>

  <h2 id="id-Local"><a name="Local" id="Local">Viewing local files
  with Lynx</a></h2>

  <p>Lynx can be started by entering the Lynx command along with
  the name of a file to display. For example these commands could
  all be used to display an arbitrary ASCII text or HTML file:</p>

  <dl>
    <dt>UNIX</dt>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx /home/my-dir/filename</code></dd>

    <dd><code>lynx ~/filename</code></dd>

    <dt>VMS</dt>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx dua5:[my-directory]filename</code></dd>

    <dd><code>lynx /dua5/my-directory/filename</code></dd>

    <dd><code>lynx ~/filename</code></dd>

    <dd><code>lynx sys$login:filename</code></dd>

    <dd><code>lynx /sys$login/filename</code></dd>

    <dt>Win32/DOS</dt>

    <dd><code>lynx file:///filename</code></dd>

    <dd><code>lynx filename</code></dd>

    <dd><code>lynx c:/dir/filename</code></dd>

    <dd><code>lynx //n/dir/filename</code></dd>
  </dl>

  <p>When executed, Lynx will clear the screen and display as much
  of the specified file as will fit on the screen. Pressing a
  <em>down-arrow</em> will bring up the next screen, and pressing
  an <em>up-arrow</em> will bring up the previous screen. If no
  file is specified at startup, a default file will be displayed,
  depending on settings e.g., in <em>lynx.cfg</em>.</p>

  <p>Lynx will display local files written in the <em>HyperText
  Markup Language</em> (<em>HTML</em>), if the file's name ends
  with the characters <em>.html</em>, <em>.htm</em>,
  <em>.shtml</em>, <em>.htmlx</em>, <em>.html3</em>, or
  <em>.ht3</em>. HTML is a file format that allows users to create
  a file that contains (among other things) hypertext links to
  other files. Several files linked together may be described as a
  <em>hypertext document</em>. If the filename does not have one of
  the suffixes mapped by Lynx to HTML, the <em>-force_html</em>
  command line option can be included to force treatment of the
  file as hypertext.</p>

  <p>When Lynx displays an HTML file, it shows links as "bold face"
  text, except for one link, which is shown as "highlighted" text.
  Whether "boldface" or "highlighted" text shows up as reverse
  video, boldface type, or a color change, etc. depends on the
  display device being used (and the way in which that device has
  been configured). Lynx has no control over the exact presentation
  of links.</p>

  <p>The one link displayed as "highlighted" text is the currently
  "selected" link. Lynx will display the file associated with the
  selected link when a <em>right-arrow</em> or a <em>Return</em>
  key is pressed. To select a particular link, press the
  <em>up-arrow</em> or <em>down-arrow</em> keys until the desired
  link becomes "highlighted," and then press the
  <em>right-arrow</em> or <em>Return</em> key to view the linked
  information. Information included in the HTML file tells Lynx
  where to find the linked file and what kind of server will
  provide it (i.e., HTTP, Gopher, etc.).</p>

  <p>Lynx renders HTML files and saves the rendition (and the
  source, if so configured in the <a href="#lynx.cfg">lynx.cfg</a>
  file) for initial display and should you select the link again.
  If you do select a link again and have reason to desire a new
  fetch and rendering of the file, use the NOCACHE command,
  normally mapped to &ldquo;<samp>x</samp>&rdquo; and
  &ldquo;<samp>X</samp>&rdquo;, instead of the <em>right-arrow</em>
  or <em>Return</em> key when positioned on the link. You also can
  force a new fetch and rendering of the currently displayed
  document via the RELOAD command, normally mapped to
  <em>Control-R</em>.</p>

  <p>When a binary file is encountered Lynx will ask the user if
  he/she wishes to download the file or cancel. If the user selects
  &ldquo;<samp>D</samp>&rdquo; for download, Lynx will transfer the
  file into a temporary location and present the user with a list
  of options. The only default option is <em>Save to disk</em>,
  which is disabled if Lynx is running in anonymous mode.
  Additional download methods may be defined in the <a href=
  "#lynx.cfg">lynx.cfg</a> file. Programs like kermit, zmodem and
  FTP are some possible options.</p>

  <p>[<a href="#ToC-Local">ToC</a>]</p>

  <h2 id="id-Leaving"><a name="Leaving" id="Leaving">Leaving
  Lynx</a></h2>

  <p>To exit Lynx use the &ldquo;<samp>q</samp>&rdquo; command. You
  will be asked whether you really want to quit. Answering
  &ldquo;<samp>y</samp>&rdquo; will exit and
  &ldquo;<samp>n</samp>&rdquo; will return you to the current
  document. Use &ldquo;<samp>Q</samp>&rdquo; or <em>Control-D</em>
  to quit without verification.</p>

  <p>[<a href="#ToC-Leaving">ToC</a>]</p>

  <h2 id="id-Remote"><a name="Remote" id="Remote">Starting Lynx
  with a Remote File</a></h2>

  <p>If you wish to view a remote file (that is, a file residing on
  some computer system other than the one upon which you are
  running Lynx) without first viewing a local file, you must
  identify that file by using a Uniform Resource Locator (URL).
  URLs take the general form:</p>

  <blockquote>
    <p><code>PROTOCOL :// HOST / PATH</code></p>
  </blockquote>

  <p>where</p>

  <dl>
    <dt><code>PROTOCOL</code></dt>

    <dd>
      <p>identifies the communications protocol (<em>scheme</em>)
      used by the server that will provide the file. As mentioned
      earlier, Lynx (and any WWW client) can interact with a
      variety of servers, each with its own protocol.</p>
    </dd>

    <dt><code>HOST</code></dt>

    <dd>
      <p>is the Internet address of the computer system on which
      the server is running, and</p>
    </dd>

    <dt><code>PATH</code></dt>

    <dd>
      <p>is a scheme-specific field which for some schemes may
      correspond to a directory path and/or filename.</p>
    </dd>
  </dl>

  <p>Here are some sample URLs.</p>

  <dl>
    <dt>HTTP (HyperText Transfer Protocol)</dt>

    <dd><code>https://invisible-island.net/lynx/</code></dd>

    <dt>Gopher</dt>

    <dd><code>gopher://gopher.micro.umn.edu/11/</code></dd>

    <dt>FTP (File Transfer Protocol)</dt>

    <dd><code>ftp://ftp2.cc.ukans.edu/pub/lynx/README</code></dd>

    <dt>WAIS (Wide Area Information Service protocol)</dt>

    <dd><code>wais://cnidr.org/directory-of-servers</code></dd>

    <dt>A URL may be specified to Lynx on the command line, as
    in:</dt>

    <dd><code>lynx
    http://kufacts.cc.ukans.edu/cwis/kufacts_start.html</code></dd>
  </dl>

  <p>Lynx also will attempt to create a complete URL if you include
  adequate portions of it in the startfile argument. For
  example:</p>
  <pre>
1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789.1234.6789
                 <em>wfbr</em>          will be expanded to:
      <em>http://www.wfbr.edu/</em>     and:
             <em>ftp.more.net/pub</em>  will be expanded to:
       <em>ftp://ftp.more.net/pub</em>
</pre>

  <p>See <a href="lynx_url_support.html">URL Schemes Supported by
  Lynx</a> for more detailed information.</p>

  <p>[<a href="#ToC-Remote">ToC</a>]</p>

  <h2 id="id-EnVar"><a name="EnVar" id="EnVar">Starting Lynx with
  the WWW_HOME environment variable.</a></h2>

  <p>You may also specify a starting file for Lynx using the
  WWW_HOME environment variable,</p>

  <dl>
    <dt>UNIX</dt>

    <dd>
      <dl>
        <dt>ksh</dt>

        <dd><code>export WWW_HOME=http://www.w3.org/</code></dd>

        <dt>csh</dt>

        <dd><code>setenv WWW_HOME http://www.w3.org/</code></dd>
      </dl>
    </dd>

    <dt>VMS</dt>

    <dd><code>define "WWW_HOME" "http://www.w3.org/"</code></dd>

    <dt>win32</dt>

    <dd><code>WWW_HOME=http://www.w3.org/ [or in
    registry]</code></dd>
  </dl>

  <p>Note that on VMS the double-quoting <em>must</em> be included
  to preserve casing.</p>

  <p>[<a href="#ToC-EnVar">ToC</a>]</p>

  <h2 id="id-IntraDocNav"><a name="IntraDocNav" id=
  "IntraDocNav">Navigating hypertext documents with Lynx</a></h2>

  <p>The process of moving within a hypertext web, selecting and
  displaying links is known as "navigation." With Lynx almost all
  navigation can be accomplished with the arrow keys and the
  numeric keypad.</p>
  <pre>
                                       +-------+-------+-------+
                                       | TOP   |  /|\  | Page  |
              arrow keys               | of    |   |   | UP    |
                                       | text 7|   |  8|      9|
              +---------+              +-------+-------+-------+
              | SELECT  |              |       |       |       |
              | prev /|\|              | &lt;---  |       |  ---&gt; |
              | link  | |              |      4|      5|      6|
    +---------+---------+---------+    +-------+-------+-------+
    |    BACK | SELECT  | DISPLAY |    | END   |   |   | Page  |
    |&lt;-- prev | next  | | sel. --&gt;|    | of    |   |   | DOWN  |
    |    doc. | link \|/| link    |    | text 1|  \|/ 2|      3|
    +---------+---------+---------+    +-------+-------+-------+
</pre>

  <p>There are also a few other keyboard commands to aid in
  navigation. The Control and Function keys used for navigation
  within the current document are described in <a href=
  "#MiscKeys"><em>Scrolling and Other useful commands</em></a>.</p>

  <p>Some additional commands depend on the fact that Lynx keeps a
  list of each link you visited to reach the current document,
  called the <a href="keystrokes/history_help.html">History
  Page</a>, and a list of all links visited during the current Lynx
  session, called the <a href=
  "keystrokes/visited_help.html">Visited Links Page</a>.</p>

  <ul>
    <li>
      <p>The HISTORY keystroke command, normally mapped to
      <em>Backspace</em> or <em>Delete</em>, will show you the
      <em>History Page</em> of links leading to your access of the
      current document. Any of the previous documents shown in the
      list may be revisited by selecting them from the history
      screen.</p>
    </li>

    <li>
      <p>The VLINKS keystroke command, normally mapped to uppercase
      &ldquo;<samp>V</samp>&rdquo;, will show the <em>Visited Links
      Page</em>, and you similarly can select links in that
      list.</p>
    </li>

    <li>
      <p>The MAIN_MENU keystroke command, normally mapped to
      &ldquo;<samp>m</samp>&rdquo; and
      &ldquo;<samp>M</samp>&rdquo;, will take you back to the
      starting document unless you specified the
      <em>-homepage=URL</em> option at the command line.</p>
    </li>

    <li>
      <p>Also, the LIST and ADDRLIST keystroke commands, normally
      mapped to &ldquo;<samp>l</samp>&rdquo; and
      &ldquo;<samp>A</samp>&rdquo; respectively, will create a
      compact lists of all the links in the current document, and
      they can be selected via those lists.</p>
    </li>
  </ul>

  <p>The &ldquo;<samp>i</samp>&rdquo; key presents an index of
  documents. The default index offered contains many useful links,
  but can be changed in <em>lynx.cfg</em> or on the command line
  using the <em>-index=URL</em> switch.</p>

  <p>If you choose a link to a server with active access
  authorization, Lynx will automatically prompt for a username and
  a password. If you give the correct information, you will then be
  served the requested information. Lynx will automatically send
  your username and password to the same server if it is needed
  again.</p>

  <p>[<a href="#ToC-IntraDocNav">ToC</a>]</p>

  <h2 id="id-Disposing"><a name="Disposing" id=
  "Disposing">Printing, Mailing, and Saving rendered files to
  disk.</a></h2>

  <p>Rendered HTML documents, and plain text files, may be printed
  using the &ldquo;<samp>p</samp>&rdquo; command while viewing the
  document. After pressing the &ldquo;<samp>p</samp>&rdquo; key a
  menu of <em>Print Options</em> will be displayed. The menu will
  vary according to several factors. First, some sites set up
  special accounts to let users run Lynx to access local
  information systems. Typically these accounts require no
  passwords and do not require users to identify themselves. As a
  result such accounts are called "anonymous" accounts, and their
  users are considered "anonymous" users. In most configurations,
  all Lynx users (including anonymous users) are able to mail files
  to themselves and print the entire file to the screen.</p>

  <p>Additional print options are available for users who are using
  Lynx from their own accounts (that is, so-called "non-anonymous
  users"). In particular, the <em>Save to a local file</em> option
  allows you to save the document into a file on your disk space.
  Additional print options may also be available as configured in
  the <a href="#lynx.cfg">lynx.cfg</a> file.</p>

  <p>Some options, such as <em>Save to a local file</em>, involve
  prompting for an output filename. All output filename entries are
  saved in a circular buffer, and any previous entries can be
  retrieved for re-use by pressing the <em>up-arrow</em> or
  <em>down-arrow</em> keys at the prompt.</p>

  <p>Note that if you want exact copies of text files without any
  expansions of TAB characters to spaces you should use the
  <a href="#RemoteSource">Download</a> options.</p>

  <p>[<a href="#ToC-Disposing">ToC</a>]</p>

  <h2 id="id-LocalSource"><a name="LocalSource" id=
  "LocalSource">Viewing the HTML document source and editing
  documents</a></h2>

  <p>When viewing HTML documents it is possible to retrieve and
  display the unrendered (i.e., the original HTML) source of the
  document by pressing the &ldquo;<samp>\</samp>&rdquo; (backslash)
  key. Lynx usually caches only the rendering of the document and
  does not keep the source (unless it is configured to do so in the
  <a href="#lynx.cfg">lynx.cfg</a> file), so to display the source
  unrendered, Lynx must reload it from the server or disk. When
  viewing unrendered documents you may print them as any normal
  document.</p>

  <p>Selecting the <em>Print to a local file</em> option from the
  Print Menu, makes it possible to save the source of the document
  to disk so that you may have a local copy of the document source,
  but it is better to <a href="#RemoteSource">Download</a> the
  source.</p>

  <p>NOTE: When saving an HTML document it is important to name the
  document with a <em>.html</em> or <em>.htm</em> extension, if you
  want to read it with Lynx again later.</p>

  <p id="FileEdit">Lynx can allow users to edit documents that
  reside on the local system. To enable editing, documents must be
  referenced using a "file:" URL or by specifying a plain filename
  on the command line as in the following two examples:</p>

  <dl>
    <dt>Command</dt>

    <dd><code>lynx file://localhost/FULL/PATH/FILENAME</code></dd>

    <dd><code>lynx path/filename.html</code></dd>
  </dl>

  <p>In addition, the user must also specify an editor in the
  <em>Options Menu</em> so that Lynx knows which editor to use. If
  the file is specified correctly and an editor is defined, then
  you may edit documents by using the &ldquo;<samp>e</samp>&rdquo;
  command. When the &ldquo;<samp>e</samp>&rdquo; command is entered
  your specified editor is spawned to edit the file. After changes
  are completed, exit your editor and you will return to Lynx. Lynx
  will reload and render the file so that changes can be
  immediately examined.</p>

  <p>[<a href="#ToC-LocalSource">ToC</a>]</p>

  <h2 id="id-RemoteSource"><a name="RemoteSource" id=
  "RemoteSource">Downloading and Saving source files.</a></h2>

  <p>If the DOWNLOAD keystroke command
  (&ldquo;<samp>d</samp>&rdquo; or &ldquo;<samp>D</samp>&rdquo;) is
  used when positioned on a link for an HTML, plain text, or binary
  file, Lynx will transfer the file, without rendering, into a
  temporary location and present the user with a list of options,
  just as it does when a link for a binary file of a type for which
  no viewer has been mapped is activated.</p>

  <p>There is a default <em>Download option</em> of <em>Save to
  disk</em>. This is disabled if Lynx is running in anonymous mode.
  Any number of download methods such as kermit and zmodem may be
  defined in addition to this default in the <em>lynx.cfg</em>
  file. Using the <em>Save to disk</em> option under the PRINT
  command after viewing the source of an HTML with the VIEW SOURCE
  (<samp>\</samp>) command will result in a file which differs from
  the original source in various ways such as tab characters
  expanded to spaces. Lynx formats the source presentation in this
  mode. On the other hand, if the DOWNLOAD command is used, the
  only change will be that Lynx optionally puts</p>

  <blockquote>
    <p>&lt;!--X-URL: http://www.site.foo/path/to/file.html
    --&gt;<br>
    &lt;BASE href="http://www.site.foo/path/to/file.html"&gt;</p>
  </blockquote>

  <p>at the start of the file so that relative URLs in the document
  will still work. Even this modification can be prevented by
  setting PREPEND_BASE_TO_SOURCE:FALSE in lynx.cfg.</p>

  <p>Some options, such as <em>Save to disk</em>, involve prompting
  for an output filename. All output filename entries are saved in
  a circular buffer, and any previous entries can be retrieved for
  re-use by pressing the <em>up-arrow</em> or <em>down-arrow</em>
  keys at the prompt.</p>

  <p>[<a href="#ToC-RemoteSource">ToC</a>]</p>

  <h2 id="id-ReDo"><a name="ReDo" id="ReDo">Reloading files and
  refreshing the display</a></h2>

  <p>The RELOAD (<em>Control-R</em>) command will reload and
  re-render the file that you are currently viewing. The REFRESH
  (<em>Control-L</em> or <em>Control-W</em>) command will refresh
  or wipe the screen to remove or correct any errors that may be
  caused by operating system or other messages.</p>

  <p>The NOCACHE (&ldquo;<samp>x</samp>&rdquo; or
  &ldquo;<samp>X</samp>&rdquo;) command can be used in lieu of
  ACTIVATE (<em>Return</em> or <em>right-arrow</em>) to request an
  uncached copy and new rendition for the current link, or
  resubmission of a FORM, if a cache from a previous request or
  submission exits. The request or submission will include
  <em>Pragma: no-cache</em> and <em>Cache-Control: no-cache</em> in
  its headers. Note that FORMs with POST content will be
  resubmitted regardless of whether the NOCACHE or ACTIVATE command
  is used (see <a href="#Forms"><em>Lynx and HTML
  Forms</em></a>).</p>

  <p>[<a href="#ToC-ReDo">ToC</a>]</p>

  <h2 id="id-Search"><a name="Search" id="Search">Lynx searching
  commands</a></h2>

  <p>Two commands activate searching in Lynx:
  &ldquo;<samp>/</samp>&rdquo; and
  &ldquo;<samp>s</samp>&rdquo;.</p>

  <p>While viewing a normal document use the
  &ldquo;<samp>/</samp>&rdquo; command to find a word or phrase
  within the current document. The search type will depend on the
  search option setting in the <a href=
  "#InteractiveOptions">Options Menu</a>. The search options are
  case sensitive and case insensitive. These searches are entirely
  local to Lynx.</p>

  <p>Some documents are designated <em>index documents</em> by
  virtue of an ISINDEX element in their HEAD section. These
  documents can be used to retrieve additional information based on
  searches using words or phrases submitted to an index server. The
  Lynx statusline will indicate that you are viewing such a
  document, and if so, the &ldquo;<samp>s</samp>&rdquo; key will
  invoke a statusline prompt to enter a query string. The prompt
  can be specified via a PROMPT attribute in the ISINDEX element.
  Otherwise, Lynx will use an internally configured prompt. The
  address for submitting the search can be specified via an HREF or
  ACTION attribute. Otherwise, Lynx will use the current document's
  URL and append your query string as a <em>?searchpart</em> (see
  <a href="lynx_url_support.html">Supported URLs</a>).</p>

  <p>All search words or strings which you have entered during a
  Lynx session are saved in a circular buffer, and can be retrieved
  for re-use by pressing the <em>up-arrow</em> or
  <em>down-arrow</em> keys at the prompt for a search word or
  string. Also, you can use the &ldquo;<samp>n</samp>&rdquo;ext
  command to repeat a search with the last-entered search word or
  phrase, starting from the current position in the document. The
  word or phrase matches will be highlighted throughout the
  document, but such highlighting will not persist for new
  documents, or if the current document is reloaded. The search
  cycles to the top of the document if the word or phrase is not
  located below your current position.</p>

  <p>Although <a href="#Forms">HTML Forms</a> have largely replaced
  index documents for searches via http servers, they are still
  useful for performing searches directly via WAIS or Gopher
  servers in conjunction with the internal gateways for such
  servers. For example, an HTML index document can act as a
  <em>cover page</em> describing a WAIS database and how to
  formulate query strings for searching it, and include an element
  such as:</p>
  <pre>
      <em>&lt;ISINDEX PROMPT="Enter WAIS query:"
               HREF="wais://net.bio.net/biologists-addresses"&gt;</em>
</pre>

  <p>for submitting a search of the Biologist's Addresses database
  directly to the net.bio.net WAIS server.</p>

  <p>[<a href="#ToC-Search">ToC</a>]</p>

  <h2 id="id-InteractiveOptions"><a name="InteractiveOptions" id=
  "InteractiveOptions">Lynx Options Menu</a></h2>

  <p>The Lynx <em>Options Menu</em> may be accessed by pressing the
  &ldquo;<samp>o</samp>&rdquo; key. It allows you to change options
  at runtime, if you need to. Most changes are read from &amp;
  saved to your .lynxrc file; those which are not are marked (!) in
  the form-based menu (as below). Many other options are stored in
  the <a href="#lynx.cfg">lynx.cfg</a> file.</p>

  <p>Lynx supports two styles of Options Menu, key-based &amp;
  form-based. The form-based menu shown below is an HTML file
  generated at runtime, in which the user fills in choices as in
  any ordinary HTML form.</p>
  <pre>
                    Options Menu (Lynx Version 2.8.9dev.15)

    Accept Changes - Reset Changes - Left Arrow cancels changes - HELP!

                         Save options to disk: [ ]
                (options marked with (!) will not be saved)

  General Preferences
  User mode                        : [Advanced____]
  Editor                           : vile______________________________________
  Type of Search                   : [Case insensitive]

  Security and Privacy
  Cookies                          : [ask user__]
  Invalid-Cookie Prompting (!)     : [prompt normally___]
  SSL Prompting (!)                : [prompt normally___]

  Keyboard Input
  Keypad mode                      : [Numbers act as arrows_____________]
  Emacs keys                       : [OFF]
  VI keys                          : [OFF]
  Line edit style                  : [Bash-like Bindings]

  Display and Character Set
  Use locale-based character set   : [ON_]
  Use HTML5 charset replacements(!): [OFF]
  Display character set            : [UNICODE (UTF-8)________________]
  Assumed document character set(!): [iso-8859-1______]
  Raw 8-bit                        : [OFF]
  X Display                        : localhost:0.0_____________________________

  Document Appearance
  Show color                       : [ON____]
  Color style (!)                  : [lynx.lss___________]
  Default colors (!)               : [ON_]
  Show cursor                      : [OFF]
  Underline links (!)              : [OFF]
  Show scrollbar                   : [ON_]
  Popups for select fields         : [ON_]
  HTML error recovery              : [strict (SortaSGML mode)]
  Bad HTML messages (!)            : [Warn, point to trace-file]
  Show images                      : [ignore___]
  Verbose images                   : [OFF__________]
  Collapse BR tags (!)             : [OFF_____]
  Trim blank lines (!)             : [trim-lines]

  Headers Transferred to Remote Servers
  Personal mail address            : __________________________________________
  Personal name for mail           : __________________________________________
  Password for anonymous ftp       : __________________________________________
  Preferred media type (!)         : [Accept lynx's internal types]
  Preferred encoding (!)           : [All_____]
  Preferred document character set : _________________________________
  Preferred document language      : en_______________________________
  HTTP protocol (!)                : [HTTP 1.0]
  Send User-Agent header (!)       : [X]
  User-Agent header (!)            : Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.

  Listing and Accessing Files
  Use Passive FTP (!)              : [ON_]
  FTP sort criteria                : [By Date]
  Local directory sort criteria    : [Directories first]
  Local directory sort order       : [By Date_]
  Show dot files                   : [OFF]
  Pause when showing message (!)   : [ON_]
  Show transfer rate               : [Show KiB/sec (2-digits), ETA__]

  Special Files and Screens
  Multi-bookmarks                  : [ADVANCED]
  Review/edit Bookmarks files      : Goto multi-bookmark menu
  Auto Session (!)                 : [OFF]
  Session file (!)                 : __________________________________________
  Visited Pages                    : [By Last Visit Reversed_]

  View the file lynx.cfg.


        Accept Changes - Reset Changes - Left Arrow cancels changes

</pre>

  <p>The key-based menu depends on key-strokes to identify options
  which the user wants to change. It is compiled into Lynx and is
  accessed by setting FORMS_OPTIONS to TRUE in <a href=
  "#lynx.cfg">lynx.cfg</a>.</p>
  <pre>
             Options Menu (Lynx Version 2.8.9dev.15)

     (E)ditor                     : emacs
     (D)ISPLAY variable           : aixtest.cc.ukans.edu:0.0
     mu(L)ti-bookmarks: OFF       B)ookmark file: lynx_bookmarks.html
     (F)TP sort criteria          : By Filename
     (P)ersonal mail address      : montulli@netscape.com
     (S)earching type             : CASE INSENSITIVE
     preferred document lan(G)uage: en
     preferred document c(H)arset : NONE
     display (C)haracter set      : Western (ISO-8859-1)
     raw 8-bit or CJK m(O)de      : ON      show color (&amp;)  : OFF
     (V)I keys: OFF   e(M)acs keys: OFF     sho(W) dot files: OFF
     popups for selec(T) fields   : ON      show cursor (@) : OFF
     (K)eypad mode                : Numbers act as arrows
     li(N)e edit style            : Default Binding
     l(I)st directory style       : Mixed style
     (U)ser mode                  : Advanced      verbose images (!) : ON
     user (A)gent                 : [User-Agent header]
     local e(X)ecution links      : FOR LOCAL FILES ONLY
</pre>

  <p>An option can be changed by entering the capital letter or
  character in parentheses for the option you wish to change (e.g.,
  &ldquo;<samp>E</samp>&rdquo; for Editor or
  &ldquo;<samp>@</samp>&rdquo; for show cursor). For fields where
  text must be entered, simply enter the text by typing on the
  keyboard. The <a href="keystrokes/edit_help.html">Line Editor</a>
  can be used to correct mistakes, and <em>Control-U</em> can be
  used to erase the line. When you are done entering a change press
  the <em>Return</em> key to get back to the <em>Command?</em>
  prompt.</p>

  <p>For fields where you must choose one of two choices, press any
  key to toggle the choices and press the <em>Return</em> key to
  finish the change.</p>

  <p>For fields where you potentially have more than two choices,
  popup windows may be evoked which function homologously to those
  for select fields in <a href="#Forms">HTML Forms</a>. The popup
  windows will be invoked only if you have popups for select fields
  set to ON (see below). Otherwise, your cursor will be positioned
  at the current choice, and you can press any key to cycle through
  the choices, then press the <em>Return</em> key to finish the
  change.</p>

  <p>When you are done changing options use the
  &ldquo;<samp>r</samp>&rdquo; command to return to Lynx or the
  &ldquo;<samp>&gt;</samp>&rdquo; command to save the options to a
  <em>.lynxrc</em> file and return to Lynx.</p>

  <p>The following table describes the options available on the
  <em>Options Menu</em>:</p>

  <dl>
    <dt>Assumed document character set</dt>

    <dd>
      <p>This option changes the handling of documents which do not
      explicitly specify a charset. Normally Lynx assumes that
      8-bit characters in those documents are encoded according to
      iso-8859-1 (the official default for the HTTP protocol).
      Unfortunately, many non-English web pages "forget" to include
      proper charset info; this option helps you to browse those
      broken pages if you know by some means what the charset
      is.</p>

      <p>When the value given here or by an -assume_charset command
      line flag is in effect, Lynx will treat documents as if they
      were encoded accordingly. This option active when &ldquo;Raw
      8-bit or CJK Mode&rdquo; is OFF.</p>
    </dd>

    <dt>Auto Session</dt>

    <dd>
      <p>Lynx can save and restore useful information about your
      browsing history. Use this setting to enable or disable the
      feature.</p>
    </dd>

    <dt>Bad HTML messages</dt>

    <dd>
      <p>Suppress or redirect Lynx's messages about "Bad HTML":</p>

      <dl>
        <dt>Ignore</dt>

        <dd>
          <p>do not warn; no details are written to the
          trace-file.</p>
        </dd>

        <dt>Add to trace-file</dt>

        <dd>
          <p>add the detailed warning message to the
          trace-file.</p>
        </dd>

        <dt>Add to LYNXMESSAGES</dt>

        <dd>
          <p>add the detailed warning message to the message page
          at "LYNXMESSAGES:".</p>
        </dd>

        <dt>Warn, point to trace-file</dt>

        <dd>
          <p>show a warning message on the status line; the
          complete message is written to the trace-file.</p>
        </dd>
      </dl>
    </dd>

    <dt>Bookmark file</dt>

    <dd>
      <p>When multi-bookmarks is OFF, this is the filename and
      location of your default personal bookmark file. Enter
      &ldquo;<samp>B</samp>&rdquo; to modify the filename and/or
      location via the <a href="keystrokes/edit_help.html">Line
      Editor</a>. Bookmark files allow frequently traveled links to
      be stored in personal easy to access files.</p>

      <p>Using the &ldquo;<samp>a</samp>&rdquo;dd bookmark link
      command (see <a href="#Bookmarks">Lynx bookmarks</a>) you may
      save any link that does not have associated POST content into
      a bookmark file. All bookmark files must be in or under your
      account's home directory. If the location specified does not
      begin with a dot-slash (./), its presence will still be
      assumed, and referenced to the home directory.</p>

      <p>When multi-bookmarks is STANDARD or ADVANCED, entering
      &ldquo;<samp>B</samp>&rdquo; will invoke a menu of up to 26
      bookmark files (associated with the letters of the English
      alphabet), for editing their filenames and locations
      (<em>filepath</em>), and descriptions.</p>

      <p>Lynx will create bookmark files, if they do not already
      exist, when you first &ldquo;<samp>a</samp>&rdquo;dd a
      bookmark link to them. However, if you've specified a
      subdirectory (e.g., ./BM/lynx_bookmarks.html), that
      subdirectory must already exist. Note that on VMS you should
      use the URL syntax for the filepath (e.g., <em>not</em>
      [.BM]lynx_bookmarks.html).</p>
    </dd>

    <dt>Collapse BR tags</dt>

    <dd>
      <p>If <em>Collapse BR tags</em> is turned off, Lynx will not
      collapse serial <code>BR</code> tags. If turned on, i.e.,
      &ldquo;collapse&rdquo;, two or more concurrent
      <code>BR</code>s will be collapsed into a single line break.
      Note that the valid way to insert extra blank lines in HTML
      is via a <code>PRE</code> block with only newlines in the
      block.</p>
    </dd>

    <dt>Cookies</dt>

    <dd>
      <p>This option allows you to tell how to handle cookies:
      <em>ignore</em>, prompt (<em>ask user</em>) or <em>accept
      all</em>.</p>
    </dd>

    <dt>Display Character set</dt>

    <dd>
      <p>This option allows you to set up the default character set
      for your specific terminal. The display character set
      provides a mapping from the character encodings of viewed
      documents and from HTML entities into viewable characters. It
      should be set according to your terminal's character set so
      that characters other than 7-bit ASCII can be displayed
      correctly, using approximations if necessary. You must have
      the selected character set installed on your terminal. (Since
      Lynx supports a wide range of platforms it may be useful to
      note that cpXXX codepages used within IBM PC computers, and
      windows-xxxx within native MS-Windows apps.)</p>
    </dd>

    <dt>Editor</dt>

    <dd>
      <p>The editor to be invoked when editing browsable files,
      when sending mail or comments, when preparing a news article
      for posting, and for external TEXTAREA editing. The full
      pathname of the editor command should be specified when
      possible.</p>
    </dd>

    <dt>Emacs keys</dt>

    <dd>
      <p>If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B
      keys will be mapped to up-arrow, down-arrow, right-arrow, and
      left-arrow, respectively. Otherwise, they remain mapped to
      their configured bindings (normally UP_TWO lines, DOWN_TWO
      lines, NEXT_PAGE, and PREV_PAGE, respectively).</p>

      <p>Note: this has no direct effect on the line-editor's key
      bindings.</p>
    </dd>

    <dt>Execution links<br></dt>

    <dd>
      <p>This deals with execution of local scripts or links. Local
      execution is activated when Lynx is first set up. If it has
      not been activated you will not see this option in the
      <em>Options Menu</em>.</p>

      <p>When a local execution script is encountered Lynx checks
      the users options to see whether the script can be executed.
      Users have the following options:</p>

      <dl>
        <dt>Always off</dt>

        <dd>
          <p>Local execution scripts will never be executed</p>
        </dd>

        <dt>For Local files only</dt>

        <dd>
          <p>Local execution scripts will only be executed if the
          script to be executed resides on the local machine, and
          is referenced by a URL that begins with
          <em>file://localhost</em></p>
        </dd>

        <dt>Always on</dt>

        <dd>
          <p>All local execution scripts will be executed</p>
        </dd>
      </dl>
    </dd>

    <dd>
      <p>If the users options permit the script to be executed Lynx
      will spawn a shell and run the script. If the script cannot
      be executed Lynx will show the script within the Lynx window
      and inform the user that the script is not allowed to be
      executed and will ask the user to check his/her options.</p>
    </dd>

    <dt>FTP sort criteria</dt>

    <dd>
      <p>This option allows you to specify how files will be sorted
      within FTP listings. The current options include "<code>By
      Filename</code>", "<code>By Size</code>", "<code>By
      Type</code>", and "<code>By Date</code>".</p>
    </dd>

    <dt>HTML error recovery</dt>

    <dd>
      <p>Select the <a href=
      "keystrokes/option_help.html#tagsoup">recovery mode</a> used
      by Lynx.</p>
    </dd>

    <dt>HTTP protocol</dt>

    <dd>
      <p>Normally Lynx negotiates HTTP/1.0, because it does not
      support chunked transfer (a requirement for all HTTP/1.1
      clients), although it supports several other features of
      HTTP/1.1. You may encounter a server which does not support
      HTTP/1.0 which can be used by switching to the later
      protocol.</p>
    </dd>

    <dt>Invalid-Cookie Prompting</dt>

    <dd>
      <p>This allows you to tell how to handle invalid cookies:
      <em>prompt normally</em> to prompt for each cookie, <em>force
      yes-response</em> to reply "yes" to each prompt, <em>force
      no-response</em> to reply "no" to each prompt.</p>
    </dd>

    <dt>Keypad mode</dt>

    <dd>
      <p>This option gives the choice among navigating with the
      arrow keys, or having every link numbered so that the links
      may be selected or made current by numbers as well as using
      the arrow keys, or having every link as well as every form
      field numbered so that they can be selected or sought by
      numbers. See the<br>
      &nbsp;&nbsp;<a href="keystrokes/follow_help.html">Follow link
      (or page) number:</a> and<br>
      &nbsp;&nbsp;<a href=
      "keystrokes/follow_help.html#select-option">Select option (or
      page) number:</a><br>
      help for more information.</p>
    </dd>

    <dt>Line edit style</dt>

    <dd>
      <p>This option allows you to set alternative key bindings for
      the built-in line editor, if alternative line-edit bindings
      have been compiled in. Otherwise, Lynx uses the <a href=
      "keystrokes/edit_help.html">Default Binding</a>.</p>
    </dd>

    <dt>Local directory sort criteria</dt>

    <dd>
      <p>This applies to directory editing. Files and directories
      can be presented in the following ways:</p>

      <dl>
        <dt>Mixed style</dt>

        <dd>
          <p>Files and directories are listed together in
          alphabetical order.</p>
        </dd>

        <dt>Directories first</dt>

        <dd>
          <p>Files and directories are separated into two
          alphabetical lists. Directories are listed first.</p>
        </dd>

        <dt>Files first</dt>

        <dd>
          <p>Files and directories are separated into two
          alphabetical lists. Files are listed first.</p>
        </dd>
      </dl>
    </dd>

    <dt>Local directory sort order</dt>

    <dd>
      <p>The Options Form also allows you to sort by the file
      attributes.</p>

      <dl>
        <dt>By name</dt>

        <dd>
          <p>by filename (the default)</p>
        </dd>

        <dt>By size</dt>

        <dd>
          <p>by file size, in descending order</p>
        </dd>

        <dt>By date</dt>

        <dd>
          <p>by file modification time, in descending order</p>
        </dd>

        <dt>By mode</dt>

        <dd>
          <p>by file protection</p>
        </dd>

        <dt>By type</dt>

        <dd>
          <p>by filename suffix, e.g., the text beginning with
          &ldquo;.&rdquo;</p>
        </dd>

        <dt>By user</dt>

        <dd>
          <p>by file owner's user-id</p>
        </dd>

        <dt>By group</dt>

        <dd>
          <p>by file owner's group-id</p>
        </dd>
      </dl>
    </dd>

    <dt>Multi-bookmarks</dt>

    <dd>
      <p>Lynx supports a default bookmark file, and up to 26 total
      bookmark files (see below). When multi-bookmarks is OFF, the
      default bookmark file is used for the
      &ldquo;<samp>v</samp>&rdquo;iew bookmarks and
      &ldquo;<samp>a</samp>&rdquo;dd bookmark link commands. If
      multi-bookmark support is available in your account, the
      setting can be changed to STANDARD or ADVANCED. In STANDARD
      mode, a menu of available bookmarks always is invoked when
      you seek to view a bookmark file or add a link, and you
      select the bookmark file by its letter token (see
      <em>Bookmark file</em>, below) in that menu. In ADVANCED
      mode, you instead are prompted for the letter of the desired
      bookmark file, but can enter &ldquo;<samp>=</samp>&rdquo; to
      invoke the STANDARD selection menu, or <em>RETURN</em> for
      the default bookmark file.</p>
    </dd>

    <dt>Password for anonymous ftp</dt>

    <dd>
      <p>If this is blank, Lynx will use your personal mail address
      as the anonymous ftp password. Though that is the convention,
      some users prefer to use some other string which provides
      less information. If the given value lacks a "@", Lynx also
      will use your computer's hostname as part of the password. If
      both this field and the personal mail address are blank, Lynx
      will use your $USER environment variable, or "WWWuser" if
      even the environment variable is unset.</p>
    </dd>

    <dt>Pause when showing message</dt>

    <dd>
      <p>If set to "off", this overrides the INFOSECS setting in
      lynx.cfg, to eliminate pauses when displaying informational
      messages, like the "-nopause" command line option.</p>
    </dd>

    <dt>Personal mail address</dt>

    <dd>
      <p>This mail address will be used to help you send files to
      yourself and will be included as the From: address in any
      mail or comments that you send. It will also be sent as the
      From: field in HTTP or HTTPS requests if inclusion of that
      header has been enabled via the NO_FROM_HEADER definition in
      <a href="#lynx.cfg">lynx.cfg</a> (the compilation default is
      not to send the header), or via the <em>-from</em> command
      line toggle.</p>
    </dd>

    <dt>Personal mail name</dt>

    <dd>
      <p>This mail name will be included as the "X-Personal_Name"
      field in any mail or comments that you send if that header
      has not been disabled via the NO_ANONYMOUS_EMAIL definition
      in <a href="#lynx.cfg">lynx.cfg</a>.</p>
    </dd>

    <dt>Popups for select fields</dt>

    <dd>
      <p>Lynx normally uses a popup window for the OPTIONs in form
      SELECT fields when the field does not have the MULTIPLE
      attribute specified, and thus only one OPTION can be
      selected. The use of popup windows can be disabled by
      changing this setting to OFF, in which case the OPTIONs will
      be rendered as a list of radio buttons. Note that if the
      SELECT field does have the MULTIPLE attribute specified, the
      OPTIONs always are rendered as a list of checkboxes.</p>
    </dd>

    <dt>Preferred document language</dt>

    <dd>
      <p>The language you prefer if multi-language files are
      available from servers. Use RFC 1766 abbreviations, e.g., en
      for English, fr for French, etc. Can be a comma-separated
      list, which may be interpreted by servers as descending order
      of preferences. You can also make your order of preference
      explicit by using q factors as defined by the HTTP protocol,
      for servers which understand it, for example:
      da,&nbsp;en-gb;q=0.8,&nbsp;en;q=0.7</p>
    </dd>

    <dt>Preferred document charset</dt>

    <dd>
      <p>The character set you prefer if sets in addition to
      ISO-8859-1 and US-ASCII are available from servers. Use MIME
      notation (e.g., ISO-8859-2) and do not include ISO-8859-1 or
      US-ASCII, since those values are always assumed by default.
      Can be a comma-separated list, which may be interpreted by
      servers as descending order of preferences. You can also make
      your order of preference explicit by using q factors as
      defined by the HTTP protocol, for servers which understand
      it, for example: iso-8859-5,&nbsp;utf-8;q=0.8</p>
    </dd>

    <dt>Preferred encoding</dt>

    <dd>
      <p>When doing a GET, lynx tells what types of compressed data
      it can decompress (the "Accept-Encoding:" string). This is
      determined by compiled-in support for decompression or
      external decompression programs. Use this option to select
      none, one or all of the supported decompression types.</p>
    </dd>

    <dt>Preferred media type</dt>

    <dd>
      <p>When doing a GET, lynx lists the MIME types which it knows
      how to present (the "Accept:" string). Depending on your
      system configuration, the mime.types or other data given by
      the GLOBAL_EXTENSION_MAP may include many entries that lynx
      really does not handle. Use this option to select one of the
      built-in subsets of the MIME types that lynx could list in
      the Accept.</p>

      <dl>
        <dt>Accept lynx's internal types</dt>

        <dd>
          <p>list only the types that are compiled into lynx.</p>
        </dd>

        <dt>Also accept lynx.cfg's types</dt>

        <dd>
          <p>lists types defined in lynx.cfg, e.g., the VIEWER and
          Cern RULE or RULESFILE settings.</p>
        </dd>

        <dt>Also accept user's types</dt>

        <dd>
          <p>lists types from the PERSONAL_EXTENSION_MAP setting in
          lynx.cfg</p>
        </dd>

        <dt>Also accept system's types</dt>

        <dd>
          <p>lists types from the GLOBAL_EXTENSION_MAP setting in
          lynx.cfg</p>
        </dd>

        <dt>Accept all types</dt>

        <dd>
          <p>adds the types that are in lynx's built-in tables for
          external programs that may be used to present a
          document.</p>
        </dd>
      </dl>
    </dd>

    <dt>Raw 8-bit or CJK Mode</dt>

    <dd>
      <p>Tells Lynx whether 8-bit characters are assumed to
      correspond with the display character set and therefore are
      processed without translation via the chartrans conversion
      tables:</p>

      <ul>
        <li>Should be ON by default when the display character set
        is one of the Asian (CJK) sets and the 8-bit characters are
        Kanji multibytes.</li>

        <li>Should be OFF for the other display character sets, but
        can be turned ON when the document's charset is unknown
        (e.g., is not ISO-8859-1 and no charset parameter was
        specified in a reply header from an HTTP server to indicate
        what it is) but you know by some means that you have the
        matching display character set selected.</li>

        <li>Should be OFF when an Asian (CJK) set is selected but
        the document is ISO-8859-1 or another &ldquo;assumed
        document character set&rdquo;.</li>
      </ul>

      <p>The setting also can be toggled via the RAW_TOGGLE
      command, normally mapped to &ldquo;<samp>@</samp>&rdquo;, and
      at startup via the <em>-raw</em> switch.</p>
    </dd>

    <dt>Send User-Agent header</dt>

    <dd>
      <p>Controls whether the user-agent string will be sent.</p>
    </dd>

    <dt>Session file</dt>

    <dd>
      <p>Define the file name where lynx will store user sessions.
      This setting is used only when <em>Auto Session</em> is
      enabled.</p>
    </dd>

    <dt>Show color</dt>

    <dd>
      <p>This option will be present if color support is available.
      If set to ON or ALWAYS, color mode will be forced on if
      possible. If (n)curses color support is available but cannot
      be used for the current terminal type, selecting ON is
      rejected with a message. If set to OFF or NEVER, color mode
      will be turned off.</p>

      <p>ALWAYS and NEVER are not offered in anonymous accounts. If
      saved to a <em>.lynxrc</em> file in non-anonymous accounts,
      ALWAYS will cause Lynx to set color mode on at startup if
      supported. If Lynx is built with the slang library, this is
      equivalent to having included the <em>-color</em> command
      line switch or having the <em>COLORTERM</em> environment
      variable set. If color support is provided by curses or
      ncurses, this is equivalent to the default behavior of using
      color when the terminal type supports it. If (n)curses color
      support is available but cannot be used for the current
      terminal type, the preference can still be saved but will
      have no effect.</p>

      <p>A saved value of NEVER will cause Lynx to assume a
      monochrome terminal at startup. It is similar to the
      <em>-nocolor</em> switch, but (when the slang library is
      used) can be overridden with the <em>-color</em> switch.</p>

      <p>If the setting is OFF or ON when the current options are
      saved to a <em>.lynxrc</em> file, the default startup
      behavior is retained, such that color mode will be turned on
      at startup only if the terminal info indicates that you have
      a color-capable terminal, or (when the slang library is used)
      if forced on via the <em>-color</em> switch or
      <em>COLORTERM</em> variable. This default behavior always is
      used in anonymous accounts, or if the <em>option_save</em>
      restriction is set explicitly. If for any reason the startup
      color mode is incorrect for your terminal, set it
      appropriately on or off via this option.</p>
    </dd>

    <dt>Show cursor</dt>

    <dd>
      <p>Lynx normally hides the cursor by positioning it to the
      right and if possible the very bottom of the screen, so that
      the current link or OPTION is indicated solely by its
      highlighting or color. If show cursor is set to ON, the
      cursor will be positioned at the left of the current link or
      OPTION. This is helpful when Lynx is being used with a speech
      or braille interface. It also is useful for sighted users
      when the terminal cannot distinguish the character attributes
      used to distinguish the current link or OPTION from the
      others in the screen display.</p>
    </dd>

    <dt>Show dot files</dt>

    <dd>
      <p>If display/creation of hidden (dot) files/directories is
      enabled, you can turn the feature on or off via this
      setting.</p>
    </dd>

    <dt>Show images</dt>

    <dd>
      <p>This allows you to select the way in which Lynx shows
      image links. These are the available selections:</p>

      <ul>
        <li><em>ignore</em> to suppress the links altogether,</li>

        <li><em>as labels</em> to show the descriptive text for the
        link</li>

        <li><em>as links</em>, which allows you to use an external
        viewer</li>
      </ul><br>
    </dd>

    <dt>Show scrollbar</dt>

    <dd>
      <p>This allows you to enable (show) or disable (hide) the
      scrollbar on the right-margin of the display. This feature is
      available with ncurses or slang libraries.</p>
    </dd>

    <dt>Show transfer rate</dt>

    <dd>
      <p>This allows you to select the way in which Lynx shows its
      progress in downloading large pages. It displays its progress
      in the status line. These are the available selections:</p>

      <ul>
        <li>Do not show rate</li>

        <li>Local directory sort order</li>

        <li>Show dot files</li>

        <li>Execution links</li>

        <li>Pause when showing message</li>

        <li>Show transfer rate</li>
      </ul><br>
    </dd>

    <dt>SSL Prompting</dt>

    <dd>
      <p>This allows you to tell how to handle errors detected in
      SSL connections <em>prompt normally</em> to prompt for each
      cookie, <em>force yes-response</em> to reply "yes" to each
      prompt, <em>force no-response</em> to reply "no" to each
      prompt.</p>
    </dd>

    <dt>Trim blank lines</dt>

    <dd>
      <p>If <em>Trim blank lines</em> is turned off, Lynx will not
      trim trailing blank lines from the document. Also, Lynx will
      not collapse <code>BR</code>-tags onto the previous line when
      it happens to be empty as part of the <em>Collapse BR
      tags</em> feature.</p>
    </dd>

    <dt>Type of Search</dt>

    <dd>
      <p>Searching type has two possible values: CASE INSENSITIVE
      (default) and CASE SENSITIVE. The searching type effects
      inter-document searches only, and determines whether searches
      for words within documents will be done in a case-sensitive
      or case-insensitive manner.</p>
    </dd>

    <dt>Use HTML5 charset replacements</dt>

    <dd>
      <p>This option allows lynx to treat pages with ISO-8859-1
      (Latin1) or ASCII encoding as if they were Windows 1252. That
      allows a few punctuation characters to be shown.</p>
    </dd>

    <dt>Use locale-based character set</dt>

    <dd>
      <p>This option allows you to request lynx to obtain a MIME
      name from the operating system which corresponds to your
      locale setting. If successful, it overrides the normal
      setting of the display character set.</p>
    </dd>

    <dt>Underline links</dt>

    <dd>
      <p>Use underline-attribute rather than bold for links.</p>
    </dd>

    <dt>Use Passive FTP</dt>

    <dd>
      <p>This allows you to change whether Lynx uses passive ftp
      connections.</p>
    </dd>

    <dt>User Agent header</dt>

    <dd>
      <p>The header string which Lynx sends to HTTP servers to
      indicate the User-Agent is displayed here. Changes may be
      disallowed via the <em>-restrictions</em> switch. Otherwise,
      the header can be changed temporarily to a string such as
      <em>L_y_n_x/2.8.9</em> for access to sites which discriminate
      against Lynx based on checks for the presence of "Lynx" in
      the header. If the User-Agent header has been changed, it can
      be restored to the built-in default value by deleting the
      modified string in the Options Menu. Whenever the User-Agent
      header is changed, the current document is reloaded, with the
      no-cache flags set, on exit from the Options Menu. Changes of
      the header are not saved in the RC file.</p>
    </dd>

    <dd>
      <p><em id="noteUA">NOTE:</em> Some sites may regard
      misrepresenting the browser as fraudulent deception, or as
      gaining unauthorized access, if it is used to circumvent
      blocking that was intentionally put in place. Some browser
      manufacturers may find the transmission of their product's
      name objectionable. If you change the User-Agent string, it
      is your responsibility. The Options Menu issues a reminder
      whenever the header is changed to one which does not include
      "Lynx" or "L_y_n_x".</p>
    </dd>

    <dt>User Mode</dt>

    <dd>
      <p>There are three possible choices: Novice, Intermediate,
      and Advanced.</p>

      <dl>
        <dt>Novice</dt>

        <dd>
          <p>In Novice mode two lines of help are displayed at the
          bottom of the screen.</p>
        </dd>

        <dt>Intermediate</dt>

        <dd>
          <p>Intermediate mode turns off the help lines.</p>
        </dd>

        <dt>Advanced</dt>

        <dd>
          <p>Advanced mode displays the URL of the currently
          selected link at the bottom of the screen.</p>
        </dd>
      </dl>
    </dd>

    <dt>Verbose Images</dt>

    <dd>
      <p>Controls whether or not Lynx replaces the [LINK], [INLINE]
      and [IMAGE] comments (for images without ALT) with filenames
      of these images. This is extremely useful because now we can
      determine immediately what images are just decorations
      (button.gif, line.gif) and what images are important. This
      setting can also be toggled on startup via the
      <em>-verbose</em> switch.</p>
    </dd>

    <dt>VI keys</dt>

    <dd>
      <p>If set to ON then the lowercase h, j, k, and l keys will
      be mapped to left, down, up, and right arrow, respectively.
      The uppercase H, J, K, and L keys remain mapped to their
      configured bindings (normally HELP, JUMP, KEYMAP, and LIST,
      respectively).</p>

      <p>Note: this has no effect on the line-editor's key
      bindings.</p>
    </dd>

    <dt>Visited Pages</dt>

    <dd>
      <p>Enable several different views of the visited links:</p>

      <dl>
        <dt>By First Visit</dt>

        <dt>By First Visit Reversed</dt>

        <dt>As Visit Tree</dt>

        <dt>By Last Visit</dt>

        <dt>By Last Visit Reversed</dt>
      </dl><br>
    </dd>

    <dt>X Display</dt>

    <dd>
      <p>This option is only relevant to X Window users. The
      DISPLAY (Unix) or DECW$DISPLAY (VMS) variable is picked up
      automatically from the environment if it has been previously
      set.</p>
    </dd>
  </dl>

  <p>[<a href="#ToC-InteractiveOptions">ToC</a>]</p>

  <h2 id="id-Mail"><a name="Mail" id="Mail">Comments and mailto:
  links</a></h2>

  <p>At any time while viewing documents within Lynx, you may use
  the &ldquo;<samp>c</samp>&rdquo; command to send a mail message
  to the owner of the current document if the author of the
  document has specified ownership. (Note to authors: if you want
  to assign the ownership to your document, you need to add into
  HEAD section a LINK element with appropriate value for REV
  attribute. Two values are recognized: <em>owner</em> and
  <em>made</em> (these are case insensitive). For example,</p>
  <pre>
&lt;HEAD&gt;
    &hellip;
    &lt;LINK REV="made" HREF="mailto:user@somedomain.com"&gt;
    &hellip;
&lt;/HEAD&gt;
</pre>

  <p>You may also add a TITLE attribute with, for example, the name
  of your page) If no ownership is specified then comments are
  disabled. Certain links called <a href=
  "lynx_url_support.html#mailto_url">mailto:</a> links will also
  allow you to send mail to other people. Using the mail features
  within Lynx is straightforward.</p>

  <p>Once you have decided to send a comment or have selected a
  <em>mailto:</em> link a new screen will appear showing you to
  whom you are sending the message. Lynx will ask for your name,
  your e-mail address, and the subject of the message. If you have
  filled in the "personal mail address" field in the <em>Options
  Menu</em>, your e-mail address will be filled in automatically.
  After entering the above information, if you have an editor
  defined in the <em>Options Menu</em> and you are not an anonymous
  user then your specified editor will be spawned for you so that
  you can enter your message. If you do not have an editor defined
  or you are an anonymous user, a simple line mode input scheme
  will allow you to enter your message.</p>

  <p>To finish sending the message, exit your spawned editor or, if
  you are using the simple line mode input scheme, type a
  &ldquo;<samp>.</samp>&rdquo; (period) on a line by itself. You
  will be asked a final time whether to send the message. If you
  press &ldquo;<samp>y</samp>&rdquo;, you will be prompted whether
  to append your signature file if one was defined in <a href=
  "#lynx.cfg">lynx.cfg</a> and is accessible, and then the message
  will be sent, whereas if you press &ldquo;<samp>n</samp>&rdquo;
  the message will be deleted. Entering Control-G in response to
  any prompts also will cancel the mailing.</p>

  <p>[<a href="#ToC-Mail">ToC</a>]</p>

  <h2 id="id-News"><a name="News" id="News">USENET News
  posting</a></h2>

  <p>While reading <a href=
  "http://www.w3.org/LineMode/User/AboutNewsServers.html">news</a>
  articles with Lynx you should see a link that says <em>Reply to:
  user@host</em> and, if the nntp server from which you received
  the article supports posting from your site, a link that says
  <em>Followup to: newsgroup(s)</em></p>

  <dl>
    <dt>Reply to user@host</dt>

    <dd>
      <p>user@host will correspond to the mail address of the
      person who posted the news article. Selecting the link will
      allow you to send a message to the person who wrote the
      message you are currently viewing. You will be given the
      option of including the original message in your reply.</p>
    </dd>

    <dt>Followup to newsgroup(s)</dt>

    <dd>
      <p>Selecting this link will allow you to post back to the
      newsgroup that you are currently reading and any newsgroups
      to which the message was cross-posted. You will be given the
      option of including the original message in your reply. Once
      you have typed in your message, you will be asked for
      confirmation of whether to proceed with the posting, and
      whether to append your signature file if one was defined in
      <a href="#lynx.cfg">lynx.cfg</a> and is accessible. See
      <a href="lynx_url_support.html">Supported URLs</a> for more
      information about the URL schemes for posting or sending
      followups (replies) to nntp servers with Lynx. [<a href=
      "#ToC-News">ToC</a>]</p>
    </dd>
  </dl>

  <p>See also <a href=
  "http://www.w3.org/Protocols/rfc977/rfc977">RFC 977</a>.</p>

  <h2 id="id-Bookmarks"><a name="Bookmarks" id="Bookmarks">Lynx
  bookmarks</a></h2>

  <p>Bookmarks are entries in your <em>bookmark file</em>, which
  record the URL of a document you may want to return to easily,
  with a name of your choice to identify the document. To use
  bookmarks you must first have specified a name for your bookmark
  file in <a href="#lynx.cfg">lynx.cfg</a> or via the <em>Options
  Menu</em>.</p>

  <p>To save a bookmark to the document you wish to place in the
  bookmark file press the &ldquo;<samp>a</samp>&rdquo; key and you
  will be asked:</p>

  <blockquote>
    <p>Save D)ocument or L)ink to bookmark file or C)ancel?
    (d,l,c):</p>
  </blockquote>

  <p>Answer &ldquo;<samp>d</samp>&rdquo; to save a link to the
  document you are currently viewing or
  &ldquo;<samp>l</samp>&rdquo; to save the link that is currently
  selected on the page. Selecting &ldquo;<samp>c</samp>&rdquo; will
  cancel without saving anything to your bookmark file.</p>

  <p>A bookmark file will be created in conjunction with acting on
  the &ldquo;<samp>a</samp>&rdquo;dd command if it does not already
  exist. Otherwise, the link will be added to the bottom of the
  pre-existing bookmark file. You must have created a bookmark file
  via the &ldquo;<samp>a</samp>&rdquo;dd command before you can
  view it.</p>

  <p>Use the &ldquo;<samp>v</samp>&rdquo; command to view the list
  of bookmarks you have saved. While viewing the bookmark list you
  may select a bookmark as you would any other link.</p>

  <p>You can remove a link from the bookmark list by pressing the
  &ldquo;<samp>r</samp>&rdquo; key when positioned on that link.
  You also can use a standard text editor (e.g., via the
  &ldquo;<samp>e</samp>&rdquo;dit command while viewing a bookmark
  file, if an external editor has been defined via the <em>Options
  menu</em>) to delete or re-order links in the bookmark file, or
  to modify a link name by editing the content of the
  <em>A</em>nchor element for the link, but you should not change
  the format within the line for the link, consisting of an
  <em>LI</em> element followed by the <em>A</em>nchor element, nor
  cause the line to become wrapped to a second line. You similarly
  can change the link destination by editing the double-quoted
  value for the <em>HREF</em> attribute in the <em>A</em>nchor
  start tag, but you should not otherwise change the spacing within
  the start tag, nor add other attributes. You can add a new link
  while editing by copying an existing line for a link, to ensure
  the proper format, and then modifying its <em>HREF</em> value and
  <em>A</em>nchor content, but you should not add any other HTML
  markup to the bookmark file. If the format and spacing (other
  than the <em>A</em>nchor content or <em>HREF</em> value) within
  lines is changed or other HTML markup is added, the
  &ldquo;<samp>a</samp>&rdquo;dd and
  &ldquo;<samp>r</samp>&rdquo;emove commands may not work
  properly.</p>

  <p>When multi-bookmarks (see <a href=
  "#InteractiveOptions">Options Menu</a>) is OFF, you will always
  view or add links to the default bookmark file. When it is
  STANDARD, a menu of up to 26 bookmark files will be invoked, and
  you select the bookmark file by entering its letter token. When
  it is ADVANCED, you will be prompted for the letter token, but
  can enter &ldquo;<samp>=</samp>&rdquo; to invoke the STANDARD
  selection menu, or <em>RETURN</em> for the default bookmark file.
  [<a href="#ToC-Bookmarks">ToC</a>]</p>

  <h2 id="id-Jumps"><a name="Jumps" id="Jumps">Jump
  Command</a></h2>

  <p>Similar to the bookmarks file is the jumps file: for an
  example, look in the <em>samples</em> subdirectory in the
  distribution package. To use the jumps command, create a
  <em>jumps file</em> with the same format as the sample file, but
  containing your own URLs &amp; short-cut names. Once you have
  done that, typing &ldquo;<samp>j</samp>&rdquo; prompts you to
  enter a short-cut name, which will take you straight to the URL
  associated with the short-cut in the jumps file, much like using
  &ldquo;<samp>g</samp>&rdquo;. If you want to check which
  short-cuts are available, type &ldquo;<samp>?</samp>&rdquo; at
  the jump prompt for the full list.</p>

  <p>You can set up a jumps file which makes Lynx prompt for
  parameters, e.g., as part of a search. Do this by putting a "%s"
  marker in the URL at each point where you want Lynx to fill in
  text. When you activate the corresponding jump, Lynx will prompt
  you for the parameters, one by one.</p>

  <p>All jump short-cuts you have entered are saved in a circular
  buffer in the same way as with &ldquo;<samp>g</samp>&rdquo; and
  &ldquo;<samp>/</samp>&gt;&rdquo; (search):</p>

  <p>previous entries can be retrieved with <em>up-arrow</em> or
  <em>down-arrow</em>.</p>

  <p>The jumps feature is especially useful for system
  administrators who have unsophisticated users to care for, but
  ordinary Lynx users who have a number of URLs they regularly
  visit while browsing may find using the jumps command speeds
  their movements.</p>

  <p>For more advice how to set up the jumps command on your system
  and how to define short-cut names, read <a href=
  "#lynx.cfg">lynx.cfg</a> .</p>

  <p>[<a href="#ToC-Jumps">ToC</a>]</p>

  <h2 id="id-DirEd"><a name="DirEd" id="DirEd">Directory
  Editing</a></h2>

  <p>Lynx offers extended DIRED support on Unix (on VMS the more
  powerful CSwing program is recommended for character cell
  terminals, and can be offered via Lynx as a jump shortcut or
  execution link). When a local directory is accessed using a URL
  of the form <em>file://localhost/path/</em>, a new set of
  commands is available. With DIRED support you can create, edit,
  delete, copy, and move files on your local system. The commands
  available in DIRED mode are</p>

  <dl>
    <dt><code>C)reate</code></dt>

    <dd>
      <p>Type &ldquo;<samp>c</samp>&rdquo; to create a new file.
      New file will be empty.</p>
    </dd>

    <dt><code>D)ownload</code></dt>

    <dd>
      <p>Type &ldquo;<samp>d</samp>&rdquo; to download using one of
      the pre-defined options.</p>
    </dd>

    <dt><code>E)dit</code></dt>

    <dd>
      <p>Type &ldquo;<samp>e</samp>&rdquo; to spawn the editor
      defined in <em>Options Menu</em> and load a selected file for
      editing.</p>
    </dd>

    <dt><code>F)ull Menu</code></dt>

    <dd>
      <p>Type &ldquo;<samp>f</samp>&rdquo; to show full menu of
      options available for selection. Menu may vary according to
      type of file selected and compression facilities available. 
      <!-- List of full menu options --></p>
    </dd>

    <dt><code>M)odify</code></dt>

    <dd>
      <p>Type &ldquo;<samp>m</samp>&rdquo; to modify the name or
      location of file. Then type &ldquo;<samp>n</samp>&rdquo; to
      rename the file or &ldquo;<samp>l</samp>&rdquo; to move the
      file to a different location.</p>
    </dd>

    <dt><code>R)emove</code></dt>

    <dd>
      <p>Type &ldquo;<samp>r</samp>&rdquo; to remove the selected
      file or directory.</p>
    </dd>

    <dt><code>T)ag</code></dt>

    <dd>
      <p>Type &ldquo;<samp>t</samp>&rdquo; to tag highlighted file.
      Further operations will be performed on tagged files instead
      of highlighted ones.</p>
    </dd>

    <dt><code>U)pload</code></dt>

    <dd>
      <p>Type &ldquo;<samp>u</samp>&rdquo; to upload a file to the
      present directory. An uploading method must have been
      pre-defined in <a href="#lynx.cfg">lynx.cfg</a> .</p>
    </dd>
  </dl>

  <p>[<a href="#ToC-DirEd">ToC</a>]</p>

  <h2 id="id-ColorMouse"><a name="ColorMouse" id="ColorMouse">Using
  Color &amp; the Mouse</a></h2>

  <p>A limited range of colors &amp; mouse commands are available,
  if the user chooses: see <em>lynx.cfg</em> for details. [<a href=
  "#ToC-ColorMouse">ToC</a>]</p>

  <h2 id="id-MiscKeys"><a name="MiscKeys" id="MiscKeys">Scrolling
  and Other useful commands</a></h2>

  <p>A summary of all the keystroke commands and their key bindings
  can be invoked via the KEYMAP command, normally mapped to
  &ldquo;<samp>k</samp>&rdquo; and &ldquo;<samp>K</samp>&rdquo;.
  The following describes some of the most commonly used
  commands.</p>

  <dl>
    <dt><strong><em>^A</em></strong></dt>

    <dd>
      <p><em>Control-A</em> jumps you to the beginning of the
      current document. It is a synonym for the Keypad
      <em>Home</em> key, and can be used also when <em>Links are
      numbered</em> mode is on. The <em>Find</em> Function key also
      is a synonym, and ideally the latter has been mapped to the
      Function key labeled <em>Home</em> if you are using an IBM
      Enhanced Keyboard.</p>
    </dd>

    <dt><strong><em>^E</em></strong></dt>

    <dd>
      <p><em>Control-E</em> jumps you to the end of the current
      document. It is a synonym for the Keypad <em>End</em> key,
      and can be used also when <em>Links are numbered</em> mode is
      on. The <em>Select</em> Function key also is a synonym, and
      ideally the latter has been mapped to the Function key
      labeled <em>End</em> if you are using an IBM Enhanced
      Keyboard.</p>
    </dd>

    <dt><strong><em>^B</em></strong></dt>

    <dd>
      <p><em>Control-B</em> normally jumps you to the previous page
      of the current document, and thus is a synonym for the Keypad
      and Function <em>Page-Up</em> keys. However,
      <em>Control-B</em> acts as <em>right-arrow</em> when
      emacs-like key movement is enabled (see <a href=
      "#InteractiveOptions">Lynx Options Menu</a>).</p>
    </dd>

    <dt><strong><em>^F</em></strong></dt>

    <dd>
      <p><em>Control-F</em> normally jumps you to the next page of
      the current document, and thus is a synonym for the Keypad
      and Function <em>Page-Down</em> keys. However,
      <em>Control-F</em> becomes <em>right-arrow</em> when
      emacs-like key movement is enabled.</p>
    </dd>

    <dt><strong><em>^N</em></strong></dt>

    <dd>
      <p><em>Control-N</em> normally jumps you forward two lines in
      the current document. The VT220 <em>Remove</em> Function key
      (labeled <em>Delete</em> on IBM Enhanced keyboards, and
      distinct from their <em>Backspace</em> key) is a synonym.
      <em>Control-N</em> becomes <em>down-arrow</em> when
      emacs-like key movement is enabled.</p>
    </dd>

    <dt><strong><em>^P</em></strong></dt>

    <dd>
      <p><em>Control-P</em> normally jumps you back two lines in
      the current document. The <em>Insert</em> Function key is a
      synonym. <em>Control-P</em> becomes <em>up-arrow</em> when
      emacs-like key movement is enabled.</p>
    </dd>

    <dt><strong><em>^K</em></strong></dt>

    <dd>
      <p><em>Control-K</em> invokes the <a href=
      "keystrokes/cookie_help.html">Cookie Jar Page</a> if it
      contains cookies.</p>
    </dd>

    <dt><strong><em>^T</em></strong></dt>

    <dd>
      <p><em>Control-T</em> toggles Lynx trace mode on and off.
      This is useful for diagnosing bad html. If you get a <em>Bad
      HTML</em> statusline message when loading a document, enter
      <em>Control-T</em> and then <em>Control-R</em> to reload the
      document in trace mode. You may then examine the <em>Lynx
      Trace Log</em> file with the <samp>;</samp> command if
      enabled (see below), watch out especially for lines marked
      with a number of asterisks &ldquo;<code>*****</code>&rdquo;.
      You also can submit the document for validation via links in
      the online help menu. If you are able to diagnose the
      problem, send a message about it to the document's
      author.</p>
    </dd>

    <dt><strong><em>^X</em></strong></dt>

    <dd>
      <p><em>Control-X</em> invokes the <a href="#Cache">Cache Jar
      Page</a> if it contains cached documents.</p>
    </dd>

    <dt><strong><samp>E</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>E</samp>&rdquo; command allows you to
      edit the URL (or ACTION) of the current link and then use
      that as a goto URL. Pressing the &ldquo;<samp>E</samp>&rdquo;
      command will bring up a prompt asking you to edit the current
      link's URL. If you do not modify it, or completely delete it,
      or enter Control-G, the command will be cancelled. Otherwise,
      the request for the &ldquo;E&rdquo;dited URL will be sent
      with method GET, and will be entered into the circular buffer
      for goto URLs so that it can be accessed for further
      modification via the &ldquo;<samp>g</samp>&rdquo; command.
      Note that lower case &ldquo;e&rdquo; invokes the external
      editor for the current document.</p>
    </dd>

    <dt><strong><samp>g</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>g</samp>&rdquo; command allows any URL to
      be viewed. Pressing the &ldquo;<samp>g</samp>&rdquo; command
      will bring up a prompt asking for a URL. Type in the URL that
      you wish to view. All previously entered goto URLs are saved
      in a circular buffer, and can be accessed at the prompt by
      pressing the <em>up-arrow</em> or <em>down-arrow</em>
      keys.</p>
    </dd>

    <dt><strong><samp>G</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>G</samp>&rdquo; command allows you to
      edit the URL of the current document and then use that as a
      goto URL. Pressing the &ldquo;<samp>G</samp>&rdquo; command
      will bring up a prompt asking you to edit the current
      document's URL. If you do not modify it, or completely delete
      it, or enter Control-G, the command will be cancelled. If the
      current document has POST content associated with it, an
      Alert will be issued. If you do edit that URL, and it does
      not simply involve a fragment change (for seeking a position
      in the current document), the modified URL will be submitted
      with method GET and no POST content. If a modification of the
      current document's URL results in a submission, that modified
      URL will be entered into the circular buffer for goto URLs,
      and can be accessed for further modification via the
      &ldquo;<samp>g</samp>&rdquo; command.</p>
    </dd>

    <dt><strong><samp>z</samp></strong></dt>

    <dd>
      <p>Lynx supports completely interruptible I/O processes.
      Press the &ldquo;<samp>z</samp>&rdquo; key at any time during
      a connect or transfer process and the process will be halted.
      If any data was transferred before the interrupt, it will be
      displayed.</p>
    </dd>

    <dt><strong><samp>)</samp></strong></dt>

    <dd>
      <p>The <samp>)</samp> command jumps you forward half a page
      in the current document.</p>
    </dd>

    <dt><strong><samp>(</samp></strong></dt>

    <dd>
      <p>The <samp>(</samp> command jumps you back half a page in
      the current document.</p>
    </dd>

    <dt><strong><samp>#</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>#</samp>&rdquo; command jumps you to the
      pseudo Toolbar or Banner if present in the current document.
      Use <em>left-arrow</em> to return from there to your previous
      position in the document.</p>
    </dd>

    <dt><strong><samp>!</samp></strong></dt>

    <dd>
      <p>When &ldquo;<samp>!</samp>&rdquo; is pressed your default
      shell will be spawned. When you quit or exit the shell you
      will return to Lynx (usually <em>exit</em> under Unix and
      <em>logout</em> under VMS). This command is usually disabled
      for anonymous users. On VMS, &ldquo;<samp>$</samp>&rdquo;
      normally is a synonym.</p>
    </dd>

    <dt><strong><samp>=</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>=</samp>&rdquo; command shows information
      about the current document and the currently selected link if
      there is one. The number of lines in the file, URL, title,
      owner, and type are shown.</p>

      <p>Normally the information is shown formatted (with margins)
      for readability. You can make Lynx show the URL wrapped
      without margins, e.g., making it convenient for select/paste,
      by doing this:</p>

      <ul>
        <li>toggle line-wrapping off using
        &ldquo;<samp>|</samp>&rdquo;</li>

        <li>when line-wrapping is off, use the
        &ldquo;<samp>=</samp>&rdquo; command</li>
      </ul>
    </dd>

    <dt><strong><samp>;</samp></strong></dt>

    <dd>
      <p>The <samp>;</samp> command shows the <em>Lynx Trace
      Log</em> (<em>Lynx.trace</em> in the home directory) if one
      has been started for the current session. If a log has not
      been started, any trace messages will be sent to the screen
      (and will disturb the normal display) unless the system
      supports piping and that was used to redirect stderr messages
      to a file. The log is started when Lynx trace mode is turned
      on via the <em>-trace</em> command line switch, or via the
      <em>Control-T</em> toggle, if Lynx has been compiled to log
      the trace and other stderr messages by default. If not,
      ability to create a log can be toggled on with the
      <em>-tlog</em> switch. Note that this ability is probably
      disabled in anonymous or validation accounts.</p>
    </dd>

    <dt><a name="asterisk-key" id=
    "asterisk-key"><strong><samp>*</samp></strong></a></dt>

    <dd>
      <p>The &ldquo;<samp>*</samp>&rdquo; command toggles
      image_links mode on and off. When on, links will be created
      for all images, including inline images. If you have an image
      viewer mapped to the image's MIME type, you can activate such
      links to view an inline image. You should normally have this
      mode toggled off.</p>
    </dd>

    <dt><strong><samp>@</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>@</samp>&rdquo; command toggles raw 8-bit
      or CJK mode on and off. When on, the charset is assumed to
      match the selected character set and 8-bit characters are not
      reverse translated with respect to the ISO-8859-1 conversion
      tables.</p>
    </dd>

    <dt><a name="lbracket-key" id=
    "lbracket-key"><strong><samp>[</samp></strong></a></dt>

    <dd>
      <p>The &ldquo;<samp>[</samp>&rdquo; command toggles
      pseudo_inlines mode on and off. When on, inline images which
      have no ALT string specified will have an <em>[INLINE]</em>
      pseudo-ALT string inserted in the Lynx display. When off,
      they will be treated as having ALT="" (i.e., they will be
      ignored). If image_links mode is toggled on, the pseudo-ALT
      strings will be restored, to serve as links to the inline
      images' sources.</p>
    </dd>

    <dt><strong><samp>]</samp></strong></dt>

    <dd>
      <p>The &ldquo;<samp>]</samp>&rdquo; command is used to send
      HEAD requests for the current document or link. It applies
      only to documents or links (or form submit buttons) of http
      servers. A statusline message will notify you if the context
      for this command was inappropriate. The HEAD requests always
      are sent to the http server, i.e., Lynx does not retrieve any
      previous server replies from its cache. Note that for form
      submissions, http servers vary in whether they'll treat HEAD
      requests as valid and return the CGI script's headers, or
      treat it as invalid and return an error message.</p>
    </dd>

    <dt><strong><samp>{</samp></strong></dt>

    <dd>
      <p>If the line-wrapping margin is wider than the terminal's
      display, scroll left by half of the display's width.</p>

      <p>This feature is not available when Lynx is built using the
      slang library.</p>
    </dd>

    <dt><strong><samp>|</samp></strong></dt>

    <dd>
      <p>&ldquo;<samp>|</samp>&rdquo; toggles Lynx line-wrapping
      on/off. Normally Lynx fits text onto the screen, wrapping
      lines. With this feature, Lynx provides the ability to
      eliminate line-wrapping (up to an internal line-limit of 1000
      characters). Lynx uses the curses &ldquo;pad&rdquo; feature
      to support left/right scrolling. You can scroll left and
      right in the screen to view the wide lines.</p>

      <p>The popup menu for the command shows the other choices
      which extend the wrapping margin:</p>

      <blockquote>
        <pre>
/----------------------------------\
| Try to fit screen width          |
| No line wrap in columns          |
| Wrap columns at screen width     |
| Wrap columns at 3/4 screen width |
| Wrap columns at 2/3 screen width |
| Wrap columns at 1/2 screen width |
| Wrap columns at 1/3 screen width |
| Wrap columns at 1/4 screen width |
\----------------------------------/
</pre>
      </blockquote>

      <p>This feature is not available when Lynx is built using the
      slang library.</p>
    </dd>

    <dt><strong><samp>}</samp></strong></dt>

    <dd>
      <p>If the line-wrapping margin is wider than the terminal's
      display, scroll right by half of the display's width.</p>

      <p>This feature is not available when Lynx is built using the
      slang library.</p>
    </dd>

    <dt><em>numbers</em></dt>

    <dd>
      <p>Lynx offers other, advanced navigation features when
      numbers are used to invoke the <a href=
      "keystrokes/follow_help.html">Follow Link (or goto link or
      page) number:</a> or <a href=
      "keystrokes/follow_help.html#select-option">Select Pop-up
      Option Number:</a> prompts.</p>
    </dd>
  </dl>

  <p>[<a href="#ToC-MiscKeys">ToC</a>]</p>

  <h2 id="id-Forms"><a name="Forms" id="Forms">Lynx and HTML
  Forms</a></h2>

  <p>This section describes the Lynx Forms Interface. HTML gives
  document providers the ability to create on-line forms which may
  be filled out when the document is viewed. When a form is
  submitted the information on the form can be used to search a
  database or complete a survey.</p>

  <p>An HTML Form provides for the use of buttons to perform an
  action (such as <em>submit</em>), checkboxes, radio buttons or
  popups to select options from a list, and fields for entering
  text.</p>

  <dl>
    <dt>Buttons:</dt>

    <dd>
      <p>Buttons are displayed in the same way that Lynx displays
      links in a document. To "push" the button press the
      <em>right-arrow</em> or <em>Return</em> key. If it is a form
      submission button, you also can use the NOCACHE
      (&ldquo;<samp>x</samp>&rdquo;) or DOWNLOAD
      (&ldquo;<samp>d</samp>&rdquo;) keystroke commands to "push"
      the button (see below).</p>
    </dd>

    <dt>Checkboxes and Radio buttons</dt>

    <dd>
      <p>Checkboxes are displayed as square brackets:
      <em>[&nbsp;]</em> and radio buttons are displayed as
      parenthesis: <em>(&nbsp;)</em>. When a box is checked or a
      button selected, an <samp>x</samp> appears in the brackets:
      <em>[x]</em> or an asterisk appears within the parenthesis:
      <em>(*)</em>. To check a box or select a radio button press
      the <em>right-arrow</em> or <em>Return</em> key.</p>
    </dd>

    <dt>Selection Fields</dt>

    <dd>
      <p>Selection fields are displayed as brackets with the
      default option displayed between them: <em>[default__]</em>.
      To select an option press the <em>right-arrow</em> or
      <em>Return</em> key. A box with a border of asterisks (or
      line-drawing characters) will pop up with the list of
      possible options listed within the box. Use the
      <em>up-arrow</em>, <em>down-arrow</em>, <em>page-up</em>,
      <em>page-down</em>, and other navigation keys to move the
      cursor among options, and the <em>right-arrow</em> or
      <em>Return</em> key to select an option. You also can use the
      &ldquo;<samp>/</samp>&rdquo; and
      &ldquo;<samp>n</samp>&rdquo;ext <a href=
      "#Search">searching</a> commands for navigating to options
      which contain particular strings. <em>NOTE</em> that the
      popup menu feature can be disabled via compilation and/or
      configuration options, or via the <a href=
      "#InteractiveOptions">Options Menu</a>, in which case the
      selection field options will be converted to a list of radio
      buttons. The default setting for use of popups or radio
      button lists can be toggled via the <em>-popup</em> command
      line switch.</p>
    </dd>

    <dt>Text Entry Fields</dt>

    <dd>
      <p>Text entry (INPUT) fields are displayed as a row of
      underscores the length of the entry field: <em>_______</em>.
      You may enter text directly by typing at the keyboard. Use
      the <a href="keystrokes/edit_help.html">Line Editor</a> keys
      to correct errors. If you try to input more text than the
      field can hold, the line editor will not accept the
      additional characters. If you fill a text field the cursor
      will not move off the field but remain at the last field
      position. Use the <em>up-arrow</em>, and <em>down-arrow</em>,
      <em>TAB</em> or <em>Return</em> keys to move up, or down from
      the text entry field. NOTE, however, that <em>Return</em>
      also will <a href="#submit">submit</a> the form if the text
      entry field is the only non-hidden field in the form. If
      <a name="tna" id="tna">"Textfields Need Activation"</a> mode
      is turned on (with the <kbd>-tna</kbd> command-line option or
      in <a href="#lynx.cfg">lynx.cfg</a>), 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>Right Arrow</em>. This mode can be used to avoid "getting
      stuck" in input fields, especially by users who rarely fill
      out forms.</p>

      <p><a name="CtrlVNote" id="CtrlVNote">NOTE:</a> 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>

      <p>Some flavors of UNIX, shells &amp; 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 &ldquo;lnext&rdquo; in stty
      man pages and &ldquo;stty -a&rdquo; output); to avoid this,
      you can put &ldquo;stty lnext undef&rdquo; in your .cshrc
      file (or .profile or .bashrc, depending on what shell you
      use), or invoke Lynx with a wrapper script, e.g.</p>

      <p><code>&nbsp;&nbsp;#!/bin/sh<br>
      &nbsp;&nbsp;stty lnext undef<br>
      &nbsp;&nbsp;$HOME/bin/lynx "$@"<br>
      &nbsp;&nbsp;stty lnext ^V<br>
      &nbsp;&nbsp;exit</code></p>

      <p>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
      example,</p>

      <p>&nbsp;&nbsp;KEYMAP:^V:DO_NOTHING<br>
      &nbsp;&nbsp;KEYMAP:#:SWITCH_DTD</p>

      <p>would map SWITCH_DTD away from <em>^V</em> to
      <samp>#</samp>, while leaving its default Line Editor
      function as a command escape in place. On the other hand,</p>

      <p>&nbsp;&nbsp;KEYMAP:^V::NOP:1<br>
      &nbsp;&nbsp;KEYMAP:^_::LKCMD:1</p>

      <p>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.</p>
    </dd>

    <dt>TEXTAREA Fields</dt>

    <dd>
      <p>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. 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.</p>
    </dd>

    <dt>Editing TEXTAREA Fields and Special TEXTAREA Functions</dt>

    <dd>
      <p>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</p>
      <pre>
          <strong>(Textarea) Enter text. </strong>[ ..... ]<strong> (^Xe for editor).</strong>
</pre>

      <p>An external editor has to be defined, for example in the
      <a href="#InteractiveOptions">Options Menu</a>, before you
      can start using this function.</p>

      <p>A key to invoke external TEXTAREA editing is normally
      provided by the <a href=
      "keystrokes/edit_help.html">Line-Editor Key</a> Bindings. A
      KEYMAP directive in <em>lynx.cfg</em> can also be used to
      make a different key invoke external editing; it will then
      normally be necessary to prefix that key with <em>^V</em> to
      "escape" from line-editing. Two variants exist,<br>
      &nbsp;&nbsp;KEYMAP:e:EDITTEXTAREA<br>
      or<br>
      &nbsp;&nbsp;KEYMAP:e:DWIMEDIT<br>
      (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 do
      not conflict</em>).</p>

      <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 href=
      "keystrokes/edit_help.html#TASpecial">Line-Editor
      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>&nbsp;&nbsp;KEYMAP:$:GROWTEXTAREA<br>
      &nbsp;&nbsp;KEYMAP:#:INSERTFILE</p>

      <p>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
      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>

      <p>If you have some single keys (or control keys) to spare
      that you do not need for their normal purposes, you can
      dedicate 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, use<br>
      &nbsp;&nbsp;KEYMAP:^E:DWIMEDIT:PASS<br>
      &nbsp;&nbsp;KEYMAP:0x10C:INSERTFILE:PASS<br>
      (see lynx.cfg for other keystroke codes to use).</p>

      <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 use <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).</p>
    </dd>
  </dl>

  <p>In general, you can move around the form using the standard
  Lynx navigation keys. The <em>up-arrow</em> and
  <em>down-arrow</em> keys, respectively, select the previous or
  next field, box, or button. The <em>TAB</em> key selects the next
  field, box, or button.</p>

  <p>To <a name="submit" id="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 session, have not changed any of the form
  content, and the METHOD was <em>GET</em>, Lynx will retrieve from
  its cache what was returned from the previous submission. If you
  wish to resubmit that form to the server with the same content as
  previously, use the NOCACHE command
  (&ldquo;<samp>x</samp>&rdquo;) when positioned on the submit
  button. The <em>right-arrow</em> and <em>Return</em> keys also
  will invoke a no-cache resubmission if the reply from a form
  submission included a META element with a no-cache Pragma or
  Cache-Control directive:</p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Pragma" CONTENT="no-cache"&gt;</em>
      <em>&lt;META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"&gt;</em>
</pre>

  <p>or the server sent a "Pragma" or "Cache-Control" MIME header
  with a no-cache directive.</p>

  <p>You also can use the DOWNLOAD (&ldquo;<samp>d</samp>&rdquo;)
  keystroke command when positioned on a form submit button if you
  wish to download the server's reply to the submission instead of
  having Lynx render and display it.</p>

  <p>Forms which have <em>POST</em> as the METHOD, or a <a href=
  "lynx_url_support.html#mailto_url">mailto:</a> URL as the ACTION,
  are always resubmitted, even if the content has not changed, when
  you activate the <em>submit</em> button. Lynx normally will not
  resubmit a form which has <em>POST</em> as the METHOD if the
  document returned by the form has links which you activated, and
  then you go back via the PREV_DOC (<em>left-arrow</em>) command
  or via the <a href="keystrokes/history_help.html">History
  Page</a>. Lynx can be compiled so that it resubmits the form in
  those cases as well, and the default can be changed via <a href=
  "#lynx.cfg">lynx.cfg</a>, and toggled via the
  <em>-resubmit_posts</em> command line switch.</p>

  <p>If the form has one <em>text entry</em> field and no other
  fields except, possibly, hidden INPUT fields not included in the
  display, then that field also serves as a <em>submit</em> button,
  and pressing <em>right-arrow</em> or <em>Return</em> on that
  field will invoke submission of the form. Be sure to use
  <em>up-arrow</em>, <em>down-arrow</em> or <em>TAB</em> to move
  off the text entry field, in such cases, if it is not your
  intention to submit the form (or to retrieve what was returned
  from an earlier submission if the content was not changed and the
  METHOD was <em>GET</em>).</p>

  <p>Forms can have multiple <em>submit</em> buttons, if they have
  been assigned NAMEs in the markup. In such cases, information
  about which one of the buttons was used to submit the form is
  included in the form content.</p>

  <p>Inlined images can be used as submit buttons in forms: If such
  buttons are assigned NAMEs in the markup, for graphic clients
  they can also serve as <a href="#USEMAP">image maps</a>, and the
  x,y coordinates of the graphic client's cursor position in the
  image when it was <em>clicked</em> are included in the form
  content. Since Lynx cannot inline the image, and the user could
  not have moved a cursor from the origin for the image, if no
  alternatives are made available in the markup Lynx sends a 0,0
  coordinate pair in the form content.</p>

  <p>Document authors who use images as submit buttons, but have at
  least some concern for text clients and sight-challenged
  Webizens, should include VALUEs for the buttons in such markup.
  Lynx will then display the string assigned to the VALUE, as it
  would for a normal submit button.</p>

  <ul>
    <li>
      <p>Some document authors incorrectly use an ALT instead of
      VALUE attribute for this purpose. Lynx "cooperates" by
      treating ALT as a synonym for VALUE when present in an INPUT
      tag with TYPE="image".</p>
    </li>

    <li>
      <p>If neither a VALUE nor an ALT attribute is present, Lynx
      displays "[IMAGE]-Submit" as the string for such buttons.</p>
    </li>

    <li>
      <p>If clickable images is set, the "[IMAGE]" portion of the
      string is a link for the image, and the "Submit" portion is
      the button for submitting the form.</p>

      <p>Otherwise, the entire string is treated as a submit
      button. If a VALUE or ALT attribute is present and clickable
      images is set, Lynx prepends "[IMAGE]" as a link for the
      image, followed by &ldquo;-&rdquo; and then the attribute's
      value as the displayed string for the submit button.</p>
    </li>
  </ul>

  <p>Early versions of Lynx would send a name=value pair instead of
  a 0,0 coordinate pair if a TYPE="image" submit button was
  NAME-ed, had a VALUE attribute in the INPUT tag, and was used to
  submit the form. The script which analyzes the form content thus
  could be made aware whether the submission was by a user with a
  graphic client and had image loading turned on, or by a user who
  did not see the image nor make a conscious choice within it.
  However, requests that this be included in HTML specifications
  consistently have fallen on deaf ears, and thus Lynx now "fakes"
  a 0,0 coordinate pair whether or not a VALUE or ALT attribute is
  present in the INPUT tag. Ideally, the script which analyzes the
  submitted content will treat the 0,0 coordinate pair as an
  indicator that the user did not see the image and make a
  conscious choice within it.</p>

  <p>Forms can have <em>hidden</em> INPUT fields, which are not
  displayed, but have NAMEs and VALUEs included in the content.
  These often are used to keep track of information across a series
  of related form submissions, but have the potential for including
  information about the user that might be considered to represent
  an invasion of privacy. NOTE, in this regard, that Lynx has
  implemented the <a href="http://www.w3.org/Markup/html3/">HTML
  3.0</a> <em>DISABLED</em> attribute for <em>all</em> of its form
  fields. These can be used to keep track of information across
  submissions, and to cast it unmodifiable in the current form, but
  keep the user aware that it will be included in the
  submission.</p>

  <p>Forms most commonly are submitted to http servers with the
  content encoded as
  <em>ENCTYPE="application/x-www-form-urlencoded"</em> for analysis
  by a script, and Lynx treats that as the default if no ENCTYPE is
  specified in the FORM start tag. However, you can specify a
  <a href="lynx_url_support.html#mailto_url">mailto</a> URL as the
  form's ACTION to have the form content sent, instead, to an email
  address. In such cases, you may wish to specify
  <em>ENCTYPE="text/plain"</em> in the form markup, so that the
  content will not be encoded, but remain readable as plain
  text.</p>

  <p>Lynx also supports
  <em>ENCTYPE="application/sgml-form-urlencoded"</em> for which all
  reserved characters in the content will be hex escaped, as with
  <em>application/x-www-form-urlencoded</em>, but semicolons
  (&ldquo;<samp>;</samp>&rdquo;) instead of ampersands
  (&ldquo;<samp>&amp;</samp>&rdquo;) will be used as the separator
  for name=value pairs in the form content. The use of semicolons
  is preferred for forms with the <em>GET</em> METHOD, because the
  <em>GET</em> METHOD causes the encoded form content to be
  appended as a <em>?searchpart</em> for the form's ACTION, and if
  such URLs are used in <em>text/html</em> documents or bookmark
  files without conversion of the ampersands to SGML character
  references (<em>&amp;amp;</em> or <em>&amp;#38;</em>), their
  being followed by form field NAMEs which might correspond to SGML
  entities could lead to corruption of the intended URL.</p>

  <p>NOTE, in this regard, that Lynx converts ampersands to
  <em>&amp;amp;</em> when creating bookmarks, and thus the bookmark
  links will not be vulnerable to such corruptions. Also NOTE that
  Lynx allows you to save links in your bookmark file for documents
  returned by forms with the <em>GET</em> METHOD, and which thus
  have the content appended as a <em>?searchpart</em>, but not if
  the METHOD was <em>POST</em>, because the content would be lost
  and the link thus would be invalid.</p>

  <p>Lynx supports <em>ENCTYPE="multipart/form-data"</em> for
  sending form content with name=value pairs encoded as multipart
  sections with individual MIME headers and boundaries. However,
  Lynx does not yet support INPUTs with <em>TYPE="file"</em> or
  <em>TYPE="range"</em> and will set the <em>DISABLED</em>
  attribute for all of the form's fields if any INPUTs with either
  of those two TYPEs are present, so that the form cannot be
  submitted. Otherwise, Lynx will submit the form with the
  multipart ENCTYPE.</p>

  <p>A
  <em>Content-Disposition:&nbsp;file;&nbsp;filename=name.suffix</em>
  header can be used by CGI scripts to set the suggested filename
  offered by Lynx for &ldquo;<samp>d</samp>&rdquo;ownload and
  &ldquo;<samp>p</samp>&rdquo;rint menu options to save or mail the
  body returned by the script following submission of a FORM.
  Otherwise, Lynx uses the last symbolic element in the path for
  the FORM's ACTION, which is normally the script, itself, or a
  PATH_INFO field, and thus might be misleading. This also can be
  done via a META element in any document:</p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Content-Disposition"
            CONTENT="file; filename=name.suffix"&gt;</em>
</pre>

  <p>[<a href="#ToC-Forms">ToC</a>]</p>

  <h2 id="id-Images"><a name="Images" id="Images">Lynx and HTML
  Images</a></h2>

  <p>As a text browser, Lynx does not display images as such -- you
  need to define a viewer in <em>lynx.cfg</em>: see there -- , but
  users can choose a number of ways of showing their presence.</p>

  <p>There are 3 choices in <em>lynx.cfg</em>, with 2 corresponding
  keys:</p>
  <pre>
     MAKE_LINKS_FOR_ALL_IMAGES        *  IMAGE_TOGGLE
     MAKE_PSEUDO_ALTS_FOR_INLINES     [  INLINE_TOGGLE
     VERBOSE_IMAGES                   no corresponding key
</pre>

  <p>You can also use the <em>Options Menu</em>, as outlined
  below:</p>
  <pre>
     key  lynx.cfg       FM KM .lynxrc    variable in source

       *  MAKE_LINKS_     Y  N       N    clickable_images
       [  MAKE_PSEUDO_    Y  N       N    pseudo_inline_alts
          VERBOSE_        Y  Y       Y    verbose_img

FM = Form-based Menu ; KM = Key-based Menu ;
in  .lynxrc ,  VERBOSE_IMAGES  is called &ldquo;verbose_images&rdquo;:
the other two cannot be saved between sessions.
</pre>

  <p>In the Form-based Menu, the 3-way &ldquo;Show images&rdquo;
  selection combines the effects of the &ldquo;*&rdquo; &amp;
  &ldquo;[&rdquo; keys, as follows:</p>
  <pre>
     Ignore      clickable_images = FALSE, pseudo_inline_alts = FALSE
     As labels   clickable_images = FALSE, pseudo_inline_alts = TRUE
     As links    clickable_images = TRUE,  pseudo_inline_alts = unchanged
</pre>

  <h2 id="id-Tables"><a name="Tables" id="Tables">Lynx and HTML
  Tables</a></h2>

  <p>HTML includes markup for creating <em>tables</em> structured
  as arrays of cells aligned by columns and rows on the displayed
  page.</p>

  <p>Lynx recognizes the TABLE element and all of its associated
  elements as described in <a href=
  "http://www.faqs.org/rfcs/rfc1942.html">RFC 1942</a> and will
  process any ID attributes in the start tags for handling as
  NAME-ed anchors, but does not create actual <em>tables</em>.
  Instead, it treats the TR start tag as a collapsible BR (line
  break), and inserts a collapsible space before the content of
  each TH and TD start tag. This generally makes all of the content
  of the <em>table</em> readable, preserves most of the intra-cell
  organization, and makes all of the links in the <em>table</em>
  accessible, but any information critically dependent on the
  column and row alignments intended for the <em>table</em> will be
  missed.</p>

  <p>If inherently tabular data must be presented with Lynx, one
  can use PRE formatted content, or, if the <em>table</em> includes
  markup not allowed 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>

  <div id="TRST">
    <p>Starting with version 2.8.3, Lynx renders 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:</p>

    <ul>
      <li>All data constituting a table row generally has to fit
      within the display width without inserting line breaks.</li>

      <li>Cell contents have to be simple. In general, only inline
      markup is acceptable, no <code>&lt;P&gt;</code>,
      <code>&lt;BR&gt;</code> etc. (although
      <code>&lt;BR&gt;</code> may be ignored at the beginning of
      the first cell or at the end of the last cell of a row).</li>

      <li>When tables are nested, only the innermost level is a
      candidate for tabular representation.</li>

      <li>Most attributes are ignored, including borders,
      <code>WIDTH</code>, vertical alignment.</li>
    </ul>

    <p>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 limitations 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
    <kbd>README.TRST</kbd> of the source distribution.</p>
  </div>

  <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 <kbd>DOWNLOADER</kbd>, <kbd>PRINTER</kbd>,
  <kbd>EXTERNAL</kbd>, <kbd>TRUSTED_LYNXCGI</kbd> in <a href=
  "#lynx.cfg">lynx.cfg</a> and <a href=
  "lynx_url_support.html#cgi_url"><code>lynxcgi:</code></a> in
  <em>Supported URLs</em> for information on various ways for
  setting this up).</p>

  <p>[<a href="#ToC-Tables">ToC</a>]</p>

  <h2 id="id-Tabs"><a name="Tabs" id="Tabs">Lynx and HTML
  Tabs</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> TAB
  element only when LEFT alignment is in effect. If the alignment
  is CENTER or RIGHT (JUSTIFY is not yet implemented in Lynx, and
  is treated as a synonym for LEFT), or if the TAB element
  indicates a position to the left of the current position on the
  screen, it is treated as a collapsible space. For purposes of
  implementing TAB, Lynx treats <em>en</em> units as half a
  character cell width when specified by the INDENT attribute, and
  rounds up for odd values (e.g., a value of either 5 or 6 will be
  treated as three spaces, each the width of a character cell). See
  the example <em>table</em> using TAB elements in the test
  subdirectory of the Lynx distribution as a model for using this
  functionality.</p>

  <p>Note that this <em>Users Guide</em> and the <a href=
  "lynx_url_support.html">Supported URLs</a> page include TAB
  markup in a manner which <em>degrades gracefully</em> for WWW
  browsers which do not support it. Toggle to display of <a href=
  "#LocalSource">source</a> and <a href="#Search">search</a> for
  <em>&lt;tab</em> to examine the use of TAB markup in these
  documents.</p>

  <p>[<a href="#ToC-Tabs">ToC</a>]</p>

  <h2 id="id-Frames"><a name="Frames" id="Frames">Lynx and HTML
  Frames</a></h2>

  <p>Some implementations of HTML include markup, primarily
  designed for graphic clients, that is intended to create an array
  of simultaneously displayed, independently scrolling windows.
  Such windows have been termed <em>frames</em>.</p>

  <p>Lynx recognizes the Netscape and Microsoft Explorer FRAME,
  FRAMESET, and NOFRAMES elements, but is not capable of windowing
  to create the intended positioning of <em>frames</em>. Instead,
  Lynx creates labeled links to the <em>frame</em> sources,
  typically positioned in the upper left corner of the display, and
  renders the NOFRAMES section. If the document provider has
  disregard for text clients and sight-challenged Webizens, and
  thus does not include substantive content in the NOFRAMES section
  or a link in it to a document suitable for text clients, you can
  usually guess from the labeling of the <em>frame</em> links which
  one has the substantive material (if there is any), or you can
  try each of those links to see if anything worthwhile is
  returned.</p>

  <p>[<a href="#ToC-Frames">ToC</a>]</p>

  <p>Some sites -- in ignorance of Lynx capabilities -- may tell
  you (for example) "to view this page you need Netscape
  Navigator". You can simply ignore such warnings and access the
  frames via the Lynx-generated links as above.</p>

  <h2 id="id-Banners"><a name="Banners" id="Banners">Lynx and HTML
  Banners</a></h2>

  <p>Some implementations of HTML markup include provisions for
  creating a non-scrolling window to be positioned at the top of
  each page, containing links with brief, descriptive link names,
  analogous to a Windows toolbar. Such windows have been termed
  <em>banners</em>.</p>

  <p>Lynx recognizes and processes all of the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> REL
  attribute tokens in LINK elements for creating a <em>banner</em>,
  and a number of others which have subsequently been proposed.
  These <em>banner</em> tokens are <em>Home</em>, <em>ToC</em>,
  <em>Contents</em>, <em>Index</em>, <em>Glossary</em>,
  <em>Copyright</em>, <em>Up</em>, <em>Next</em>,
  <em>Previous</em>, <em>Prev</em>, <em>Help</em>, <em>Search</em>,
  <em>Top</em>, <em>Origin</em>, <em>Navigator</em>,
  <em>Child</em>, <em>Disclaimer</em>, <em>Sibling</em>,
  <em>Parent</em>, <em>Author</em>, <em>Editor</em>,
  <em>Publisher</em>, <em>Trademark</em>, <em>Meta</em>,
  <em>URC</em>, <em>Hotlist</em>, <em>Begin</em>, <em>First</em>,
  <em>End</em>, <em>Last</em>, <em>Pointer</em>,
  <em>Translation</em>, <em>Definition</em>, <em>Chapter</em>,
  <em>Section</em>, <em>Subsection</em>, <em>Alternate</em>,
  <em>Documentation</em>, <em>Biblioentry</em>,
  <em>Bibliography</em>, <em>Start</em>, <em>Appendix</em>,
  <em>Bookmark</em> and <em>Banner</em>. Any LINK elements with
  those tokens as the REL attribute value, and an HREF attribute
  value in the LINK, will invoke creation of a <em>banner</em> at
  the top of the first page, with the element's HREF as the link,
  and the token as the default link name. If a TITLE attribute is
  included in the LINK, its value will be used as the link name
  instead of the default. <em>Bookmark</em> and <em>Banner</em> are
  intended to be accompanied by a TITLE attribute, which in effect
  makes the namespace for REL <em>banner</em> tokens infinite.</p>

  <p>If the special token <em>Help</em> is used as the REL value
  and no HREF is included in the LINK, Lynx will use it own
  <em>HELPFILE</em> URL for that link. For the special token
  <em>Home</em> without an HREF, Lynx will use the default
  <em>STARTFILE</em> (i.e., derived from the configuration files or
  the WWW_HOME environment variable, <em>not</em> the command line
  <em>startfile</em> if one was used). However, if a
  <em>-homepage=URL</em> was specified on the command line, its URL
  will be used as the HREF. For the special token <em>Index</em>
  without an HREF, Lynx will use the <em>DEFAULT_INDEX_FILE</em>
  derived from the configuration files, or if an
  <em>-index=URL</em> was specified on the command line, its URL
  will be used as the HREF.</p>

  <p>Lynx does not waste screen real estate maintaining the
  <em>banner</em> at the top of every page, but the Lynx TOOLBAR
  keystroke command (&ldquo;<samp>#</samp>&rdquo;) will, any time
  it is pressed, position you on the <em>banner</em> so that any of
  its links can be activated, and pressing the <em>left-arrow</em>
  when in the <em>banner</em> will return you to where you were in
  the current document. The toolbar is indicated by a
  &ldquo;<samp>#</samp>&rdquo; preceding its first link when
  present on the screen, that is, when the first page of the
  document is being displayed. The availability of a toolbar is
  indicated by a &ldquo;<samp>#</samp>&rdquo; at the top, left-hand
  corner of the screen when the second or subsequent pages of the
  document are being displayed.</p>

  <p>Lynx also recognizes the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a>
  BANNER container element, and will create a <em>banner</em> based
  on its content if one has not already been created based on LINK
  elements. Lynx treats the Microsoft MARQUEE element as a synonym
  for BANNER (i.e., presenting its markup as a static
  <em>banner</em>, without any horizontal scrolling of its
  content). Lynx does not prefix the BANNER or MARQUEE content with
  a &ldquo;<samp>#</samp>&rdquo; because the content need not be
  only a series of links with brief, descriptive links names, but
  does add a &ldquo;<samp>#</samp>&rdquo; at the top, left-hand
  corner of the screen when the content is not being displayed, to
  indicate its accessibility via the TOOLBAR keystroke command.</p>

  <p>[<a href="#ToC-Banners">ToC</a>]</p>

  <h2 id="id-Footnotes"><a name="Footnotes" id="Footnotes">Lynx and
  HTML Footnotes</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FN
  element similarly to a named <em>A</em>nchor within the current
  document, and assumes that the footnotes will be positioned at
  the bottom of the document. However, in contrast to named
  <em>A</em>nchors, the FN container element is treated as a block
  (i.e., as if a new paragraph were indicated whether or not that
  is indicated in its content) with greater than normal left and
  right margins, and the block will begin with a <em>FOOTNOTE:</em>
  label. For example, if the document contains:</p>
  <pre>
        See the <em>&lt;A HREF="#fn1"&gt;</em><a href=
"#an1">footnote</a><em>&lt;/A&gt;</em>.
</pre>

  <p>activating that link will take you to the labeled rendering
  of:</p>
  <pre>
        <em>&lt;FN ID="fn1"&gt;</em>&lt;p&gt;<a name="an1" id=
"an1">Lynx does not use popups for FN blocks.</a>&lt;/p&gt;<em>&lt;/FN&gt;</em>
</pre>

  <p>i.e., position it at the top of the page. Then, upon reading
  the footnote, you can return to your previous position in the
  document by pressing the <em>left-arrow</em> key. The content of
  an FN element can be any HTML markup that is valid in the BODY of
  the document.</p>

  <p>[<a href="#ToC-Footnotes">ToC</a>]</p>

  <h2 id="id-Notes"><a name="Notes" id="Notes">Lynx and HTML
  Notes</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> NOTE
  element (<em>Admonishment</em>) as a labeled block, i.e., as if a
  new paragraph were indicated whether or not paragraphing markup
  is included in its content, with greater than normal left and
  right margins, and with the type of note indicated by an
  emphasized label based on the value of its CLASS or ROLE
  attribute. If no CLASS or ROLE attribute is included, the default
  label <em>NOTE:</em> will be used. Lynx recognizes the values
  <em>caution</em> and <em>warning</em>, for which, respectively,
  the labels <em>CAUTION:</em> or <em>WARNING:</em> will be used.
  The NOTE element can have an ID attribute, which will be treated
  as a named <em>A</em>nchor, as for <a href="#Footnotes">HTML
  Footnotes</a>, but the NOTE block need not be placed at the
  bottom of the document. The content of a NOTE block can be any
  HTML markup that is valid in the BODY of the document. This is an
  example:</p>
  <pre>
      <em>&lt;NOTE CLASS="warning" ID="too-bad"&gt;
        &lt;p&gt;The W3C vendors did not retain NOTE in the HTML 3.2 draft.&lt;/p&gt;
      &lt;/NOTE&gt;</em>
</pre>

  <p>It will <em>degrade gracefully</em> for WWW browsers which do
  not support NOTE, except for recognition of the ID attribute as a
  named <em>A</em>nchor.</p>

  <p>[<a href="#ToC-Notes">ToC</a>]</p>

  <h2 id="id-Lists"><a name="Lists" id="Lists">Lynx and HTML
  Lists</a></h2>

  <p>Lynx implements the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> list
  elements UL (<em>Unordered List</em>), OL (<em>Ordered
  List</em>), and DL (<em>Definition List</em>), and their
  associated attributes, and elements (LH, LI, DT, and DD) for the
  most part as described in that specification. The lists can be
  nested, yielding progressively greater indentation, up to six
  levels. The <a href=
  "http://www.w3.org/MarkUp/html-spec/html-spec_toc.html">HTML
  2.0</a> MENU and DIR elements <em>both</em> are treated as
  synonyms for UL with the PLAIN attribute (no <em>bullets</em>,
  see below). Note, thus, that neither DIR nor MENU yields a series
  of columns with 24-character spacing. A single nesting index is
  maintained, so that different types of List elements can be used
  for different levels within the nest. Also, the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FIG,
  CAPTION and CREDIT elements are treated as valid within list
  blocks. They will be rendered with indentation appropriate for
  the current nesting depth, and the CAPTION or CREDIT elements
  will have a <em>CAPTION:</em> or <em>CREDIT:</em> label beginning
  the first line of their content. The content of any APPLET or
  OBJECT elements in the lists also will be indented appropriately
  for the current nesting depth, but those will not invoke line
  breaks unless indicated by their content, and it should not
  include markup which is inappropriate within the list.</p>

  <p>Lynx also supports the TYPE attribute for OL elements, which
  can have values of <em>1</em> for Arabic numbers, <em>I</em> or
  <em>i</em> for uppercase or lowercase Roman numerals, or
  <em>A</em> or <em>a</em> for uppercase or lowercase letters, that
  increment for successive LI elements in the list block. The
  CONTINUE attribute can be used to continue the ordering from the
  preceding list block when the nesting depth is changed.</p>

  <p>Lynx treats the OL attributes START and SEQNUM as synonyms for
  specifying the ordering value for the first LI element in the
  block. The values should be specified as Arabic numbers, but will
  be displayed as Arabic, Roman, or alphabetical depending on the
  TYPE for the block. The values can range from <em>-29997</em> to
  the system's maximum positive integer for Arabic numbers. For
  Roman numerals, they can range from <em>1</em> (<em>I</em> or
  <em>i</em>) to <em>3000</em> (<em>MMM</em> or <em>mmm.</em>). For
  alphabetical orders, the values can range from <em>1</em>
  (<em>A</em> or <em>a</em>) to <em>18278</em> (<em>ZZZ</em> or
  <em>zzz</em>). If the CONTINUE attribute is used, you do not need
  to specify a START or SEQNUM attribute to extend the ordering
  from a previous block, and you can include a TYPE attribute to
  change among Arabic, Roman, or alphabetical ordering styles, or
  their casing, without disrupting the sequence. If you do not
  include a START, SEQNUM or CONTINUE attribute, the first LI
  element of each OL block will default to <em>1</em>, and if you
  do not include a TYPE attribute, Lynx defaults to Arabic
  numbers.</p>

  <p>For UL blocks without the PLAIN attribute, Lynx uses
  <em>*</em>, <em>+</em>, <em>o</em>, <em>#</em>, <em>@</em> and
  <em>-</em> as <em>bullets</em> to indicate, progressively, the
  depth within the six nesting levels.</p>

  <p>Lynx treats UL, OL, DIR, and MENU blocks as having the COMPACT
  attribute by default, i.e., single spaces between LH and LI
  elements within those blocks. For DL blocks, double spacing will
  be used to separate the DT and DD elements unless the COMPACT
  attribute has been specified.</p>

  <p>[<a href="#ToC-Lists">ToC</a>]</p>

  <h2 id="id-Quotes"><a name="Quotes" id="Quotes">Lynx and HTML
  Quotes</a></h2>

  <p>The <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> and
  later specifications provide for two classes of quotation in HTML
  documents. Block quotes, designated by the BLOCKQUOTE element (or
  its abbreviated synonym BQ in HTML 3.0), have implied paragraph
  breaks preceding and following the start and end tags for the
  block. Character level quotes, designated by the Q element, in
  contrast are simply directives in the markup to insert an
  appropriate quotation mark.</p>

  <p>Lynx renders block quotes with a greater than normal left and
  right indentation. Lynx does not support italics, and normally
  substitutes underlining, but does not underline block quotes so
  as not to obscure any explicit emphasis elements within the
  quotation. The BLOCKQUOTE or BQ block can include a CREDIT
  container element, whose content will be rendered as an implied
  new paragraph with a <em>CREDIT:</em> label at the beginning of
  its first line.</p>

  <p>Lynx respects nested Q start and end tags, and will use ASCII
  double-quotes (<samp>"</samp>) versus grave accent
  (<samp>`</samp>) and apostrophe (<samp>'</samp>), respectively,
  for even versus odd depths in the nest.</p>

  <p>Any ID attributes in BLOCKQUOTE, BQ or Q elements can be the
  target of a hyperlink in the form URL#id. It is treated just like
  the NAME in <em>A</em>nchors.</p>

  <p>[<a href="#ToC-Quotes">ToC</a>]</p>

  <h2 id="id-Eightbit"><a name="Eightbit" id="Eightbit">Lynx and
  HTML Internationalization: 8bit, UNICODE, etc.</a></h2>

  <p>Lynx has superior support for HTML 4.0/I18N
  internationalization issues. However, to see the characters other
  than 7bit properly you <em>should</em> set your <a href=
  "keystrokes/option_help.html#DC">display character set</a> from
  Option Menu and save its value, this is a Frequently Asked
  Question. Fine-turning is also available from <a href=
  "#lynx.cfg">lynx.cfg</a></p>

  <p>[<a href="#ToC-Eightbit">ToC</a>]</p>

  <h2 id="id-USEMAP"><a name="USEMAP" id="USEMAP">Lynx and
  Client-Side-Image-Maps</a></h2>

  <p>HTML includes markup, designed primarily for graphic clients,
  that treats inlined images as maps, such that areas of the image
  within which a mouse cursor was positioned when the mouse was
  <em>clicked</em> can correspond to URLs which should be
  retrieved. The original implementations were based on the client
  sending an http server the x,y coordinates associated with the
  <em>click</em>, for handling by a script invoked by the server,
  and have been termed <em>server-side-image-maps</em>. Lynx has no
  rational way of coping with such a procedure, and thus simply
  sends a 0,0 coordinate pair, which some server scripts treat as
  an instruction to return a document suitable for a text
  client.</p>

  <p>Newer HTML markup provides bases for the client to determine
  the URLs associated with areas in the image map, and/or for a
  text client to process alternative markup and allow the user to
  make choices based on textual information. These have been termed
  <em>client-side-image-maps</em>.</p>

  <p>Lynx recognizes and processes the MAP container element and
  its AREA elements, and will create a menu of links for the HREF
  of each AREA when the link created for the IMG element with a
  USEMAP attribute is activated. The menu uses the ALT attributes
  of the AREA elements as the link names, or, if the document's
  author has disregard for text clients and sight-challenged
  Webizens, and thus did not include ALT attributes, Lynx uses the
  resolved URLs pointed to by the HREF attributes as the link
  names. Lynx uses the TITLE attribute of the IMG element, or the
  TITLE attribute of the MAP, if either was present in the markup,
  as the title and main header of the menu. Otherwise, it uses the
  ALT attribute of the IMG element. If neither TITLE nor ALT
  attributes were present in the markup, Lynx creates and uses a
  <em>[USEMAP]</em> pseudo-ALT. The MAPs need not be in the same
  document as the IMG elements. If not in the same document, Lynx
  will fetch the document which contains the referenced MAP, and
  locate it based on its NAME or ID attribute. All MAPs encountered
  in documents during a Lynx session are cached, so that they need
  not be retrieved repeatedly when referenced in different
  documents.</p>

  <p>If the IMG element also indicates a
  <em>server-side-image-map</em> via an ISMAP attribute, Lynx
  normally will create a link for that as well, using an
  <em>[ISMAP]</em> pseudo-ALT (followed by a hyphen to indicate its
  association with the <em>client-side-image-map</em>) rather than
  ignoring it, and will submit a 0,0 coordinate pair if that link
  is activated. Although, the <em>client-side-image-map</em> may be
  more useful for a client such as Lynx, because all of the URLs
  associated with the image map can be accessed, and their nature
  indicated via ALT attributes, Lynx-friendly sites can map 0,0
  such that the server returns a for-text-client document
  homologous to the content of FIG elements (see below). Inclusion
  of such a link for submissions to the server can be disabled by
  default via the configuration file (<a href=
  "#lynx.cfg">lynx.cfg</a>), and the default can be toggled via the
  <em>-ismap</em> command line switch.</p>

  <p>Lynx also recognizes the <a href=
  "http://www.w3.org/MarkUp/html3/Contents.html">HTML 3.0</a> FIG
  and OVERLAY elements, and will handle them as intended for text
  clients. These are the ideal way to handle
  <em>client-side-image-maps</em>, because the FIG content provides
  complete alternative markup, rather than relying on the client to
  construct a relatively meager list of links with link names based
  on ALT strings.</p>

  <p>The presently experimental OBJECT element encompasses much of
  the functionality of the FIG element for
  <em>client-side-image-maps</em>. Lynx will render and display the
  content of OBJECT elements which have the SHAPES attribute
  equivalently to its handling of FIG. Lynx also handles OBJECT
  elements with the USEMAP and/or ISMAP attributes equivalently to
  its handling of IMG elements with <em>client-side-image-maps</em>
  and/or <em>server-side-image-maps</em>.</p>

  <p>[<a href="#ToC-USEMAP">ToC</a>]</p>

  <h2 id="id-Refresh"><a name="Refresh" id="Refresh">Lynx and
  Client-Side-Pull</a></h2>

  <p>HTML includes provision for passing instructions to clients
  via directives in META elements, and one such instruction, via
  the token <em>Refresh</em>, should invoke reloading of the
  document, fetched from a server with the same URL or a new URL,
  at a specified number of seconds following receipt of the current
  document. This procedure has been termed
  <em>client-side-pull</em>. An example of such an element is:</p>
  <pre>
      <em>&lt;META HTTP-EQUIV="Refresh" CONTENT="3; URL=http://host/path"&gt;</em>
</pre>

  <p>which instructs a client to fetch the indicated URL in 3
  seconds after receiving the current document. If the
  <em>URL=</em> field is omitted, the URL defaults to that of the
  current document. A <em>no-cache</em> directive is implied when
  the <em>Refresh</em> if for the same URL.</p>

  <p>Lynx recognizes and processes <em>Refresh</em> directives in
  META elements, but puts up a labeled link, typically in the upper
  left corner of the display, indicating the number of seconds
  intended before a refresh, and the URL for the refresh, instead
  of making the request automatically after the indicated number of
  seconds. This allows people using a braille interface any amount
  of time to examine the current document before activating the
  link for the next URL. In general, if the number of seconds
  indicated is short, the timing is not critical and you can
  activate the link whenever you like. If it is long (e.g., 60
  seconds), a server process may be generating new documents or
  images at that interval, and you would be wasting bandwidth by
  activating the link at a shorter interval.</p>

  <p>[<a href="#ToC-Refresh">ToC</a>]</p>

  <h2 id="id-Cookies"><a name="Cookies" id="Cookies">Lynx State
  Management</a> (Me want <em>cookie</em>!)</h2>

  <p>HTTP provides a means to carry state information across
  successive connections between a browser and an http server.
  Normally, http servers respond to each browser request without
  relating that request to previous or subsequent requests. Though
  the inclusion of INPUT fields with TYPE="hidden" can be used as a
  sort of state management by <a href="#Forms">HTML Forms</a>, a
  more general approach involves exchanges of MIME headers between
  the server and browser. When replying to a request, the server
  can send a <em>Set-Cookie</em> MIME header which contains
  information (<em>cookies</em>) relevant to the browser's request,
  and in subsequent requests the browser can send a <em>Cookie</em>
  MIME header with information derived from previously received
  cookies.</p>

  <p>State Management via cookie exchanges originally was
  implemented by Netscape, and such cookies are now designated as
  <em>Version 0</em>. A more elaborate format for cookies,
  designated as <em>Version 1</em>, was standardized by the IETF
  (Internet Engineering Task Force) as <a href=
  "https://www.ietf.org/rfc/rfc2109.txt">RFC&nbsp;2109</a>. Lynx
  supports both <em>Version 0</em> and <em>Version 1</em> cookie
  exchanges. This support can be disabled by default via the
  SET_COOKIES symbol in the compilation (<em>userdefs.h</em>)
  and/or run time (<a href="#lynx.cfg">lynx.cfg</a>) configuration
  files, and that default setting can be toggled via the
  <em>-cookies</em> command line switch. The SET_COOKIES symbol can
  be further modified by the ACCEPT_ALL_COOKIES mode. If
  ACCEPT_ALL_COOKIES is set TRUE, and SET_COOKIES is TRUE, Lynx
  will accept all cookies. Additionally, the cookies that are
  automatically accepted or rejected by Lynx can be further
  modified with the COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS
  options in your .lynxrc file, each of which is a comma-separated
  list of domains to perform the desired action. The domain listed
  in these options must be identical to the domain the cookie comes
  from, there is no wildcard matching. If a domain is specific in
  both COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS, rejection
  will take precedence.</p>

  <p>When cookie support is enabled, <em>Set-Cookie</em> MIME
  headers received from an http server invoke confirmation prompts
  with possible replies of &ldquo;<samp>Y</samp>&rdquo;es or
  &ldquo;<samp>N</samp>&rdquo;o for acceptance of the cookie,
  &ldquo;<samp>A</samp>&rdquo;lways to accept the cookie and to
  allow all subsequent cookies from that <em>domain</em> (server's
  Fully Qualified Domain Name, or site-identifying portion of the
  FQDN) without further confirmation prompts, or
  ne&ldquo;<strong>V</strong>&rdquo;er to never allow cookies from
  that <em>domain</em> to be accepted (silently ignore its
  <em>Set-Cookie</em> MIME headers). All unexpired cookies are held
  in a hypothetical <em>Cookie Jar</em> which can be examined via
  the COOKIE_JAR keystroke command, normally mapped to
  <em>Ctrl-K</em>, for invoking the <a href=
  "keystrokes/cookie_help.html">Cookie Jar Page</a>. If Lynx has
  been compiled with the --enable-persistent-cookies flag, then
  unexpired cookies will be stored between sessions in the filename
  set with the COOKIE_FILE option in your .lynxrc.</p>

  <p>A common use of cookies by http servers is simply to track the
  documents visited by individual users. Though this can be useful
  to the site's WebMaster for evaluating and improving the
  organization of links in the various documents of the site, if
  the user has configured Lynx to include a <em>From</em> MIME
  header with the user's email address in http requests, or has
  passed personal information to the server via a form submission,
  the tracking might be used to draw inferences, possibly
  incorrect, about that user, and may be considered by some as an
  invasion of privacy.</p>

  <p>An example of worthwhile State Management via cookies is the
  setting of personal preferences, typically via a form submission
  to the site, which will then apply to all documents visited at
  that site.</p>

  <p>If you accept cookies when accessing a site, but are given no
  indication about how they will be used in subsequent requests to
  that site, nor can infer how they will be used, you can
  <em>Gobble</em> (delete) the cookies and/or change the
  &ldquo;allow&rdquo; setting for its <em>domain</em> via the
  <a href="keystrokes/cookie_help.html">Cookie Jar Page</a>.</p>

  <p>[<a href="#ToC-Cookies">ToC</a>]</p>

  <h2 id="id-Cache"><a name="Cache" id="Cache">Cached
  Documents</a></h2>

  <p>A list of documents which are in lynx's internal cache is
  accessible through hypothetical <em>Cache Jar</em> which can be
  examined via the CACHE_JAR keystroke command, normally mapped to
  <em>Ctrl-X</em>.</p>

  <p>Entries in the <em>Cache Jar</em> are ordered from oldest (at
  the top) to newest. The user can easily access any document which
  is in the cache, especially those which may be soon removed due
  to configurable limits on the maximum number of cached documents,
  as well as the maxmimum amount of memory used by the cache.</p>

  <p>The structure of <em>Cache Jar</em> is simple:</p>

  <ul>
    <li>Each entry starts with its ordinal number (within the
    session), recently added documents in cache have a smaller
    number than documents which are added before, and are
    positioned at the end of <em>Cache Jar</em></li>

    <li>Following its ordinal number is the document title, which
    is also a link. On activating this link, the user is prompted
    if they want to delete the document from <em>Cache Jar</em>.
    The document's address (also a link) follows the title. It is
    distinguished by a <code>URL:</code> label preceding the link.
    Activating this link, lynx displays the corresponding cached
    document.</li>

    <li>Below each cached document URL lynx shows the document
    properties which include:

      <ul>
        <li>Lines,</li>

        <li>Size,</li>

        <li>File-Cache,</li>

        <li>Content-Type,</li>

        <li>Content-Language,</li>

        <li>Content-Encoding,</li>

        <li>Content-Location,</li>

        <li>Subject,</li>

        <li>Owner,</li>

        <li>Date,</li>

        <li>Expires,</li>

        <li>Last-Modified,</li>

        <li>ETag,</li>

        <li>Server, and</li>

        <li>Source-Cache-File.</li>
      </ul>
    </li>
  </ul>

  <p>This feature can be enabled by default using the USE_CACHEJAR
  symbol in the compilation (<code>userdefs.h</code>), as well as
  enabled in lynx.cfg</p>

  <p>[<a href="#ToC-Cache">ToC</a>]</p>

  <h2 id="id-Sessions"><a name="Sessions" id=
  "Sessions"><em>Sessions</em></a></h2>

  <p>Lynx's current state (all information about the user's current
  activity with lynx) is called a session. Sessions are useful in
  particular if you are in the middle of exploring something on the
  web and you were forced to stop abruptly, losing any trace of
  your current work.</p>

  <p>A session can be automatically restored as lynx starts after a
  clean exit. The session data is saved if lynx is invoked with the
  <em>-session=FILENAME</em> switch. The <em>FILENAME</em> is the
  name of the file where the session will be stored.</p>

  <p>There are also switches for only restoring:
  <em>-sessionin=FILENAME</em> and for only saving:
  <em>-sessionout=FILENAME</em> sesions:</p>

  <p>If you do not want to specify these options at each lynx
  startup, there is an option in <em>lynx.cfg</em> to enable
  automatic saving/restoring of session. To keep lynx startup/exit
  reasonable fast there is also an option in <em>lynx.cfg</em>
  specifying how much information about the current lynx session
  will be stored in file.</p>

  <p>The syntax of the session file is simple. You can use a text
  editor to modify, add new entries, or remove URLs you no longer
  want.</p>

  <p>[<a href="#ToC-Sessions">ToC</a>]</p>

  <h2 id="id-Invoking"><a name="Invoking" id="Invoking">The Lynx
  command line</a></h2>

  <p>A summary of the Lynx command line options (switches) is
  returned to stdout if Lynx is invoked with the <em>-help</em>
  switch. A description of the options also should be available via
  the system man (Unix) pages or help (VMS) libraries. On Win32,
  typing lynx -help in a DOS window should display similarly. The
  basic syntax of the Lynx command line can be represented as one
  of the following:</p>

  <dl>
    <dt><code>Command</code></dt>

    <dd><code>lynx [options]</code></dd>

    <dd><code>lynx [options] startfile</code></dd>
  </dl>

  <p>where</p>

  <dl>
    <dt><code>startfile</code></dt>

    <dd>
      <p>is the file or URL that Lynx will load at start-up.</p>

      <ul>
        <li>If startfile is not specified, Lynx will use a default
        starting file and base directory determined during
        installation.</li>

        <li>If a specified file is local (i.e., not a URL) Lynx
        displays that file and uses the directory in which that
        file resides as the base directory.</li>

        <li>If a URL is specified, the file will be retrieved, and
        only the server base directory will be relevant to further
        accesses.</li>

        <li>If more than one local file or remote URL is listed on
        the command line, Lynx will open only the last
        interactively. All of the names (local files and remote
        URLs) are added to the G)oto history.</li>
      </ul>
    </dd>

    <dt><code>options</code></dt>

    <dd>
      <p>Lynx uses only long option names. Option names can begin
      with double dash as well, underscores and dashes can be
      intermixed in option names (in the reference below options
      are with one dash before them and with underscores).</p>

      <p>Lynx provides many command-line options. Some options
      require a value (string, number or keyword). These are noted
      in the reference below. The other options set boolean values
      in the program. There are three types of boolean options:
      set, unset and toggle. If no option value is given, these
      have the obvious meaning: set (to true), unset (to false), or
      toggle (between true/false). For any of these, an explicit
      value can be given in different forms to allow for operating
      system constraints, e.g.,</p>

      <blockquote>
        <pre>
-center:off
-center=off
-center-
</pre>
      </blockquote>

      <p>Lynx recognizes "1", "+", "on" and "true" for true values,
      and "0", "-", "off" and "false" for false values. Other
      option-values are ignored.</p>

      <p>The default boolean, number and string option values that
      are compiled into lynx are displayed in the help-message
      provided by lynx -help. Some of those may differ according to
      how lynx was built; see the help message itself for these
      values. The -help option is processed before any option,
      including those that control reading from the lynx.cfg file.
      Therefore runtime configuration values are not reflected in
      the help-message.</p>

      <p>Capitalized items in the option summary indicate that a
      substitution must be made. These are the options:</p>

      <dl>
        <dt><code><strong>-</strong></code></dt>

        <dd>
          <p>If the argument is only
          &ldquo;<code><strong>-</strong></code>&rdquo; (dash),
          then Lynx expects to receive the arguments from stdin.
          This is to allow for the potentially very long command
          line that can be associated with the <em>-get_data</em>
          or <em>-post_data</em> arguments (see below). It can also
          be used to avoid having sensitive information in the
          invoking command line (which would be visible to other
          processes on most systems), especially when the
          <em>-auth</em> or <em>-pauth</em> options are used. On
          VMS, the dash must be encased in double-quotes ("-") and
          the keyboard input terminated with <em>Control-Z</em> or
          the command file input terminated by a line that begins
          with &ldquo;<samp>$</samp>&rdquo;. On Unix, the keyboard
          input terminator is <em>Control-D</em>. On Win32,
          [???].</p>
        </dd>

        <dt><code><strong>-accept_all_cookies</strong></code></dt>

        <dd>
          <p>accept all cookies.</p>
        </dd>

        <dt><code><strong>-anonymous</strong></code></dt>

        <dd>
          <p>apply restrictions appropriate for an anonymous
          account, see <em>-restrictions</em> below for some
          details.</p>
        </dd>

        <dt>
        <code><strong>-assume_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>
          <p>charset for documents that do not specify it.</p>
        </dd>

        <dt>
        <code><strong>-assume_local_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>
          <p>charset assumed for local files, i.e., files which
          lynx creates such as internal pages for the options
          menu.</p>
        </dd>

        <dt>
        <code><strong>-assume_unrec_charset=</strong><em>MIMENAME</em></code></dt>

        <dd>
          <p>use this instead of unrecognized charsets.</p>
        </dd>

        <dt><code><strong>-auth=</strong><em>ID:PW</em></code></dt>

        <dd>
          <p>set authorization <em>identifier</em> and
          <em>password</em> for protected documents at startup. Be
          sure to protect any script files which use this
          switch.</p>
        </dd>

        <dt><code><strong>-base</strong></code></dt>

        <dd>
          <p>prepend a request URL comment and BASE tag to
          text/html outputs for -source dumps.</p>
        </dd>

        <dt><code><strong>-bibp=</strong><em>URL</em></code></dt>

        <dd>
          <p>specify a local bibp server (default
          http://bibhost/).</p>
        </dd>

        <dt><code><strong>-blink</strong></code></dt>

        <dd>
          <p>forces high intensity background colors for color
          mode, if available and supported by the terminal. This
          applies to the slang library (for a few terminal
          emulators), or to OS/2 EMX with ncurses.</p>
        </dd>

        <dt><code><strong>-book</strong></code></dt>

        <dd>
          <p>use the bookmark page as the startfile. The default or
          command line startfile is still set for the Main screen
          command, and will be used if the bookmark page is
          unavailable or blank.</p>
        </dd>

        <dt><code><strong>-buried_news</strong></code></dt>

        <dd>
          <p>toggles scanning of news articles for buried
          references, and converts them to news links. Not
          recommended because email addresses enclosed in angle
          brackets will be converted to false news links, and
          uuencoded messages can be trashed.</p>
        </dd>

        <dt>
        <code><strong>-cache=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>set the <em>NUMBER</em> of documents cached in memory.
          The default is 10.</p>
        </dd>

        <dt><code><strong>-center</strong></code></dt>

        <dd>
          <p>Toggle center alignment in HTML TABLE.</p>
        </dd>

        <dt><code><strong>-case</strong></code></dt>

        <dd>
          <p>enable case-sensitive string searching.</p>
        </dd>

        <dt>
        <code><strong>-cfg=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>specifies a Lynx configuration file other than the
          default <a href="#lynx.cfg">lynx.cfg</a>.</p>
        </dd>

        <dt><code><strong>-child</strong></code></dt>

        <dd>
          <p>exit on left-arrow in startfile, and disable save to
          disk.</p>
        </dd>

        <dt><code><strong>-child_relaxed</strong></code></dt>

        <dd>
          <p>exit on left-arrow in startfile, but allow save to
          disk and associated print/mail options.</p>
        </dd>

        <dt>
        <code><strong>-cmd_log=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>write keystroke commands and related information to
          the specified file.</p>
        </dd>

        <dt>
        <code><strong>-cmd_script=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>read keystroke commands from the specified file. You
          can use the data written using the <em>-cmd_log</em>
          option. Lynx will ignore other information which the
          command-logging may have written to the log- file. Each
          line of the command script contains either a comment
          beginning with "#", or a keyword:</p>

          <dl>
            <dt><code><strong>exit</strong></code></dt>

            <dd>
              <p>causes the script to stop, and forces lynx to exit
              immediately.</p>
            </dd>

            <dt><code><strong>key</strong></code></dt>

            <dd>
              <p>the character value, in printable form. Cursor and
              other special keys are given as names, e.g.,
              <code><strong>Down Arrow</strong></code>. Printable
              7-bit ASCII codes are given as-is, and hexadecimal
              values represent other 8-bit codes.</p>
            </dd>

            <dt><code><strong>set</strong></code></dt>

            <dd>
              <p>followed by a "name=value" allows one to override
              values set in the lynx.cfg file.</p>
            </dd>
          </dl>
        </dd>

        <dt><code><strong>-color</strong></code></dt>

        <dd>
          <p>forces color mode on. This feature is only available
          if Lynx is built using the slang library. The slang
          library will send ANSI color sequences irregardless of
          the type of terminal which is being used.</p>

          <p>If color support is instead provided by a
          color-capable curses library such as ncurses, Lynx relies
          completely on the terminal description to determine
          whether color mode is possible, and this flag is not
          needed and thus unavailable.</p>

          <p>A saved <samp>show_color=always</samp> setting found
          in a .lynxrc file at startup has the same effect, but the
          setting read from .lynxrc on startup is overridden by
          this flag.</p>
        </dd>

        <dt>
        <code><strong>-connect_timeout</strong>=<em>N</em></code></dt>

        <dd>
          <p>Sets the connection timeout, where <em>N</em> is given
          in seconds.</p>
        </dd>

        <dt>
        <code><strong>-cookie_file=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>specifies a file to use to read cookies. If none is
          specified, the default value is ~/.lynx_cookies for most
          systems, but ~/cookies for MS-DOS.</p>
        </dd>

        <dt>
        <code><strong>-cookie_save_file=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>specifies a file to use to store cookies. If none is
          specified, the value given by
          <code><strong>-cookie_file</strong></code> is used.</p>
        </dd>

        <dt><code><strong>-cookies</strong></code></dt>

        <dd>
          <p>toggles handling of Set-Cookie headers.</p>
        </dd>

        <dt><code><strong>-core</strong></code></dt>

        <dd>
          <p>toggles forced core dumps on fatal errors. (Unix
          only)</p>
        </dd>

        <dt><code><strong>-crawl</strong></code></dt>

        <dd>
          <p>with <em>-traversal</em>, output each page to a
          file.</p>

          <p>with <em>-dump</em>, format output as with
          <em>-traversal</em>, but to stdout.</p>
        </dd>

        <dt><code><strong>-curses_pads</strong></code></dt>

        <dd>
          <p>toggles the use of curses "pad" feature which supports
          left/right scrolling of the display.</p>
        </dd>

        <dt><code><strong>-debug_partial</strong></code></dt>

        <dd>
          <p>separate incremental display stages with MessageSecs
          delay</p>
        </dd>

        <dt>
        <code><strong>-display=</strong><em>DISPLAY</em></code></dt>

        <dd>
          <p>set the display variable for X rexe-ced programs.</p>
        </dd>

        <dt>
        <code><strong>-display_charset=</strong><em>MIMEname</em></code></dt>

        <dd>
          <p>set the charset for the terminal output.</p>
        </dd>

        <dt><code><strong>-dont_wrap_pre</strong></code></dt>

        <dd>
          <p>inhibit wrapping of text in &lt;pre&gt; when -dump'ing
          and -crawl'ing, mark wrapped lines in interactive
          session.</p>
        </dd>

        <dt><code><strong>-dump</strong></code></dt>

        <dd>
          <p>dumps the formatted output of the default document or
          one specified on the command line to standard out. This
          can be used in the following way:</p>

          <blockquote>
            <p><em>lynx -dump http://www.w3.org/</em></p>
          </blockquote>
        </dd>

        <dt>
        <code><strong>-editor=</strong><em>EDITOR</em></code></dt>

        <dd>
          <p>enable external editing using the specified
          <em>EDITOR</em>. (vi, ed, emacs, etc.)</p>
        </dd>

        <dt><code><strong>-emacskeys</strong></code></dt>

        <dd>
          <p>enable emacs-like key movement.</p>
        </dd>

        <dt><code><strong>-enable_scrollback</strong></code></dt>

        <dd>
          <p>toggles behavior compatible with the scrollback keys
          in some communications software (may be incompatible with
          some curses packages).</p>
        </dd>

        <dt>
        <code><strong>-error_file=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>the status code from the HTTP request is placed in
          this file.</p>
        </dd>

        <dt><code><strong>-exec</strong></code></dt>

        <dd>
          <p>enable local program execution (normally not
          configured).</p>
        </dd>

        <dt><code><strong>-fileversions</strong></code></dt>

        <dd>
          <p>include all versions of files in local VMS directory
          listings.</p>
        </dd>

        <dt><code><strong>-find_leaks</strong></code></dt>

        <dd>
          <p>toggles the memory leak checking off. Normally this is
          not compiled-into your executable, but when it is, it can
          be disabled for a session.</p>
        </dd>

        <dt>
        <code><strong>-force_empty_hrefless_a</strong></code></dt>

        <dd>
          <p>force HREF-less &ldquo;A&rdquo; elements to be empty
          (close them as soon as they are seen).</p>
        </dd>

        <dt><code><strong>-force_html</strong></code></dt>

        <dd>
          <p>forces the first document to be interpreted as
          HTML.</p>
        </dd>

        <dt><code><strong>-force_secure</strong></code></dt>

        <dd>
          <p>toggles forcing of the secure flag for SSL
          cookies.</p>
        </dd>

        <dt><code><strong>-forms_options</strong></code></dt>

        <dd>
          <p>toggles whether the Options Menu is key-based or
          form-based.</p>
        </dd>

        <dt><code><strong>-from</strong></code></dt>

        <dd>
          <p>toggles transmissions of From headers to HTTP or HTTPS
          servers.</p>
        </dd>

        <dt><code><strong>-ftp</strong></code></dt>

        <dd>
          <p>disable ftp access.</p>
        </dd>

        <dt><code><strong>-get_data</strong></code></dt>

        <dd>
          <p>properly formatted data for a get form are read in
          from stdin and passed to the form. Input is terminated by
          a line that starts with &ldquo;---&rdquo;.</p>
        </dd>

        <dt><code><strong>-head</strong></code></dt>

        <dd>
          <p>send a HEAD request for the mime headers.</p>
        </dd>

        <dt><code><strong>-help</strong></code></dt>

        <dd>
          <p>print this Lynx command syntax usage message.</p>
        </dd>

        <dt>
        <code><strong>-hiddenlinks=</strong><em>option</em></code></dt>

        <dd>
          <p>control the display of hidden links. Option values
          are:</p>

          <dl>
            <dt><code><strong>merge</strong></code></dt>

            <dd>
              <p>hidden links show up as bracketed numbers and are
              numbered together with other links in the sequence of
              their occurrence in the document.</p>
            </dd>

            <dt><code><strong>listonly</strong></code></dt>

            <dd>
              <p>hidden links are shown only on <em>L</em>ist
              screens and listings generated by
              <code><strong>-dump</strong></code> or from the
              <em>P</em>rint menu, but appear separately at the end
              of those lists. This is the default behavior.</p>
            </dd>

            <dt><code><strong>ignore</strong></code></dt>

            <dd>
              <p>hidden links do not appear even in listings.</p>
            </dd>
          </dl>
        </dd>

        <dt><code><strong>-historical</strong></code></dt>

        <dd>
          <p>toggles use of &ldquo;&gt;&rdquo; or
          &ldquo;--&gt;&rdquo; as a terminator for comments.</p>
        </dd>

        <dt>
        <code><strong>-homepage=</strong><em>URL</em></code></dt>

        <dd>
          <p>set homepage separate from start page. Will be used if
          a fetch of the start page fails or if it is a script
          which does not return a document, and as the
          <code><em>URL</em></code> for the
          &ldquo;<samp>m</samp>&rdquo;ain menu command.</p>
        </dd>

        <dt><code><strong>-image_links</strong></code></dt>

        <dd>
          <p>toggles inclusion of links for all images.</p>
        </dd>

        <dt><code><strong>-ismap</strong></code></dt>

        <dd>
          <p>toggles inclusion of ISMAP links when client-side MAPs
          are present.</p>
        </dd>

        <dt><code><strong>-index=</strong><em>URL</em></code></dt>

        <dd>
          <p>set the default index file to the specified
          <em>URL</em></p>
        </dd>

        <dt><code><strong>-justify</strong></code></dt>

        <dd>
          <p>do justification of text.</p>
        </dd>

        <dt>
        <code><strong>-link=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>starting count for lnk#.dat files produced by
          <em>-crawl</em>.</p>
        </dd>

        <dt><code><strong>-localhost</strong></code></dt>

        <dd>
          <p>disable URLs that point to remote hosts.</p>
        </dd>

        <dt><code><strong>-locexec</strong></code></dt>

        <dd>
          <p>enable local program execution from local files only
          (if lynx was compiled with local execution enabled).</p>
        </dd>

        <dt>
        <code><strong>-lss=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>specify filename containing color-style information.
          The default is lynx.lss.</p>
        </dd>

        <dt><code><strong>-mime_header</strong></code></dt>

        <dd>
          <p>include mime headers and force source dump.</p>
        </dd>

        <dt><code><strong>-minimal</strong></code></dt>

        <dd>
          <p>toggles minimal versus valid comment parsing. When
          minimal, any &ldquo;--&gt;&rdquo; serves as a terminator
          for a comment element. When valid, pairs of
          &ldquo;--&rdquo; are treated as delimiters for series of
          comments within the overall comment element. If
          historical is set, that overrides minimal or valid
          comment parsing.</p>
        </dd>

        <dt><code><strong>-nested_tables</strong></code></dt>

        <dd>
          <p>toggles nested-tables logic (for debugging).</p>
        </dd>

        <dt>
        <code><strong>-newschunksize=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>number of articles in chunked news listings.</p>
        </dd>

        <dt>
        <code><strong>-newsmaxchunk=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>maximum news articles in listings before chunking.</p>
        </dd>

        <dt><code><strong>-nobold</strong></code></dt>

        <dd>
          <p>disable bold video-attribute.</p>
        </dd>

        <dt><code><strong>-nobrowse</strong></code></dt>

        <dd>
          <p>disable directory browsing.</p>
        </dd>

        <dt><code><strong>-nocc</strong></code></dt>

        <dd>
          <p>disable Cc: prompts for self copies of mailings. Note
          that this does not disable any CCs which are incorporated
          within a mailto URL or form ACTION.</p>
        </dd>

        <dt><code><strong>-nocolor</strong></code></dt>

        <dd>
          <p>force color mode off, overriding terminal capabilities
          and any <em>-color</em> flags, <em>COLORTERM</em>
          variable, and saved .lynxrc settings.</p>
        </dd>

        <dt><code><strong>-noexec</strong></code></dt>

        <dd>
          <p>disable local program execution. (DEFAULT)</p>
        </dd>

        <dt><code><strong>-nofilereferer</strong></code></dt>

        <dd>
          <p>disable transmissions of Referer headers for file
          URLs.</p>
        </dd>

        <dt><code><strong>-nolist</strong></code></dt>

        <dd>
          <p>disable the link list feature in dumps.</p>
        </dd>

        <dt><code><strong>-nolog</strong></code></dt>

        <dd>
          <p>disable mailing of error messages to document
          owners.</p>
        </dd>

        <dt><code><strong>-nomargins</strong></code></dt>

        <dd>
          <p>disable left/right margins in the default style
          sheet.</p>
        </dd>

        <dt><code><strong>-nomore</strong></code></dt>

        <dd>
          <p>disable -more- string in statusline messages.</p>
        </dd>

        <dt>
        <code><strong>-nonrestarting_sigwinch</strong></code></dt>

        <dd>
          <p>make window size change handler non-restarting. This
          flag is not available on all systems, Lynx needs to be
          compiled with HAVE_SIGACTION defined. If available, this
          flag <em>may</em> cause Lynx to react more immediately to
          window changes when run within an xterm.</p>
        </dd>

        <dt><code><strong>-nopause</strong></code></dt>

        <dd>
          <p>disable forced pauses for statusline messages.</p>
        </dd>

        <dt><code><strong>-noprint</strong></code></dt>

        <dd>
          <p>disable most print functions.</p>
        </dd>

        <dt><code><strong>-noredir</strong></code></dt>

        <dd>
          <p>do not follow URL redirections</p>
        </dd>

        <dt><code><strong>-noreferer</strong></code></dt>

        <dd>
          <p>disable transmissions of Referer headers.</p>
        </dd>

        <dt><code><strong>-noreverse</strong></code></dt>

        <dd>
          <p>disable reverse video-attribute.</p>
        </dd>

        <dt><code><strong>-nosocks</strong></code></dt>

        <dd>
          <p>disable SOCKS proxy usage by a SOCKSified Lynx.</p>
        </dd>

        <dt><code><strong>-nostatus</strong></code></dt>

        <dd>
          <p>disable the retrieval status messages.</p>
        </dd>

        <dt><code><strong>-notitle</strong></code></dt>

        <dd>
          <p>disable title and blank line from top of page.</p>
        </dd>

        <dt><code><strong>-nounderline</strong></code></dt>

        <dd>
          <p>disable underline video-attribute.</p>
        </dd>

        <dt><code><strong>-number_fields</strong></code></dt>

        <dd>
          <p>force numbering of links as well as form input
          fields.</p>
        </dd>

        <dt><code><strong>-number_links</strong></code></dt>

        <dd>
          <p>force numbering of links.</p>
        </dd>

        <dt><code><strong>-partial</strong></code></dt>

        <dd>
          <p>toggles displaying of partial pages while loading.</p>
        </dd>

        <dt>
        <code><strong>-partial_thres=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>number of lines to render before repainting display
          with partial-display logic.</p>
        </dd>

        <dt>
        <code><strong>-pauth=</strong><em>ID:PW</em></code></dt>

        <dd>
          <p>set authorization <em>identifier</em> and
          <em>password</em> for a protected proxy server at
          startup. Be sure to protect any script files which use
          this switch.</p>
        </dd>

        <dt><code><strong>-popup</strong></code></dt>

        <dd>
          <p>toggles handling of single-choice SELECT options via
          popup windows or as lists of radio buttons. The default
          configuration can be changed in userdefs.h or <a href=
          "#lynx.cfg">lynx.cfg</a>. It also can be set and saved
          via the &ldquo;o&rdquo;ptions menu. The command line
          switch toggles the default.</p>
        </dd>

        <dt><code><strong>-post_data</strong></code></dt>

        <dd>
          <p>properly formatted data for a post form are read in
          from stdin and passed to the form. Input is terminated by
          a line that starts with &ldquo;---&rdquo;.</p>
        </dd>

        <dt><code><strong>-preparsed</strong></code></dt>

        <dd>
          <p>show source preparsed and reformatted when used with
          -source or in source view (&ldquo;<samp>\</samp>&rdquo;).
          May be useful for debugging of broken HTML markup to
          visualize the difference between SortaSGML and TagSoup
          <a href="keystrokes/option_help.html#tagsoup">recovery
          modes</a>, switched by &ldquo;<samp>^V</samp>&rdquo;.</p>
        </dd>

        <dt><code><strong>-prettysrc</strong></code></dt>

        <dd>
          <p>do syntax highlighting and hyperlink handling in
          source view.</p>
        </dd>

        <dt><code><strong>-print</strong></code></dt>

        <dd>
          <p>enable print functions. (default)</p>
        </dd>

        <dt><code><strong>-pseudo_inlines</strong></code></dt>

        <dd>
          <p>toggles pseudo-ALTs for inline images with no ALT
          string.</p>
        </dd>

        <dt><code><strong>-raw</strong></code></dt>

        <dd>
          <p>toggles default setting of 8-bit character
          translations or CJK mode for the startup character
          set.</p>
        </dd>

        <dt><code><strong>-realm</strong></code></dt>

        <dd>
          <p>restricts access to URLs in the starting realm.</p>
        </dd>

        <dt><code><strong>-reload</strong></code></dt>

        <dd>
          <p>flushes the cache on a proxy server (only the first
          document affected).</p>
        </dd>

        <dt><code><strong>-restrictions</strong></code></dt>

        <dd>
          <p>allows a list of services to be disabled selectively
          and takes the following form:</p>
        </dd>

        <dd>
          <p><em>lynx
          -restrictions=[option][,option][,option]...</em></p>
        </dd>

        <dd>
          <p>The list of recognized options is printed if none are
          specified.</p>

          <dl>
            <dt><strong><samp>?</samp></strong></dt>

            <dd>
              <p>if used alone, lists restrictions in effect.</p>
            </dd>

            <dt><strong><samp>all</samp></strong></dt>

            <dd>
              <p>restricts all options listed below.</p>
            </dd>

            <dt><strong><samp>bookmark</samp></strong></dt>

            <dd>
              <p>disallow changing the location of the bookmark
              file.</p>
            </dd>

            <dt><strong><samp>bookmark_exec</samp></strong></dt>

            <dd>
              <p>disallow execution links via the bookmark
              file.</p>
            </dd>

            <dt>
            <strong><samp>change_exec_perms</samp></strong></dt>

            <dd>
              <p>disallow changing the eXecute permission on files
              (but still allow it for directories) when local file
              management is enabled.</p>
            </dd>

            <dt><strong><samp>chdir</samp></strong></dt>

            <dd>
              <p>disallow command which changes Lynx's working
              directory.</p>
            </dd>

            <dt><strong><samp>default</samp></strong></dt>

            <dd>
              <p>same as command line option <em>-anonymous</em>.
              Set default restrictions for anonymous users. All
              specific services listed are always restricted,
              except for: inside_telnet, outside_telnet,
              inside_ftp, outside_ftp, inside_rlogin,
              outside_rlogin, inside_news, outside_news,
              telnet_port, jump, mail, print, exec, and goto. The
              settings for these, as well as additional goto
              restrictions for specific URL schemes that are also
              applied, are derived from definitions within
              userdefs.h.</p>

              <p>Note that this is the only option value that may
              have the effect of <em>removing</em> some
              restrictions, if they have been set by other options,
              namely for those services that <em>are</em> allowed
              by default according to userdefs.h. However, if the
              separate command line option form
              (<em>-anonymous</em>) is used, Lynx takes care to set
              the default restrictions before handling additional
              <em>-restrictions=</em> options (even if they precede
              the <em>anonymous</em> option), so that this cannot
              happen.</p>
            </dd>

            <dt><strong><samp>dired_support</samp></strong></dt>

            <dd>
              <p>disallow local file management.</p>
            </dd>

            <dt><strong><samp>disk_save</samp></strong></dt>

            <dd>
              <p>disallow saving to disk in the download and print
              menus.</p>
            </dd>

            <dt><strong><samp>dotfiles</samp></strong></dt>

            <dd>
              <p>disallow access to, or creation of, hidden (dot)
              files.</p>
            </dd>

            <dt><strong><samp>download</samp></strong></dt>

            <dd>
              <p>disallow some downloaders in the download menu.
              This does <em>not</em> imply the disk_save
              restriction. It also does not disable the DOWNLOAD
              command, and does not prevent "Download or Cancel"
              offers when a MIME type cannot otherwise be handled.
              Those are only disabled if additionally the disk_save
              restriction is in effect <em>and</em> no download
              methods are defined in a <a href="#lynx.cfg">Lynx
              configuration file</a> that are marked as "always
              ENABLED" (or, alternatively, if the -validate switch
              is used).</p>
            </dd>

            <dt><strong><samp>editor</samp></strong></dt>

            <dd>
              <p>disallow external editing.</p>
            </dd>

            <dt><strong><samp>exec</samp></strong></dt>

            <dd>
              <p>disable execution scripts.</p>
            </dd>

            <dt><strong><samp>exec_frozen</samp></strong></dt>

            <dd>
              <p>disallow the user from changing the local
              execution option.</p>
            </dd>

            <dt><strong><samp>externals</samp></strong></dt>

            <dd>
              <p>disallow some "EXTERNAL" configuration lines, if
              support for passing URLs to external applications
              (with the EXTERN_LINK or EXTERN_PAGE command) is
              compiled in.</p>
            </dd>

            <dt><strong><samp>file_url</samp></strong></dt>

            <dd>
              <p>disallow using G)oto, served links or bookmarks
              for file: URLs.</p>
            </dd>

            <dt><strong><samp>goto</samp></strong></dt>

            <dd>
              <p>disable the &ldquo;<samp>g</samp>&rdquo; (goto)
              command.</p>
            </dd>

            <dt><strong><samp>inside_ftp</samp></strong></dt>

            <dd>
              <p>disallow ftps for people coming from inside your
              domain.</p>
            </dd>

            <dt><strong><samp>inside_news</samp></strong></dt>

            <dd>
              <p>disallow USENET news reading and posting for
              people coming from inside you domain. This applies to
              "news", "nntp", "newspost", and "newsreply" URLs, but
              not to "snews", "snewspost", or "snewsreply" in case
              they are supported.</p>
            </dd>

            <dt><strong><samp>inside_rlogin</samp></strong></dt>

            <dd>
              <p>disallow rlogins for people coming from inside
              your domain.</p>
            </dd>

            <dt><strong><samp>inside_telnet</samp></strong></dt>

            <dd>
              <p>disallow telnets for people coming from inside
              your domain.</p>
            </dd>

            <dt><strong><samp>jump</samp></strong></dt>

            <dd>
              <p>disable the &ldquo;<samp>j</samp>&rdquo; (jump)
              command.</p>
            </dd>

            <dt><strong><samp>lynxcgi</samp></strong></dt>

            <dd>
              <p>disallow execution of Lynx CGI URLs.</p>
            </dd>

            <dt><strong><samp>mail</samp></strong></dt>

            <dd>
              <p>disallow mailing feature.</p>
            </dd>

            <dt><strong><samp>multibook</samp></strong></dt>

            <dd>
              <p>disallow multiple bookmarks.</p>
            </dd>

            <dt><strong><samp>news_post</samp></strong></dt>

            <dd>
              <p>disallow USENET News posting,</p>
            </dd>

            <dt><strong><samp>options_save</samp></strong></dt>

            <dd>
              <p>disallow saving options in .lynxrc.</p>
            </dd>

            <dt><strong><samp>outside_ftp</samp></strong></dt>

            <dd>
              <p>disallow ftps for people coming from outside your
              domain.</p>
            </dd>

            <dt><strong><samp>outside_news</samp></strong></dt>

            <dd>
              <p>disallow USENET news reading and posting for
              people coming from outside you domain. This applies
              to "news", "nntp", "newspost", and "newsreply" URLs,
              but not to "snews", "snewspost", or "snewsreply" in
              case they are supported.</p>
            </dd>

            <dt><strong><samp>outside_rlogin</samp></strong></dt>

            <dd>
              <p>disallow rlogins for people coming from outside
              your domain.</p>
            </dd>

            <dt><strong><samp>outside_telnet</samp></strong></dt>

            <dd>
              <p>disallow telnets for people coming from outside
              your domain.</p>
            </dd>

            <dt><strong><samp>print</samp></strong></dt>

            <dd>
              <p>disallow most print options.</p>
            </dd>

            <dt><strong><samp>shell</samp></strong></dt>

            <dd>
              <p>disallow shell escapes.</p>
            </dd>

            <dt><strong><samp>suspend</samp></strong></dt>

            <dd>
              <p>disallow <em>Control-Z</em> suspends with escape
              to shell on Unix.</p>
            </dd>

            <dt><strong><samp>telnet_port</samp></strong></dt>

            <dd>
              <p>disallow specifying a port in telnet G)oto's.</p>
            </dd>

            <dt><strong><samp>useragent</samp></strong></dt>

            <dd>
              <p>disallow modifications of the User-Agent
              header.</p>
            </dd>
          </dl>
        </dd>

        <dt><code><strong>-resubmit_posts</strong></code></dt>

        <dd>
          <p>toggles forced resubmissions (no-cache) of forms with
          method POST when the documents they returned are sought
          with the PREV_DOC (<em>left-arrow</em>) command or from
          the <em>History Page</em>.</p>
        </dd>

        <dt><code><strong>-rlogin</strong></code></dt>

        <dd>
          <p>disable recognition of rlogin commands.</p>
        </dd>

        <dt><code><strong>-scrollbar</strong></code></dt>

        <dd>
          <p>toggles showing scrollbar.</p>
        </dd>

        <dt><code><strong>-scrollbar_arrow</strong></code></dt>

        <dd>
          <p>toggles showing arrows at ends of the scrollbar.</p>
        </dd>

        <dt><code><strong>-selective</strong></code></dt>

        <dd>
          <p>require .www_browsable files to browse
          directories.</p>
        </dd>

        <dt>
        <code><strong>-session=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>resumes from specified file on startup and saves
          session to that file on exit.</p>
        </dd>

        <dt>
        <code><strong>-sessionin=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>resumes session from specified file.</p>
        </dd>

        <dt>
        <code><strong>-sessionout=</strong><em>FILENAME</em></code></dt>

        <dd>
          <p>saves session to specified file.</p>
        </dd>

        <dt><code><strong>-short_url</strong></code></dt>

        <dd>
          <p>show very long URLs in the status line with "..." to
          represent the portion which cannot be displayed. The
          beginning and end of the URL are displayed, rather than
          suppressing the end.</p>
        </dd>

        <dt><code><strong>-show_cursor</strong></code></dt>

        <dd>
          <p>If enabled the cursor will not be hidden in the right
          hand corner but will instead be positioned at the start
          of the currently selected link. Show cursor is the
          default for systems without FANCY_CURSES capabilities.
          The default configuration can be changed in userdefs.h or
          <a href="#lynx.cfg">lynx.cfg</a>. It also can be set and
          saved via the &ldquo;o&rdquo;ptions menu. The command
          line switch toggles the default.</p>
        </dd>

        <dt><code><strong>-show_rate</strong></code></dt>

        <dd>
          <p>If enabled the transfer rate is shown in bytes/second.
          If disabled, no transfer rate is shown. Use lynx.cfg or
          the options menu to select KiB/second and/or ETA.</p>
        </dd>

        <dt><code><strong>-soft_dquotes</strong></code></dt>

        <dd>
          <p>toggles emulation of the old Netscape and Mosaic bug
          which treated &ldquo;<samp>&gt;</samp>&rdquo; as a
          co-terminator for double-quotes and tags.</p>
        </dd>

        <dt><code><strong>-source</strong></code></dt>

        <dd>
          <p>works the same as dump but outputs HTML source instead
          of formatted text. For example</p>

          <blockquote>
            <pre>
lynx -source . &gt;foo.html
</pre>
          </blockquote>

          <p>generates HTML source listing the files in the current
          directory. Each file is marked by an HREF relative to the
          parent directory. Add a trailing slash to make the HREF's
          relative to the current directory:</p>

          <blockquote>
            <pre>
lynx -source ./ &gt;foo.html
</pre>
          </blockquote>
        </dd>

        <dt><code><strong>-stack_dump</strong></code></dt>

        <dd>
          <p>disable SIGINT cleanup handler.</p>
        </dd>

        <dt><code><strong>-startfile_ok</strong></code></dt>

        <dd>
          <p>allow non-http startfile and homepage with
          <em>-validate</em>.</p>
        </dd>

        <dt><code><strong>-stderr</strong></code></dt>

        <dd>
          <p>When dumping a document using
          <code><strong>-dump</strong></code> or
          <code><strong>-source</strong></code>, Lynx normally does
          not display alert (error) messages that you see on the
          screen in the status line. Use the
          <code><strong>-stderr</strong></code> option to tell Lynx
          to write these messages to the standard error.</p>
        </dd>

        <dt><code><strong>-stdin</strong></code></dt>

        <dd>
          <p>read the startfile from standard input (UNIX
          only).</p>
        </dd>

        <dt>
        <code><strong>-syslog=</strong><em>text</em></code></dt>

        <dd>
          <p>information for syslog call.</p>
        </dd>

        <dt><code><strong>-syslog-urls</strong></code></dt>

        <dd>
          <p>log requested URLs with syslog.</p>
        </dd>

        <dt><code><strong>-tagsoup</strong></code></dt>

        <dd>
          <p>initialize DTD with "TagSoup" tables, <a href=
          "keystrokes/option_help.html#tagsoup">more
          details</a>.</p>
        </dd>

        <dt><code><strong>-telnet</strong></code></dt>

        <dd>
          <p>disable recognition of telnet commands.</p>
        </dd>

        <dt><code><strong>-term=</strong><em>TERM</em></code></dt>

        <dd>
          <p>tell Lynx what terminal type to assume it is talking
          to. (This may be useful for remote execution, when, for
          example, Lynx connects to a remote TCP/IP port that
          starts a script that, in turn, starts another Lynx
          process.)</p>
        </dd>

        <dt><code><strong>-timeout=</strong><em>N</em></code></dt>

        <dd>
          <p>For win32, sets the network read-timeout, where
          <em>N</em> is given in seconds.</p>
        </dd>

        <dt><code><strong>-tlog</strong></code></dt>

        <dd>
          <p>toggles use of a <em>Lynx Trace Log</em> for the
          session. The log is named <em>Lynx.trace</em> and is
          created in the home directory when Lynx trace mode is
          turned on via the <em>-trace</em> command line switch
          (see below), or via the TRACE_TOGGLE (<em>Control-T</em>)
          keystroke command. Once a log is started for the session,
          all trace and other stderr messages are written to the
          log. The contents of the log can be examined during the
          session via the TRACE_LOG (normally,
          &ldquo;<samp>;</samp>&rdquo;) keystroke command. If use
          of a Lynx Trace Log is turned off, any trace output will
          go to the standard error stream.</p>
        </dd>

        <dt><code><strong>-tna</strong></code></dt>

        <dd>
          <p>turns on <a href="#tna">"Textfields Need
          Activation"</a> mode.</p>
        </dd>

        <dt><code><strong>-trace</strong></code></dt>

        <dd>
          <p>turns on Lynx trace mode. If a Lynx Trace Log
          (<em>Lynx.trace</em> in the home directory) has been
          started for the current session, all trace messages are
          written to that log, and can be examined during the
          session via the TRACE_LOG (normally,
          &ldquo;<samp>;</samp>&rdquo;) command. If no Trace Log
          file is in use, trace messages go to stderr.</p>
        </dd>

        <dt>
        <code><strong>-trace_mask=</strong><em>value</em></code></dt>

        <dd>
          <p>turn on optional traces, which may result in very
          large trace files. Logically OR the values to combine
          options:</p>

          <dl>
            <dt>1</dt>

            <dd>
              <p>SGML character parsing states</p>
            </dd>

            <dt>2</dt>

            <dd>
              <p>color-style</p>
            </dd>

            <dt>4</dt>

            <dd>
              <p>TRST (table layout)</p>
            </dd>

            <dt>8</dt>

            <dd>
              <p>config (lynx.cfg and .lynxrc contents)</p>
            </dd>

            <dt>16</dt>

            <dd>
              <p>binary string copy/append, used in form data
              construction.</p>
            </dd>
          </dl>
        </dd>

        <dt><code><strong>-traversal</strong></code></dt>

        <dd>
          <p>traverse all http links derived from startfile. When
          used with <em>-crawl</em>, each link that begins with the
          same string as startfile is output to a file, intended
          for indexing. See CRAWL.announce for more
          information.</p>
        </dd>

        <dt><code><strong>-trim_input_fields</strong></code></dt>

        <dd>
          <p>trim input text/textarea fields in forms.</p>
        </dd>

        <dt><code><strong>-underscore</strong></code></dt>

        <dd>
          <p>toggles use of _underline_ format in dumps.</p>
        </dd>

        <dt><code><strong>-use_mouse</strong></code></dt>

        <dd>
          <p>turn on mouse support, if available.</p>
        </dd>

        <dt>
        <code><strong>-useragent=</strong><em>STRING</em></code></dt>

        <dd>
          <p>set different Lynx User-Agent header. Lynx produces a
          warning on startup if the <em>STRING</em> does not
          contain "Lynx" or "L_y_n_x", see the <a href=
          "#noteUA">note</a> in the Options Menu section for
          rationale.</p>
        </dd>

        <dt><code><strong>-validate</strong></code></dt>

        <dd>
          <p>accept only http URLs (meant for validation).</p>
        </dd>

        <dd>
          <p>This flag implies security restrictions generally more
          severe than <em>-anonymous</em>: restriction options as
          for <em>-restrictions=all</em>, with the notable
          exception that goto remains enabled for http and https
          URLs; in addition, the PRINT and DOWNLOAD commands are
          completely disabled, and use of a Trace Log file is
          forced off.</p>
        </dd>

        <dd>
          <p>Any relaxing of restriction that might be implied by
          an also present (or implied) <em>-anonymous</em> flag is
          overridden, the only way to possibly relax <em>some</em>
          of the restrictions to the level applicable for
          "anononymous" accounts is with an explicit
          <em>-restrictions=default</em>.</p>
        </dd>

        <dt><code><strong>-verbose</strong></code></dt>

        <dd>
          <p>toggles [LINK], [IMAGE] and [INLINE] comments with
          filenames of these images.</p>
        </dd>

        <dt><code><strong>-version</strong></code></dt>

        <dd>
          <p>print version information.</p>
        </dd>

        <dt><code><strong>-vikeys</strong></code></dt>

        <dd>
          <p>enable vi-like key movement.</p>
        </dd>

        <dt><code><strong>-wdebug</strong></code></dt>

        <dd>
          <p>enable Waterloo tcp/ip packet debug (print to watt
          debugfile). This applies only to DOS versions compiled
          with WATTCP or WATT-32.</p>
        </dd>

        <dt>
        <code><strong>-width=</strong><em>NUMBER</em></code></dt>

        <dd>
          <p>number of columns for formatting of dumps, default is
          80.</p>
        </dd>

        <dt><code><strong>-with_backspaces</strong></code></dt>

        <dd>
          <p>emit backspaces in output if -dumping or -crawling
          (like <code>man</code> does).</p>
        </dd>
      </dl>
    </dd>
  </dl>

  <p>No options are required, nor is a startfile argument required.
  White space can be used in place of equal sign separators
  (&ldquo;<samp>=</samp>&rdquo;) appearing in the option list
  above. It can not be used in place of the equal signs in forms
  like "-option=on" and "-option=off" for simple switches and
  toggles, for which "-option" alone (without a value) is
  valid.</p>

  <p>[<a href="#ToC-Invoking">ToC</a>]</p>

  <h2 id="Environments"><a name="Environment" id=
  "Environment"><em>Environment variables used by
  Lynx</em></a></h2>

  <p>Lynx uses certain environment variables and sets a few of
  them. Please visit a <a href=
  "keystrokes/environments.html">separate page</a> for this rather
  technical information.</p>

  <p>[<a href="#ToC-Environment">ToC</a>]</p>

  <h2 id="id-lynx.cfg"><a name="lynx.cfg" id="lynx.cfg">Main
  configuration file lynx.cfg</a></h2>

  <p>Lynx has several levels of customization: from the Options
  Menu (accessible on-line, and possibly stored in your local
  .lynxrc file), via command-line switches on startup (mainly for
  batch processing). The most important and numerous default
  settings are stored in the Lynx configuration file
  <em>lynx.cfg</em>.</p>

  <p>If you are on a UNIX system you should have appropriate
  permissions to make changes there or ask your system
  administrator to modify lynx.cfg for your needs. This file
  provides default settings for all accounts on your system. It may
  be copied to your shell account and included with -cfg command
  line switch or via an environment variable LYNX_CFG (if you have
  shell access). Starting with version 2.8.1 Lynx has an include
  facility so you can load the system-wide configuration file and
  easily add one or more settings from your local add-on
  configuration file. It is really cool to read lynx.cfg with its
  comments for hundreds of options, most of them commented out
  because they are built-in defaults. You may visit an index of
  options: <a href=
  "https://lynx.invisible-island.net/release/lynx_help/cattoc.html">by
  category</a> or <a href=
  "https://lynx.invisible-island.net/release/lynx_help/alphatoc.html">
  by alphabet</a>.</p>

  <p>To view your current configuration derived from lynx.cfg and
  any included configuration files, press <em>&ldquo;g&rdquo;</em>
  and type in &ldquo;<samp>lynxcfg:</samp>&rdquo;. If you are using
  the forms-based <em>Options Menu</em>, you may press
  <em>&ldquo;o&rdquo;</em> for the Options Menu and follow the
  <em>Check your lynx.cfg</em>'s link near the bottom.</p>

  <p>However, for those who have a restricted account many Lynx
  features may be disabled by the system administrator, you
  probably will not see your lynx.cfg.</p>

  <p>[<a href="#ToC-lynx.cfg">ToC</a>]</p>

  <h2 id="id-Hist"><a name="Hist" id="Hist">Lynx development
  history</a></h2>

  <p>Lynx grew out of efforts to build a campus-wide information
  system at The University of Kansas. The earliest versions of Lynx
  provided a user-friendly, distributed hypertext interface for
  users connected to multiuser (Unix and VMS) systems via
  curses-oriented display devices. A custom hypertext format was
  developed to support hypertext links to local files and files on
  remote Gopher servers. Using Gopher servers for distributed file
  service allowed information providers to publish information from
  a wide variety of platforms (including Unix, VMS, VM/CMS and
  Macintosh). In addition, Lynx became the most user-friendly
  Gopher client, although that was only an ancillary
  capability.</p>

  <p>This distributed approach let providers retain complete
  control over their information, but it made communication between
  users and providers somewhat more difficult. Following the lead
  of Neal Erdwien, of Kansas State University, the Lynx hypertext
  format was extended to include links for including ownership
  information with each file. This information made it possible for
  users running Lynx clients to send comments and suggestions via
  e-mail to the providers.</p>

  <p>This early version of Lynx was also augmented to support
  hypertext links to programs running on remote systems. It
  included the ability to open a Telnet connection, as well as the
  ability to start programs via rexec, inetd, or by direct socket
  connects. These capabilities were included to allow users to
  access databases or custom program interfaces.</p>

  <p>A subsequent version of Lynx incorporated the World Wide Web
  libraries to allow access to the full list of WWW servers, along
  with the option to build hypertext documents in HTML, rather than
  the native Lynx format. HTML has become far more widely used, and
  the native format has been phased out. With the addition of the
  WWW libraries, Lynx became a fully-featured WWW client, limited
  only by the display capabilities offered in the curses
  environment.</p>

  <p>Lynx was designed by Lou Montulli, Charles Rezac and Michael
  Grobe of Academic Computing Services at The University of Kansas.
  Lynx was implemented by Lou Montulli and maintained by Garrett
  Arch Blythe and Craig Lavender.</p>

  <p><em>Foteos Macrides</em> and members of the <a href=
  "lynx-dev.html">lynx-dev</a> list have developed and supported
  Lynx since release of v2.3 in May 1994.<br>
  The Lynx2-3FM code set was released as v2.4 in June 1995.<br>
  The Lynx2-4FM code set was released as v2.5 in May 1996.<br>
  The Lynx2-5FM code set was released as v2.6 in September
  1996.<br>
  The Lynx2-6FM code set was released as v2.7 in February 1997.<br>
  The v2-7FM code set was released as v2.7.1 in April 1997.<br>
  The v2-7-1FM code set was released as v2.7.2 in January 1998.<br>
  The 2.7.1 development set was released as v2.8 in March 1998.<br>
  The 2.8 development set was released as v2.8.1 in October
  1998.<br>
  The 2.8.1 development set was released as v2.8.2 in June
  1999.<br>
  The 2.8.2 development set was released as v2.8.3 in April
  2000.<br>
  The 2.8.3 development set was released as v2.8.4 in July
  2001.<br>
  The 2.8.4 development set was released as v2.8.5 in February
  2004.<br>
  The 2.8.5 development set was released as v2.8.6 in October
  2006.<br>
  The 2.8.6 development set was released as v2.8.7 in July
  2009.<br>
  The 2.8.7 development set was released as v2.8.8 in February
  2014.<br>
  The 2.8.8 development set was released as v2.8.9 in July
  2018.<br></p>

  <p>Since early 1997, the Lynx code has expanded into
  autoconfigure and PC versions. The branching of the Lynx source
  base from a single source into two sources (FM/Foteos Macrides
  and ac/autoconfigure) should be considered a healthy synergism
  among groups of computer professionals acting in their spare time
  out of a common goal.</p>

  <p>Lynx has incorporated code from a variety of sources along the
  way. The earliest versions of Lynx included code from Earl Fogel
  of Computing Services at the University of Saskatchewan, who
  implemented HYPERREZ in the Unix environment. Those versions also
  incorporated libraries from the Unix Gopher clients developed at
  the University of Minnesota, and the later versions of Lynx rely
  on the WWW client library code developed by Tim Berners-Lee (and
  others) and the WWW community.</p>

  <p>Contributors have generally been acknowledged in the CHANGES
  file. Earlier CHANGES file can be found in the docs/ subdirectory
  of this distribution.</p>

  <p>Information on obtaining the most current version of Lynx is
  available at <a href=
  "https://lynx.invisible-island.net/current/index.html">the current
  distribution page</a>.</p>

  <p>[<a href="#Contents">ToC</a>]</p>
</body>
</html>