Package: icu-devtools
Version: 72.1-5+b1
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>':76
troff:<stdin>:76: warning: trailing space in the line


   * 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.5-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 icu-devtools depends on:
ii  libc6       2.40-3
ii  libgcc-s1   14.2.0-6
ii  libicu72    72.1-5+b1
ii  libstdc++6  14.2.0-6

icu-devtools recommends no packages.

icu-devtools suggests no packages.

-- no debconf information
  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 gencmn.8": (possibly shortened list)

mandoc: gencmn.8:76:59: STYLE: whitespace at end of input line

-.-.

Remove space characters at the end of lines.

Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

76:in the resulting data instead of the ICU copyright notice. 

-.-.

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.

gencmn.8:129:Copyright (C) 2000-2001 IBM, Inc. and others.

-.-.

Test nr. 8:

Separate an ellipsis from the preceding string with a space
character, if it does not mean a continuation of it.

See a manual of style about the difference between "abc..." and
"abc ...".

1:.\" Hey, Emacs! This is -*-nroff-*- you know...

-.-.

Test nr. 9:

Show an ellipsis in the same font as the argument it refers to in the
synopsis part (meaning: more arguments of the same type can be used).
(Style guides).

1:.\" Hey, Emacs! This is -*-nroff-*- you know...

-.-.

Use the correct macro for the font change of a single argument or
split the argument into two.

18:.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
21:.BR "\-v\fP, \fB\-\-verbose"
24:.BR "\-c\fP, \fB\-\-copyright"
38:.BI "\-S\fP, \fB\-\-source"
64:.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
67:.BR "\-v\fP, \fB\-\-verbose"
105:.BI "\-S\fP, \fB\-\-source"
113:.BI "\-n\fP, \fB\-\-name"
115:.BI "\-t\fP, \fB\-\-type"

-.-.

Wrong distance 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.

N.B.

  The number of lines affected can be too large to be in a patch.

50:file. The resulting data file can then be used directly by ICU.
56:file, or from its standard output. It packages all the files from
87:instead of the default. This name is also used as the base name of the
88:output. The default name is made of the
101:as the type of the data. This type is also used as the extension of
102:the generated data file. The default type ie
120:Specifies the directory containing ICU data. Defaults to
122:Some tools in ICU depend on the presence of the trailing slash. It is thus
129:Copyright (C) 2000-2001 IBM, Inc. and others.

-.-.

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

troff: backtrace: file '<stdin>':76
troff:<stdin>:76: warning: trailing space in the line

-.-

  Additionally:

  Spelling: ie -> is
--- gencmn.8    2024-11-10 00:16:45.166362596 +0000
+++ gencmn.8.new        2024-11-10 00:30:13.169982954 +0000
@@ -15,13 +15,13 @@
 .SH SYNOPSIS
 .B gencmn
 [
-.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
+.B "\-h\fP, \fB\-?\fP, \fB\-\-help"
 ]
 [
-.BR "\-v\fP, \fB\-\-verbose"
+.B "\-v\fP, \fB\-\-verbose"
 ]
 [
-.BR "\-c\fP, \fB\-\-copyright"
+.B "\-c\fP, \fB\-\-copyright"
 |
 .BI "\-C\fP, \fB\-\-comment" " comment"
 ]
@@ -47,24 +47,25 @@
 .SH DESCRIPTION
 .B gencmn
 takes a set of files and packages them as an ICU memory-mappable data
-file. The resulting data file can then be used directly by ICU.
+file.
+The resulting data file can then be used directly by ICU.
 .PP
 .B gencmn
 reads a list of files to be packaged from either the
 supplied
 .I listfilename
-file, or from its standard output. It packages all the files from
-the list that are not bigger than
+file, or from its standard output.
+It packages all the files from the list that are not bigger than
 .I maxsize
 bytes, except if
 .I maxsize
 is 0, which indicates that there is no size limit on files.
 .SH OPTIONS
 .TP
-.BR "\-h\fP, \fB\-?\fP, \fB\-\-help"
+.B "\-h\fP, \fB\-?\fP, \fB\-\-help"
 Print help about usage and exit.
 .TP
-.BR "\-v\fP, \fB\-\-verbose"
+.B "\-v\fP, \fB\-\-verbose"
 Display extra informative messages during execution.
 .TP
 .BR \-c\fP, \fB\-\-copyright
@@ -73,7 +74,7 @@ Include the ICU copyright notice in the
 .BI "\-C\fP, \fB\-\-comment" " comment"
 Include the specified
 .I comment
-in the resulting data instead of the ICU copyright notice. 
+in the resulting data instead of the ICU copyright notice.
 .TP
 .BI "\-d\fP, \fB\-\-destdir" " destination"
 Set the destination directory to
@@ -85,7 +86,8 @@ The default destination directory is spe
 Set the data name to
 .I name
 instead of the default. This name is also used as the base name of the
-output. The default name is made of the
+output.
+The default name is made of the
 .I icudt
 prefix, followed by a two-digit version number corresponding to
 the current version of the ICU release, and a single letter indicating
@@ -98,11 +100,12 @@ indicates little endian ones).
 .BI "\-t\fP, \fB\-\-type" " type"
 Use
 .I type
-as the type of the data. This type is also used as the extension of
-the generated data file. The default type ie
+as the type of the data.
+This type is also used as the extension of the generated data file.
+The default type is
 .IR dat .
 .TP
-.BI "\-S\fP, \fB\-\-source"
+.B "\-S\fP, \fB\-\-source"
 Write a C source file with the table of contents of the data.
 .TP
 .BI "\-e\fP, \fB\-\-entrypoint" " name"
@@ -110,22 +113,23 @@ Set the data entry point (used for linki
 shared library form) to
 .IR name .
 The default entry point name is made of the data (set by the
-.BI "\-n\fP, \fB\-\-name"
+.B "\-n\fP, \fB\-\-name"
 option) followed by an underscore and the type of the data (set by the
-.BI "\-t\fP, \fB\-\-type"
+.B "\-t\fP, \fB\-\-type"
 option).
 .SH ENVIRONMENT
 .TP 10
 .B ICU_DATA
-Specifies the directory containing ICU data. Defaults to
+Specifies the directory containing ICU data.
+Defaults to
 .BR ${prefix}/share/icu/72.1/ .
-Some tools in ICU depend on the presence of the trailing slash. It is thus
-important to make sure that it is present if
+Some tools in ICU depend on the presence of the trailing slash.
+It is thus important to make sure that it is present if
 .B ICU_DATA
 is set.
 .SH VERSION
 72.1
 .SH COPYRIGHT
-Copyright (C) 2000-2001 IBM, Inc. and others.
+Copyright (C) 2000\(en2001 IBM, Inc. and others.
 .SH SEE ALSO
 .BR decmn (8)

Reply via email to