summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--doc/groff.texinfo33
-rw-r--r--tmac/groff_ms.man15
-rw-r--r--tmac/s.tmac32
4 files changed, 45 insertions, 39 deletions
diff --git a/NEWS b/NEWS
index 7334980c..fe70f0e4 100644
--- a/NEWS
+++ b/NEWS
@@ -122,8 +122,8 @@ o A new auxiliary macro package `62bit' has been added which provides some
to handle normal groff number operations without risking overflow errors).
o For -ms, Eric S. Raymond contributed support for ancient Bell Labs
- localisms `.SC', `.UC', `.P1', and `.P2' when the command-line switch
- `-r bell=1' is given.
+ localisms `.SC', `.UC', `.P1', and `.P2'. The latter three are enabled
+ only after .SC is called.
VERSION 1.19.2
diff --git a/doc/groff.texinfo b/doc/groff.texinfo
index 1be1473f..91d5ce8e 100644
--- a/doc/groff.texinfo
+++ b/doc/groff.texinfo
@@ -4369,6 +4369,23 @@ Documents that need to determine whether they are being formatted with
number register.
@endDefmpreg
+Emulations of a few ancient Bell Labs macros can be re-enabled by calling
+the otherwise undocumented @code{SC} section-header macro. Calling @code{SC}
+enables @code{UC} for marking up a product or application name, and the pair
+@code{P1}/@code{P2} for surrounding code example displays.
+
+These are not enabled by default because (a)@tie{}they were not documented,
+in the original @code{ms} manual, and (b)@tie{}the @code{P1} and @code{UC}
+macros collide with different macros with the same names in the
+Berkeley version of @code{ms}.
+
+These @code{groff} emulations are sufficient to give back the
+1976 Kernighan@tie{}& Cherry paper @cite{Typsetting Mathematics -- User's
+Guide} its section headings, and restore some text that had gone
+missing as arguments of undefined macros. No warranty express or
+implied is given as to how well the typographic details these produce
+match the original Bell Labs macros.
+
@menu
* Missing ms Macros::
* Additional ms Macros::
@@ -4411,22 +4428,6 @@ Cover sheet information
A cover sheet macro
@end table
-Emulations of a few ancient Bell Labs macros can be re-enabled with
-the @code{groff} command-line option @w{@samp{-r bell=1}}. They are
-@code{SC}, @code{UC}, @code{P1}, and @code{P2}.
-
-These are not enabled by default because (a)@tie{}they were not documented,
-in the original @code{ms} manual, and (b)@tie{}the @code{P1} and @code{UC}
-macros collide with different macros with the same names in the
-Berkeley version of @code{ms}.
-
-These @code{groff} emulations are sufficient to give back the
-1976 Kernighan@tie{}& Cherry paper @cite{Typsetting Mathematics -- User's
-Guide} its section headings, and restore some text that had gone
-missing as arguments of undefined macros. No warranty express or
-implied is given as to how well the typographic details these produce
-match the original Bell Labs macros.
-
@c ---------------------------------------------------------------------
@node Additional ms Macros, , Missing ms Macros, Differences from AT&T ms
diff --git a/tmac/groff_ms.man b/tmac/groff_ms.man
index 331c7cce..2a1a55db 100644
--- a/tmac/groff_ms.man
+++ b/tmac/groff_ms.man
@@ -1299,10 +1299,10 @@ rather than silently to ignore them.
.
.IP \(bu
Some Bell Labs localisms are not implemented by default.
-However, by giving the command-line option
-.B "-r\ bell=1"
-you can enable implementations of the archaic Bell Labs macros
-.BR SC ,
+However, if you call the otherwise undocumented
+.BR SC
+section-header macro, you will enable implementations of three other
+archaic Bell Labs macros:
.BR UC ,
.BR P1 ,
and
@@ -1315,10 +1315,9 @@ and (b)\~the
and
.B UC
macros both collide with different macros in the Berkeley version of
-.IR ms .
-The
-.B "-r\ bell=1"
-emulations are sufficient to give back the 1976 Kernighan\~& Cherry paper
+.IR ms .
+.sp
+These emulations are sufficient to give back the 1976 Kernighan\~& Cherry paper
.I "Typsetting Mathematics \(en User's Guide"
its section headings, and restore some text that had gone missing as
arguments of undefined macros.
diff --git a/tmac/s.tmac b/tmac/s.tmac
index 4ce3b919..c85377b0 100644
--- a/tmac/s.tmac
+++ b/tmac/s.tmac
@@ -470,7 +470,11 @@ Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
..
.nr pg*P1 0
.de P1
-.nr pg*P1 1
+.ie r bell_localisms \{\
+. DS L
+. ft CW
+.\}
+.el .nr pg*P1 1
..
.wh -\n[FM]u pg@bottom
.wh -\n[FM]u/2u pg*footer
@@ -2076,28 +2080,30 @@ Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
.\" ****************************
.\" ******** module bell ********
.\" ****************************
-.\" Emulate Bell Labs localisms by setting `-r bell=1' on the command line.
-.\" They're not enabled by default because (a) they're not documented, and
-.\" (b) the .P1 and .UC macros collides with different ones in Berkeley ms.
+.\" Emulate Bell Labs localisms. Note, (a) they're not documented, and
+.\" (b) the .P1 and .UC macros collide with different ones in Berkeley ms.
+.\" We hack around this by conditionalizing the behavior of P1; UC was
+.\" not defined by groff and will be a no-op if called Berkeley style
+.\" with no arguments, so there is no problem with hijacking it here.
+.\"
.\" What's done here is sufficient to give back the Guide to EQN (1976) its
.\" section headings and restore some text that had gone missing as macro
.\" arguments; no warranty express or implied is given as to how well the
.\" typographic details these produce match the original Bell Labs macros.
-.if r bell \{\
+.\"
+.\" P1 is now defined in module pg.
.de SC
+.nr bell_localisms 1
.NH
\\$*
..
.de UC
-\f(CW\\$*\fP
-..
-.de P1
-.DS L
-ft CW
+.if r bell_localisms \f(CW\\$*\fP
..
.de P2
-.ft
-.DE
-..
+.if r bell_localisms \{\
+. ft
+. DE
.\}
+..
.\" Make sure that no blank lines creep in at the end of this file.