зеркало из https://github.com/microsoft/git.git
Quote ' as \(aq in manpages
The docbook/xmlto toolchain insists on quoting ' as \'. This does achieve the quoting goal, but modern 'man' implementations turn the apostrophe into a unicode "proper" apostrophe (given the right circumstances), breaking code examples in many of our manpages. Quote them as \(aq instead, which is an "apostrophe quote" as per the groff_char manpage. Unfortunately, as Anders Kaseorg kindly pointed out, this is not portable beyond groff, so we add an extra Makefile variable GNU_ROFF which you need to enable to get the new quoting. Thanks also to Miklos Vajna for documentation. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
ba7e81430a
Коммит
204d363f5a
|
@ -103,6 +103,14 @@ ifdef DOCBOOK_SUPPRESS_SP
|
|||
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
|
||||
endif
|
||||
|
||||
# If your target system uses GNU groff, it may try to render
|
||||
# apostrophes as a "pretty" apostrophe using unicode. This breaks
|
||||
# cut&paste, so you should set GNU_ROFF to force them to be ASCII
|
||||
# apostrophes. Unfortunately does not work with non-GNU roff.
|
||||
ifdef GNU_ROFF
|
||||
XMLTO_EXTRA += -m manpage-quote-apos.xsl
|
||||
endif
|
||||
|
||||
SHELL_PATH ?= $(SHELL)
|
||||
# Shell quote;
|
||||
SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="1.0">
|
||||
|
||||
<!-- work around newer groff/man setups using a prettier apostrophe
|
||||
that unfortunately does not quote anything when cut&pasting
|
||||
examples to the shell -->
|
||||
<xsl:template name="escape.apostrophe">
|
||||
<xsl:param name="content"/>
|
||||
<xsl:call-template name="string.subst">
|
||||
<xsl:with-param name="string" select="$content"/>
|
||||
<xsl:with-param name="target">'</xsl:with-param>
|
||||
<xsl:with-param name="replacement">\(aq</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
4
Makefile
4
Makefile
|
@ -142,6 +142,10 @@ all::
|
|||
#
|
||||
# Define DOCBOOK_XSL_172 if you want to format man pages with DocBook XSL v1.72.
|
||||
#
|
||||
# Define GNU_ROFF if your target system uses GNU groff. This forces
|
||||
# apostrophes to be ASCII so that cut&pasting examples to the shell
|
||||
# will work.
|
||||
#
|
||||
# Define NO_PERL_MAKEMAKER if you cannot use Makefiles generated by perl's
|
||||
# MakeMaker (e.g. using ActiveState under Cygwin).
|
||||
#
|
||||
|
|
Загрузка…
Ссылка в новой задаче