groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 19/20: [man pages]: Define page-local `MR` fallback.


From: G. Branden Robinson
Subject: [groff] 19/20: [man pages]: Define page-local `MR` fallback.
Date: Fri, 3 Feb 2023 16:47:56 -0500 (EST)

gbranden pushed a commit to branch master
in repository groff.

commit 18d708e489758636ff9e168eee2592591755eb61
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Fri Feb 3 14:42:27 2023 -0600

    [man pages]: Define page-local `MR` fallback.
    
    [man pages]: Provide page-local fallback definition of new `MR` macro.
    I didn't think I was going to have to do this, but the premier site on
    the web for viewing Linux man pages, Michael Kerrisk's man7.org, has
    been pulling snapshots of the pages themselves without upgrading the
    underlying macros, and so man page cross references set with `MR` are
    getting lost in its presentations.  (I acknowledge: Ingo Schwarze warned
    me something like this could happen.)  This definition is intended as a
    stopgap measure only.  I want to revert this after groff 1.23 is
    released and has spread to some reasonable degree.
    
    * contrib/chem/chem.1.man:
    * contrib/eqn2graph/eqn2graph.1.man:
    * contrib/gdiffmk/gdiffmk.1.man:
    * contrib/glilypond/glilypond.1.man:
    * contrib/gperl/gperl.1.man:
    * contrib/gpinyin/gpinyin.1.man:
    * contrib/grap2graph/grap2graph.1.man:
    * contrib/hdtbl/groff_hdtbl.7.man:
    * contrib/mm/groff_mm.7.man:
    * contrib/mm/groff_mmse.7.man:
    * contrib/mm/mmroff.1.man:
    * contrib/mom/groff_mom.7.man:
    * contrib/pdfmark/pdfroff.1.man:
    * contrib/pic2graph/pic2graph.1.man:
    * contrib/rfc1345/groff_rfc1345.7.man:
    * man/groff.7.man:
    * man/groff_char.7.man:
    * man/groff_diff.7.man:
    * man/groff_font.5.man:
    * man/groff_out.5.man:
    * man/groff_tmac.5.man:
    * man/roff.7.man:
    * src/devices/grodvi/grodvi.1.man:
    * src/devices/grohtml/grohtml.1.man:
    * src/devices/grolbp/grolbp.1.man:
    * src/devices/grolj4/grolj4.1.man:
    * src/devices/gropdf/gropdf.1.man:
    * src/devices/gropdf/pdfmom.1.man:
    * src/devices/grops/grops.1.man:
    * src/devices/grotty/grotty.1.man:
    * src/devices/xditview/gxditview.1.man:
    * src/preproc/eqn/eqn.1.man:
    * src/preproc/eqn/neqn.1.man:
    * src/preproc/grn/grn.1.man:
    * src/preproc/pic/pic.1.man:
    * src/preproc/preconv/preconv.1.man:
    * src/preproc/refer/refer.1.man:
    * src/preproc/soelim/soelim.1.man:
    * src/preproc/tbl/tbl.1.man:
    * src/roff/groff/groff.1.man:
    * src/roff/nroff/nroff.1.man:
    * src/roff/troff/troff.1.man:
    * src/utils/addftinfo/addftinfo.1.man:
    * src/utils/afmtodit/afmtodit.1.man:
    * src/utils/grog/grog.1.man:
    * src/utils/hpftodit/hpftodit.1.man:
    * src/utils/indxbib/indxbib.1.man:
    * src/utils/lkbib/lkbib.1.man:
    * src/utils/lookbib/lookbib.1.man:
    * src/utils/pfbtops/pfbtops.1.man:
    * src/utils/tfmtodit/tfmtodit.1.man:
    * src/utils/xtotroff/xtotroff.1.man:
    * tmac/groff_man.7.man.in:
    * tmac/groff_me.7.man:
    * tmac/groff_ms.7.man:
    * tmac/groff_trace.7.man:
    * tmac/groff_www.7.man: Do it.
    
    The sed script I used follows.  I patched neqn(1), which does not
    require compatibility mode, by hand.
    
    /^\.cp 0/a\
    .\
    .\\" Define fallback for groff 1.23's MR macro if the system lacks it.\
    .de @@\
    .  de MR\
    .    ie \\n(.$=1 \\\
    .      I \%\\$1\
    .    el \\\
    .      IR \%\\$1 (\\$2)\\$3\
    .  \\\\.\
    ..\
    .if  \\n(.g .if !d MR .@@\
    .if !\\n(.g .@@\
    .rm @@
