Package: xserver-common
Version: 2:21.1.12-1
Severity: minor
Tags: patch

Dear Maintainer,

   * What led up to the situation?

     Checking for defects with

[test-][g|n]roff -mandoc -t -K utf8 -ww -b -z <man page>

  [test-groff is a script in the repository for "groff"]

   * What was the outcome of this action?

troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':562: macro 'B'
troff: backtrace: file '<stdin>':117
troff:<stdin>:117: warning: ignoring escape character before '+'
troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':562: macro 'B'
troff: backtrace: file '<stdin>':174
troff:<stdin>:174: warning: cannot select font 'F'
troff: backtrace: file '<stdin>':534
troff:<stdin>:534: warning: [page 6, 9.1i]: cannot break line

   * What outcome did you expect instead?

     No output (warnings).

-.-

  Remarks and a patch are in the attachments.


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

Kernel: Linux 6.7.12-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 xserver-common depends on:
ii  x11-common     1:7.7+23
ii  x11-xkb-utils  7.7+8+b1
ii  xkb-data       2.41-2

Versions of packages xserver-common recommends:
ii  xauth        1:1.1.2-1
pn  xfonts-base  <none>

xserver-common suggests no packages.

-- no debconf information
  Any program (person), that produces man pages, should check its content for
defects by using

groff -mandoc -t -ww -b -z [ -K utf8 | k ] <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' 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.

-.-

The difference between the formatted outputs can be seen with:

  nroff -man <file1> > <out1>
  nroff -man <file2> > <out2>
  diff -u <out1> <out2>

and for groff, using

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

instead of "nroff -man"

  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 -z"

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

-.-.

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

mandoc: Xserver.1:105:84: STYLE: input text line longer than 80 bytes: Asks the 
driver not ...
mandoc: Xserver.1:117:4: WARNING: undefined escape, printing literally: \+
mandoc: Xserver.1:118:81: STYLE: input text line longer than 80 bytes: Allow 
connections fr...
mandoc: Xserver.1:122:84: STYLE: input text line longer than 80 bytes: Prohibit 
connections...

-.-.

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.

Xserver.1:128:sets key-click volume (allowable range: 0-100).
Xserver.1:172:sets beep (bell) volume (allowable range: 0-100).
Xserver.1:175:sets fake presenter screen default fps (allowable range: 1-600).

-.-.

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.

311:.B \-ld \fIkilobytes\fP
312:sets the data space limit of the server to the specified number of 
kilobytes.
321:.B \-ls \fIkilobytes\fP
322:sets the stack space limit of the server to the specified number of 
kilobytes.

-.-.

Mark a full stop (.) and the exclamation mark (!) with "\&",
if it does not mean an end of a sentence.
This is a preventive action,
the paragraph could be reshaped, e.g., after changes.

When typing, one does not always notice when the line wraps after the
period.
There are too many examples of input lines in manual pages,
that end with an abbreviation point.

This marking is robust, and independent of the position on the line.

It corresponds to "\ " in TeX, and to "@:" in Texinfo.


57:devices (e.g. \fI/dev/mouse\fP) is restricted.  Where applicable, the
81:sets pointer acceleration (i.e. the ratio of how much is reported to how much
106:May be useful for smooth transition with eg. fbdev driver.
273:sets pointer acceleration threshold in pixels (i.e. after how many pixels
413:X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
468:contain either an Internet hostname (e.g. expo.lcs.mit.edu)

-.-.

Change - to \- if it shall be printed as a minus sign.

Xserver.1:306:enables(+) or disables(-) the XINERAMA extension.  The default 
state is
Xserver.1:420:enables(+) or disables(-) AccessX key sequences.

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.

3:.\" Copyright 1984 - 1991, 1993, 1994, 1998  The Open Group
112:pattern.   This is the default unless -retro or -wr is specified.
254:.B -retro
258:servers, this implies -zap.
305:.B [+-]xinerama
306:enables(+) or disables(-) the XINERAMA extension.  The default state is
419:.BR [+-]accessx " [ \fItimeout\fP [ \fItimeout_mask\fP [ \fIfeedback\fP [ 
\fIoptions_mask\fP ] ] ] ]"
420:enables(+) or disables(-) AccessX key sequences.

-.-.

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

534 
/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins
 .

-.-.

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

