]> sjero.net Git - wget/blobdiff - doc/wget.texi
[svn] Commit administrative changes in preparation for the 1.7
[wget] / doc / wget.texi
index 68a74cbfa1686e3e451d90a3eea41485c63c56ca..4fe437dcab1b064596f80983f2181f68e4228c11 100644 (file)
@@ -15,8 +15,8 @@
 @end iftex
 
 @c This should really be auto-generated!
-@set VERSION 1.5.3+dev
-@set UPDATED Feb 2000
+@set VERSION 1.7-pre1
+@set UPDATED May 2001
 
 @dircategory Net Utilities
 @dircategory World Wide Web
@@ -28,7 +28,9 @@
 This file documents the the GNU Wget utility for downloading network
 data.
 
-Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+@c man begin COPYRIGHT
+Copyright @copyright{} 1996, 1997, 1998, 2000, 2001 Free Software
+Foundation, Inc.
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -42,10 +44,12 @@ notice identical to this one except for the removal of this paragraph
 @end ignore
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'' and ``GNU Free
+Documentation License'', with no Front-Cover Texts, and with no
+Back-Cover Texts.  A copy of the license is included in the section
+entitled ``GNU Free Documentation License''.
+@c man end
 @end ifinfo
 
 @titlepage
@@ -54,16 +58,27 @@ Free Documentation License''.
 @subtitle Updated for Wget @value{VERSION}, @value{UPDATED}
 @author by Hrvoje Nik@v{s}i@'{c} and the developers
 
+@ignore
+@c man begin AUTHOR
+Originally written by Hrvoje Niksic <hniksic@arsdigita.com>.
+@c man end
+@c man begin SEEALSO
+GNU Info entry for @file{wget}.
+@c man end
+@end ignore
+
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 1996, 1997, 1998, 2000, 2001 Free Software
+Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'' and ``GNU Free
+Documentation License'', with no Front-Cover Texts, and with no
+Back-Cover Texts.  A copy of the license is included in the section
+entitled ``GNU Free Documentation License''.
 @end titlepage
 
 @ifinfo
@@ -73,7 +88,8 @@ Free Documentation License''.
 This manual documents version @value{VERSION} of GNU Wget, the freely
 available utility for network download.
 
-Copyright @copyright{} 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+Copyright @copyright{} 1996, 1997, 1998, 2000, 2001 Free Software
+Foundation, Inc.
 
 @menu
 * Overview::            Features of Wget.
@@ -95,6 +111,7 @@ Copyright @copyright{} 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
 @cindex overview
 @cindex features
 
+@c man begin DESCRIPTION
 GNU Wget is a freely available network utility to retrieve files from
 the World Wide Web, using @sc{http} (Hyper Text Transfer Protocol) and
 @sc{ftp} (File Transfer Protocol), the two most widely used Internet
@@ -108,8 +125,10 @@ while the user is not logged on.  This allows you to start a retrieval
 and disconnect from the system, letting Wget finish the work.  By
 contrast, most of the Web browsers require constant user's presence,
 which can be a great hindrance when transferring a lot of data.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 Wget is capable of descending recursively through the structure of
 @sc{html} documents and @sc{ftp} directory trees, making a local copy of
@@ -117,8 +136,10 @@ the directory hierarchy similar to the one on the remote server.  This
 feature can be used to mirror archives and home pages, or traverse the
 web in search of data, like a @sc{www} robot (@pxref{Robots}).  In that
 spirit, Wget understands the @code{norobots} convention.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 File name wildcard matching and recursive mirroring of directories are
 available when retrieving via @sc{ftp}.  Wget can read the time-stamp
@@ -127,49 +148,74 @@ locally.  Thus Wget can see if the remote file has changed since last
 retrieval, and automatically retrieve the new version if it has.  This
 makes Wget suitable for mirroring of @sc{ftp} sites, as well as home
 pages.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 Wget works exceedingly well on slow or unstable connections,
 retrying the document until it is fully retrieved, or until a
 user-specified retry count is surpassed.  It will try to resume the
 download from the point of interruption, using @code{REST} with @sc{ftp}
 and @code{Range} with @sc{http} servers that support them.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 By default, Wget supports proxy servers, which can lighten the network
 load, speed up retrieval and provide access behind firewalls.  However,
 if you are behind a firewall that requires that you use a socks style
-gateway, you can get the socks library and build wget with support for
+gateway, you can get the socks library and build Wget with support for
 socks.  Wget also supports the passive @sc{ftp} downloading as an
 option.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 Builtin features offer mechanisms to tune which links you wish to follow
 (@pxref{Following Links}).
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 The retrieval is conveniently traced with printing dots, each dot
 representing a fixed amount of data received (1KB by default).  These
 representations can be customized to your preferences.
+@c man end
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 Most of the features are fully configurable, either through command line
 options, or via the initialization file @file{.wgetrc} (@pxref{Startup
 File}).  Wget allows you to define @dfn{global} startup files
 (@file{/usr/local/etc/wgetrc} by default) for site settings.
+@c man end
+
+@ignore
+@c man begin FILES
+@table @samp
+@item /usr/local/etc/wgetrc
+Default location of the @dfn{global} startup file.
+
+@item .wgetrc
+User startup file.
+@end table
+@c man end
+@end ignore
 
 @sp 1
+@c man begin DESCRIPTION
 @item
 Finally, GNU Wget is free software.  This means that everyone may use
 it, redistribute it and/or modify it under the terms of the GNU General
 Public License, as published by the Free Software Foundation
 (@pxref{Copying}).
 @end itemize
+@c man end
 
 @node Invoking, Recursive Retrieval, Overview, Top
 @chapter Invoking
@@ -181,7 +227,9 @@ Public License, as published by the Free Software Foundation
 By default, Wget is very simple to invoke.  The basic syntax is:
 
 @example
+@c man begin SYNOPSIS
 wget [@var{option}]@dots{} [@var{URL}]@dots{}
+@c man end
 @end example
 
 Wget will simply download all the @sc{url}s specified on the command
@@ -282,7 +330,7 @@ with your favorite browser, like @code{Lynx} or @code{Netscape}.
 Since Wget uses GNU getopts to process its arguments, every option has a
 short form and a long form.  Long options are more convenient to
 remember, but take time to type.  You may freely mix different option
