Bug#1087509: netpbm: bullet list in manpages - makeman modified to avoid empty lines
Christoph Brinkhaus
c.brinkhaus at t-online.de
Thu Nov 14 14:46:15 GMT 2024
Package: netpbm
Version: 2:11.01.00-2
Severity: minor
Dear Maintainer,
for this report I have checked out
https://salsa.debian.org/debian-phototools-team/netpbm
The html documentation of netpbm uses bullet lists.
There are two types of lines as below. In the first type of lines the
tag <li> is followed by the text. In the second type the tag and the text
are separated by a newline \n. Both are fine for html.
<ol>
<li>A "magic number" for identifying the file type.
A ppm image's magic number is the two characters "P6".
<li>
Whitespace (blanks, TABs, CRs, LFs).
When converting by makeman the following line applies.
indoc = re.sub("(?i) *<LI>", r".IP \(bu\n", indoc)
The variable indoc holds the html documentation. The string
"<LI>" is replaced by ".IP \(bu" followed by a newline. The html above
transforms to
.IP \(bu
A "magic number" for identifying the file type.
A ppm image's magic number is the two characters "P6".
.IP \(bu
Whitespace (blanks, TABs, CRs, LFs).
As a result man shows the first line as intended. The second line is
the bullet point with an empty line. The text starts below.
A workaround is proposed as follows.
By changing the indoc line of makeman to
indoc = re.sub("(?i) *<LI>\n*", r".IP \(bu\n", indoc)
newlines are included in the matching pattern. With the modification the
extra empty line disappears and the html transforms to
.IP \(bu
A "magic number" for identifying the file type.
A ppm image's magic number is the two characters "P6".
.IP \(bu
Whitespace (blanks, TABs, CRs, LFs).
With this change both lines start with the bullet point followed
by the text.
Another approach would be to modify all html documents by replacing
"<LI>\n" by "<LI>". Since the html code itself is fine it might be
better to improve the conversion tool.
A diff which reflects the tiny change is attached to the report.
Please let me know if you need more information, evidence or any
additional activity.
Thank you very much for taking care of the netpbm package!
Kind regards,
Christoph
-- System Information:
Debian Release: 12.8
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.1.0-27-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages netpbm depends on:
ii libc6 2.36-9+deb12u9
ii libjpeg62-turbo 1:2.1.5-2
ii libnetpbm11 2:11.01.00-2
ii libpng16-16 1.6.39-2
ii libtiff6 4.5.0-6+deb12u1
ii libx11-6 2:1.8.4-2+deb12u2
ii libxml2 2.9.14+dfsg-1.3~deb12u1
ii zlib1g 1:1.2.13.dfsg-1
Versions of packages netpbm recommends:
ii ghostscript 10.0.0~dfsg-11+deb12u6
netpbm suggests no packages.
-------------- next part --------------
diff --git a/buildtools/makeman b/buildtools/makeman
index 6e4bb52..d86f5e0 100755
--- a/buildtools/makeman
+++ b/buildtools/makeman
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
#
# makeman -- compile netpbm's stereotyped HTML to troff markup
#
@@ -218,7 +218,7 @@ def makeman(name, file, indoc):
indoc = re.sub("(?i) *</DD>", "", indoc)
# Process unordered lists -- just turn them into .TPs
indoc = re.sub("(?i)</?[UO]L *(COMPACT)?>", "", indoc)
- indoc = re.sub("(?i) *<LI>", r".IP \(bu\n", indoc)
+ indoc = re.sub("(?i) *<LI>\n*", r".IP \(bu\n", indoc)
indoc = re.sub("(?i) *</LI>", "", indoc)
# No-print tags
indoc = re.sub("<!--no_print-->.*", "", indoc)
More information about the Pkg-phototools-devel
mailing list