57:devices (e.g. \fI/dev/mouse\fP) is restricted.  Where applicable, the
81:sets pointer acceleration (i.e. the ratio of how much is reported to how much
273:sets pointer acceleration threshold in pixels (i.e. after how many pixels
468:contain either an Internet hostname (e.g. expo.lcs.mit.edu)

-.-.

Wrong distance between sentences.

  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 the patch.

57:devices (e.g. \fI/dev/mouse\fP) is restricted.  Where applicable, the
81:sets pointer acceleration (i.e. the ratio of how much is reported to how much
106:May be useful for smooth transition with eg. fbdev driver.
112:pattern.   This is the default unless -retro or -wr is specified.
164:disables named extension.   If an unknown extension name is specified,
168:enables named extension.   If an unknown extension name is specified,
257:until the first time an application calls XDefineCursor(). For kdrive
267:seat to run on. Takes a string identifying a seat in a platform
268:specific syntax. On platforms which support this feature this may be
273:sets pointer acceleration threshold in pixels (i.e. after how many pixels
282:the delay. At the end of this grace period if no client is
413:X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
468:contain either an Internet hostname (e.g. expo.lcs.mit.edu)
537:prefix. Directories specified this way can contain symlinks pointing to the
538:real font directories. See the FONTPATH.D section for details.
548:will be passed through to the underlying fontfile FPE. The only exception is
564:the attribute 'unscaled' etc. This is functionally equivalent to setting

-.-.

Test nr. 32:

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.

Xserver.1: line 105 length 84
Asks the driver not to clear the background on startup, if the driver supports 
that.

Xserver.1: line 118 length 81
Allow connections from clients with an endianess different to that of the 
server.

Xserver.1: line 122 length 84
Prohibit connections from clients with an endianess different to that of the 
server.

Xserver.1: line 419 length 101
.BR [+-]accessx " [ \fItimeout\fP [ \fItimeout_mask\fP [ \fIfeedback\fP [ 
\fIoptions_mask\fP ] ] ] ]"

Xserver.1: line 534 length 224
/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins
 .

Xserver.1: line 580 length 88
.IR /usr/share/fonts/X11/misc , /usr/share/fonts/X11/75dpi , 
/usr/share/fonts/X11/100dpi


-.-.

Do not use more than two space characters between sentences or (better)
only a new line character.

112:pattern.   This is the default unless -retro or -wr is specified.
164:disables named extension.   If an unknown extension name is specified,
168:enables named extension.   If an unknown extension name is specified,

-.-.