---
 ChangeLog                            | 71 ++++++++++++++++++++++++++++++++++++
 contrib/chem/chem.1.man              | 13 +++++++
 contrib/eqn2graph/eqn2graph.1.man    | 13 +++++++
 contrib/gdiffmk/gdiffmk.1.man        | 13 +++++++
 contrib/glilypond/glilypond.1.man    | 13 +++++++
 contrib/gperl/gperl.1.man            | 13 +++++++
 contrib/gpinyin/gpinyin.1.man        | 13 +++++++
 contrib/grap2graph/grap2graph.1.man  | 13 +++++++
 contrib/hdtbl/groff_hdtbl.7.man      | 13 +++++++
 contrib/mm/groff_mm.7.man            | 13 +++++++
 contrib/mm/groff_mmse.7.man          | 13 +++++++
 contrib/mm/mmroff.1.man              | 13 +++++++
 contrib/mom/groff_mom.7.man          | 13 +++++++
 contrib/pdfmark/pdfroff.1.man        | 13 +++++++
 contrib/pic2graph/pic2graph.1.man    | 13 +++++++
 contrib/rfc1345/groff_rfc1345.7.man  | 13 +++++++
 man/groff.7.man                      | 13 +++++++
 man/groff_char.7.man                 | 13 +++++++
 man/groff_diff.7.man                 | 13 +++++++
 man/groff_font.5.man                 | 13 +++++++
 man/groff_out.5.man                  | 13 +++++++
 man/groff_tmac.5.man                 | 13 +++++++
 man/roff.7.man                       | 13 +++++++
 src/devices/grodvi/grodvi.1.man      | 13 +++++++
 src/devices/grohtml/grohtml.1.man    | 13 +++++++
 src/devices/grolbp/grolbp.1.man      | 13 +++++++
 src/devices/grolj4/grolj4.1.man      | 13 +++++++
 src/devices/gropdf/gropdf.1.man      | 13 +++++++
 src/devices/gropdf/pdfmom.1.man      | 13 +++++++
 src/devices/grops/grops.1.man        | 13 +++++++
 src/devices/grotty/grotty.1.man      | 13 +++++++
 src/devices/xditview/gxditview.1.man | 13 +++++++
 src/preproc/eqn/eqn.1.man            | 13 +++++++
 src/preproc/eqn/neqn.1.man           | 14 +++++++
 src/preproc/grn/grn.1.man            | 13 +++++++
 src/preproc/pic/pic.1.man            | 13 +++++++
 src/preproc/preconv/preconv.1.man    | 13 +++++++
 src/preproc/refer/refer.1.man        | 13 +++++++
 src/preproc/soelim/soelim.1.man      | 13 +++++++
 src/preproc/tbl/tbl.1.man            | 13 +++++++
 src/roff/groff/groff.1.man           | 13 +++++++
 src/roff/nroff/nroff.1.man           | 13 +++++++
 src/roff/troff/troff.1.man           | 13 +++++++
 src/utils/addftinfo/addftinfo.1.man  | 13 +++++++
 src/utils/afmtodit/afmtodit.1.man    | 13 +++++++
 src/utils/grog/grog.1.man            | 13 +++++++
 src/utils/hpftodit/hpftodit.1.man    | 13 +++++++
 src/utils/indxbib/indxbib.1.man      | 13 +++++++
 src/utils/lkbib/lkbib.1.man          | 13 +++++++
 src/utils/lookbib/lookbib.1.man      | 13 +++++++
 src/utils/pfbtops/pfbtops.1.man      | 13 +++++++
 src/utils/tfmtodit/tfmtodit.1.man    | 13 +++++++
 src/utils/xtotroff/xtotroff.1.man    | 13 +++++++
 tmac/groff_man.7.man.in              | 13 +++++++
 tmac/groff_me.7.man                  | 13 +++++++
 tmac/groff_ms.7.man                  | 13 +++++++
 tmac/groff_trace.7.man               | 13 +++++++
 tmac/groff_www.7.man                 | 13 +++++++
 58 files changed, 813 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index ecae94519..1265bc041 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,74 @@
