<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/groff-git.git/src/roff/groff, branch master</title>
<subtitle>git.savannah.gnu.org: git/groff.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/'/>
<entry>
<title>groff(1): Tighten wording.</title>
<updated>2023-05-05T13:05:10+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-05-05T13:05:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=8618653e17e630326182debf9d997ac708801aae'/>
<id>8618653e17e630326182debf9d997ac708801aae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>groff(1), troff(1): Document operand handling.</title>
<updated>2023-05-04T18:12:03+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-05-04T17:56:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=76d816e05295e64bdf500ac4cadaccfe69f655cb'/>
<id>76d816e05295e64bdf500ac4cadaccfe69f655cb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[groff]: Revise a test to be more revealing.</title>
<updated>2023-03-06T20:01:02+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-03-06T17:23:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=c70e3c4bfbb202f9f6a2ae1426637550ed8de023'/>
<id>c70e3c4bfbb202f9f6a2ae1426637550ed8de023</id>
<content type='text'>
* src/roff/groff/tests/initialization_is_quiet.sh: Stop using "set -e".
  Instead use `fail` variable and `wail` function (and lowercase names
  for our internal variables) like many of our other tests.  If the
  "unset" shell built-in fails, skip the test (prompted by
  /usr/xpg4/bin/sh on Solaris).  Attempt every groff locale, with and
  without compatibility mode initially enabled, instead of stopping at
  the first failure.  Report standard error and standard output content
  separately.  Use groff's `-a` flag to prepare the standard output, for
  readability.

* PROBLEMS: Document that this test might be skipped rather than failing
  on Solaris.  (What actually happens depends on which shell you run it
  with, and we advise a variety of approaches.)

Thanks to Bruno Haible for feedback regarding mysterious failures of
this test on GNU/Hurd and NetBSD systems.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/groff/tests/initialization_is_quiet.sh: Stop using "set -e".
  Instead use `fail` variable and `wail` function (and lowercase names
  for our internal variables) like many of our other tests.  If the
  "unset" shell built-in fails, skip the test (prompted by
  /usr/xpg4/bin/sh on Solaris).  Attempt every groff locale, with and
  without compatibility mode initially enabled, instead of stopping at
  the first failure.  Report standard error and standard output content
  separately.  Use groff's `-a` flag to prepare the standard output, for
  readability.

* PROBLEMS: Document that this test might be skipped rather than failing
  on Solaris.  (What actually happens depends on which shell you run it
  with, and we advise a variety of approaches.)

Thanks to Bruno Haible for feedback regarding mysterious failures of
this test on GNU/Hurd and NetBSD systems.
</pre>
</div>
</content>
</entry>
<entry>
<title>[tests]: Have more tests report output.</title>
<updated>2023-02-22T21:18:20+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-22T19:03:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=14b01348259c2159e5221f797bc9b9a68260a7d3'/>
<id>14b01348259c2159e5221f797bc9b9a68260a7d3</id>
<content type='text'>
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh: Do it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh: Do it.
</pre>
</div>
</content>
</entry>
<entry>
<title>[tests]: Avoid failures when $GROFF_ENCODING set.</title>
<updated>2023-02-22T21:16:52+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-22T19:00:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=b2157f22b5b2a3abb8f5a972833e9335752cb09b'/>
<id>b2157f22b5b2a3abb8f5a972833e9335752cb09b</id>
<content type='text'>
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh:
* tmac/tests/an_font-remapping-does-not-affect-titles.sh: Unset
  $GROFF_ENCODING before running test because preconv(1) confounds these
  tests.

Thanks to Alexis for reporting this problem.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/groff/tests/ab_works.sh:
* src/roff/groff/tests/handle_special_input_code_points.sh:
* src/roff/groff/tests/initialization_is_quiet.sh:
* src/roff/groff/tests/msoquiet_works.sh:
* src/roff/groff/tests/soquiet_works.sh:
* tmac/tests/an-ext_MR-works.sh:
* tmac/tests/an_MR-works.sh:
* tmac/tests/an_font-remapping-does-not-affect-titles.sh: Unset
  $GROFF_ENCODING before running test because preconv(1) confounds these
  tests.