-styles, or specify options after the command-line arguments. Thus you
+styles, or specify options after the command-line arguments.  Thus you
 may write:
 
 @example
@@ -325,6 +373,8 @@ and @file{/~somebody}.  You can also clear the lists in @file{.wgetrc}
 wget -X '' -X /~nobody,/~somebody
 @end example
 
+@c man begin OPTIONS
+
 @node Basic Startup Options, Logging and Input File Options, Option Syntax, Invoking
 @section Basic Startup Options
 
@@ -464,29 +514,30 @@ automatically sets the number of tries to 1.
 @cindex no-clobber
 @item -nc
 @itemx --no-clobber
-If a file is downloaded more than once in the same directory, wget's
+If a file is downloaded more than once in the same directory, Wget's
 behavior depends on a few options, including @samp{-nc}.  In certain
-cases, the local file will be "clobbered", or overwritten, upon repeated
-download.  In other cases it will be preserved.
+cases, the local file will be @dfn{clobbered}, or overwritten, upon
+repeated download.  In other cases it will be preserved.
 
-When running wget without @samp{-N}, @samp{-nc}, or @samp{-r},
+When running Wget without @samp{-N}, @samp{-nc}, or @samp{-r},
 downloading the same file in the same directory will result in the
-original copy of @samp{@var{file}} being preserved and the second copy
-being named @samp{@var{file}.1}.  If that file is downloaded yet again,
-the third copy will be named @samp{@var{file}.2}, and so on.  When
-@samp{-nc} is specified, this behavior is suppressed, and wget will
+original copy of @var{file} being preserved and the second copy being
+named @samp{@var{file}.1}.  If that file is downloaded yet again, the
+third copy will be named @samp{@var{file}.2}, and so on.  When
+@samp{-nc} is specified, this behavior is suppressed, and Wget will
 refuse to download newer copies of @samp{@var{file}}.  Therefore,
-"no-clobber" is actually a misnomer in this mode -- it's not clobbering
-that's prevented (as the numeric suffixes were already preventing
-clobbering), but rather the multiple version saving that's prevented.
+``@code{no-clobber}'' is actually a misnomer in this mode---it's not
+clobbering that's prevented (as the numeric suffixes were already
+preventing clobbering), but rather the multiple version saving that's
+prevented.
 
-When running wget with @samp{-r}, but without @samp{-N} or @samp{-nc},
+When running Wget with @samp{-r}, but without @samp{-N} or @samp{-nc},
 re-downloading a file will result in the new copy simply overwriting the
 old.  Adding @samp{-nc} will prevent this behavior, instead causing the
 original version to be preserved and any newer copies on the server to
 be ignored.
 
-When running wget with @samp{-N}, with or without @samp{-r}, the
+When running Wget with @samp{-N}, with or without @samp{-r}, the
 decision as to whether or not to download a newer copy of a file depends
 on the local and remote timestamp and size of the file
 (@pxref{Time-Stamping}).  @samp{-nc} may not be specified at the same
@@ -497,34 +548,68 @@ Note that when @samp{-nc} is specified, files with the suffixes
 and parsed as if they had been retrieved from the Web.
 
 @cindex continue retrieval
+@cindex incomplete downloads
+@cindex resume download
 @item -c
 @itemx --continue
-Continue getting an existing file.  This is useful when you want to
-finish up the download started by another program, or a previous
-instance of Wget.  Thus you can write:
+Continue getting a partially-downloaded file.  This is useful when you
+want to finish up a download started by a previous instance of Wget, or
+by another program.  For instance:
 
 @example
 wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
 @end example
 
-If there is a file name @file{ls-lR.Z} in the current directory, Wget
+If there is a file named @file{ls-lR.Z} in the current directory, Wget
 will assume that it is the first portion of the remote file, and will
-require the server to continue the retrieval from an offset equal to the
+ask the server to continue the retrieval from an offset equal to the
 length of the local file.
 
-Note that you need not specify this option if all you want is Wget to
-continue retrieving where it left off when the connection is lost---Wget
-does this by default.  You need this option only when you want to
-continue retrieval of a file already halfway retrieved, saved by another
-@sc{ftp} client, or left by Wget being killed.
-
-Without @samp{-c}, the previous example would just begin to download the
-remote file to @file{ls-lR.Z.1}.  The @samp{-c} option is also
-applicable for @sc{http} servers that support the @code{Range} header.
-
-Note that if you use @samp{-c} on a file that's already downloaded
-completely, @samp{@var{file}} will not be changed, nor will a second
-@samp{@var{file}.1} copy be created.
+Note that you don't need to specify this option if you just want the
+current invocation of Wget to retry downloading a file should the
+connection be lost midway through.  This is the default behavior.
+@samp{-c} only affects resumption of downloads started @emph{prior} to
+this invocation of Wget, and whose local files are still sitting around.
+
+Without @samp{-c}, the previous example would just download the remote
+file to @file{ls-lR.Z.1}, leaving the truncated @file{ls-lR.Z} file
+alone.
+
+Beginning with Wget 1.7, if you use @samp{-c} on a non-empty file, and
+it turns out that the server does not support continued downloading,
+Wget will refuse to start the download from scratch, which would
+effectively ruin existing contents.  If you really want the download to
+start from scratch, remove the file.
+
+Also beginning with Wget 1.7, if you use @samp{-c} on a file which is of
+equal size as the one on the server, Wget will refuse to download the
+file and print an explanatory message.  The same happens when the file
+is smaller on the server than locally (presumably because it was changed
+on the server since your last download attempt)---because ``continuing''
+is not meaningful, no download occurs.
+
+On the other side of the coin, while using @samp{-c}, any file that's
+bigger on the server than locally will be considered an incomplete
+download and only @code{(length(remote) - length(local))} bytes will be
+downloaded and tacked onto the end of the local file.  This behavior can
+be desirable in certain cases---for instance, you can use @samp{wget -c}
+to download just the new portion that's been appended to a data
+collection or log file.
+
+However, if the file is bigger on the server because it's been
+@emph{changed}, as opposed to just @emph{appended} to, you'll end up
+with a garbled file.  Wget has no way of verifying that the local file
+is really a valid prefix of the remote file.  You need to be especially
+careful of this when using @samp{-c} in conjunction with @samp{-r},
+since every file will be considered as an "incomplete download" candidate.
+
+Another instance where you'll get a garbled file if you try to use
+@samp{-c} is if you have a lame @sc{http} proxy that inserts a
+``transfer interrupted'' string into the local file.  In the future a
+``rollback'' option may be added to deal with this case.
+
+Note that @samp{-c} only works with @sc{ftp} servers and with @sc{http}
+servers that support the @code{Range} header.
 
 @cindex dot style
 @cindex retrieval tracing style
