bug-groff
[Top][All Lists]
Advanced

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

[bug #63825] [man pages] insufficient escaping in fallback MR definition


From: G. Branden Robinson
Subject: [bug #63825] [man pages] insufficient escaping in fallback MR definition
Date: Thu, 23 Feb 2023 11:13:22 -0500 (EST)

Update of bug #63825 (project groff):

                  Status:             In Progress => Fixed                  
             Open/Closed:                    Open => Closed                 

    _______________________________________________________

Follow-up Comment #1:


commit a9767ace3dd6a4a500c02ff3658e6832fabc78ab
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Tue Feb 21 14:42:06 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.
    
    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



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?63825>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

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