Package: sensible-utils
Version: 0.0.24
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 ' $' <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?
an.tmac:<stdin>:7: misuse, warning: .RI is for at least 2 arguments, got 1
Use macro '.I' for one argument or split argument.
an.tmac:<stdin>:26: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:33: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:62: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' 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.6-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)
-- no debconf information
Input file is sensible-editor.1
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 sensible-editor.1": (shortened list)
1 unterminated quoted argument
-.-.
Output from "test-groff -mandoc -t -ww -z sensible-editor.1": (shortened list)
3 Use macro '.B' for one argument or split argument.
1 Use macro '.I' for one argument or split argument.
3 .BR is for at least 2 arguments, got 1
1 .RI 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.
26:.BR sensible-editor
33:.BR sensible-editor
62:.BR sensible-editor
-.-.
Split a punctuation from a single argument, if a two-font macro is meant.
17:.B select-editor,
-.-.
Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".
Not considered in a patch, too many lines.
sensible-editor.1:28:it (passing on the arguments it was given as the files to
be edited).
sensible-editor.1:29:If this fails because the command couldn't be executed
(exit code 126)
sensible-editor.1:30:or was not found (exit code 127), it tries the next
candidate.
-.-.
Put a subordinate sentence (after a comma) on a new line.
14:of places, and uses the first candidate that works.
21:Variables will be skipped if unset or null, but may include extra
27:has a candidate commandline, it will try to run
30:or was not found (exit code 127), it tries the next candidate.
34:tries, in order, are:
65:set a personal and/or temporary default, overriding the system-wide
78:section 11.4 of Debian-Policy, available under
79:/usr/share/doc/debian-policy if debian-policy is installed, or
-.-.
Remove quotes when there is no space character between them
and the quotes are not for emphasis (markup),
for example as an argument to a macro.
2:.TH SENSIBLE-EDITOR 1 "28 Aug 2022" "Debian"
-.-.
Output from "test-groff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z
":
an.tmac:<stdin>:7: misuse, warning: .RI is for at least 2 arguments, got 1
Use macro '.I' for one argument or split argument.
an.tmac:<stdin>:26: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:33: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
an.tmac:<stdin>:62: misuse, warning: .BR is for at least 2 arguments, got 1
Use macro '.B' for one argument or split argument.
--- sensible-editor.1 2025-01-08 00:35:32.405783611 +0000
+++ sensible-editor.1.new 2025-01-08 00:52:08.488331678 +0000
@@ -1,36 +1,41 @@
.\" -*- nroff -*-
-.TH SENSIBLE-EDITOR 1 "28 Aug 2022" "Debian"
+.TH SENSIBLE-EDITOR 1 "28 Aug 2022" Debian
.SH NAME
sensible-editor \- launch sensibly chosen text editor
.SH SYNOPSIS
.B sensible-editor
-.RI [OPTIONS...]
+.RI [ OPTIONS ...]
.SH DESCRIPTION
-.BR sensible-editor " makes sensible decisions on which editor to call.
+.B sensible-editor
+makes sensible decisions on which editor to call.
Programs in Debian can invoke this script to get a good default editor.
.PP
.B sensible-editor
-looks for an appropriate choice of editor in a series
-of places, and uses the first candidate that works.
+looks for an appropriate choice of editor in a series of places,
+and uses the first candidate that works.
It starts by checking environment variables,
followed by a variable defined via
-.B select-editor,
+.BR select-editor ,
then tries the default editor command defined by the alternatives system,
with a series of hard-coded command names as fallbacks.
.PP
-Variables will be skipped if unset or null, but may include extra
-whitespace-separated parameters such as a
+Variables will be skipped if unset or null,
+but may include extra whitespace-separated parameters such as a
.B \-\-verbose
flag.
Once
-.BR sensible-editor
-has a candidate commandline, it will try to run
-it (passing on the arguments it was given as the files to be edited).
-If this fails because the command couldn't be executed (exit code 126)
-or was not found (exit code 127), it tries the next candidate.
+.B sensible-editor
+has a candidate commandline,
+it will try to run it
+(passing on the arguments it was given as the files to be edited).
+If this fails because the command couldn't be executed
+(exit code 126)
+or was not found
+(exit code 127),
+it tries the next candidate.
.PP
The specific candidates
-.BR sensible-editor
+.B sensible-editor
tries, in order, are:
.IP \(bu 2
.B $VISUAL
@@ -59,11 +64,11 @@ tries, in order, are:
.BR vi (1)
.PP
If all of these fail,
-.BR sensible-editor
+.B sensible-editor
errors out.
This system is designed to make it easy for individual users to
-set a personal and/or temporary default, overriding the system-wide
-defaults.
+set a personal and/or temporary default,
+overriding the system-wide defaults.
.SH "SEE ALSO"
.BR sensible-browser (1),
.BR sensible-pager (1),
@@ -75,6 +80,7 @@ defaults.
The behavior of
.B sensible-utils
under a Debian system is documented in
-section 11.4 of Debian-Policy, available under
-/usr/share/doc/debian-policy if debian-policy is installed, or
-online at https://www.debian.org/doc/debian-policy/
+section 11.4 of Debian-Policy,
+available under /usr/share/doc/debian-policy
+if debian-policy is installed,
+or online at https://www.debian.org/doc/debian-policy/