Package: wget2
Version: 2.2.0+ds-2+b1
Severity: minor
Tags: patch

Dear Maintainer,

>From "/usr/share/doc/debian/bug-reporting.txt.gz":

  Don't file bugs upstream

   If you file a bug in Debian, don't send a copy to the upstream software
   maintainers yourself, as it is possible that the bug exists only in
   Debian. If necessary, the maintainer of the package will forward the
   bug upstream.

-.-

  I do not send reports upstream if I have to get an account there.
The Debian maintainers have one already.

  If I get a negative (or no) response from upstream, I send henceforth
bugs to Debian.

-.-

   * What led up to the situation?

     Checking for defects with a new version

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z < "man page"

  [Use 

grep -n -e ' $' -e '\\~$' -e ' \\f.$' -e ' \\"' <file>

  to find (most) trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:362: warning: [page 5, 2.5i]: cannot adjust line in b adjust 
mode; overset by 6.769n
troff:<stdin>:1863: warning: [page 22, 1.9i]: cannot adjust line in b adjust 
mode; overset by 2.853n

Output from "test-nroff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:292: warning [page 1, line 263]: cannot break line in l adjust 
mode; overset by 6n
troff:<stdin>:362: warning [page 1, line 327]: cannot break line in l adjust 
mode; overset by 29n
troff:<stdin>:1863: warning [page 1, line 1683]: cannot break line in l adjust 
mode; overset by 30n


   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.17.9+deb14-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages wget2 depends on:
ii  libc6         2.41-12
ii  libgpgme45    2.0.1-2
ii  libpcre2-8-0  10.46-1
ii  libubsan1     15.2.0-9
ii  libwget3      2.2.0+ds-2+b1

Versions of packages wget2 recommends:
ii  ca-certificates  20250419

wget2 suggests no packages.

-- no debconf information
Input file is wget2.1

Output from "mandoc -T lint  wget2.1": (shortened list)

      2 WARNING: empty block: MT
      1 WARNING: missing date, using "": TH

-.-.

Output from
test-nroff -mandoc -t -ww -z wget2.1: (shortened list)

      1 cannot break line in l adjust mode; overset by 29n
      1 cannot break line in l adjust mode; overset by 30n
      1 cannot break line in l adjust mode; overset by 6n

-.-.

Lines containing '\c':
(found with 'grep -n -A 1')

2402:You are welcome to submit bug reports via the \c
2403-.UR https://gitlab.com/gnuwget/wget2/issues
--
2405:.UE \c
2406-\&.
--
2455:Wget2 written by Tim Rühsen \c
2456-.MT [email protected]
2457:.ME \c
2458-.PP
2459:Wget 1.x originally written by Hrvoje Nikšić \c
2460-.MT [email protected]
2461:.ME \c
2462-.SH Copyright

-.-.

Show if generated by Pandoc 

1:.\" Automatically generated by Pandoc 3.1.11.1

Latest version: pandoc 3.1.11.1

-.-.

Change '-' (\-) to '\(en' (en-dash) for a (numeric) range.

GNU gnulib has recently (2023-06-18) updated its
"build_aux/update-copyright" to recognize "\(en" in man pages.

wget2.1:2463:Copyright (C) 2012\-2015 Tim Rühsen
wget2.1:2465:Copyright (C) 2015\-2024 Free Software Foundation, Inc.

-.-.

Change (or include a "FIXME" paragraph about) misused SI (metric)
numeric prefixes (or names) to the binary ones, like Ki (kibi), Mi
(mebi), Gi (gibi), or Ti (tebi), if indicated.
If the metric prefixes are correct, add the definitions or an
explanation to avoid misunderstanding.

583:Offset may be expressed in bytes, kilobytes with the
699:Amount may be expressed in bytes, kilobytes with the k suffix, or
701:For example, \f[CR]\-\-limit\-rate=20k\f[R] will limit the retrieval
702:rate to 20KB/s.
707:with power suffixes; for example, \f[CR]\-\-limit\-rate=2.5k\f[R] is a
766:The value can be specified in bytes (default), kilobytes (with k
773:  wget2 \-Q10k https://example.com/bigfile.gz

-.-.

Reduce space between words.

wget2.1:387:\[ga]Verification\[ga] PGP verification status. 0,1,2,3 mean 
\[aq]none\[aq],  \[aq]valid\[aq], \[aq]invalid\[aq], \[aq]bad\[aq], 
\[aq]missing\[aq].
wget2.1:584:\f[CR]k\[aq]   suffix, or megabytes with the\f[R]m\[cq] suffix, etc.
wget2.1:1119:\f[CR]wget2 \-r   https://example.com\f[R] will save to
wget2.1:1135:\f[CR]No options        \-> example.com/pub/sub/      
\-\-cut\-dirs=1      \-> example.com/sub/      \-\-cut\-dirs=2      \-> 
example.com/      \-nH               \-> pub/sub/      \-nH \-\-cut\-dirs=1  
\-> sub/      \-nH \-\-cut\-dirs=2  \-> .\f[R]
wget2.1:1358:       \-\-header=\[aq]Accept\-Language: hr\[aq]        \[rs]
wget2.1:1359:         https://example.com/
wget2.1:1477:       \-\-post\-data  \[aq]user=foo&password=bar\[aq] \[rs]
wget2.1:1478:       http://example.com/auth.php
wget2.1:1482:       \-p http://example.com/interesting/article.php
wget2.1:2421:\f[CR]wget2 \-rl0   \-kKE \-t5 \-\-no\-proxy https://example.com 
\-o /tmp/log\f[R],

-.-.

Add a (no-break, "\ " or "\~") space between a number and a unit,
as these are not one entity.

702:rate to 20KB/s.

-.-.

Use the word (in)valid instead of (il)legal,
if not related to legal matters.

See "www.gnu.org/prep/standards".

Think about translations into other languages!

wget2.1:673:For example, 0.1 seconds is a legal (though unwise) choice of 
timeout.
wget2.1:708:legal value.
wget2.1:1603:Legal values are \f[CR]auto\f[R], \f[CR]SSLv3\f[R], 
\f[CR]TLSv1\f[R],
wget2.1:1671:Legal values are PEM (assumed by default) and DER, also known as 
ASN1.

-.-.

Find a repeated word

! 1589 --> as

-.-.

Strings longer than 3/4 of a standard line length (80).

Use "\:" to split the string at the end of an output line, for example a
long URL (web address).
This is a groff extension.

292 
Hostname,TLSVersion,FalseStart,TFO,Resumed,ALPN,HTTPVersion,Certificates,Duration
362 
ID,ParentID,URL,Status,Link,Method,Size,SizeDecompressed,TransferTime,ResponseTime,Encoding,Verification
900 
https://candrews.integralblue.com/2019/03/the\-sad\-story\-of\-tcp\-fast\-open/
1863 
https://web.archive.org/web/20171103231804/https://blog.filippo.io/we\-need\-to\-talk\-about\-session\-tickets/

-.-.

Add a "\&" (or a comma (Oxford comma)) after an abbreviation
or use English words
(man-pages(7)).
Abbreviation points should be marked as such and protected against being
interpreted as an end of sentence, if they are not, and that independent
of the current place on the line.

1033:By default, if a signature file cannot be found (I.E.
1107:E.g.
2419:E.g.

-.-.

Wrong distance (not two spaces) between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

Mark a final abbreviation point as such by suffixing it with "\&".

Some sentences (etc.) do not begin on a new line.

Split (sometimes) lines after a punctuation mark; before a conjunction.

  Lines with only one (or two) space(s) between sentences could be split,
so latter sentences begin on a new line.

Use

#!/usr/bin/sh

sed -e '/^\./n' \
-e 's/\([[:alpha:]]\)\.  */\1.\n/g' $1

to split lines after a sentence period.
Check result with the difference between the formatted outputs.
See also the attachment "general.bugs"

7:\f[CR]wget2 [options]... [URL]...\f[R]
295:\[ga]TLSVersion\[ga] can be 1,2,3,4,5 for SSL3, TLS1.0, TLS1.1, TLS1.2 and 
TLS1.3. \-1 means \[aq]None\[aq].
297:\[ga]FalseStart\[ga] whether the connection used TLS False Start. \-1 if 
not applicable.
299:\[ga]TFO\[ga] whether the connection used TCP Fast Open. \-1 is TFO was 
disabled.
387:\[ga]Verification\[ga] PGP verification status. 0,1,2,3 mean 
\[aq]none\[aq],  \[aq]valid\[aq], \[aq]invalid\[aq], \[aq]bad\[aq], 
\[aq]missing\[aq].
2321:  2   Parse error. For instance, when parsing command\-line options, the 
.wget2rc or .netrc...

-.-.

Split lines longer than 80 characters (fill completely
an A4 sized page line on a terminal)
into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.
Add "\:" to split the string for the output, "\<newline>" in the source.  

[List of affected lines removed.]

Longest line is number 1135 with 249 characters
\f[CR]No options        \-> example.com/pub/sub/      \-\-cut\-dirs=1      \-> 
example.com/sub/      \-\-cut\-dirs=2      \-> example.com/      \-nH           
    \-> pub/sub/      \-nH \-\-cut\-dirs=1  \-> sub/      \-nH \-\-cut\-dirs=2  
\-> .\f[R]

-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".

[List of affected lines removed.]

-.-.

Use a character "\(->" instead of plain "->" or "\->", if not typeset with
a constant width font.

1135:\f[CR]No options        \-> example.com/pub/sub/      \-\-cut\-dirs=1      
\-> example.com/sub/      \-\-cut\-dirs=2      \-> example.com/      \-nH       
        \-> pub/sub/      \-nH \-\-cut\-dirs=1  \-> sub/      \-nH 
\-\-cut\-dirs=2  \-> .\f[R]

-.-.

No need for '\&' to be in front of a period (.),
if there is a character in front of it.

Remove with "sed -e 's/\(.\)\\&\./\1./g'".

[List of affected lines removed.]


225:\f[CR]\-\-force\f[R]\&...

-.-.

Only one space character is after a possible end of sentence
(after a punctuation, that can end a sentence).

[List of affected lines removed.]


wget2.1:295:\[ga]TLSVersion\[ga] can be 1,2,3,4,5 for SSL3, TLS1.0, TLS1.1, 
TLS1.2 and TLS1.3. \-1 means \[aq]None\[aq].
wget2.1:297:\[ga]FalseStart\[ga] whether the connection used TLS False Start. 
\-1 if not applicable.
wget2.1:299:\[ga]TFO\[ga] whether the connection used TCP Fast Open. \-1 is TFO 
was disabled.
wget2.1:387:\[ga]Verification\[ga] PGP verification status. 0,1,2,3 mean 
\[aq]none\[aq],  \[aq]valid\[aq], \[aq]invalid\[aq], \[aq]bad\[aq], 
\[aq]missing\[aq].
wget2.1:2321:  2   Parse error. For instance, when parsing command\-line 
options, the .wget2rc or .netrc...

-.-.

Remove quotes when there is a printable
but no space character between them
and the quotes are not for emphasis (markup),
for example as an argument to a macro.

wget2.1:3:.TH "WGET2" "1" "" "GNU Wget2 User Manual" "GNU Wget2 2.2.0"
wget2.1:1976:.IP "1." 3
wget2.1:1987:.IP "2." 3
wget2.1:2386:.IP "1." 3
wget2.1:2388:.IP "2." 3
wget2.1:2390:.IP "3." 3
wget2.1:2410:.IP "1." 3
wget2.1:2417:.IP "2." 3
wget2.1:2434:.IP "3." 3
wget2.1:2448:.IP "4." 3

-.-.

Add "\&" after an ellipsis, when it does not end a sentence.

7:\f[CR]wget2 [options]... [URL]...\f[R]
225:\f[CR]\-\-force\f[R]\&...
1120:\f[CR]https/example.com/...\f[R] rather than just to

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:362: warning: [page 5, 2.5i]: cannot adjust line in b adjust 
mode; overset by 6.769n
troff:<stdin>:1863: warning: [page 22, 1.9i]: cannot adjust line in b adjust 
mode; overset by 2.853n

Output from "test-nroff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=0 -ww -z ":

troff:<stdin>:292: warning [page 1, line 263]: cannot break line in l adjust 
mode; overset by 6n
troff:<stdin>:362: warning [page 1, line 327]: cannot break line in l adjust 
mode; overset by 29n
troff:<stdin>:1863: warning [page 1, line 1683]: cannot break line in l adjust 
mode; overset by 30n

-.-

Generally:

Split (sometimes) lines after a punctuation mark; before a conjunction.
--- wget2.1     2025-12-07 01:23:14.718766576 +0000
+++ wget2.1.new 2025-12-07 01:49:29.191645383 +0000
@@ -1,6 +1,6 @@
 .\" Automatically generated by Pandoc 3.1.11.1
 .\"
-.TH "WGET2" "1" "" "GNU Wget2 User Manual" "GNU Wget2 2.2.0"
+.TH WGET2 1 "" "GNU Wget2 User Manual" "GNU Wget2 2.2.0"
 .SH Name
 Wget2 \- a recursive metalink/file/website downloader.
 .SH Synopsis
@@ -222,7 +222,7 @@ You will need \f[CR]\-\-base\f[R] to han
 Resolves relative links using URL as the point of reference, when
 reading links from an HTML file specified via the
 \f[CR]\-i\f[R]/\f[CR]\-\-input\-file\f[R] option (together with a
-\f[CR]\-\-force\f[R]\&...
+\f[CR]\-\-force\f[R]...\&
 option, or when the input file was fetched remotely from a server
 describing it as HTML, CSS, Atom or RSS).
 This is equivalent to the presence of a \[lq]BASE\[rq] tag in the HTML
@@ -670,7 +670,7 @@ timeout settings.
 .PP
 All timeout\-related options accept decimal values, as well as subsecond
 values.
-For example, 0.1 seconds is a legal (though unwise) choice of timeout.
+For example, 0.1 seconds is a valid (though unwise) choice of timeout.
 Subsecond timeouts are useful for checking server response times or for
 testing network latency.
 .SS \f[CR]\-\-dns\-timeout=seconds\f[R]
@@ -699,13 +699,13 @@ Limit the download speed to amount bytes
 Amount may be expressed in bytes, kilobytes with the k suffix, or
 megabytes with the m suffix.
 For example, \f[CR]\-\-limit\-rate=20k\f[R] will limit the retrieval
-rate to 20KB/s.
+rate to 20\~KB/s.
 This is useful when, for whatever reason, you don\[cq]t want Wget2 to
 consume the entire available bandwidth.
 .PP
 This option allows the use of decimal numbers, usually in conjunction
 with power suffixes; for example, \f[CR]\-\-limit\-rate=2.5k\f[R] is a
-legal value.
+valid value.
 .PP
 Note that Wget2 implements the limiting by sleeping the appropriate
 amount of time after a network read that took less time than specified
@@ -1030,7 +1030,7 @@ The extension used is defined by the
 If the content type for the signature request is
 \f[CR]application/pgp\-signature\f[R], Wget2 will attempt to verify the
 signature against the original file.
-By default, if a signature file cannot be found (I.E.
+By default, if a signature file cannot be found (I.E.\&
 the request for it gets a 404 status code) Wget2 will exit with an error
 code.
 .PP
@@ -1104,7 +1104,7 @@ filenames will get extensions .n).
 .SS \f[CR]\-x\f[R], \f[CR]\-\-force\-directories\f[R]
 The opposite of \f[CR]\-nd\f[R]: create a hierarchy of directories, even
 if one would not have been created otherwise.
-E.g.
+E.g.\&
 \f[CR]wget2 \-x https://example.com/robots.txt\f[R] will save the
 downloaded file to \f[CR]example.com/robots.txt\f[R].
 .SS \f[CR]\-nH\f[R], \f[CR]\-\-no\-host\-directories\f[R]
@@ -1117,7 +1117,7 @@ This option disables such behavior.
 Use the protocol name as a directory component of local file names.
 For example, with this option,
 \f[CR]wget2 \-r   https://example.com\f[R] will save to
-\f[CR]https/example.com/...\f[R] rather than just to
+\f[CR]https/example.com/...\&\f[R] rather than just to
 \f[CR]example.com/...\f[R].
 .SS \f[CR]\-\-cut\-dirs=number\f[R]
 Ignore a number of directory components.
@@ -1132,7 +1132,7 @@ part, you are still stuck with \f[CR]pub
 This is where \f[CR]\-\-cut\-dirs\f[R] comes in handy; it makes Wget2
 not \[lq]see\[rq] a number of remote directory components.
 Here are several examples of how \f[CR]\-\-cut\-dirs\f[R] option works.
-\f[CR]No options        \-> example.com/pub/sub/      \-\-cut\-dirs=1      \-> 
example.com/sub/      \-\-cut\-dirs=2      \-> example.com/      \-nH           
    \-> pub/sub/      \-nH \-\-cut\-dirs=1  \-> sub/      \-nH \-\-cut\-dirs=2  
\-> .\f[R]
+\f[CR]No options        \(-> example.com/pub/sub/      \-\-cut\-dirs=1      
\(-> example.com/sub/      \-\-cut\-dirs=2      \(-> example.com/      \-nH     
          \(-> pub/sub/      \-nH \-\-cut\-dirs=1  \(-> sub/      \-nH 
\-\-cut\-dirs=2  \(-> .\f[R]
 If you just want to get rid of the directory structure, this option is
 similar to a combination of \f[CR]\-nd\f[R] and \f[CR]\-P\f[R].
 However, unlike \f[CR]\-nd\f[R], \f[CR]\-\-cut\-dirs\f[R] does not lose
@@ -1586,7 +1586,7 @@ The two possible values are `strippath'
 name.
 This is the default.
 .PP
-The value `usepath' takes the file name as as including the directory.
+The value `usepath' takes the file name as including the directory.
 This is very dangerous and we can\[cq]t stress enough not to use it on
 untrusted input or servers !
 Only use this if you really trust the input or the server.
@@ -1600,7 +1600,7 @@ available.
 .SS \f[CR]\-\-secure\-protocol=protocol\f[R]
 Choose the secure protocol to be used (default: \f[CR]auto\f[R]).
 .PP
-Legal values are \f[CR]auto\f[R], \f[CR]SSLv3\f[R], \f[CR]TLSv1\f[R],
+Valid values are \f[CR]auto\f[R], \f[CR]SSLv3\f[R], \f[CR]TLSv1\f[R],
 \f[CR]TLSv1_1\f[R], \f[CR]TLSv1_2\f[R], \f[CR]TLSv1_3\f[R] and
 \f[CR]PFS\f[R].
 .PP
@@ -1668,7 +1668,7 @@ from the clients that connect to them.
 Normally a certificate is not required and this switch is optional.
 .SS \f[CR]\-\-certificate\-type=type\f[R]
 Specify the type of the client certificate.
-Legal values are PEM (assumed by default) and DER, also known as ASN1.
+Valid values are PEM (assumed by default) and DER, also known as ASN1.
 .SS \f[CR]\-\-private\-key=file\f[R]
 Read the private key from file.
 This allows you to provide the private key in a file separate from the
@@ -1860,7 +1860,8 @@ TLS session is needed.
 .PP
 There are several security flaws related to TLS 1.2 session resumption
 which are explained in detail at:
-https://web.archive.org/web/20171103231804/https://blog.filippo.io/we\-need\-to\-talk\-about\-session\-tickets/
+https://web.archive.org/web/20171103231804/\e
+https://blog.filippo.io/we\-need\-to\-talk\-about\-session\-tickets/
 .SS \f[CR]\-\-tls\-session\-file=file\f[R]
 By default, Wget2 stores its TLS Session data in
 \f[CR]$XDG_DATA_HOME/wget/.wget\-session\f[R] or, if XDG_DATA_HOME is
@@ -1973,7 +1974,7 @@ document that links to external content,
 to style sheets, hyperlinks to non\-HTML content, etc.
 .PP
 Each link will be changed in one of the two ways:
-.IP "1." 3
+.IP 1. 3
 The links to files that have been downloaded by Wget2 will be changed to
 refer to the file they point to as a relative link.
 .RS 4
@@ -1984,7 +1985,7 @@ also downloaded, then the link in doc.ht
 This kind of transformation works reliably for arbitrary combinations of
 directories.
 .RE
-.IP "2." 3
+.IP 2. 3
 The links to files that have not been downloaded by Wget2 will be
 changed to include host name and absolute path of the location they
 point to.
@@ -2383,11 +2384,11 @@ set, Wget2 will attempt to load the user
 a location as defined by the XDG Base Directory Specification.
 It will read the first, and only the first file it finds from the
 following locations:
-.IP "1." 3
+.IP 1. 3
 \f[CR]$XDG_CONFIG_HOME/wget/wget2rc\f[R]
-.IP "2." 3
+.IP 2. 3
 \f[CR]$HOME/.config/wget/wget2rc\f[R]
-.IP "3." 3
+.IP 3. 3
 \f[CR]$HOME/.wget2rc\f[R]
 .PP
 Having an initialization file at \f[CR]$HOME/.wget2rc\f[R] is
@@ -2399,24 +2400,23 @@ The fact that the user\[cq]s settings ar
 ones means that in case of a collision, the user\[cq]s wget2rc
 \f[I]overrides\f[R] the global wget2rc.
 .SH Bugs
-You are welcome to submit bug reports via the \c
+You are welcome to submit bug reports via the
 .UR https://gitlab.com/gnuwget/wget2/issues
 GNU Wget2 bug tracker
-.UE \c
-\&.
+.UE .
 .PP
 Before actually submitting a bug report, please try to follow a few
 simple guidelines.
-.IP "1." 3
+.IP 1. 3
 Please try to ascertain that the behavior you see really is a bug.
 If Wget2 crashes, it\[cq]s a bug.
 If Wget2 does not behave as documented, it\[cq]s a bug.
 If things work strange, but you are not sure about the way they are
 supposed to work, it might well be a bug, but you might want to
 double\-check the documentation and the mailing lists.
-.IP "2." 3
+.IP 2. 3
 Try to repeat the bug in as simple circumstances as possible.
-E.g.
+E.g.\&
 if Wget2 crashes while downloading
 \f[CR]wget2 \-rl0   \-kKE \-t5 \-\-no\-proxy https://example.com \-o 
/tmp/log\f[R],
 you should try to see if the crash is repeatable, and if will occur with
@@ -2431,7 +2431,7 @@ Instead, you should first try to see if
 \f[CR].wget2rc\f[R] moved out of the way.
 Only if it turns out that \f[CR].wget2rc\f[R] settings affect the bug,
 mail me the relevant parts of the file.
-.IP "3." 3
+.IP 3. 3
 Please start Wget2 with \f[CR]\-d\f[R] option and send us the resulting
 output (or relevant parts thereof).
 If Wget2 was compiled without debug support, recompile it.
@@ -2445,24 +2445,24 @@ Wget2\[cq]s communication with the serve
 and pieces of downloaded data.
 Since the bug address is publicly archived, you may assume that all bug
 reports are visible to the public.
-.IP "4." 3
+.IP 4. 3
 If Wget2 has crashed, try to run it in a debugger,
 e.g.\ \f[CR]gdb \[ga]which wget\[ga] core\f[R] and type \[lq]where\[rq]
 to get the backtrace.
 This may not work if the system administrator has disabled core files,
 but it is safe to try.
 .SH Author
-Wget2 written by Tim Rühsen \c
+Wget2 written by Tim Rühsen
 .MT [email protected]
-.ME \c
+.ME
 .PP
-Wget 1.x originally written by Hrvoje Nikšić \c
+Wget 1.x originally written by Hrvoje Nikšić
 .MT [email protected]
-.ME \c
+.ME
 .SH Copyright
-Copyright (C) 2012\-2015 Tim Rühsen
+Copyright (C) 2012\(en2015 Tim Rühsen
 .PP
-Copyright (C) 2015\-2024 Free Software Foundation, Inc.
+Copyright (C) 2015\(en2024 Free Software Foundation, Inc.
 .PP
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8 <man page>

  To find trailing space use

grep -n -e ' $' -e ' \\f.$' -e ' \\"' <man page>

  The same goes for man pages that are used as an input.

-.-

  For a style guide use

  mandoc -T lint

-.-

  For general input conventions consult the man page "nroff(7)" (item
"Input conventions") or the Texinfo manual about the same item.

-.-

  Any "autogenerator" should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.

  It should also check its input files for too long (> 80) lines.

  This is just a simple quality control measure.

  The "autogenerator" may have to be corrected to get a better man page,
the source file may, and any additional file may.

-.-

  Common defects:

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  "git" has a "tool" to point out whitespace,
see for example "git-apply(1)" and git-config(1)")

-.-

  Not beginning each input sentence on a new line.

Line length and patch size should thus be reduced when that has been fixed.

  The script "reportbug" uses 'quoted-printable' encoding when a line is
longer than 1024 characters in an 'ascii' file.

  See man-pages(7), item "semantic newline".

-.-

The difference between the formatted output of the original
and patched file can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -d -u <out1> <out2>

and for groff, using

\"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \"

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output from 'diff -d -u ...' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option "-warnings=w"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT="-ww -b -z"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-

Reply via email to