@@ -602,7 +687,7 @@ reasonably expect the network error to be fixed before the retry.
 @item --waitretry=@var{seconds}
 If you don't want Wget to wait between @emph{every} retrieval, but only
 between retries of failed downloads, you can use this option.  Wget will
-use "linear backoff", waiting 1 second after the first failure on a
+use @dfn{linear backoff}, waiting 1 second after the first failure on a
 given file, then waiting 2 seconds after the second failure on that
 file, up to the maximum number of @var{seconds} you specify.  Therefore,
 a value of 10 will actually make Wget wait up to (1 + 2 + ... + 10) = 55
@@ -614,7 +699,7 @@ Note that this option is turned on by default in the global
 @cindex proxy
 @item -Y on/off
 @itemx --proxy=on/off
-Turn proxy support on or off. The proxy is on by default if the
+Turn proxy support on or off.  The proxy is on by default if the
 appropriate environmental variable is defined.
 
 @cindex quota
@@ -641,10 +726,10 @@ Setting quota to 0 or to @samp{inf} unlimits the download quota.
 @table @samp
 @item -nd
 @itemx --no-directories
-Do not create a hierarchy of directories when retrieving
-recursively. With this option turned on, all files will get saved to the
-current directory, without clobbering (if a name shows up more than
-once, the filenames will get extensions @samp{.n}).
+Do not create a hierarchy of directories when retrieving recursively.
+With this option turned on, all files will get saved to the current
+directory, without clobbering (if a name shows up more than once, the
+filenames will get extensions @samp{.n}).
 
 @item -x
 @itemx --force-directories
@@ -710,8 +795,8 @@ current directory).
 @item -E
 @itemx --html-extension
 If a file of type @samp{text/html} is downloaded and the URL does not
-end with the regexp "\.[Hh][Tt][Mm][Ll]?", this option will cause the
-suffix @samp{.html} to be appended to the local filename.  This is
+end with the regexp @samp{\.[Hh][Tt][Mm][Ll]?}, this option will cause
+the suffix @samp{.html} to be appended to the local filename.  This is
 useful, for instance, when you're mirroring a remote site that uses
 @samp{.asp} pages, but you want the mirrored pages to be viewable on
 your stock Apache server.  Another good use for this is when you're
@@ -720,7 +805,7 @@ downloading the output of CGIs.  A URL like
 @file{article.cgi?25.html}.
 
 Note that filenames changed in this way will be re-downloaded every time
