Documentation: Fix man page breakage with DocBook XSL v1.72
Subsystems (2)
PATCH 1/1 Documentation: Fix man page breakage with DocBook XSL v1.72
Quoted 1 line
From version 1.72 it will replace all dots in roff requests with U+2302
("house" character), and add escaping in output for all instances of dot that are not in roff requests. This caused the ".ft" hack forcing monospace font in listingblocks to end up as "\&.ft" and being visible in the resulting man page.
The fix adds a DOCBOOK_XSL_172 build variable that will disable the hack. To allow this variable to be defined in config.mak it also moves build variable handling below the inclusion of config.mak.
--- Documentation/Makefile | 10 +++++++--- Documentation/asciidoc.conf | 3 +++ Makefile | 2 ++ 3 files changed, 12 insertions(+), 3 deletions(-)
Documentation/Makefile +7 -3
@@ -37,9 +37,6 @@ man7dir=$(mandir)/man7 ASCIIDOC=asciidoc ASCIIDOC_EXTRA = -ifdef ASCIIDOC8 -ASCIIDOC_EXTRA += -a asciidoc7compatible -endif INSTALL?=install RM ?= rm -f DOC_REF = origin/man
@@ -52,6 +49,13 @@ DOCBOOK2X_TEXI=docbook2x-texi -include ../config.mak.autogen -include ../config.mak +ifdef ASCIIDOC8 +ASCIIDOC_EXTRA += -a asciidoc7compatible +endif +ifdef DOCBOOK_XSL_172 +ASCIIDOC_EXTRA += -a docbook-xsl-172 +endif + # # Please note that there is a minor bug in asciidoc. # The version after 6.0.3 _will_ include the patch found here:
Documentation/asciidoc.conf +3 -0
@@ -23,7 +23,9 @@ ifdef::backend-docbook[] endif::backend-docbook[] ifdef::backend-docbook[] +ifndef::docbook-xsl-172[] # "unbreak" docbook-xsl v1.68 for manpages. v1.69 works with or without this. +# v1.72 breaks with this because it replaces dots not in roff requests. [listingblock] <example><title>{title}</title> <literallayout>
@@ -36,6 +38,7 @@ ifdef::doctype-manpage[] endif::doctype-manpage[] </literallayout> {title#}</example> +endif::docbook-xsl-172[] endif::backend-docbook[] ifdef::doctype-manpage[]
Makefile +2 -0
@@ -115,6 +115,8 @@ all:: # # Define ASCIIDOC8 if you want to format documentation with AsciiDoc 8 # +# Define DOCBOOK_XSL_172 if you want to format man pages with DocBook XSL v1.72. +# # Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's # MakeMaker (e.g. using ActiveState under Cygwin). #
Signature · 4 lines
1.5.3.5.1661.gcbf0-dirty -- Jonas Fonseca
Quoted 3 lines · Jonas Fonseca
The fix adds a
DOCBOOK_XSL_172build variable that will disable the hack. To allow this variable to be defined in config.mak it also moves build variable handling below the inclusion of config.mak.
Ah, I misread the patch. Thanks.
Quoted 3 lines · Jonas Fonseca
From version 1.72 it will replace all dots in roff requests with U+2302 ("house" character), and add escaping in output for all instances of dot that are not in roff requests.
Wasn't this "house" thing brought up on the list earlier? I may well be recalling things incorrectly, but I somehow thought that DocBook people realized this was a mistake and the "house" trick was retracted in later snapshots, or something.