+2023-02-03  G. Branden Robinson <g.branden.robinson@gmail.com>
+
+       [man pages]: Provide page-local fallback definition of new `MR`
+       macro.  I didn't think I was going to have to do this, but the
+       premier site on the web for viewing Linux man pages, Michael
+       Kerrisk's man7.org, has been pulling snapshots of the pages
+       themselves without upgrading the underlying macros, and so man
+       page cross references set with `MR` are getting lost in its
+       presentations.  (I acknowledge: Ingo Schwarze warned me
+       something like this could happen.)  This definition is intended
+       as a stopgap measure only.  I want to revert this after groff
+       1.23 is released and has spread to some reasonable degree.
+
+       * contrib/chem/chem.1.man:
+       * contrib/eqn2graph/eqn2graph.1.man:
+       * contrib/gdiffmk/gdiffmk.1.man:
+       * contrib/glilypond/glilypond.1.man:
+       * contrib/gperl/gperl.1.man:
+       * contrib/gpinyin/gpinyin.1.man:
+       * contrib/grap2graph/grap2graph.1.man:
+       * contrib/hdtbl/groff_hdtbl.7.man:
+       * contrib/mm/groff_mm.7.man:
+       * contrib/mm/groff_mmse.7.man:
+       * contrib/mm/mmroff.1.man:
+       * contrib/mom/groff_mom.7.man:
+       * contrib/pdfmark/pdfroff.1.man:
+       * contrib/pic2graph/pic2graph.1.man:
+       * contrib/rfc1345/groff_rfc1345.7.man:
+       * man/groff.7.man:
+       * man/groff_char.7.man:
+       * man/groff_diff.7.man:
+       * man/groff_font.5.man:
+       * man/groff_out.5.man:
+       * man/groff_tmac.5.man:
+       * man/roff.7.man:
+       * src/devices/grodvi/grodvi.1.man:
+       * src/devices/grohtml/grohtml.1.man:
+       * src/devices/grolbp/grolbp.1.man:
+       * src/devices/grolj4/grolj4.1.man:
+       * src/devices/gropdf/gropdf.1.man:
+       * src/devices/gropdf/pdfmom.1.man:
+       * src/devices/grops/grops.1.man:
+       * src/devices/grotty/grotty.1.man:
+       * src/devices/xditview/gxditview.1.man:
+       * src/preproc/eqn/eqn.1.man:
+       * src/preproc/eqn/neqn.1.man:
+       * src/preproc/grn/grn.1.man:
+       * src/preproc/pic/pic.1.man:
+       * src/preproc/preconv/preconv.1.man:
+       * src/preproc/refer/refer.1.man:
+       * src/preproc/soelim/soelim.1.man:
+       * src/preproc/tbl/tbl.1.man:
+       * src/roff/groff/groff.1.man:
+       * src/roff/nroff/nroff.1.man:
+       * src/roff/troff/troff.1.man:
+       * src/utils/addftinfo/addftinfo.1.man:
+       * src/utils/afmtodit/afmtodit.1.man:
+       * src/utils/grog/grog.1.man:
+       * src/utils/hpftodit/hpftodit.1.man:
+       * src/utils/indxbib/indxbib.1.man:
+       * src/utils/lkbib/lkbib.1.man:
+       * src/utils/lookbib/lookbib.1.man:
+       * src/utils/pfbtops/pfbtops.1.man:
+       * src/utils/tfmtodit/tfmtodit.1.man:
+       * src/utils/xtotroff/xtotroff.1.man:
+       * tmac/groff_man.7.man.in:
+       * tmac/groff_me.7.man:
+       * tmac/groff_ms.7.man:
+       * tmac/groff_trace.7.man:
+       * tmac/groff_www.7.man: Do it.
+
 2023-02-03  G. Branden Robinson <g.branden.robinson@gmail.com>
 
        [tbl]: Fix bugs using boxes or vertical rules at table edges on
diff --git a/contrib/chem/chem.1.man b/contrib/chem/chem.1.man
index 78b55cab6..78efd86e9 100644
--- a/contrib/chem/chem.1.man
+++ b/contrib/chem/chem.1.man
@@ -26,6 +26,19 @@ documents
 .do nr *groff_chem_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/eqn2graph/eqn2graph.1.man 
