D7820: man ioslave: spurious numbers included in clang(1) man page
Jonathan Marten
noreply at phabricator.kde.org
Thu Sep 14 15:48:13 UTC 2017
marten created this revision.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY
Viewing the clang(1) man page shows spurious floating point numbers, either "0.0", "3.5" or "7.0", scattered throughout the page:
F3910985: clang-manpage-DX.png <https://phabricator.kde.org/F3910985>
These appear to be generated by the ".RS" line within a macro, as in the decompressed clang.1.bz2 man page source:
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
where the macro parameter to .INDENT is the spurious floating point number that appears.
When the .RS is seen in the REQ_RS case in scan_request(), if there are arguments scan_expression() is called to read the first argument. Unfortunately, scan_expression() simply sees the "\\$1" text and does not attempt to expand it as a macro argument. Since this string does not match any of the syntax known to scan_expression() the argument is ignored, the scan pointer is not advanced and the argument is output as if it were normal text.
This change recognises the "\\$1" syntax in scan_expression() and uses scan_escape_direct() to parse it. The string value is then converted to a number. It is only possible to return an integer (rounded) because scan_expression() only handles integers, but at least something approximate is returned and the argument is skipped and not output.
TEST PLAN
Built kio_man with this change, verified correct output of this man page and others.
REPOSITORY
R320 KIO Extras
REVISION DETAIL
https://phabricator.kde.org/D7820
AFFECTED FILES
man/man2html.cpp
To: marten, #plasma
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170914/3947ad0a/attachment.html>
More information about the Plasma-devel
mailing list