From: Thomas Rast <trast@student.ethz.ch>
To: <git@vger.kernel.org>
Cc: Anders Kaseorg <andersk@mit.edu>,
Miklos Vajna <vmiklos@frugalware.org>,
Junio C Hamano <gitster@pobox.com>,
bill lam <cbill.lam@gmail.com>
Subject: [PATCH v2] Quote ' as \(aq in manpages
Date: Wed, 21 Oct 2009 20:57:27 +0200 [thread overview]
Message-ID: <7a3e6c8c5a11e14c19bc1a27608dcc78171c9feb.1256151199.git.trast@student.ethz.ch> (raw)
In-Reply-To: <alpine.DEB.2.00.0910211357160.5105@dr-wily.mit.edu>
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.
Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---
[Reinstated the Cc list, which I accidentally dropped when sending the
first patch...]
Anders Kaseorg wrote:
> \(aq is not portable to non-GNU roff. See
> http://bugs.debian.org/507673#65
> http://sourceforge.net/tracker/index.php?func=detail&aid=2412738&group_id=21935&atid=373747
> for a proposed portable solution.
Thanks for pointing that out. Makes things a lot easier though. I'm
really beginning to enjoy the whole doc toolchain.
I could not find a way to insert the proposed definitions into the
header by tweaking the xsls, so unless someone comes up with a way of
doing that, this is the best I can do.
To save you the effort of clicking the links, the header definitions
would be
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
and you then have to change the template to quote to \(Aq instead.
Documentation/Makefile | 3 +++
Documentation/manpage-quote-apos.xsl | 16 ++++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)
create mode 100644 Documentation/manpage-quote-apos.xsl
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 06b0c57..68876d0 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -102,6 +102,9 @@ endif
ifdef DOCBOOK_SUPPRESS_SP
XMLTO_EXTRA += -m manpage-suppress-sp.xsl
endif
+ifdef GNU_ROFF
+XMLTO_EXTRA += -m manpage-quote-apos.xsl
+endif
SHELL_PATH ?= $(SHELL)
# Shell quote;
diff --git a/Documentation/manpage-quote-apos.xsl b/Documentation/manpage-quote-apos.xsl
new file mode 100644
index 0000000..aeb8839
--- /dev/null
+++ b/Documentation/manpage-quote-apos.xsl
@@ -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>
--
1.6.5.1.144.g316236
next prev parent reply other threads:[~2009-10-21 18:58 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-12 10:29 quote in help code example bill lam
2009-10-12 19:40 ` Miklos Vajna
2009-10-13 2:16 ` bill lam
2009-10-13 10:19 ` Miklos Vajna
2009-10-13 14:06 ` bill lam
2009-10-13 15:30 ` Miklos Vajna
2009-10-13 20:15 ` Thomas Rast
2009-10-15 12:02 ` Thomas Rast
2009-10-21 8:24 ` [PATCH] Quote ' as \(aq in manpages Thomas Rast
2009-10-21 10:38 ` Miklos Vajna
2009-10-21 18:01 ` Anders Kaseorg
2009-10-21 18:57 ` Thomas Rast [this message]
2009-10-21 21:31 ` [PATCH] Document GNU_ROFF in Makefile Miklos Vajna
2009-10-21 22:22 ` Junio C Hamano
2009-10-21 22:51 ` Anders Kaseorg
2009-10-22 8:19 ` [PATCH v3] Quote ' as \(aq in manpages Thomas Rast
2009-10-21 21:42 ` [PATCH v2] " Anders Kaseorg
2009-10-12 21:06 ` quote in help code example Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7a3e6c8c5a11e14c19bc1a27608dcc78171c9feb.1256151199.git.trast@student.ethz.ch \
--to=trast@student.ethz.ch \
--cc=andersk@mit.edu \
--cc=cbill.lam@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=vmiklos@frugalware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).