Package: icu-devtools Version: 72.1-6 Severity: minor Tags: patch * 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=10 -ww -z < "man page" [Use "groff -e ' $' -e '\\~$' <file>" to find obvious 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? an.tmac:<stdin>:16: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:19: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:22: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:25: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:51: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:54: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:59: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:63: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:68: misuse, warning: .IR is for at least 2 arguments, got 1 Use macro '.I' for one argument or split argument. * 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.12.17-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-7 ii libgcc-s1 14.2.0-17 ii libicu72 72.1-6 ii libstdc++6 14.2.0-17 icu-devtools recommends no packages. icu-devtools suggests no packages. -- no debconf information
Input file is gencfu.1 Output from "mandoc -T lint gencfu.1": (shortened list) -.-. Output from "test-nroff -mandoc -t -ww -z gencfu.1": (shortened list) 8 Use macro '.B' for one argument or split argument. 1 Use macro '.I' for one argument or split argument. 8 .BR is for at least 2 arguments, got 1 1 .IR is for at least 2 arguments, got 1 -.-. Use the correct macro for the font change of a single argument or split the argument into two. 16:.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" 19:.BR "\-V\fP, \fB\-\-version" 22:.BR "\-c\fP, \fB\-\-copyright" 25:.BR "\-v\fP, \fB\-\-verbose" 51:.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" 54:.BR "\-V\fP, \fB\-\-version" 59:.BR "\-c\fP, \fB\-\-copyright" 63:.BR "\-v\fP, \fB\-\-verbose" -.-. Split a punctuation from a single argument, if a two-font macro is meant. 43:.I confusablesWholeScript.txt. -.-. Test nr. 87: Put a subordinate sentence (after a comma) on a new line. gencfu.1:38:reads confusable character definitions in the input file, which are gencfu.1:45:The files must be encoded in utf-8 format, with or without a BOM. gencfu.1:75:For example, the file -.-. Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z ": an.tmac:<stdin>:16: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:19: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:22: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:25: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:51: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:54: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:59: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:63: misuse, warning: .BR is for at least 2 arguments, got 1 Use macro '.B' for one argument or split argument. an.tmac:<stdin>:68: misuse, warning: .IR is for at least 2 arguments, got 1 Use macro '.I' for one argument or split argument. -.-. Generally:
--- gencfu.1 2025-03-12 16:28:31.865307414 +0000 +++ gencfu.1.new 2025-03-12 16:46:34.848474842 +0000 @@ -13,79 +13,81 @@ .SH SYNOPSIS .B gencfu [ -.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" +.BR \-h ", " \-? ", " \-\-help ] [ -.BR "\-V\fP, \fB\-\-version" +.BR \-V ", " \-\-version ] [ -.BR "\-c\fP, \fB\-\-copyright" +.BR \-c ", " \-\-copyright ] [ -.BR "\-v\fP, \fB\-\-verbose" +.BR \-v ", " \-\-verbose ] [ -.BI "\-d\fP, \fB\-\-destdir" " destination" +.BR \-d ", " \-\-destdir " \fIdestination\fP" ] [ -.BI "\-i\fP, \fB\-\-icudatadir" " directory" +.BR \-i ", " \-\-icudatadir " \fIdirectory\fP" ] -.BI "\-r\fP, \fB\-\-rules" " rule\-file" -.BI "\-w\fP, \fB\-\-wsrules" " whole\-script\-rule\-file" -.BI "\-o\fP, \fB\-\-out" " output\-file" +.BR \-r ", " \-\-rules " \fIrule\-file\fP" +.BR \-w ", " \-\-wsrules " \fIwhole\-script\-rule\-file\fP" +.BR \-o ", " \-\-out " \fIoutput\-file\fP" .SH DESCRIPTION .B gencfu -reads confusable character definitions in the input file, which are -plain text files containing confusable character +reads confusable character definitions in the input file, +which are plain text files containing confusable character definitions in the input format defined by Unicode UAX39 for the files .I confusables.txt and -.I confusablesWholeScript.txt. +.IR confusablesWholeScript.txt . This source (.txt) format is also accepted by ICU spoof detectors. -The files must be encoded in utf-8 format, with or without a BOM. +The files must be encoded in utf-8 format, +with or without a BOM. Normally the output data file has the .B .cfu extension. .SH OPTIONS .TP -.BR "\-h\fP, \fB\-?\fP, \fB\-\-help" +.BR \-h ", " \-? ", " \-\-help Print help about usage and exit. .TP -.BR "\-V\fP, \fB\-\-version" +.BR \-V ", " \-\-version Print the version of .B gencfu and exit. .TP -.BR "\-c\fP, \fB\-\-copyright" +.BR \-c ", " \-\-copyright Embeds the standard ICU copyright into the .IR output-file . .TP -.BR "\-v\fP, \fB\-\-verbose" +.BR \-v ", " \-\-verbose Display extra informative messages during execution. .TP -.BI "\-d\fP, \fB\-\-destdir" " destination" +.BR \-d ", " \-\-destdir " \fIdestination\fP" Set the destination directory of the -.IR output-file +.I output-file to .IR destination . .TP -.BI "\-i\fP, \fB\-\-icudatadir" " directory" +.BR \-i ", " \-\-icudatadir " \fIdirectory\fP" Look for any necessary ICU data files in .IR directory . -For example, the file +For example, +the file .B pnames.icu must be located when ICU's data is not built as a shared library. The default ICU data directory is specified by the environment variable .BR ICU_DATA . Most configurations of ICU do not require this argument. .TP -.BI "\-r\fP, \fB\-\-rules" " rule\-file" +.BR \-r ", " \-\-rules " \fIrule\-file\fR" The source file to read. .TP -.BI "\-w\fP, \fB\-\-wsrules" " whole\-script\-rule\-file" +.BR \-w ", " \-\-wsrules " \fIwhole\-script\-rule\-file\fP" The whole script source file to read. .TP -.BI "\-o\fP, \fB\-\-out" " output\-file" +.BR \-o ", " \-\-out " \fIoutput\-file\fP" The output data file to write. .SH VERSION 1.0
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 -.- 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. 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) -.-