Package: manpages
Version: 6.9.1-1
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with

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

  [Use "groff -e ' $' <file>" to find 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?


troff: backtrace: file '<stdin>':357
troff:<stdin>:357: warning: unbalanced 'el' request


   * 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: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.11.9-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)

manpages depends on no packages.

manpages recommends no packages.

Versions of packages manpages suggests:
ii  man-db [man-browser]  2.13.0-1

-- no debconf information
Input file is zic.8

  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>

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

  For a style guide use

  mandoc -T lint

-.-

  So any 'generator' should check its products with the above mentioned
'groff', 'mandoc',  and additionally with 'nroff ...'.

  This is just a simple quality control measure.

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

  Common defects:

  Input text line longer than 80 bytes.

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

  Not beginning each input sentence on a new line.
Lines should thus be shorter.

  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 -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 of 'diff -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)


-.-.

Output from "mandoc -T lint  zic.8 ": (shortened list)

      1 missing date, using ""
      2 undefined escape, printing literally

-.-.

Output from "test-groff -mandoc -t -ww -b -z zic.8 ": (shortened list)

      1 unbalanced 'el' request

-.-.

Output from "mandoc -T lint  zic.8 ":

mandoc: zic.8:3:11: WARNING: missing date, using "": TH
mandoc: zic.8:19:18: WARNING: undefined escape, printing literally: \\
mandoc: zic.8:19:9: WARNING: undefined escape, printing literally: \\

-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.


Line 298, length 99

\*<https://pubs\*:.opengroup\*:.org/\*:onlinepubs/\*:9699919799/\*:basedefs/\*:V1_chap06\*:.html\*>

Line 334, length 140

.ta \w'Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'\*-\0\0'u 
+\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00w\0\0'u +\w'1:00d\0\0'u

Line 527, length 89

.ta \w'Zone\0\0'u +\w'Asia/Amman\0\0'u +\w'STDOFF\0\0'u +\w'Jordan\0\0'u 
+\w'FORMAT\0\0'u

Line 658, length 140

.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'2006\0\0'u +\w'\*-\0\0'u 
+\w'Oct\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u

Line 663, length 97

.ta \w'# Zone\0\0'u +\w'America/Menominee\0\0'u +\w'STDOFF\0\0'u 
+\w'RULES\0\0'u +\w'FORMAT\0\0'u

Line 732, length 96

.ta \w'Leap\0\0'u +\w'YEAR\0\0'u +\w'MONTH\0\0'u +\w'DAY\0\0'u 
+\w'HH:MM:SS\0\0'u +\w'CORR\0\0'u

Line 811, length 140

.ta \w'# Rule\0\0'u +\w'NAME\0\0'u +\w'FROM\0\0'u +\w'1973\0\0'u +\w'\*-\0\0'u 
+\w'Apr\0\0'u +\w'lastSun\0\0'u +\w'2:00\0\0'u +\w'SAVE\0\0'u

Line 824, length 97

.ta \w'# Zone\0\0'u +\w'Europe/Zurich\0\0'u +\w'0:29:45.50\0\0'u 
+\w'RULES\0\0'u +\w'FORMAT\0\0'u


-.-.

Add a zero (0) in front of a decimal fraction that begins with a period
(.)

816:.sp .5

-.-.

Two or more space charaters between printable characters.

When the distance is between sentences,
start the beginning of the second one on a separate line
("semantic newline").


248:an extended POSIX.1-2017 TZ string.  For example, as of 2023 this problem
256:output formats.  These compatibility issues affect only timestamps
300:non-PPCS bytes.  Non-PPCS characters typically occur only in comments:
848:apply.  From 1981 to the present, EU daylight saving rules have
854:here, but are included for completeness.  Since 1981, daylight
863:were initially used, respectively.  Since

-.-.

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

troff: backtrace: file '<stdin>':357
troff:<stdin>:357: warning: unbalanced 'el' request

-.-

To the warning:

The '.if, .ie, and .el requests take only one logical line with them, a block
(\{...\})  counts as a logical line for the translator "groff".