Protect a period (.) or an apostrophe (') with '\&' from becoming a
control character, if it could end up at the start of a line
(by splitting the line into more lines).

534:/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins
 \&.
547:The symlink can be suffixed by attributes such as '\fBunscaled\fR', which
549:the newly introduced '\fBpri\fR' attribute, which will be used for ordering
564:the attribute 'unscaled' etc. This is functionally equivalent to setting

-.-.

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

troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':562: macro 'B'
troff: backtrace: file '<stdin>':117
troff:<stdin>:117: warning: ignoring escape character before '+'
troff: backtrace: '/home/bg/git/groff/build/s-tmac/an.tmac':562: macro 'B'
troff: backtrace: file '<stdin>':174
troff:<stdin>:174: warning: cannot select font 'F'
troff: backtrace: file '<stdin>':534
troff:<stdin>:534: warning: [page 6, 9.1i]: cannot break line

--- Xserver.1   2024-06-02 21:42:52.203397406 +0000
+++ Xserver.1.new       2024-06-02 22:47:35.407732344 +0000
@@ -54,7 +54,7 @@ The X server may also be started directl
 method is usually reserved for testing and is not recommended for
 normal operation.  On some platforms, the user must have special
 permission to start the X server, often because access to certain
-devices (e.g. \fI/dev/mouse\fP) is restricted.  Where applicable, the
+devices (e.g.\& \fI/dev/mouse\fP) is restricted.  Where applicable, the
 X server notifies systemd when it is ready to process requests.
 .PP
 When the X server starts up, it typically takes over the display.  If
@@ -78,7 +78,7 @@ NAMES section of the \fIX\fP(7) manual p
 specify which display number clients should try to use.
 .TP 8
 .B \-a \fInumber\fP
-sets pointer acceleration (i.e. the ratio of how much is reported to how much
+sets pointer acceleration (i.e., the ratio of how much is reported to how much
 the user actually moved the pointer).
 .TP 8
 .B \-ac
@@ -102,30 +102,34 @@ to authenticate access.  See also the \f
 \fIXsecurity\fP(7) manual pages.
 .TP 8
 .BI \-background\ none
-Asks the driver not to clear the background on startup, if the driver supports 
that.
-May be useful for smooth transition with eg. fbdev driver.
+Asks the driver not to clear the background on startup,
+if the driver supports that.
+May be useful for smooth transition with e.g.\& fbdev driver.
 For security reasons this is not the default as the screen contents might
 show a previous user session.
 .TP 8
 .B \-br
 sets the default root window to solid black instead of the standard root weave
-pattern.   This is the default unless -retro or -wr is specified.
+pattern.
+This is the default unless \-retro or \-wr is specified.
 .TP 8
 .B \-bs
 disables backing store support on all screens.
 .TP 8
-.B \+byteswappedclients
-Allow connections from clients with an endianess different to that of the 
server.
+.B +byteswappedclients
+Allow connections from clients with an endianess different to that of the
+server.
 This is the default unless \fB\-byteswappedclients\fP is specified.
 .TP 8
 .B \-byteswappedclients
-Prohibit connections from clients with an endianess different to that of the 
server.
+Prohibit connections from clients with an endianess different to that of the
+server.
 .TP 8
 .B \-c
 turns off key-click.
 .TP 8
 .B c \fIvolume\fP
-sets key-click volume (allowable range: 0-100).
+sets key-click volume (allowable range: 0\(en100).
 .TP 8
 .B \-cc \fIclass\fP
 sets the visual class for the root window of color screens.
@@ -161,18 +165,20 @@ disables DPMS (display power management
 is platform and configuration specific.
 .TP 8
 .BI \-extension extensionName
-disables named extension.   If an unknown extension name is specified,
+disables named extension.
+If an unknown extension name is specified,
 a list of accepted extension names is printed.
 .TP 8
 .BI +extension extensionName
-enables named extension.   If an unknown extension name is specified,
+enables named extension.
+If an unknown extension name is specified,
 a list of accepted extension names is printed.
 .TP 8
 .B \-f \fIvolume\fP
-sets beep (bell) volume (allowable range: 0-100).
+sets beep (bell) volume (allowable range: 0\(en100).
 .TP 8
-.B \-fakescreenfps \fFps\fP
-sets fake presenter screen default fps (allowable range: 1-600).
+.B \-fakescreenfps \fIfps\fP
+sets fake presenter screen default fps (allowable range: 1\(en600).
 .TP 8
 .B \-fp \fIfontPath\fP
 sets the search path for fonts.  This path is a comma separated list
@@ -251,11 +257,11 @@ turns off auto-repeat.
 .B r
 turns on auto-repeat.
 .TP 8
-.B -retro
+.B \-retro
 starts the server with the classic stipple and cursor visible.  The default
 is to start with a black root window, and to suppress display of the cursor
 until the first time an application calls XDefineCursor(). For kdrive
-servers, this implies -zap.
+servers, this implies \-zap.
 .TP 8
 .B \-s \fIminutes\fP
 sets screen-saver timeout time in minutes.
@@ -270,10 +276,10 @@ used to limit the server to expose only
 connected to the system.
 .TP 8
 .B \-t \fInumber\fP
-sets pointer acceleration threshold in pixels (i.e. after how many pixels
+sets pointer acceleration threshold in pixels (i.e., after how many pixels
 pointer acceleration should take effect).
 .TP 8
-.B \-terminate \fI[delay]\fP
+.BR \-terminate " [" \fIdelay\fP ]
 causes the server to terminate at server reset, instead of continuing to run.
 This overrides a previous
 .B \-noreset
@@ -302,8 +308,8 @@ pattern.
 loads the specified extension at init.
 This is a no-op for most implementations.
 .TP 8
-.B [+-]xinerama
-enables(+) or disables(-) the XINERAMA extension.  The default state is
+.B [+\-]xinerama
+enables(+) or disables(\-) the XINERAMA extension.  The default state is
 platform and configuration specific.
 .SH SERVER DEPENDENT OPTIONS
 Some X servers accept the following options:
@@ -410,14 +416,15 @@ data (not that it is very private, being
 Yet another XDMCP specific value, this one allows the display manager to
 identify each display so that it can locate the shared key.
 .SH XKEYBOARD OPTIONS
-X servers that support the XKEYBOARD (a.k.a. \*qXKB\*q) extension accept the
+X servers that support the XKEYBOARD (a.k.a.\& \*qXKB\*q) extension accept the
 following options.  All layout files specified on the command line must be
 located in the XKB base directory or a subdirectory, and specified as the
 relative path from the XKB base directory.  The default XKB base directory is
 .IR /usr/lib/X11/xkb .
 .TP 8
-.BR [+-]accessx " [ \fItimeout\fP [ \fItimeout_mask\fP [ \fIfeedback\fP [ 
\fIoptions_mask\fP ] ] ] ]"
-enables(+) or disables(-) AccessX key sequences.
+.RB [ +\- ] accessx " [ " \fItimeout\fP " [ " \fItimeout_mask\fP " [ " \
+\fIfeedback\fP " [ " \fIoptions_mask\fP " ] ] ] ]"
+enables(+) or disables(\-) AccessX key sequences.
 .TP 8
 .B \-xkbdir \fIdirectory\fP
 base directory for keyboard layout files.  This option is not available
@@ -465,7 +472,7 @@ If no other authorization mechanism is b
 this list initially consists of the host on which the server is running as
 well as any machines listed in the file \fI/etc/X\fBn\fI.hosts\fR, where
 \fBn\fP is the display number of the server.  Each line of the file should
-contain either an Internet hostname (e.g. expo.lcs.mit.edu)
+contain either an Internet hostname (e.g., expo.lcs.mit.edu)
 or a complete name in the format
 \fIfamily\fP:\fIname\fP as described in the \fIxhost\fP(1) manual page.
 There should be no leading or trailing spaces on any lines.  For example:
@@ -531,7 +538,10 @@ the X server uses when trying to open a
 by the \fIfont path\fP.
 .LP
 The default font path is
-/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,/usr/share/fonts/X11/75dpi,built-ins
 .
+/usr/share/fonts/X11/misc,/usr/share/fonts/X11/cyrillic,\
+\:/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,\
+\:/usr/share/fonts/X11/Type1,/usr/share/fonts/X11/100dpi,\
+\:/usr/share/fonts/X11/75dpi,built-ins .
 .LP
 A special kind of directory can be specified using the \fBcatalogue\fP:
 prefix. Directories specified this way can contain symlinks pointing to the
@@ -544,9 +554,9 @@ You can specify a special kind of font p
 The directory specified after the catalogue: prefix will be scanned for 
symlinks
 and each symlink destination will be added as a local fontfile FPE.
 .PP
-The symlink can be suffixed by attributes such as '\fBunscaled\fR', which
+The symlink can be suffixed by attributes such as \&'\fBunscaled\fR', which
 will be passed through to the underlying fontfile FPE. The only exception is
-the newly introduced '\fBpri\fR' attribute, which will be used for ordering
+the newly introduced \&'\fBpri\fR' attribute, which will be used for ordering
 the font paths specified by the symlinks.
 
 An example configuration:
@@ -561,7 +571,7 @@ An example configuration:
 
 This will add /usr/share/X11/fonts/misc as the first FPE with the attribute
 \N'39'unscaled', second FPE will be /usr/share/X11/fonts/75dpi, also with
-the attribute 'unscaled' etc. This is functionally equivalent to setting
+the attribute \&'unscaled' etc. This is functionally equivalent to setting
 the following font path:
 
 .nf
@@ -577,19 +587,20 @@ the following font path:
 .I /etc/X\fBn\fP.hosts
 Initial access control list for display number \fBn\fP
 .TP 30
-.IR /usr/share/fonts/X11/misc , /usr/share/fonts/X11/75dpi , 
/usr/share/fonts/X11/100dpi
+.IR /usr/share/fonts/X11/misc ", " /usr/share/fonts/X11/75dpi ", " \
+/usr/share/fonts/X11/100dpi
 Bitmap font directories
 .TP 30
-.IR /usr/share/fonts/X11/TTF , /usr/share/fonts/X11/Type1
+.IR /usr/share/fonts/X11/TTF ", " /usr/share/fonts/X11/Type1
 Outline font directories
 .TP 30
-.I /tmp/.X11-unix/X\fBn\fP
+.I /tmp/.X11\-unix/X\fBn\fP
 Unix domain socket for display number \fBn\fP
 .TP 30
 .I /usr/adm/X\fBn\fPmsgs
 Error log file for display number \fBn\fP if run from \fIinit\fP(8)
 .TP 30
-.I /usr/lib/X11/xdm/xdm-errors
+.I /usr/lib/X11/xdm/xdm\-errors
 Default error log file if the server is run from \fIxdm\fP(1)
 .SH "SEE ALSO"
 General information: \fIX\fP(7)
@@ -603,7 +614,7 @@ Fonts: \fIbdftopcf\fP(1), \fImkfontdir\f
 \fIxfs\fP(1), \fIxlsfonts\fP(1), \fIxfontsel\fP(1), \fIxfd\fP(1),
 .I "X Logical Font Description Conventions"
 .PP
-Keyboards: \fIxkeyboard-config\fP(7)
+Keyboards: \fIxkeyboard\-config\fP(7)
 .PP
 Security: \fIXsecurity\fP(7), \fIxauth\fP(1), \fIXau\fP(1),
 \fIxdm\fP(1), \fIxhost\fP(1), \fIxfwp\fP(1),

Reply via email to