b/contrib/eqn2graph/eqn2graph.1.man
index 697163fc4..fb8c82593 100644
--- a/contrib/eqn2graph/eqn2graph.1.man
+++ b/contrib/eqn2graph/eqn2graph.1.man
@@ -16,6 +16,19 @@ equation into a cropped image
 .do nr *groff_eqn2graph_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/gdiffmk/gdiffmk.1.man b/contrib/gdiffmk/gdiffmk.1.man
index 325b09cc1..4680821c5 100644
--- a/contrib/gdiffmk/gdiffmk.1.man
+++ b/contrib/gdiffmk/gdiffmk.1.man
@@ -33,6 +33,19 @@ files
 .do nr *groff_gdiffmk_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/glilypond/glilypond.1.man 
b/contrib/glilypond/glilypond.1.man
index 6bb5e9941..a41469ad2 100644
--- a/contrib/glilypond/glilypond.1.man
+++ b/contrib/glilypond/glilypond.1.man
@@ -28,6 +28,19 @@ documents
 .do nr *groff_glilypond_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/gperl/gperl.1.man b/contrib/gperl/gperl.1.man
index ed8f04264..35643f5d3 100644
--- a/contrib/gperl/gperl.1.man
+++ b/contrib/gperl/gperl.1.man
@@ -26,6 +26,19 @@ documents
 .do nr *groff_gperl_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/gpinyin/gpinyin.1.man b/contrib/gpinyin/gpinyin.1.man
index e50d6ab61..e479d8074 100644
--- a/contrib/gpinyin/gpinyin.1.man
+++ b/contrib/gpinyin/gpinyin.1.man
@@ -27,6 +27,19 @@ documents
 .do nr *groff_gpinyin_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Local definitions
diff --git a/contrib/grap2graph/grap2graph.1.man 
b/contrib/grap2graph/grap2graph.1.man
index 7aecc350c..bb5eea760 100644
--- a/contrib/grap2graph/grap2graph.1.man
+++ b/contrib/grap2graph/grap2graph.1.man
@@ -16,6 +16,19 @@ diagram into a cropped image
 .do nr *groff_grap2graph_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/hdtbl/groff_hdtbl.7.man b/contrib/hdtbl/groff_hdtbl.7.man
index 315b01a28..af9e15c3e 100644
--- a/contrib/hdtbl/groff_hdtbl.7.man
+++ b/contrib/hdtbl/groff_hdtbl.7.man
@@ -26,6 +26,19 @@ groff_hdtbl \- Heidelberger table macros for GNU
 .do nr *groff_groff_hdtbl_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .ig
   Some simple formatting macros.  Note that we use '.ig' here and not a
diff --git a/contrib/mm/groff_mm.7.man b/contrib/mm/groff_mm.7.man
index 47800f41c..d7f5ab156 100644
--- a/contrib/mm/groff_mm.7.man
+++ b/contrib/mm/groff_mm.7.man
@@ -31,6 +31,19 @@ groff_mm \- memorandum macros for GNU
 .do nr *groff_groff_mm_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/mm/groff_mmse.7.man b/contrib/mm/groff_mmse.7.man
