diff options
author | G. Branden Robinson <g.branden.robinson@gmail.com> | 2023-02-21 14:42:06 -0600 |
---|---|---|
committer | G. Branden Robinson <g.branden.robinson@gmail.com> | 2023-02-22 03:26:37 -0600 |
commit | a9767ace3dd6a4a500c02ff3658e6832fabc78ab (patch) | |
tree | 8d0863891ee8c99cd46e0e02f1c2b3a6f2d1e892 /contrib | |
parent | 2cf398e7f52eee9ecf5b8978f22bf252a7652e3d (diff) | |
download | groff-git-a9767ace3dd6a4a500c02ff3658e6832fabc78ab.tar.gz |
[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.
Fixes <https://savannah.gnu.org/bugs/?63825>. Thanks greatly to Alexis
for identifying an issue with mandoc(1)'s handling of an earlier
iteration of this fallback, and to John Gardner for identifying a method
of detecting mandoc as the renderer at formatting time.
Tested with groff 1.22.4, mandoc 1.14.5, and groff Git HEAD (of course).
The sed script I used follows.
/^\.cp 0/a\
.\
.\\" Define fallback for groff 1.23's MR macro if the system lacks it.\
.nr do-fallback 0\
.if !\\n(.f .nr do-fallback 1 \\" mandoc\
.if \\n(.g .if !d MR .nr do-fallback 1 \\" older groff\
.if !\\n(.g .nr do-fallback 1 \\" non-groff *roff\
.if \\n[do-fallback] \\{\\\
. de MR\
. ie \\\\n(.$=1 \\\
. I \\%\\\\$1\
. el \\\
. IR \\%\\\\$1 (\\\\$2)\\\\$3\
. .\
.\\}\
.rr do-fallback
ANNOUNCE: Update bug counts. Credit Alexis with assistance.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/chem/chem.1.man | 15 | ||||
-rw-r--r-- | contrib/eqn2graph/eqn2graph.1.man | 15 | ||||
-rw-r--r-- | contrib/gdiffmk/gdiffmk.1.man | 15 | ||||
-rw-r--r-- | contrib/glilypond/glilypond.1.man | 15 | ||||
-rw-r--r-- | contrib/gperl/gperl.1.man | 15 | ||||
-rw-r--r-- | contrib/gpinyin/gpinyin.1.man | 15 | ||||
-rw-r--r-- | contrib/grap2graph/grap2graph.1.man | 15 | ||||
-rw-r--r-- | contrib/hdtbl/groff_hdtbl.7.man | 15 | ||||
-rw-r--r-- | contrib/mm/groff_mm.7.man | 15 | ||||
-rw-r--r-- | contrib/mm/groff_mmse.7.man | 15 | ||||
-rw-r--r-- | contrib/mm/mmroff.1.man | 15 | ||||
-rw-r--r-- | contrib/mom/groff_mom.7.man | 15 | ||||
-rw-r--r-- | contrib/pdfmark/pdfroff.1.man | 15 | ||||
-rw-r--r-- | contrib/pic2graph/pic2graph.1.man | 15 | ||||
-rw-r--r-- | contrib/rfc1345/groff_rfc1345.7.man | 15 |
15 files changed, 225 insertions, 0 deletions
diff --git a/contrib/chem/chem.1.man b/contrib/chem/chem.1.man index 78b55cab6..a02242f3f 100644 --- a/contrib/chem/chem.1.man +++ b/contrib/chem/chem.1.man @@ -26,6 +26,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/eqn2graph/eqn2graph.1.man b/contrib/eqn2graph/eqn2graph.1.man index 697163fc4..472a91671 100644 --- a/contrib/eqn2graph/eqn2graph.1.man +++ b/contrib/eqn2graph/eqn2graph.1.man @@ -16,6 +16,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/gdiffmk/gdiffmk.1.man b/contrib/gdiffmk/gdiffmk.1.man index 325b09cc1..bb0a27675 100644 --- a/contrib/gdiffmk/gdiffmk.1.man +++ b/contrib/gdiffmk/gdiffmk.1.man @@ -33,6 +33,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/glilypond/glilypond.1.man b/contrib/glilypond/glilypond.1.man index 6bb5e9941..ae10bbd07 100644 --- a/contrib/glilypond/glilypond.1.man +++ b/contrib/glilypond/glilypond.1.man @@ -28,6 +28,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/gperl/gperl.1.man b/contrib/gperl/gperl.1.man index ed8f04264..77b2934df 100644 --- a/contrib/gperl/gperl.1.man +++ b/contrib/gperl/gperl.1.man @@ -26,6 +26,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/gpinyin/gpinyin.1.man b/contrib/gpinyin/gpinyin.1.man index e50d6ab61..3c3884e33 100644 --- a/contrib/gpinyin/gpinyin.1.man +++ b/contrib/gpinyin/gpinyin.1.man @@ -27,6 +27,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .\" Local definitions diff --git a/contrib/grap2graph/grap2graph.1.man b/contrib/grap2graph/grap2graph.1.man index 7aecc350c..5914a846c 100644 --- a/contrib/grap2graph/grap2graph.1.man +++ b/contrib/grap2graph/grap2graph.1.man @@ -16,6 +16,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/hdtbl/groff_hdtbl.7.man b/contrib/hdtbl/groff_hdtbl.7.man index 163256656..af5ab875f 100644 --- a/contrib/hdtbl/groff_hdtbl.7.man +++ b/contrib/hdtbl/groff_hdtbl.7.man @@ -26,6 +26,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .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..658532970 100644 --- a/contrib/mm/groff_mm.7.man +++ b/contrib/mm/groff_mm.7.man @@ -31,6 +31,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/mm/groff_mmse.7.man b/contrib/mm/groff_mmse.7.man index 4e75b621d..6ba94ebd5 100644 --- a/contrib/mm/groff_mmse.7.man +++ b/contrib/mm/groff_mmse.7.man @@ -32,6 +32,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Syntax diff --git a/contrib/mm/mmroff.1.man b/contrib/mm/mmroff.1.man index 7683b4e7c..0a34b3a4c 100644 --- a/contrib/mm/mmroff.1.man +++ b/contrib/mm/mmroff.1.man @@ -31,6 +31,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/mom/groff_mom.7.man b/contrib/mom/groff_mom.7.man index a4c2d8639..3872b8f63 100644 --- a/contrib/mom/groff_mom.7.man +++ b/contrib/mom/groff_mom.7.man @@ -32,6 +32,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .\" Setup diff --git a/contrib/pdfmark/pdfroff.1.man b/contrib/pdfmark/pdfroff.1.man index 263dea295..029a1f459 100644 --- a/contrib/pdfmark/pdfroff.1.man +++ b/contrib/pdfmark/pdfroff.1.man @@ -26,6 +26,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/pic2graph/pic2graph.1.man b/contrib/pic2graph/pic2graph.1.man index 571a520f2..84a906baf 100644 --- a/contrib/pic2graph/pic2graph.1.man +++ b/contrib/pic2graph/pic2graph.1.man @@ -16,6 +16,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Synopsis diff --git a/contrib/rfc1345/groff_rfc1345.7.man b/contrib/rfc1345/groff_rfc1345.7.man index 9998e1690..c04cad94e 100644 --- a/contrib/rfc1345/groff_rfc1345.7.man +++ b/contrib/rfc1345/groff_rfc1345.7.man @@ -35,6 +35,21 @@ 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. +.nr do-fallback 0 +.if !\n(.f .nr do-fallback 1 \" mandoc +.if \n(.g .if !d MR .nr do-fallback 1 \" older groff +.if !\n(.g .nr do-fallback 1 \" non-groff *roff +.if \n[do-fallback] \{\ +. de MR +. ie \\n(.$=1 \ +. I \%\\$1 +. el \ +. IR \%\\$1 (\\$2)\\$3 +. . +.\} +.rr do-fallback +. . .\" ==================================================================== .SH Description |