git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Quote ' as \(aq in manpages

From
Thomas Rast <trast@student.ethz.ch>
Date
Oct 21, 2009, 08:24 UTC
Message-ID
<ab31eb03b25272341b91e1f1132dab9d8a49e5b6.1256113282.git.trast@student.ethz.ch>
In-Reply-To
<200910151402.56295.trast@student.ethz.ch>

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.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

I've had this around since my last rant, and it actually gives good results with both setups I can test on, which are:

- asciidoc 8.4.5, docbook-xsl 1.75.2, xmlto 0.0.18
- asciidoc 8.2.7, docbook-xsl 1.73.2, xmlto 0.0.20
 Documentation/manpage-base.xsl |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/Documentation/manpage-base.xsl b/Documentation/manpage-base.xsl
index a264fa6..bf74bb7 100644
--- a/Documentation/manpage-base.xsl
+++ b/Documentation/manpage-base.xsl
@@ -7,6 +7,15 @@
 <xsl:param name="man.output.quietly" select="1"/>
 <xsl:param name="refentry.meta.get.quietly" select="1"/>
 
+<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>
+
 <!-- convert asciidoc callouts to man page format;
      git.docbook.backslash and git.docbook.dot params
      must be supplied by another XSL file or other means -->
-- 
1.6.5.1.144.g40216
Previous: Thomas RastNext: Miklos Vajna
Message 9 of 18 in “quote in help code example”
  1. bill lamOct 12, 2009
  2. Miklos VajnaOct 12, 2009
  3. bill lamOct 13, 2009
  4. Miklos VajnaOct 13, 2009
  5. bill lamOct 13, 2009
  6. Miklos VajnaOct 13, 2009
  7. Thomas RastOct 13, 2009
  8. Thomas RastOct 15, 2009
  9. Quote ' as \(aq in manpagesThomas Rast, Oct 21, 2009
  10. Miklos VajnaOct 21, 2009
  11. Anders KaseorgOct 21, 2009
  12. Quote ' as \(aq in manpagesThomas Rast, Oct 21, 2009
  13. Document GNU_ROFF in MakefileMiklos Vajna, Oct 21, 2009
  14. Junio C HamanoOct 21, 2009
  15. Anders KaseorgOct 21, 2009
  16. Quote ' as \(aq in manpagesThomas Rast, Oct 22, 2009
  17. Anders KaseorgOct 21, 2009
  18. Junio C HamanoOct 12, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.