index 4e75b621d..605aec81c 100644
--- a/contrib/mm/groff_mmse.7.man
+++ b/contrib/mm/groff_mmse.7.man
@@ -32,6 +32,19 @@ groff_mmse \- svenska \(rqmemorandum\(rq makro f\(:or GNU
 .do nr *groff_groff_mmse_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Syntax
diff --git a/contrib/mm/mmroff.1.man b/contrib/mm/mmroff.1.man
index c35b46e38..e47957ce2 100644
--- a/contrib/mm/mmroff.1.man
+++ b/contrib/mm/mmroff.1.man
@@ -31,6 +31,19 @@ macro package
 .do nr *groff_mmroff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/mom/groff_mom.7.man b/contrib/mom/groff_mom.7.man
index a4c2d8639..0b4492358 100644
--- a/contrib/mom/groff_mom.7.man
+++ b/contrib/mom/groff_mom.7.man
@@ -32,6 +32,19 @@ groff_mom \- modern macros for document composition with GNU
 .do nr *groff_groff_mom_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Setup
diff --git a/contrib/pdfmark/pdfroff.1.man b/contrib/pdfmark/pdfroff.1.man
index a49fa3909..41ea4f504 100644
--- a/contrib/pdfmark/pdfroff.1.man
+++ b/contrib/pdfmark/pdfroff.1.man
@@ -26,6 +26,19 @@ pdfroff \- construct files in Portable Document Format using
 .do nr *groff_pdfroff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/pic2graph/pic2graph.1.man 
b/contrib/pic2graph/pic2graph.1.man
index 571a520f2..f65aa88fe 100644
--- a/contrib/pic2graph/pic2graph.1.man
+++ b/contrib/pic2graph/pic2graph.1.man
@@ -16,6 +16,19 @@ diagram into a cropped image
 .do nr *groff_pic2graph_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/contrib/rfc1345/groff_rfc1345.7.man 
b/contrib/rfc1345/groff_rfc1345.7.man
index 9998e1690..c05fef96c 100644
--- a/contrib/rfc1345/groff_rfc1345.7.man
+++ b/contrib/rfc1345/groff_rfc1345.7.man
@@ -35,6 +35,19 @@ groff_rfc1345 \- special character names from RFC 1345 and 
Vim digraphs
 .do nr *groff_groff_rfc1345_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Description
diff --git a/man/groff.7.man b/man/groff.7.man
index 9a14bee2a..ab64f841e 100644
--- a/man/groff.7.man
+++ b/man/groff.7.man
@@ -28,6 +28,19 @@ language reference
 .do nr *groff_groff_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Setup
diff --git a/man/groff_char.7.man b/man/groff_char.7.man
index 188fb80d3..a004b8488 100644
--- a/man/groff_char.7.man
+++ b/man/groff_char.7.man
@@ -30,6 +30,19 @@ special character and glyph repertoire
 .do nr *groff_groff_char_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Description
diff --git a/man/groff_diff.7.man b/man/groff_diff.7.man
index b520e7129..afece2e70 100644
--- a/man/groff_diff.7.man
+++ b/man/groff_diff.7.man
@@ -29,6 +29,19 @@ and AT&T
 .do nr *groff_groff_diff_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Local definitions
diff --git a/man/groff_font.5.man b/man/groff_font.5.man
index a26003ed9..cace1aa32 100644
--- a/man/groff_font.5.man
+++ b/man/groff_font.5.man
@@ -28,6 +28,19 @@ device and font description files
 .do nr *groff_groff_font_5_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Description
diff --git a/man/groff_out.5.man b/man/groff_out.5.man
index 65386de45..f31fd3212 100644
--- a/man/groff_out.5.man
+++ b/man/groff_out.5.man
@@ -28,6 +28,19 @@ intermediate output format
 .do nr *groff_groff_out_5_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Setup
diff --git a/man/groff_tmac.5.man b/man/groff_tmac.5.man
index 20d1953d0..02dda7888 100644
--- a/man/groff_tmac.5.man
+++ b/man/groff_tmac.5.man
@@ -27,6 +27,19 @@ typesetting system
 .do nr *groff_groff_tmac_5_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" TODO: Consider parallelizing with our Texinfo node "Macro Packages".
 .\" ====================================================================
diff --git a/man/roff.7.man b/man/roff.7.man
index 9cdff7447..ad1386dad 100644
--- a/man/roff.7.man
+++ b/man/roff.7.man
@@ -31,6 +31,19 @@ typesetting
 .do nr *groff_roff_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Description
diff --git a/src/devices/grodvi/grodvi.1.man b/src/devices/grodvi/grodvi.1.man
index 8d7be9e5e..ddd192c0e 100644
--- a/src/devices/grodvi/grodvi.1.man
+++ b/src/devices/grodvi/grodvi.1.man
@@ -31,6 +31,19 @@ output driver for TeX DVI format
 .do nr *groff_grodvi_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
 .el .ds tx TeX
diff --git a/src/devices/grohtml/grohtml.1.man 
b/src/devices/grohtml/grohtml.1.man
index 4b8828124..32a1e7cfe 100644
--- a/src/devices/grohtml/grohtml.1.man
+++ b/src/devices/grohtml/grohtml.1.man
@@ -31,6 +31,19 @@ output driver for HTML
 .do nr *groff_grohtml_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/devices/grolbp/grolbp.1.man b/src/devices/grolbp/grolbp.1.man
index f6ff7a3a0..9d50f0943 100644
--- a/src/devices/grolbp/grolbp.1.man
+++ b/src/devices/grolbp/grolbp.1.man
@@ -36,6 +36,19 @@ output driver for Canon CaPSL printers
 .do nr *groff_grolbp_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/devices/grolj4/grolj4.1.man b/src/devices/grolj4/grolj4.1.man
index 847d64451..ab226647a 100644
--- a/src/devices/grolj4/grolj4.1.man
+++ b/src/devices/grolj4/grolj4.1.man
@@ -31,6 +31,19 @@ output driver for HP LaserJet 4 and compatible printers
 .do nr *groff_grolj4_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .\" This macro definition is poor style from a portability standpoint,
 .\" but it's a good test and demonstration of the standard font
 .\" repertoire for the devices where it has any effect at all, and so
diff --git a/src/devices/gropdf/gropdf.1.man b/src/devices/gropdf/gropdf.1.man
index e751e69a1..40f369343 100644
--- a/src/devices/gropdf/gropdf.1.man
+++ b/src/devices/gropdf/gropdf.1.man
@@ -31,6 +31,19 @@ output driver for Portable Document Format
 .do nr *groff_gropdf_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" This macro definition is poor style from a portability standpoint,
 .\" but it's a good test and demonstration of the standard font
diff --git a/src/devices/gropdf/pdfmom.1.man b/src/devices/gropdf/pdfmom.1.man
index e77aff439..21bc89a47 100644
--- a/src/devices/gropdf/pdfmom.1.man
+++ b/src/devices/gropdf/pdfmom.1.man
@@ -32,6 +32,19 @@ macro package for
 .do nr *groff_pdfmom_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/devices/grops/grops.1.man b/src/devices/grops/grops.1.man
index 0280507af..a84615e67 100644
--- a/src/devices/grops/grops.1.man
+++ b/src/devices/grops/grops.1.man
@@ -31,6 +31,19 @@ output driver for PostScript
 .do nr *groff_grops_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" This macro definition is poor style from a portability standpoint,
 .\" but it's a good test and demonstration of the standard font
diff --git a/src/devices/grotty/grotty.1.man b/src/devices/grotty/grotty.1.man
index b7c429a88..989b371e3 100644
--- a/src/devices/grotty/grotty.1.man
+++ b/src/devices/grotty/grotty.1.man
@@ -31,6 +31,19 @@ output driver for typewriter-like (terminal) devices
 .do nr *groff_grotty_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/devices/xditview/gxditview.1.man 
b/src/devices/xditview/gxditview.1.man
index 5e4646d66..d92880344 100644
--- a/src/devices/xditview/gxditview.1.man
+++ b/src/devices/xditview/gxditview.1.man
@@ -35,6 +35,19 @@ intermediate output files in X11
 .do nr *groff_gxditview_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/preproc/eqn/eqn.1.man b/src/preproc/eqn/eqn.1.man
index 98af068a8..9915a5352 100644
--- a/src/preproc/eqn/eqn.1.man
+++ b/src/preproc/eqn/eqn.1.man
@@ -32,6 +32,19 @@ or MathML
 .do nr *groff_eqn_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .ie \n(.V<\n(.v \
 .  ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
diff --git a/src/preproc/eqn/neqn.1.man b/src/preproc/eqn/neqn.1.man
index dc3cafd6b..cb570fc3d 100644
--- a/src/preproc/eqn/neqn.1.man
+++ b/src/preproc/eqn/neqn.1.man
@@ -25,6 +25,20 @@
 .\" instead of in the original English.
 .
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
+.
 .\" ====================================================================
 .SH Synopsis
 .\" ====================================================================
diff --git a/src/preproc/grn/grn.1.man b/src/preproc/grn/grn.1.man
index c8d3f9442..7dafd09fb 100644
--- a/src/preproc/grn/grn.1.man
+++ b/src/preproc/grn/grn.1.man
@@ -32,6 +32,19 @@ documents
 .do nr *groff_grn_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/preproc/pic/pic.1.man b/src/preproc/pic/pic.1.man
index 838f98d70..7af12f90e 100644
--- a/src/preproc/pic/pic.1.man
+++ b/src/preproc/pic/pic.1.man
@@ -31,6 +31,19 @@ or TeX
 .do nr *groff_pic_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Definitions
diff --git a/src/preproc/preconv/preconv.1.man 
b/src/preproc/preconv/preconv.1.man
index 0e888c567..da167e568 100644
--- a/src/preproc/preconv/preconv.1.man
+++ b/src/preproc/preconv/preconv.1.man
@@ -30,6 +30,19 @@ preconv \- prepare files for typesetting with
 .do nr *groff_preconv_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/preproc/refer/refer.1.man b/src/preproc/refer/refer.1.man
index e23b6f974..4aaf4bffc 100644
--- a/src/preproc/refer/refer.1.man
+++ b/src/preproc/refer/refer.1.man
@@ -30,6 +30,19 @@
 .do nr *groff_refer_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/preproc/soelim/soelim.1.man b/src/preproc/soelim/soelim.1.man
index 484ce1f60..7514496a1 100644
--- a/src/preproc/soelim/soelim.1.man
+++ b/src/preproc/soelim/soelim.1.man
@@ -31,6 +31,19 @@ or other text files
 .\" Save and disable compatibility mode (for, e.g., Solaris 10/11).
 .do nr *groff_soelim_1_man_C \n[.cp]
 .cp 0
+.
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
 .\" Man pages are seldom preprocessed with pic(1).
 .mso pic.tmac
 .
diff --git a/src/preproc/tbl/tbl.1.man b/src/preproc/tbl/tbl.1.man
index 7ffc086ab..ca49f14b9 100644
--- a/src/preproc/tbl/tbl.1.man
+++ b/src/preproc/tbl/tbl.1.man
@@ -32,6 +32,19 @@ documents
 .do nr *groff_tbl_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/roff/groff/groff.1.man b/src/roff/groff/groff.1.man
index 1759a6835..462e8e47b 100644
--- a/src/roff/groff/groff.1.man
+++ b/src/roff/groff/groff.1.man
@@ -27,6 +27,19 @@ document formatting system
 .do nr *groff_groff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .\" Define a string for the TeX logo.
 .ie t .ds TeX T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X
 .el   .ds TeX TeX
diff --git a/src/roff/nroff/nroff.1.man b/src/roff/nroff/nroff.1.man
index 97c6aace7..8bd6486c1 100644
--- a/src/roff/nroff/nroff.1.man
+++ b/src/roff/nroff/nroff.1.man
@@ -31,6 +31,19 @@ for TTY (terminal) devices
 .do nr *groff_nroff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/roff/troff/troff.1.man b/src/roff/troff/troff.1.man
index 5d7ba9586..68f61ab7f 100644
--- a/src/roff/troff/troff.1.man
+++ b/src/roff/troff/troff.1.man
@@ -28,6 +28,19 @@ typesetter and document formatter
 .do nr *groff_troff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/addftinfo/addftinfo.1.man 
b/src/utils/addftinfo/addftinfo.1.man
index 3cad99a3c..9b3c24460 100644
--- a/src/utils/addftinfo/addftinfo.1.man
+++ b/src/utils/addftinfo/addftinfo.1.man
@@ -32,6 +32,19 @@ fonts for use with
 .do nr *groff_addftinfo_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/afmtodit/afmtodit.1.man 
b/src/utils/afmtodit/afmtodit.1.man
index 79b18feab..45402f851 100644
--- a/src/utils/afmtodit/afmtodit.1.man
+++ b/src/utils/afmtodit/afmtodit.1.man
@@ -31,6 +31,19 @@ PostScript and PDF output
 .do nr *groff_afmtodit_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/grog/grog.1.man b/src/utils/grog/grog.1.man
index abd020604..7f5f4bcab 100644
--- a/src/utils/grog/grog.1.man
+++ b/src/utils/grog/grog.1.man
@@ -28,6 +28,19 @@ command a document requires
 .do nr *groff_grog_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/hpftodit/hpftodit.1.man 
b/src/utils/hpftodit/hpftodit.1.man
index e645beb7b..058d86c60 100644
--- a/src/utils/hpftodit/hpftodit.1.man
+++ b/src/utils/hpftodit/hpftodit.1.man
@@ -32,6 +32,19 @@ and
 .do nr *groff_hpftodit_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/indxbib/indxbib.1.man b/src/utils/indxbib/indxbib.1.man
index dd14ac164..dffdee900 100644
--- a/src/utils/indxbib/indxbib.1.man
+++ b/src/utils/indxbib/indxbib.1.man
@@ -29,6 +29,19 @@
 .do nr *groff_indxbib_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/lkbib/lkbib.1.man b/src/utils/lkbib/lkbib.1.man
index 6d485729d..1c16d7de9 100644
--- a/src/utils/lkbib/lkbib.1.man
+++ b/src/utils/lkbib/lkbib.1.man
@@ -29,6 +29,19 @@ lkbib \- search bibliographic databases
 .do nr *groff_lkbib_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/lookbib/lookbib.1.man b/src/utils/lookbib/lookbib.1.man
index fcbb739d2..d0e24d745 100644
--- a/src/utils/lookbib/lookbib.1.man
+++ b/src/utils/lookbib/lookbib.1.man
@@ -29,6 +29,19 @@
 .do nr *groff_lookbib_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/pfbtops/pfbtops.1.man b/src/utils/pfbtops/pfbtops.1.man
index 61314a8b9..c1340fe59 100644
--- a/src/utils/pfbtops/pfbtops.1.man
+++ b/src/utils/pfbtops/pfbtops.1.man
@@ -30,6 +30,19 @@ Font ASCII
 .do nr *groff_pfbtops_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/src/utils/tfmtodit/tfmtodit.1.man 
b/src/utils/tfmtodit/tfmtodit.1.man
index 3bc5ad092..eba2044b8 100644
--- a/src/utils/tfmtodit/tfmtodit.1.man
+++ b/src/utils/tfmtodit/tfmtodit.1.man
@@ -32,6 +32,19 @@ and
 .do nr *groff_tfmtodit_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .\" Definitions
diff --git a/src/utils/xtotroff/xtotroff.1.man 
b/src/utils/xtotroff/xtotroff.1.man
index f598f4896..b842eaf43 100644
--- a/src/utils/xtotroff/xtotroff.1.man
+++ b/src/utils/xtotroff/xtotroff.1.man
@@ -31,6 +31,19 @@ font metrics
 .do nr *groff_xtotroff_1_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/tmac/groff_man.7.man.in b/tmac/groff_man.7.man.in
index 69b5551d1..217acfc97 100644
--- a/tmac/groff_man.7.man.in
+++ b/tmac/groff_man.7.man.in
@@ -83,6 +83,19 @@ _endif()dnl
 .do nr *groff_groff_man_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/tmac/groff_me.7.man b/tmac/groff_me.7.man
index 8b0e0d834..3966e0cb9 100644
--- a/tmac/groff_me.7.man
+++ b/tmac/groff_me.7.man
@@ -52,6 +52,19 @@ documents
 .do nr *groff_groff_me_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/tmac/groff_ms.7.man b/tmac/groff_ms.7.man
index 4fbe8e26c..f9c66c131 100644
--- a/tmac/groff_ms.7.man
+++ b/tmac/groff_ms.7.man
@@ -32,6 +32,19 @@ manuscript macro package for formatting documents
 .do nr *groff_groff_ms_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/tmac/groff_trace.7.man b/tmac/groff_trace.7.man
index 45fbed598..7fbfdcc92 100644
--- a/tmac/groff_trace.7.man
+++ b/tmac/groff_trace.7.man
@@ -27,6 +27,19 @@ documents
 .do nr *groff_groff_trace_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis
diff --git a/tmac/groff_www.7.man b/tmac/groff_www.7.man
index 4b34d3eef..7dfe0facc 100644
--- a/tmac/groff_www.7.man
+++ b/tmac/groff_www.7.man
@@ -32,6 +32,19 @@ macros for authoring web pages
 .do nr *groff_groff_www_7_man_C \n[.cp]
 .cp 0
 .
+.\" Define fallback for groff 1.23's MR macro if the system lacks it.
+.de @@
+.  de MR
+.    ie \n(.$=1 \
+.      I %\$1
+.    el \
+.      IR %\$1 (\$2)\$3
+.  \\.
+..
+.if  \n(.g .if !d MR .@@
+.if !\n(.g .@@
+.rm @@
+.
 .
 .\" ====================================================================
 .SH Synopsis



reply via email to

[Prev in Thread] Current Thread [Next in Thread]