See "Troff User's Manual", https://troff.org/54.pdf, chapter 16, item 
"multi-line".
--- zic.8       2024-11-25 09:50:03.388308951 +0000
+++ zic.8.new   2024-11-25 03:25:14.618201152 +0000
@@ -245,16 +245,18 @@ for
 .PP
 The output file does not contain all the information about the
 long-term future of a timezone, because the future cannot be summarized as
-an extended POSIX.1-2017 TZ string.  For example, as of 2023 this problem
-occurs for Morocco's daylight-saving rules, as these rules are based
-on predictions for when Ramadan will be observed, something that
-an extended POSIX.1-2017 TZ string cannot represent.
+an extended POSIX.1-2017 TZ string.
+For example,
+as of 2023 this problem occurs for Morocco's daylight-saving rules,
+as these rules are based on predictions for when Ramadan will be observed,
+something that an extended POSIX.1-2017 TZ string cannot represent.
 .PP
 The output contains data that may not be handled properly by client
 code designed for older
 .B zic
-output formats.  These compatibility issues affect only timestamps
-before 1970 or after the start of 2038.
+output formats.
+These compatibility issues affect only timestamps before 1970
+or after the start of 2038.
 .PP
 The output contains a truncated leap second table,
 which can cause some older TZif readers to misbehave.
@@ -297,7 +299,8 @@ is typically UTF-8 or ASCII; it should h
 for the POSIX Portable Character Set (PPCS)
 
\*<https://pubs\*:.opengroup\*:.org/\*:onlinepubs/\*:9699919799/\*:basedefs/\*:V1_chap06\*:.html\*>
 and the encoding's non-unibyte characters should consist entirely of
-non-PPCS bytes.  Non-PPCS characters typically occur only in comments:
+non-PPCS bytes.
+Non-PPCS characters typically occur only in comments:
 although output file names and time zone abbreviations can contain
 nearly any character, other software will work better if these are
 limited to the restricted syntax described under the
@@ -353,8 +356,10 @@ nor
 To allow for future extensions,
 an unquoted name should not contain characters from the set
 .ie \n(.g .q \f(CR!$%&\(aq()*,/:;<=>?@[\e]\(ha\(ga{|}\(ti\fP .
-.el .ie t .q \f(CW!$%&'()*,/:;<=>?@[\e]^\(ga{|}~\fP .
-.el .q !$%&'()*,/:;<=>?@[\e]^`{|}~ .
+.el \{\
+.  ie t .q \f(CW!$%&'()*,/:;<=>?@[\e]^\(ga{|}~\fP .
+.  el .q !$%&'()*,/:;<=>?@[\e]^`{|}~ .
+.\}
 .TP
 .B FROM
 Gives the first year in which the rule applies.
@@ -845,14 +850,17 @@ treats this by rounding it to 0:29:46.
 After 1894-06-01 at 00:00 the UT offset became one hour
 and Swiss daylight saving rules (defined with lines beginning with
 .q "Rule Swiss")
-apply.  From 1981 to the present, EU daylight saving rules have
-applied, and the UTC offset has remained at one hour.
+apply.
+From 1981 to the present,
+EU daylight saving rules have applied,
+and the UTC offset has remained at one hour.
 .PP
 In 1941 and 1942, daylight saving time applied from the first Monday
 in May at 01:00 to the first Monday in October at 02:00.
-The pre-1981 EU daylight-saving rules have no effect
-here, but are included for completeness.  Since 1981, daylight
-saving has begun on the last Sunday in March at 01:00 UTC.
+The pre-1981 EU daylight-saving rules have no effect here,
+but are included for completeness.
+Since 1981,
+daylight saving has begun on the last Sunday in March at 01:00 UTC.
 Until 1995 it ended the last Sunday in September at 01:00 UTC,
 but this changed to the last Sunday in October starting in 1996.
 .PP
@@ -860,10 +868,10 @@ For purposes of display,
 .q "LMT"
 and
 .q "BMT"
-were initially used, respectively.  Since
-Swiss rules and later EU rules were applied, the time zone abbreviation
-has been CET for standard time and CEST for daylight saving
-time.
+were initially used, respectively.
+Since Swiss rules and later EU rules were applied,
+the time zone abbreviation has been CET for standard time
+and CEST for daylight saving time.
 .SH FILES
 .TP
 .I /etc/localtime

Reply via email to