Thanks to Alexis for reporting this problem.
</pre>
</div>
</content>
</entry>
<entry>
<title>[grohtml]: Fix Savannah #63824 (1/2).</title>
<updated>2023-02-22T09:26:43+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-21T22:43:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=5486b5bc09f394d2697e32e2f2b887eea93f4b14'/>
<id>5486b5bc09f394d2697e32e2f2b887eea93f4b14</id>
<content type='text'>
[grohtml]: Revise tests to check for requisite programs at test time and
skip if not found, rather than configuring them away at build time,
which can cause a distribution archive to be incorrectly structured.

* m4/groff.m4: Annotate requisite program list since we're violating the
  DRY principle.

* src/roff/groff/groff.am (groff_TESTS): Populate unconditionally.

* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for requisite
  programs and skip test if any are not found.

Fixes &lt;https://savannah.gnu.org/bugs/?63824&gt; (1/2).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[grohtml]: Revise tests to check for requisite programs at test time and
skip if not found, rather than configuring them away at build time,
which can cause a distribution archive to be incorrectly structured.

* m4/groff.m4: Annotate requisite program list since we're violating the
  DRY principle.

* src/roff/groff/groff.am (groff_TESTS): Populate unconditionally.

* src/roff/groff/tests/html_works_with_grn_and_eqn.sh:
* src/roff/groff/tests/smoke-test_html_device.sh: Check for requisite
  programs and skip test if any are not found.

Fixes &lt;https://savannah.gnu.org/bugs/?63824&gt; (1/2).
</pre>
</div>
</content>
</entry>
<entry>
<title>[man pages]: Define page-local `MR` fallback.</title>
<updated>2023-02-22T09:26:37+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-21T20:42:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=a9767ace3dd6a4a500c02ff3658e6832fabc78ab'/>
<id>a9767ace3dd6a4a500c02ff3658e6832fabc78ab</id>
<content type='text'>
[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 &lt;https://savannah.gnu.org/bugs/?63825&gt;.  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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[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 &lt;https://savannah.gnu.org/bugs/?63825&gt;.  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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[man pages]: Define page-local `MR` fallback."</title>
<updated>2023-02-22T01:19:11+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-21T20:27:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=80da1677a00064b410fa0dea52ac4cf32ca988fd'/>
<id>80da1677a00064b410fa0dea52ac4cf32ca988fd</id>
<content type='text'>
This reverts commit 18d708e489758636ff9e168eee2592591755eb61.

Unfortunately my clever hack [sic] does not work with mandoc 1.14.5,
causing that tool to truncate the entire text of the man page after the
summary description.

The good news is that there is a simpler replacement that works better,
forthcoming.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 18d708e489758636ff9e168eee2592591755eb61.

Unfortunately my clever hack [sic] does not work with mandoc 1.14.5,
causing that tool to truncate the entire text of the man page after the
summary description.

The good news is that there is a simpler replacement that works better,
forthcoming.
</pre>
</div>
</content>
</entry>
<entry>
<title>[groff]: Improve portability of a test.</title>
<updated>2023-02-19T16:24:19+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-19T07:24:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=3aa9d30cf47d4bb945276db6a3b963141d93f179'/>
<id>3aa9d30cf47d4bb945276db6a3b963141d93f179</id>
<content type='text'>
* src/roff/groff/tests/regression_savannah_58153.sh: Improve
  portability.  Avoid the unpredictability of implementations when
  putting backslashes inside a groff-piped printf shell command inside a
  here document inside a command substitution by changing the groff
  escape character to something meaningless to the shell and to printf
  ('@').  Fixes a test failure on Solaris 11.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/groff/tests/regression_savannah_58153.sh: Improve
  portability.  Avoid the unpredictability of implementations when
  putting backslashes inside a groff-piped printf shell command inside a
  here document inside a command substitution by changing the groff
  escape character to something meaningless to the shell and to printf
  ('@').  Fixes a test failure on Solaris 11.
</pre>
</div>
</content>
</entry>
<entry>
<title>[tests]: Don't test grohtml if unsupported.</title>
<updated>2023-02-17T12:12:11+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-16T18:14:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=668a1b183b748473e2fec17bdde4db286129f659'/>
<id>668a1b183b748473e2fec17bdde4db286129f659</id>
<content type='text'>
* src/roff/groff/groff.am (groff_TESTS) [!USE_GROHTML]: Don't test the
  'grohtml' driver if we know it won't work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/groff/groff.am (groff_TESTS) [!USE_GROHTML]: Don't test the
  'grohtml' driver if we know it won't work.
</pre>
</div>
</content>
</entry>
</feed>