-you re-mirror a site, because wget can't tell that the local
+you re-mirror a site, because Wget can't tell that the local
 @file{@var{X}.html} file corresponds to remote URL @samp{@var{X}} (since
 it doesn't yet know that the URL produces output of type
 @samp{text/html}.  To prevent this re-downloading, you must use
@@ -753,6 +838,30 @@ and flushing out-of-date documents on proxy servers.
 
 Caching is allowed by default.
 
+@cindex cookies
+@item --cookies=on/off
+When set to off, disable the use of cookies.  Cookies are a mechanism
+for maintaining server-side state.  The server sends the client a cookie
+using the @code{Set-Cookie} header, and the client responds with the
+same cookie upon further requests.  Since cookies allow the server
+owners to keep track of visitors and for sites to exchange this
+information, some consider them a breach of privacy.  The default is to
+use cookies; however, @emph{storing} cookies is not on by default.
+
+@cindex loading cookies
+@cindex cookies, loading
+@item --load-cookies @var{file}
+Load cookies from @var{file} before the first HTTP retrieval.  The
+format of @var{file} is one used by Netscape and Mozilla, at least their
+Unix version.
+
+@cindex saving cookies
+@cindex cookies, saving
+@item --save-cookies @var{file}
+Save cookies from @var{file} at the end of session.  Cookies whose
+expiry time is not specified, or those that have already expired, are
+not saved.
+
 @cindex Content-Length, ignore
 @cindex ignore length
 @item --ignore-length
@@ -834,24 +943,31 @@ discouraged, unless you really know what you are doing.
 @section FTP Options
 
 @table @samp
-@cindex symbolic links, retrieving
-@item --retr-symlinks
-Usually, when retrieving @sc{ftp} directories recursively and a symbolic
-link is encountered, the linked-to file is not downloaded.  Instead, a
-matching symbolic link is created on the local filesystem.  The
-pointed-to file will not be downloaded unless this recursive retrieval
-would have encountered it separately and downloaded it anyway.
-
-When @samp{--retr-symlinks} is specified, however, symbolic links are
-traversed and the pointed-to files are retrieved.  At this time, this
-option does not cause wget to traverse symlinks to directories and
-recurse through them, but in the future it should be enhanced to do
-this.
-
-Note that when retrieving a file (not a directory) because it was
-specified on the commandline, rather than because it was recursed to,
-this option has no effect.  Symbolic links are always traversed in this
-case.
+@cindex .listing files, removing
+@item -nr
+@itemx --dont-remove-listing
+Don't remove the temporary @file{.listing} files generated by @sc{ftp}
+retrievals.  Normally, these files contain the raw directory listings
+received from @sc{ftp} servers.  Not removing them can be useful for
+debugging purposes, or when you want to be able to easily check on the
+contents of remote server directories (e.g. to verify that a mirror
+you're running is complete).
+
+Note that even though Wget writes to a known filename for this file,
+this is not a security hole in the scenario of a user making
+@file{.listing} a symbolic link to @file{/etc/passwd} or something and
+asking @code{root} to run Wget in his or her directory.  Depending on
+the options used, either Wget will refuse to write to @file{.listing},
+making the globbing/recursion/time-stamping operation fail, or the
+symbolic link will be deleted and replaced with the actual
+@file{.listing} file, or the listing will be written to a
+@file{.listing.@var{number}} file.
+
+Even though this situation isn't a problem, though, @code{root} should
+never run Wget in a non-trusted user's directory.  A user could do
+something as simple as linking @file{index.html} to @file{/etc/passwd}
+and asking @code{root} to run Wget with @samp{-N} or @samp{-r} so the file
+will be overwritten.
 
 @cindex globbing, toggle
 @item -g on/off
@@ -879,6 +995,25 @@ servers (and the ones emulating Unix @code{ls} output).
 Use the @dfn{passive} @sc{ftp} retrieval scheme, in which the client
 initiates the data connection.  This is sometimes required for @sc{ftp}
 to work behind firewalls.
+
+@cindex symbolic links, retrieving
+@item --retr-symlinks
+Usually, when retrieving @sc{ftp} directories recursively and a symbolic
+link is encountered, the linked-to file is not downloaded.  Instead, a
+matching symbolic link is created on the local filesystem.  The
+pointed-to file will not be downloaded unless this recursive retrieval
+would have encountered it separately and downloaded it anyway.
+
+When @samp{--retr-symlinks} is specified, however, symbolic links are
+traversed and the pointed-to files are retrieved.  At this time, this
+option does not cause Wget to traverse symlinks to directories and
+recurse through them, but in the future it should be enhanced to do
+this.
+
+Note that when retrieving a file (not a directory) because it was
+specified on the commandline, rather than because it was recursed to,
+this option has no effect.  Symbolic links are always traversed in this
+case.
 @end table
 
 @node Recursive Retrieval Options, Recursive Accept/Reject Options, FTP Options, Invoking
@@ -920,13 +1055,44 @@ created in the first place.
 @cindex link conversion
 @item -k
 @itemx --convert-links
-Convert the non-relative links to relative ones locally.  Only the
-references to the documents actually downloaded will be converted; the
-rest will be left unchanged.
+After the download is complete, convert the links in the document to
+make them suitable for local viewing.  This affects not only the visible
+hyperlinks, but any part of the document that links to external content,
+such as embedded images, links to style sheets, hyperlinks to non-HTML
+content, etc.
+
+Each link will be changed in one of the two ways:
+
+@itemize @bullet
+@item
+The links to files that have been downloaded by Wget will be changed to
+refer to the file they point to as a relative link.
+
+Example: if the downloaded file @file{/foo/doc.html} links to
+@file{/bar/img.gif}, also downloaded, then the link in @file{doc.html}
+will be modified to point to @samp{../bar/img.gif}.  This kind of
+transformation works reliably for arbitrary combinations of directories.
+
+@item
+The links to files that have not been downloaded by Wget will be changed
+to include host name and absolute path of the location they point to.
+
+Example: if the downloaded file @file{/foo/doc.html} links to
+@file{/bar/img.gif} (or to @file{../bar/img.gif}), then the link in
+@file{doc.html} will be modified to point to
+@file{http://@var{hostname}/bar/img.gif}.
+@end itemize
+
+Because of this, local browsing works reliably: if a linked file was
+downloaded, the link will refer to its local name; if it was not
+downloaded, the link will refer to its full Internet address rather than
+presenting a broken link.  The fact that the former links are converted
+to relative links ensures that you can move the downloaded hierarchy to
+another directory.
 
 Note that only at the end of the download can Wget know which links have
-been downloaded.  Because of that, much of the work done by @samp{-k}
-will be performed at the end of the downloads.
+been downloaded.  Because of that, the work done by @samp{-k} will be
+performed at the end of all the downloads.
 
 @cindex backing up converted files
 @item -K
@@ -942,31 +1108,24 @@ and time-stamping, sets infinite recursion depth and keeps @sc{ftp}
 directory listings.  It is currently equivalent to
 @samp{-r -N -l inf -nr}.
 
-@item -nr
-@itemx --dont-remove-listing
-Don't remove the temporary @file{.listing} files generated by @sc{ftp}
-retrievals.  Normally, these files contain the raw directory listings
-received from @sc{ftp} servers.  Not removing them can be useful to
-access the full remote file list when running a mirror, or for debugging
-purposes.
-
 @cindex page requisites
 @cindex required images, downloading
 @item -p
 @itemx --page-requisites
-This option causes wget to download all the files that are necessary to
+This option causes Wget to download all the files that are necessary to
 properly display a given HTML page.  This includes such things as
 inlined images, sounds, and referenced stylesheets.
 
 Ordinarily, when downloading a single HTML page, any requisite documents
 that may be needed to display it properly are not downloaded.  Using
-@samp{-r} together with @samp{-l} can help, but since wget does not
+@samp{-r} together with @samp{-l} can help, but since Wget does not
 ordinarily distinguish between external and inlined documents, one is
-generally left with "leaf documents" that are missing their requisites.
+generally left with ``leaf documents'' that are missing their
+requisites.
 
 For instance, say document @file{1.html} contains an @code{<IMG>} tag
 referencing @file{1.gif} and an @code{<A>} tag pointing to external
-document @file{2.html}.  Say that @file{2.html} is the same but that its
+document @file{2.html}.  Say that @file{2.html} is similar but that its
 image is @file{2.gif} and it links to @file{3.html}.  Say this
 continues up to some arbitrarily high number.
 
@@ -978,7 +1137,7 @@ wget -r -l 2 http://@var{site}/1.html
 
 then @file{1.html}, @file{1.gif}, @file{2.html}, @file{2.gif}, and
 @file{3.html} will be downloaded.  As you can see, @file{3.html} is
-without its requisite @file{3.gif} because wget is simply counting the
+without its requisite @file{3.gif} because Wget is simply counting the
 number of hops (up to 2) away from @file{1.html} in order to determine
 where to stop the recursion.  However, with this command:
 
@@ -1001,16 +1160,17 @@ wget -r -l 0 -p http://@var{site}/1.html
 @end example
 
 would download just @file{1.html} and @file{1.gif}, but unfortunately
-this is not the case, because @samp{-l 0} is equivalent to @samp{-l inf}
--- that is, infinite recursion.  To download a single HTML page (or a
-handful of them, all specified on the commandline or in a @samp{-i} @sc{url}
-input file) and its requisites, simply leave off @samp{-p} and @samp{-l}:
+this is not the case, because @samp{-l 0} is equivalent to
+@samp{-l inf}---that is, infinite recursion.  To download a single HTML
+page (or a handful of them, all specified on the commandline or in a
+@samp{-i} @sc{url} input file) and its (or their) requisites, simply leave off
+@samp{-r} and @samp{-l}:
 
 @example
 wget -p http://@var{site}/1.html
 @end example
 
-Note that wget will behave as if @samp{-r} had been specified, but only
+Note that Wget will behave as if @samp{-r} had been specified, but only
 that single page and its requisites will be downloaded.  Links from that
 page to external documents will not be followed.  Actually, to download
 a single page and all its requisites (even if they exist on separate
@@ -1021,7 +1181,18 @@ likes to use a few options in addition to @samp{-p}:
 wget -E -H -k -K -nh -p http://@var{site}/@var{document}
 @end example
 
-To finish off this topic, it's worth knowing that wget's idea of an
+In one case you'll need to add a couple more options.  If @var{document}
+is a @code{<FRAMESET>} page, the "one more hop" that @samp{-p} gives you
+won't be enough---you'll get the @code{<FRAME>} pages that are
+referenced, but you won't get @emph{their} requisites.  Therefore, in
+this case you'll need to add @samp{-r -l1} to the commandline.  The
+@samp{-r -l1} will recurse from the @code{<FRAMESET>} page to to the
+@code{<FRAME>} pages, and the @samp{-p} will get their requisites.  If
+you're already using a recursion level of 1 or more, you'll need to up
+it by one.  In the future, @samp{-p} may be made smarter so that it'll
+do "two more hops" in the case of a @code{<FRAMESET>} page.
+
+To finish off this topic, it's worth knowing that Wget's idea of an
 external document link is any URL specified in an @code{<A>} tag, an
 @code{<AREA>} tag, or a @code{<LINK>} tag other than @code{<LINK
 REL="stylesheet">}.
@@ -1075,7 +1246,7 @@ wget -Ga,area -H -k -K -nh -r http://@var{site}/@var{document}
 
 However, the author of this option came across a page with tags like
 @code{<LINK REL="home" HREF="/">} and came to the realization that
-@samp{-G} was not enough.  One can't just tell wget to ignore
+@samp{-G} was not enough.  One can't just tell Wget to ignore
 @code{<LINK>}, because then stylesheets will not be downloaded.  Now the
 best bet for downloading a single page and its requisites is the
 dedicated @samp{--page-requisites} option.
@@ -1116,6 +1287,8 @@ This is a useful option, since it guarantees that only the files
 @xref{Directory-Based Limits}, for more details.
 @end table
 
+@c man end
+
 @node Recursive Retrieval, Following Links, Invoking, Top
 @chapter Recursive Retrieval
 @cindex recursion
@@ -1492,8 +1665,8 @@ recently than the local file.
 @end enumerate
 
 To implement this, the program needs to be aware of the time of last
-modification of both remote and local files.  Such information are
-called the @dfn{time-stamps}.
+modification of both local and remote files.  We call this information the
+@dfn{time-stamp} of a file.
 
 The time-stamping in GNU Wget is turned on using @samp{--timestamping}
 (@samp{-N}) option, or through @code{timestamping = on} directive in
@@ -1526,7 +1699,7 @@ wget -S http://www.gnu.ai.mit.edu/
 A simple @code{ls -l} shows that the time stamp on the local file equals
 the state of the @code{Last-Modified} header, as returned by the server.
 As you can see, the time-stamping info is preserved locally, even
-without @samp{-N}.
+without @samp{-N} (at least for @sc{http}).
 
 Several days later, you would like Wget to check if the remote file has
 changed, and download it if it has.
@@ -1536,31 +1709,37 @@ wget -N http://www.gnu.ai.mit.edu/
 @end example
 
 Wget will ask the server for the last-modified date.  If the local file
-is newer, the remote file will not be re-fetched.  However, if the remote
-file is more recent, Wget will proceed fetching it normally.
+has the same timestamp as the server, or a newer one, the remote file
+will not be re-fetched.  However, if the remote file is more recent,
+Wget will proceed to fetch it.
 
 The same goes for @sc{ftp}.  For example:
 
 @example
-wget ftp://ftp.ifi.uio.no/pub/emacs/gnus/*
+wget "ftp://ftp.ifi.uio.no/pub/emacs/gnus/*"
 @end example
 
-@code{ls} will show that the timestamps are set according to the state
-on the remote server.  Reissuing the command with @samp{-N} will make
-Wget re-fetch @emph{only} the files that have been modified.
+(The quotes around that URL are to prevent the shell from trying to
+interpret the @samp{*}.)
 
-In both @sc{http} and @sc{ftp} retrieval Wget will time-stamp the local
-file correctly (with or without @samp{-N}) if it gets the stamps,
-i.e. gets the directory listing for @sc{ftp} or the @code{Last-Modified}
-header for @sc{http}.
+After download, a local directory listing will show that the timestamps
+match those on the remote server.  Reissuing the command with @samp{-N}
+will make Wget re-fetch @emph{only} the files that have been modified
+since the last download.
 
-If you wished to mirror the GNU archive every week, you would use the
-following command every week:
+If you wished to mirror the GNU archive every week, you would use a
+command like the following, weekly:
 
 @example
-wget --timestamping -r ftp://prep.ai.mit.edu/pub/gnu/
+wget --timestamping -r ftp://ftp.gnu.org/pub/gnu/
 @end example
 
+Note that time-stamping will only work for files for which the server
+gives a timestamp.  For @sc{http}, this depends on getting a
+@code{Last-Modified} header.  For @sc{ftp}, this depends on getting a
+directory listing with dates in a format that Wget can parse
+(@pxref{FTP Time-Stamping Internals}).
+
 @node HTTP Time-Stamping Internals, FTP Time-Stamping Internals, Time-Stamping Usage, Time-Stamping
 @section HTTP Time-Stamping Internals
 @cindex http time-stamping
@@ -1598,13 +1777,17 @@ Arguably, @sc{http} time-stamping should be implemented using the
 @cindex ftp time-stamping
 
 In theory, @sc{ftp} time-stamping works much the same as @sc{http}, only
-@sc{ftp} has no headers---time-stamps must be received from the
-directory listings.
-
-For each directory files must be retrieved from, Wget will use the
-@code{LIST} command to get the listing.  It will try to analyze the
-listing, assuming that it is a Unix @code{ls -l} listing, and extract
-the time-stamps.  The rest is exactly the same as for @sc{http}.
+@sc{ftp} has no headers---time-stamps must be ferreted out of directory
+listings.
+
+If an @sc{ftp} download is recursive or uses globbing, Wget will use the
+@sc{ftp} @code{LIST} command to get a file listing for the directory
+containing the desired file(s).  It will try to analyze the listing,
+treating it like Unix @code{ls -l} output, extracting the time-stamps.
+The rest is exactly the same as for @sc{http}.  Note that when
+retrieving individual files from an @sc{ftp} server without using
+globbing or recursion, listing files will not be downloaded (and thus
+files will not be time-stamped) unless @samp{-N} is specified.
 
 Assumption that every directory listing is a Unix-style listing may
 sound extremely constraining, but in practice it is not, as many
@@ -1701,10 +1884,10 @@ reject =
 The complete set of commands is listed below.  Legal values are listed
 after the @samp{=}.  Simple Boolean values can be set or unset using
 @samp{on} and @samp{off} or @samp{1} and @samp{0}.  A fancier kind of
-Boolean allowed in some cases is the "lockable" Boolean, which may be
-set to @samp{on}, @samp{off}, @samp{always}, or @samp{never}.  If an
+Boolean allowed in some cases is the @dfn{lockable Boolean}, which may
+be set to @samp{on}, @samp{off}, @samp{always}, or @samp{never}.  If an
 option is set to @samp{always} or @samp{never}, that value will be
-locked in for the duration of the wget invocation -- commandline options
+locked in for the duration of the Wget invocation---commandline options
 will not override.
 
 Some commands take pseudo-arbitrary values.  @var{address} values can be
@@ -1723,24 +1906,24 @@ Same as @samp{-A}/@samp{-R} (@pxref{Types of Files}).
 Enable/disable host-prefixed file names.  @samp{-nH} disables it.
 
 @item continue = on/off
-Enable/disable continuation of the retrieval -- the same as @samp{-c}
-(which enables it).
+If set to on, force continuation of preexistent partially retrieved
+files.  See @samp{-c} before setting it.
 
 @item background = on/off
-Enable/disable going to background -- the same as @samp{-b} (which enables
-it).
+Enable/disable going to background---the same as @samp{-b} (which
+enables it).
 
 @item backup_converted = on/off
-Enable/disable saving pre-converted files with the suffix @samp{.orig}
--- the same as @samp{-K} (which enables it).
+Enable/disable saving pre-converted files with the suffix
+@samp{.orig}---the same as @samp{-K} (which enables it).
 
 @c @item backups = @var{number}
 @c #### Document me!
 @c
 @item base = @var{string}
 Consider relative @sc{url}s in @sc{url} input files forced to be
-interpreted as @sc{html} as being relative to @var{string} -- the same
-as @samp{-B}.
+interpreted as @sc{html} as being relative to @var{string}---the same as
+@samp{-B}.
 
 @item bind_address = @var{address}
 Bind to @var{address}, like the @samp{--bind-address} option.
@@ -1751,6 +1934,15 @@ When set to off, disallow server-caching.  See the @samp{-C} option.
 @item convert links = on/off
 Convert non-relative links locally.  The same as @samp{-k}.
 
+@item cookies = on/off
+When set to off, disallow cookies.  See the @samp{--cookies} option.
+
+@item load_cookies = @var{file}
+Load cookies from @var{file}.  See @samp{--load-cookies}.
+
+@item save_cookies = @var{file}
+Save cookies to @var{file}.  See @samp{--save-cookies}.
+
 @item cut_dirs = @var{n}
 Ignore @var{n} remote directory components.
 
@@ -1758,13 +1950,13 @@ Ignore @var{n} remote directory components.
 Debug mode, same as @samp{-d}.
 
 @item delete_after = on/off
-Delete after download -- the same as @samp{--delete-after}.
+Delete after download---the same as @samp{--delete-after}.
 
 @item dir_prefix = @var{string}
-Top of directory tree -- the same as @samp{-P}.
+Top of directory tree---the same as @samp{-P}.
 
 @item dirstruct = on/off
-Turning dirstruct on or off -- the same as @samp{-x} or @samp{-nd},
+Turning dirstruct on or off---the same as @samp{-x} or @samp{-nd},
 respectively.
 
 @item domains = @var{string}
@@ -1790,28 +1982,28 @@ Specify the dot retrieval @dfn{style}, as with @samp{--dot-style}.
 
 @item exclude_directories = @var{string}
 Specify a comma-separated list of directories you wish to exclude from
-download -- the same as @samp{-X} (@pxref{Directory-Based Limits}).
+download---the same as @samp{-X} (@pxref{Directory-Based Limits}).
 
 @item exclude_domains = @var{string}
 Same as @samp{--exclude-domains} (@pxref{Domain Acceptance}).
 
 @item follow_ftp = on/off
-Follow @sc{ftp} links from @sc{html} documents -- the same as @samp{-f}.
+Follow @sc{ftp} links from @sc{html} documents---the same as @samp{-f}.
 
 @item follow_tags = @var{string}
 Only follow certain HTML tags when doing a recursive retrieval, just like
-@samp{--follow-tags}. 
+@samp{--follow-tags}.
 
 @item force_html = on/off
 If set to on, force the input filename to be regarded as an @sc{html}
-document -- the same as @samp{-F}.
+document---the same as @samp{-F}.
 
 @item ftp_proxy = @var{string}
 Use @var{string} as @sc{ftp} proxy, instead of the one specified in
 environment.
 
 @item glob = on/off
-Turn globbing on/off -- the same as @samp{-g}.
+Turn globbing on/off---the same as @samp{-g}.
 
 @item header = @var{string}
 Define an additional header, like @samp{--header}.
@@ -1836,23 +2028,23 @@ When set to on, ignore @code{Content-Length} header; the same as
 
 @item ignore_tags = @var{string}
 Ignore certain HTML tags when doing a recursive retrieval, just like
-@samp{-G} / @samp{--ignore-tags}. 
+@samp{-G} / @samp{--ignore-tags}.
 
 @item include_directories = @var{string}
 Specify a comma-separated list of directories you wish to follow when
-downloading -- the same as @samp{-I}.
+downloading---the same as @samp{-I}.
 
 @item input = @var{string}
 Read the @sc{url}s from @var{string}, like @samp{-i}.
 
 @item kill_longer = on/off
-Consider data longer than specified in content-length header
-as invalid (and retry getting it). The default behaviour is to save
-as much data as there is, provided there is more than or equal
-to the value in @code{Content-Length}.
+Consider data longer than specified in content-length header as invalid
+(and retry getting it).  The default behaviour is to save as much data
+as there is, provided there is more than or equal to the value in
+@code{Content-Length}.
 
 @item logfile = @var{string}
-Set logfile -- the same as @samp{-o}.
+Set logfile---the same as @samp{-o}.
 
 @item login = @var{string}
 Your user name on the remote machine, for @sc{ftp}.  Defaults to
@@ -1876,14 +2068,14 @@ Use @var{string} as the comma-separated list of domains to avoid in
 proxy loading, instead of the one specified in environment.
 
 @item output_document = @var{string}
-Set the output filename -- the same as @samp{-O}.
+Set the output filename---the same as @samp{-O}.
 
 @item page_requisites = on/off
 Download all ancillary documents necessary for a single HTML page to
-display properly -- the same as @samp{-p}.
+display properly---the same as @samp{-p}.
 
 @item passive_ftp = on/off/always/never
-Set passive @sc{ftp} -- the same as @samp{--passive-ftp}.  Some scripts
+Set passive @sc{ftp}---the same as @samp{--passive-ftp}.  Some scripts
 and @samp{.pm} (Perl module) files download files using @samp{wget
 --passive-ftp}.  If your firewall does not allow this, you can set
 @samp{passive_ftp = never} to override the commandline.
@@ -1901,27 +2093,28 @@ Set proxy authentication password to @var{string}, like @samp{--proxy-passwd}.
 @item referer = @var{string}
 Set HTTP @samp{Referer:} header just like @samp{--referer}.  (Note it
 was the folks who wrote the @sc{http} spec who got the spelling of
-"referrer" wrong.)
+``referrer'' wrong.)
 
 @item quiet = on/off
-Quiet mode -- the same as @samp{-q}.
+Quiet mode---the same as @samp{-q}.
 
 @item quota = @var{quota}
 Specify the download quota, which is useful to put in the global
-@file{wgetrc}. When download quota is specified, Wget will stop retrieving
-after the download sum has become greater than quota.  The quota can be
-specified in bytes (default), kbytes @samp{k} appended) or mbytes
-(@samp{m} appended).  Thus @samp{quota = 5m} will set the quota to 5
-mbytes. Note that the user's startup file overrides system settings.
+@file{wgetrc}.  When download quota is specified, Wget will stop
+retrieving after the download sum has become greater than quota.  The
+quota can be specified in bytes (default), kbytes @samp{k} appended) or
+mbytes (@samp{m} appended).  Thus @samp{quota = 5m} will set the quota
+to 5 mbytes.  Note that the user's startup file overrides system
+settings.
 
 @item reclevel = @var{n}
-Recursion level -- the same as @samp{-l}.
+Recursion level---the same as @samp{-l}.
 
 @item recursive = on/off
-Recursive on/off -- the same as @samp{-r}.
+Recursive on/off---the same as @samp{-r}.
 
 @item relative_only = on/off
-Follow only relative links -- the same as @samp{-L} (@pxref{Relative
+Follow only relative links---the same as @samp{-L} (@pxref{Relative
 Links}).
 
 @item remove_listing = on/off
@@ -1938,7 +2131,7 @@ what you are doing before changing the default (which is @samp{on}).
 
 @item server_response = on/off
 Choose whether or not to print the @sc{http} and @sc{ftp} server
-responses -- the same as @samp{-S}.
+responses---the same as @samp{-S}.
 
 @item simple_host_check = on/off
 Same as @samp{-nh} (@pxref{Host Checking}).
@@ -1947,27 +2140,27 @@ Same as @samp{-nh} (@pxref{Host Checking}).
 Same as @samp{-H}.
 
 @item timeout = @var{n}
-Set timeout value -- the same as @samp{-T}.
+Set timeout value---the same as @samp{-T}.
 
 @item timestamping = on/off
-Turn timestamping on/off. The same as @samp{-N} (@pxref{Time-Stamping}).
+Turn timestamping on/off.  The same as @samp{-N} (@pxref{Time-Stamping}).
 
 @item tries = @var{n}
-Set number of retries per @sc{url} -- the same as @samp{-t}.
+Set number of retries per @sc{url}---the same as @samp{-t}.
 
 @item use_proxy = on/off
-Turn proxy support on/off. The same as @samp{-Y}.
+Turn proxy support on/off.  The same as @samp{-Y}.
 
 @item verbose = on/off
-Turn verbose on/off -- the same as @samp{-v}/@samp{-nv}.
+Turn verbose on/off---the same as @samp{-v}/@samp{-nv}.
 
 @item wait = @var{n}
-Wait @var{n} seconds between retrievals -- the same as @samp{-w}.
+Wait @var{n} seconds between retrievals---the same as @samp{-w}.
 
 @item waitretry = @var{n}
-Wait up to @var{n} seconds between retries of failed retrievals only --
-the same as @samp{--waitretry}.  Note that this is turned on by default
-in the global @file{wgetrc}.
+Wait up to @var{n} seconds between retries of failed retrievals
+only---the same as @samp{--waitretry}.  Note that this is turned on by
+default in the global @file{wgetrc}.
 @end table
 
 @node Sample Wgetrc,  , Wgetrc Commands, Startup File
@@ -2371,17 +2564,18 @@ the magic word @samp{subscribe} in the subject line.  Unsubscribe by
 mailing to @email{wget-unsubscribe@@sunsite.auc.dk}.
 
 The mailing list is archived at @url{http://fly.srk.fer.hr/archive/wget}.
-
+Alternative archive is available at
+@url{http://www.mail-archive.com/wget%40sunsite.auc.dk/}.
 @node Reporting Bugs, Portability, Mailing List, Various
 @section Reporting Bugs
 @cindex bugs
 @cindex reporting bugs
 @cindex bug reports
 
+@c man begin BUGS
 You are welcome to send bug reports about GNU Wget to
-@email{bug-wget@@gnu.org}.  The bugs that you think are of the
-interest to the public (i.e. more people should be informed about them)
-can be Cc-ed to the mailing list at @email{wget@@sunsite.auc.dk}.
+@email{bug-wget@@gnu.org}.
 
 Before actually submitting a bug report, please try to follow a few
 simple guidelines.
@@ -2419,6 +2613,7 @@ wget` core} and type @code{where} to get the backtrace.
 @item
 Find where the bug is, fix it and send me the patches. :-)
 @end enumerate
+@c man end
 
 @node Portability, Signals, Reporting Bugs, Various
 @section Portability
@@ -2464,9 +2659,8 @@ $ wget http://www.ifi.uio.no/~larsi/gnus.tar.gz &
 $ kill -HUP %%     # Redirect the output to wget-log
 @end example
 
-Other than that, Wget will not try to interfere with signals in any
-way. @kbd{C-c}, @code{kill -TERM} and @code{kill -KILL} should kill it
-alike.
+Other than that, Wget will not try to interfere with signals in any way.
+@kbd{C-c}, @code{kill -TERM} and @code{kill -KILL} should kill it alike.
 
 @node Appendices, Copying, Various, Top
 @chapter Appendices
@@ -2485,10 +2679,26 @@ This chapter contains some references I consider useful.
 @cindex robots.txt
 @cindex server maintenance
 
-Since Wget is able to traverse the web, it counts as one of the Web
-@dfn{robots}.  Thus Wget understands @dfn{Robots Exclusion Standard}
-(@sc{res})---contents of @file{/robots.txt}, used by server
-administrators to shield parts of their systems from wanderings of Wget.
+It is extremely easy to make Wget wander aimlessly around a web site,
+sucking all the available data in progress.  @samp{wget -r @var{site}},
+and you're set.  Great?  Not for the server admin.
+
+While Wget is retrieving static pages, there's not much of a problem.
+But for Wget, there is no real difference between the smallest static
+page and the hardest, most demanding CGI or dynamic page.  For instance,
+a site I know has a section handled by an, uh, bitchin' CGI script that
+converts all the Info files to HTML.  The script can and does bring the
+machine to its knees without providing anything useful to the
+downloader.
+
+For such and similar cases various robot exclusion schemes have been
+devised as a means for the server administrators and document authors to
+protect chosen portions of their sites from the wandering of robots.
+
+The more popular mechanism is the @dfn{Robots Exclusion Standard}
+written by Martijn Koster et al. in 1994.  It is specified by placing a
+file named @file{/robots.txt} in the server root, which the robots are
+supposed to download and parse.  Wget supports this specification.
 
 Norobots support is turned on only when retrieving recursively, and
 @emph{never} for the first page.  Thus, you may issue:
@@ -2500,8 +2710,7 @@ wget -r http://fly.srk.fer.hr/
 First the index of fly.srk.fer.hr will be downloaded.  If Wget finds
 anything worth downloading on the same host, only @emph{then} will it
 load the robots, and decide whether or not to load the links after all.
-@file{/robots.txt} is loaded only once per host.  Wget does not support
-the robots @code{META} tag.
+@file{/robots.txt} is loaded only once per host.
 
 Note that the exlusion standard discussed here has undergone some
 revisions.  However, but Wget supports only the first version of
@@ -2517,6 +2726,20 @@ but we plan to add them.
 
 This manual no longer includes the text of the old standard.
 
+The second, less known mechanism, enables the author of an individual
+document to specify whether they want the links from the file to be
+followed by a robot.  This is achieved using the @code{META} tag, like
+this:
+
+@example
+<meta name="robots" content="nofollow">
+@end example
+
+This is explained in some detail at
+@url{http://info.webcrawler.com/mak/projects/robots/meta-user.html}.
+Wget supports this method of robot exclusion in addition to the usual
+@file{/robots.txt} exclusion.
+
 @node Security Considerations, Contributors, Robots, Appendices
 @section Security Considerations
 @cindex security
@@ -2712,7 +2935,12 @@ Charlie Negyesi,
 R. K. Owen,
 Andrew Pollock,
 Steve Pothier,
+@iftex
+Jan P@v{r}ikryl,
+@end iftex
+@ifinfo
 Jan Prikryl,
+@end ifinfo
 Marin Purgar,
 Keith Refson,
 Tyler Riddle,
@@ -2756,11 +2984,12 @@ subscribers of the Wget mailing list.
 @cindex GFDL
 
 Wget is @dfn{free software}, where ``free'' refers to liberty, not
-price.  The exact legal distribution terms follow below, but in short,
-it means that you have the right (freedom) to run and change and copy
-Wget, and even---if you want---charge money for any of those things.
-The sole restriction is that you have to grant your recipients the same
-rights.
+price.  As the GNU people like to say, think of ``free speech'' rather
+than ``free beer''.  The exact legal distribution terms follow below,
+but in short, you have the right (freedom) to run and change Wget and
+distribute it to other people, and even---if you want---charge money for
+any of these things.  The sole restriction is that you have to grant
+your recipients the same rights.
 
 This method of licensing software is also known as @dfn{open-source},
 because it requires that the recipients always receive a program's
@@ -2789,10 +3018,11 @@ In addition to this, this manual is free in the same sense:
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+any later version published by the Free Software Foundation; with the
+Invariant Sections being ``GNU General Public License'' and ``GNU Free
+Documentation License'', with no Front-Cover Texts, and with no
+Back-Cover Texts.  A copy of the license is included in the section
+entitled ``GNU Free Documentation License''.
 @end quotation
 
 @c #### Maybe we should wrap these licenses in ifinfo?  Stallman says