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

[RFC/NOPATCHv3 4/4] doc: remove GNU_ROFF option

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jun 18, 2021, 20:30 UTC
Message-ID
<20210618203057.790320-5-felipe.contreras@gmail.com>
In-Reply-To
<20210618203057.790320-1-felipe.contreras@gmail.com>
From: "brian m. carlson" <sandals@crustytoothpaste.net>

By default, groff converts apostrophes in troff source to Unicode apostrophes. This is helpful and desirable when being used as a typesetter, since it makes the output much cleaner and more readable, but it is a problem in manual pages, since apostrophes are often used around shell commands and these should remain in their ASCII form for compatibility with the shell.

Fortunately, the DocBook stylesheets contain a workaround for this case: they detect the special .g number register, which is set only when using groff, and they define a special macro for apostrophes based on whether or not it is set and use that macro to write out the proper character. As a result, the DocBook stylesheets handle all cases correctly automatically, whether the user is using groff or not, unlike our GNU_ROFF code.

Additionally, this functionality was implemented in 2010. Since nobody is shipping a mainstream Linux distribution with security support that old anymore, we can just safely assume that the user has upgraded their system in the past decade and remove the GNU_ROFF option and its corresponding stylesheet altogether.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 Documentation/Makefile               |  8 --------
 Documentation/manpage-quote-apos.xsl | 16 ----------------
 Makefile                             |  4 ----
 3 files changed, 28 deletions(-)
 delete mode 100644 Documentation/manpage-quote-apos.xsl
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 53ef100a7a..53a8fa9fd3 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -168,14 +168,6 @@ MAN_BASE_URL = file://$(htmldir)/
 endif
 XMLTO_EXTRA += -m manpage-base-url.xsl
 
-# 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
-
 ifdef USE_ASCIIDOCTOR
 ASCIIDOC = asciidoctor
 ASCIIDOC_CONF =
diff --git a/Documentation/manpage-quote-apos.xsl b/Documentation/manpage-quote-apos.xsl
deleted file mode 100644
index aeb8839f33..0000000000
--- a/Documentation/manpage-quote-apos.xsl
+++ /dev/null
@@ -1,16 +0,0 @@
-<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>
diff --git a/Makefile b/Makefile
index 48547e2c3b..98484ee88c 100644
--- a/Makefile
+++ b/Makefile
@@ -278,10 +278,6 @@ all::
 # Define NO_ST_BLOCKS_IN_STRUCT_STAT if your platform does not have st_blocks
 # field that counts the on-disk footprint in 512-byte blocks.
 #
-# 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 USE_ASCIIDOCTOR to use Asciidoctor instead of AsciiDoc to build the
 # documentation.
 #
-- 
2.32.0
Previous: Felipe ContrerasNext: Felipe Contreras
Message 8 of 9 in “[RFC/NOPATCHv3 0/4] doc: asciidoctor: direct man page creation and fixes (brian's version)”
  1. Felipe ContrerasJun 18, 2021
  2. 2/4 doc: add linkgit macros for asciidoctorFelipe Contreras, Jun 18, 2021
  3. Felipe ContrerasJun 18, 2021
  4. 1/4 doc: add an option to have Asciidoctor build man pages directlyFelipe Contreras, Jun 18, 2021
  5. Felipe ContrerasJun 18, 2021
  6. 3/4 doc: use XML-style escapes only for HTML and XMLFelipe Contreras, Jun 18, 2021
  7. Felipe ContrerasJun 18, 2021
  8. 4/4 doc: remove GNU_ROFF optionFelipe Contreras, Jun 18, 2021
  9. Felipe ContrerasJun 18, 2021

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.