<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/groff-git.git/src/libs/libdriver, 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>[src]: Group and order standard libc inclusions.</title>
<updated>2023-02-10T00:30:01+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-09T23:25:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=70a683d6733713181b8f9ae25a8bfad133d5ba68'/>
<id>70a683d6733713181b8f9ae25a8bfad133d5ba68</id>
<content type='text'>
Inclusion order is not supposed to matter for standard C header files,
so treating this as a code style issue.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Do it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Inclusion order is not supposed to matter for standard C header files,
so treating this as a code style issue.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Do it.
</pre>
</div>
</content>
</entry>
<entry>
<title>src/include/assert.h: Delete.</title>
<updated>2023-02-10T00:29:48+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-09T22:43:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=ccc63e65c723e235fafc5099b383959c92664c38'/>
<id>ccc63e65c723e235fafc5099b383959c92664c38</id>
<content type='text'>
Switch to using system's assert.h header file.  It is futile to attempt
to preserve compatibility with ISO C90 systems by providing a bespoke
predicate-reporting assert() (a C99 feature) when gnulib, which we
require, itself demands C99.  This ensures that `static_assert` remains
defined so that gnulib can use it.  Thanks to Bruno Haible for the
consultation.

&lt;https://lists.gnu.org/archive/html/groff/2023-02/msg00034.html&gt;

* src/include/assert.h: Delete.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolbp/lbp.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Respell "assert.h" inclusion with
  angle brackets instead of quotation marks.

Fixes &lt;https://savannah.gnu.org/bugs/?63078&gt;.

* ANNOUNCE: Update bug counts.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Switch to using system's assert.h header file.  It is futile to attempt
to preserve compatibility with ISO C90 systems by providing a bespoke
predicate-reporting assert() (a C99 feature) when gnulib, which we
require, itself demands C99.  This ensures that `static_assert` remains
defined so that gnulib can use it.  Thanks to Bruno Haible for the
consultation.

&lt;https://lists.gnu.org/archive/html/groff/2023-02/msg00034.html&gt;

* src/include/assert.h: Delete.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolbp/lbp.cpp:
* src/devices/grolj4/lj4.cpp:
* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libdriver/printer.cpp:
* src/libs/libgroff/assert.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/errarg.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/relocate.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/pic/pic.h:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/roff/groff/groff.cpp:
* src/roff/troff/troff.h:
* src/utils/hpftodit/hpftodit.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp:
* src/utils/tfmtodit/tfmtodit.cpp: Respell "assert.h" inclusion with
  angle brackets instead of quotation marks.

Fixes &lt;https://savannah.gnu.org/bugs/?63078&gt;.

* ANNOUNCE: Update bug counts.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Savannah #63589.</title>
<updated>2023-02-05T09:06:19+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2023-02-04T21:42:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=45b628322b2a16b2fd0726f7ac0f48dad34f92bd'/>
<id>45b628322b2a16b2fd0726f7ac0f48dad34f92bd</id>
<content type='text'>
Correct numerous typos and solecisms throughout the source tree.

* ChangeLog:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.121:
* ChangeLog.122:
* Makefile.am:
* NEWS:
* PROBLEMS:
* README:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/glilypond/README.txt:
* contrib/glilypond/glilypond.pl:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/ChangeLog:
* contrib/mm/m.tmac:
* contrib/pdfmark/pdfmark.ms:
* doc/automake.mom:
* doc/groff.texi:
* doc/me-revisions:
* doc/webpage.ms:
* m4/lib-link.m4:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/devices/grohtml/post-html.cpp:
* src/devices/grolbp/lbp.h:
* src/devices/gropdf/TODO:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/gropdf.pl:
* src/devices/xditview/ChangeLog:
* src/devices/xditview/xditview.c:
* src/libs/libdriver/input.cpp:
* src/libs/libgroff/glyphuni.cpp:
* src/preproc/eqn/eqn.1.man:
* src/preproc/grn/gprint.h:
* src/preproc/grn/main.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/tbl/table.cpp:
* src/roff/groff/pipeline.c:
* src/roff/groff/tests/substring_works.sh:
* src/roff/groff/tests/use_point_size_escape_with_single_digit_arg.sh:
* src/roff/troff/div.cpp:
* src/roff/troff/input.cpp:
* src/roff/troff/troff.1.man:
* src/utils/grog/grog.pl:
* src/utils/indxbib/indxbib.cpp:
* src/utils/tfmtodit/tfmtodit.1.man:
* tmac/doc-old.tmac:
* tmac/doc.tmac:
* tmac/groff_man.7.man.in:
* tmac/hyphen.fr: Do it.

Fixes &lt;https://savannah.gnu.org/bugs/?63589&gt;.  Thanks to Bjarni Ingi
Gislason for the report.

* ANNOUNCE: Update bug counts.

I also killed some pointless white space, refilled affected lines at 72
columns where convenient and non-disruptive to existing text flow, and
corrected a misspelling of Ralph Corderoy's surname.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct numerous typos and solecisms throughout the source tree.

* ChangeLog:
* ChangeLog.115:
* ChangeLog.116:
* ChangeLog.117:
* ChangeLog.118:
* ChangeLog.119:
* ChangeLog.121:
* ChangeLog.122:
* Makefile.am:
* NEWS:
* PROBLEMS:
* README:
* contrib/chem/chem.am:
* contrib/chem/chem.pl:
* contrib/glilypond/README.txt:
* contrib/glilypond/glilypond.pl:
* contrib/hdtbl/groff_hdtbl.7.man:
* contrib/mm/ChangeLog:
* contrib/mm/m.tmac:
* contrib/pdfmark/pdfmark.ms:
* doc/automake.mom:
* doc/groff.texi:
* doc/me-revisions:
* doc/webpage.ms:
* m4/lib-link.m4:
* man/groff.7.man:
* man/groff_diff.7.man:
* man/roff.7.man:
* src/devices/grohtml/post-html.cpp:
* src/devices/grolbp/lbp.h:
* src/devices/gropdf/TODO:
* src/devices/gropdf/gropdf.1.man:
* src/devices/gropdf/gropdf.pl:
* src/devices/xditview/ChangeLog:
* src/devices/xditview/xditview.c:
* src/libs/libdriver/input.cpp:
* src/libs/libgroff/glyphuni.cpp:
* src/preproc/eqn/eqn.1.man:
* src/preproc/grn/gprint.h:
* src/preproc/grn/main.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/tbl/table.cpp:
* src/roff/groff/pipeline.c:
* src/roff/groff/tests/substring_works.sh:
* src/roff/groff/tests/use_point_size_escape_with_single_digit_arg.sh:
* src/roff/troff/div.cpp:
* src/roff/troff/input.cpp:
* src/roff/troff/troff.1.man:
* src/utils/grog/grog.pl:
* src/utils/indxbib/indxbib.cpp:
* src/utils/tfmtodit/tfmtodit.1.man:
* tmac/doc-old.tmac:
* tmac/doc.tmac:
* tmac/groff_man.7.man.in:
* tmac/hyphen.fr: Do it.

Fixes &lt;https://savannah.gnu.org/bugs/?63589&gt;.  Thanks to Bjarni Ingi
Gislason for the report.

* ANNOUNCE: Update bug counts.

I also killed some pointless white space, refilled affected lines at 72
columns where convenient and non-disruptive to existing text flow, and
corrected a misspelling of Ralph Corderoy's surname.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libdriver]: Lethalize use of '[hHvH]' before 'p'.</title>
<updated>2022-09-29T22:19:56+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-09-29T13:36:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=dd6b60c1b456bb6e63165966998f8479956e4d05'/>
<id>dd6b60c1b456bb6e63165966998f8479956e4d05</id>
<content type='text'>
* src/libs/libdriver/input.cpp (do_file): Make use of positioning
  commands before the first page is started fatal errors; they suggest
  ill-formed input.  The 'p' command clobbers the vertical position
  anyway.  (See https://bugs.debian.org/421437 for discussion.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/libs/libdriver/input.cpp (do_file): Make use of positioning
  commands before the first page is started fatal errors; they suggest
  ill-formed input.  The 'p' command clobbers the vertical position
  anyway.  (See https://bugs.debian.org/421437 for discussion.)
</pre>
</div>
</content>
</entry>
<entry>
<title>[grodvi, ...]: Trivially refactor.</title>
<updated>2022-09-25T20:47:11+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-09-19T20:16:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=91280c1748c5f008f72684ccf50cdaa3ee77726f'/>
<id>91280c1748c5f008f72684ccf50cdaa3ee77726f</id>
<content type='text'>
Tidy up #includes of the "assert.h" header, which we locally provide to
ensure a C99-conformant implementation.  Drop inclusion of header from
files that don't directly need it, add it where they do, and spell the
inclusion consistently with double quotes to cue the reader of its local
status.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolj4/lj4.cpp:
* src/libs/libdriver/printer.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp: Add inclusion.

* src/include/driver.h:
* src/libs/libgroff/fontfile.cpp:
* src/preproc/eqn/eqn.h:
* src/preproc/html/pushback.cpp:
* src/preproc/refer/refer.h:
* src/preproc/tbl/table.h:
* src/utils/addftinfo/addftinfo.cpp: Drop inclusion.

* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp: Respell inclusion.

Fixes &lt;https://savannah.gnu.org/bugs/?63079&gt;.  Thanks to Bjarni Ingi
Gislason for the report.

Also annotate our assert.h to indicate why it's there.

Also update editor aid comments and drop old style Emacs file-local
variable setting.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tidy up #includes of the "assert.h" header, which we locally provide to
ensure a C99-conformant implementation.  Drop inclusion of header from
files that don't directly need it, add it where they do, and spell the
inclusion consistently with double quotes to cue the reader of its local
status.

* src/devices/grodvi/dvi.cpp:
* src/devices/grolj4/lj4.cpp:
* src/libs/libdriver/printer.cpp:
* src/preproc/eqn/box.cpp:
* src/preproc/eqn/delim.cpp:
* src/preproc/eqn/pile.cpp:
* src/preproc/eqn/script.cpp: Add inclusion.

* src/include/driver.h:
* src/libs/libgroff/fontfile.cpp:
* src/preproc/eqn/eqn.h:
* src/preproc/html/pushback.cpp:
* src/preproc/refer/refer.h:
* src/preproc/tbl/table.h:
* src/utils/addftinfo/addftinfo.cpp: Drop inclusion.

* src/include/itable.h:
* src/include/stringclass.h:
* src/libs/libbib/linear.cpp:
* src/libs/libbib/search.cpp:
* src/libs/libgroff/color.cpp:
* src/libs/libgroff/font.cpp:
* src/libs/libgroff/nametoindex.cpp:
* src/libs/libgroff/prime.cpp:
* src/libs/libgroff/searchpath.cpp:
* src/preproc/html/pre-html.cpp:
* src/preproc/preconv/preconv.cpp:
* src/preproc/soelim/soelim.cpp:
* src/utils/indxbib/indxbib.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp: Respell inclusion.

Fixes &lt;https://savannah.gnu.org/bugs/?63079&gt;.  Thanks to Bjarni Ingi
Gislason for the report.

Also annotate our assert.h to indicate why it's there.

Also update editor aid comments and drop old style Emacs file-local
variable setting.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libgroff]: Enable more informative diagnostics.</title>
<updated>2022-06-21T18:03:01+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-06-19T07:21:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=a68ad8278d06f87bd984828b7f0cef732fc09798'/>
<id>a68ad8278d06f87bd984828b7f0cef732fc09798</id>
<content type='text'>
[libgroff]: Update return type of `font::load_desc` function to enable
more informative diagnostics from callers.

* src/include/font.h (font::load_desc): Change return type from `bool`
  to `const char` pointer.
* src/libs/libgroff/font.cpp (font::load_desc): Return null pointer
  literal on failed `open()` or validation failures.  Return filespec on
  success.

* src/libs/libdriver/input.cpp (do_file):
* src/preproc/grn/main.cpp (getres):
* src/roff/groff/groff.cpp (main):
* src/roff/troff/input.cpp (main): Compare `font::load_desc()` return
  value to null pointer literal instead of treating it as a Boolean.

* src/roff/groff/groff.cpp (main): Report full filespec of troublesome
  "DESC" file when complainiing of missing "postpro" directive.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[libgroff]: Update return type of `font::load_desc` function to enable
more informative diagnostics from callers.

* src/include/font.h (font::load_desc): Change return type from `bool`
  to `const char` pointer.
* src/libs/libgroff/font.cpp (font::load_desc): Return null pointer
  literal on failed `open()` or validation failures.  Return filespec on
  success.

* src/libs/libdriver/input.cpp (do_file):
* src/preproc/grn/main.cpp (getres):
* src/roff/groff/groff.cpp (main):
* src/roff/troff/input.cpp (main): Compare `font::load_desc()` return
  value to null pointer literal instead of treating it as a Boolean.

* src/roff/groff/groff.cpp (main): Report full filespec of troublesome
  "DESC" file when complainiing of missing "postpro" directive.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libdriver]: Update diagnostic messages.</title>
<updated>2022-01-20T14:51:07+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-01-16T06:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=e5e72144155b9fb66d398cf51711c5368729065e'/>
<id>e5e72144155b9fb66d398cf51711c5368729065e</id>
<content type='text'>
* src/libs/libdriver/printer.cpp (printer::find_font): Describe the
  problem encountered instead of saying lamely "sorry, I can't
  continue".

  (printer::set_char_and_width, printer::set_numbered_char):
  Characterize input as "invalid", not "bad"; see commit bb7512b5, 17
  September.  When referring to font mounting position, say so.

  (printer::set_char_and_width): Describe required input character as
  "ordinary", not "ascii".  Apart from the incorrect casing, doing so
  better aligns with our terminology in groff_char(7), groff_out(5), our
  Texinfo manual, and other diagnostic messages; moreover, the use of
  "ascii" is potentially confusing to those whose environments use
  another encoding, like UTF-8 or IBM code page 1047.

Fixes &lt;https://savannah.gnu.org/bugs/?61829&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/libs/libdriver/printer.cpp (printer::find_font): Describe the
  problem encountered instead of saying lamely "sorry, I can't
  continue".

  (printer::set_char_and_width, printer::set_numbered_char):
  Characterize input as "invalid", not "bad"; see commit bb7512b5, 17
  September.  When referring to font mounting position, say so.

  (printer::set_char_and_width): Describe required input character as
  "ordinary", not "ascii".  Apart from the incorrect casing, doing so
  better aligns with our terminology in groff_char(7), groff_out(5), our
  Texinfo manual, and other diagnostic messages; moreover, the use of
  "ascii" is potentially confusing to those whose environments use
  another encoding, like UTF-8 or IBM code page 1047.

Fixes &lt;https://savannah.gnu.org/bugs/?61829&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libdriver]: Trivially refactor.</title>
<updated>2022-01-20T14:51:07+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-01-16T06:26:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=a69ea57ff0f0c4c1dda70fe7158463991cd48822'/>
<id>a69ea57ff0f0c4c1dda70fe7158463991cd48822</id>
<content type='text'>
* src/libs/libdriver/printer.cpp: Fix code style nits.
  - Fix null pointer representation and comparison styles; see commits
    11b43053, 639db849.  Also annotate null pointers with `nullptr`
    comment to ease any future transition to C++11, which defines it as
    a keyword.  (I have no plans at all to undertake such a migration,
    but I want to smooth the way for future groff developers who might.)
  - Wrap lines at 72 columns.
  - Use of white space and parentheses more consistently with the rest
    of the codebase.

Also drop unnecessary header comments.  Add editor aid comments at end.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/libs/libdriver/printer.cpp: Fix code style nits.
  - Fix null pointer representation and comparison styles; see commits
    11b43053, 639db849.  Also annotate null pointers with `nullptr`
    comment to ease any future transition to C++11, which defines it as
    a keyword.  (I have no plans at all to undertake such a migration,
    but I want to smooth the way for future groff developers who might.)
  - Wrap lines at 72 columns.
  - Use of white space and parentheses more consistently with the rest
    of the codebase.

Also drop unnecessary header comments.  Add editor aid comments at end.
</pre>
</div>
</content>
</entry>
<entry>
<title>[libgroff]: Drop `a_delete` preprocessor wrapper.</title>
<updated>2021-08-28T00:29:00+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-08-27T09:46:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=61d2307000c457db0604a7833e29ca4ad15884f7'/>
<id>61d2307000c457db0604a7833e29ca4ad15884f7</id>
<content type='text'>
... for the `delete` operator.  It has been rendered unnecessary by the
removal of support for ancient C++ compilers.

* src/include/lib.h (a_delete): Drop symbol definition.

* src/devices/grohtml/output.cpp (word::~word):
* src/devices/grohtml/post-html.cpp (char_block::char_block,
  assert_state::~assert_state, assert_state::add,
  assert_state::close, replace_negate_str):
* src/devices/grops/ps.cpp (ps_font::ps_font,
  subencoding::subencoding, ps_printer::define_encoding,
  ps_printer::encode_fonts):
* src/devices/grops/psrm.cpp (resource_manager::document_setup,
  resource_manager::supply_resource):
* src/devices/grotty/tty.cpp (tty_printer::tty_color,
  tty_printer::tty_printer, tty_printer::color_to_idx,
  tty_printer::add_char):
* src/include/itable.h (ITABLE(T)::~ITABLE(T),
  ITABLE(T)::define):
* src/include/ptable.h (PTABLE(T)::~PTABLE(T),
  PTABLE(T)::define):
* src/libs/libbib/index.cpp
  (index_search_item::~index_search_item, make_index_search_item,
  index_search_item_iterator::index_search_item_iterator,
  index_search_item::get_tag, index_search_item::munge_filename,
  index_search_item::search):
* src/libs/libbib/linear.cpp (bmpattern::~bmpattern,
  file_buffer::file_buffer, file_buffer::load,
  linear_searcher::linear_searcher,
  linear_searcher::~linear_searcher):
* src/libs/libbib/search.cpp
  (search_list_iterator::search_list_iterator,
  search_item::search_item):
* src/libs/libdriver/input.cpp (IntArray::~IntArray,
  IntArray::append, StringBuf::~StringBuf, StringBuf::append,
  get_integer_arg, parse_x_command, do_file):
* src/libs/libdriver/printer.cpp (printer::printer,
  printer::load_font, text_file::~text_file, text_file::next,
  font::~font, font_widths_cache::~font_widths_cache,
  font:alloc_ch_index, font::extend_ch, font::compact,
  font::load_desc):
* src/libs/libgroff/fontfile.cpp (font::open_file):
* src/libs/libgroff/relocate.cpp (searchpath, searchpathext,
  set_current_prefix):
* src/libs/libgroff/searchpath.cpp (search_path::search_path,
  search_path::command_line_dir, search_path::open_file,
  search_path::open_file_cautious):
* src/libs/libgroff/string.cpp (sfree, srealloc,
  string::remove_spaces):
* src/libs/libgroff/symbol.cpp (symbol::symbol, concat):
* src/libs/libgroff/tmpfile.cpp (temp_init::temp_init,
  xtmpfile_list_init::~xtmpfile_list_init, xtmpfile):
* src/preproc/eqn/box.cpp (set_gfont, set_grfont, set_gbfont,
  box_list::append, box_list::~box_list):
* src/preproc/eqn/delim.cpp (make_delim_box,
  delim_box::~delim_box):
* src/preproc/eqn/eqn.ypp (number):
* src/preproc/eqn/lex.ypp (file_input::~file_input,
  argument_macro_input::~argument_macro_input):
* src/preproc/eqn/pile.ypp (matrix_box::~matrix_box,
  matrix_box::append):
* src/preproc/eqn/special.cpp (special_box::~special_box):
* src/preproc/eqn/text.ypp (set_char_type):
* src/preproc/html/pre-html.cpp (get_line, scanArguments):
* src/preproc/pic/object.cpp (output::~output,
  output::set_args, text_item::~text_item,
  object_spec::~object_spec, command_object::~command_object,
  line_object::~line_object):
* src/preproc/pic/pic.ypp (placeless_element, reset_variables,
  print_args, text_expr, object_spec, text, sprintf_args, path):
* src/preproc/refer/command.cpp (input_item::~input_item,
  input_item::peek_char):
* src/preproc/refer/label.ypp (lookup_label):
* src/preproc/refer/refer.cpp (store_citation, store_reference):
* src/preproc/tbl/main.cpp (format::add_rows, format::~format):
* src/preproc/tbl/table.cpp (block_entry::~block_entry,
  table::~table, table::allocate):
* src/roff/groff/groff.cpp (possible_command::~possible_command,
  possible_command::clear_name):
* src/roff/troff/column.cpp
  (justification_spec::~justification_spec,
  justification_spec::append):
* src/roff/troff/dictionary.cpp (dictionary::lookup):
* src/roff/troff/env.cpp (override_sizes, tab_stops::to_string,
  hyphen_word, hyphen_trie::insert_hyphenation):
* src/roff/troff/input.cpp (read_long_escape_name, token::next,
  do_get_long_name, temp_iterator::~temp_iterator, get_delim_name,
  pipe_source, read_string, pipe_output, system_request,
  open_mac_file, do_macro_source, do_register_assignment,
  do_string_assignment, read_draw_node, copy_mode_error):
* src/roff/troff/node.cpp (troff_output_file::set_font,
  troff_output_file::~troff_output_file, draw_node::is_tag,
  grow_font_table, font_family::~font_family,
  font_family::make_definite):
* src/utils/hpftodit/hpftodit.cpp (name_list::~name_list,
  read_map):
* src/utils/indxbib/indxbib.cpp (main, get_cwd):
* src/utils/tfmtodit/tfmtodit.cpp (tfm::~tfm, tfm::load): Port
  uses of `a_delete(xxx)` to `delete[]`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
... for the `delete` operator.  It has been rendered unnecessary by the
removal of support for ancient C++ compilers.

* src/include/lib.h (a_delete): Drop symbol definition.

* src/devices/grohtml/output.cpp (word::~word):
* src/devices/grohtml/post-html.cpp (char_block::char_block,
  assert_state::~assert_state, assert_state::add,
  assert_state::close, replace_negate_str):
* src/devices/grops/ps.cpp (ps_font::ps_font,
  subencoding::subencoding, ps_printer::define_encoding,
  ps_printer::encode_fonts):
* src/devices/grops/psrm.cpp (resource_manager::document_setup,
  resource_manager::supply_resource):
* src/devices/grotty/tty.cpp (tty_printer::tty_color,
  tty_printer::tty_printer, tty_printer::color_to_idx,
  tty_printer::add_char):
* src/include/itable.h (ITABLE(T)::~ITABLE(T),
  ITABLE(T)::define):
* src/include/ptable.h (PTABLE(T)::~PTABLE(T),
  PTABLE(T)::define):
* src/libs/libbib/index.cpp
  (index_search_item::~index_search_item, make_index_search_item,
  index_search_item_iterator::index_search_item_iterator,
  index_search_item::get_tag, index_search_item::munge_filename,
  index_search_item::search):
* src/libs/libbib/linear.cpp (bmpattern::~bmpattern,
  file_buffer::file_buffer, file_buffer::load,
  linear_searcher::linear_searcher,
  linear_searcher::~linear_searcher):
* src/libs/libbib/search.cpp
  (search_list_iterator::search_list_iterator,
  search_item::search_item):
* src/libs/libdriver/input.cpp (IntArray::~IntArray,
  IntArray::append, StringBuf::~StringBuf, StringBuf::append,
  get_integer_arg, parse_x_command, do_file):
* src/libs/libdriver/printer.cpp (printer::printer,
  printer::load_font, text_file::~text_file, text_file::next,
  font::~font, font_widths_cache::~font_widths_cache,
  font:alloc_ch_index, font::extend_ch, font::compact,
  font::load_desc):
* src/libs/libgroff/fontfile.cpp (font::open_file):
* src/libs/libgroff/relocate.cpp (searchpath, searchpathext,
  set_current_prefix):
* src/libs/libgroff/searchpath.cpp (search_path::search_path,
  search_path::command_line_dir, search_path::open_file,
  search_path::open_file_cautious):
* src/libs/libgroff/string.cpp (sfree, srealloc,
  string::remove_spaces):
* src/libs/libgroff/symbol.cpp (symbol::symbol, concat):
* src/libs/libgroff/tmpfile.cpp (temp_init::temp_init,
  xtmpfile_list_init::~xtmpfile_list_init, xtmpfile):
* src/preproc/eqn/box.cpp (set_gfont, set_grfont, set_gbfont,
  box_list::append, box_list::~box_list):
* src/preproc/eqn/delim.cpp (make_delim_box,
  delim_box::~delim_box):
* src/preproc/eqn/eqn.ypp (number):
* src/preproc/eqn/lex.ypp (file_input::~file_input,
  argument_macro_input::~argument_macro_input):
* src/preproc/eqn/pile.ypp (matrix_box::~matrix_box,
  matrix_box::append):
* src/preproc/eqn/special.cpp (special_box::~special_box):
* src/preproc/eqn/text.ypp (set_char_type):
* src/preproc/html/pre-html.cpp (get_line, scanArguments):
* src/preproc/pic/object.cpp (output::~output,
  output::set_args, text_item::~text_item,
  object_spec::~object_spec, command_object::~command_object,
  line_object::~line_object):
* src/preproc/pic/pic.ypp (placeless_element, reset_variables,
  print_args, text_expr, object_spec, text, sprintf_args, path):
* src/preproc/refer/command.cpp (input_item::~input_item,
  input_item::peek_char):
* src/preproc/refer/label.ypp (lookup_label):
* src/preproc/refer/refer.cpp (store_citation, store_reference):
* src/preproc/tbl/main.cpp (format::add_rows, format::~format):
* src/preproc/tbl/table.cpp (block_entry::~block_entry,
  table::~table, table::allocate):
* src/roff/groff/groff.cpp (possible_command::~possible_command,
  possible_command::clear_name):
* src/roff/troff/column.cpp
  (justification_spec::~justification_spec,
  justification_spec::append):
* src/roff/troff/dictionary.cpp (dictionary::lookup):
* src/roff/troff/env.cpp (override_sizes, tab_stops::to_string,
  hyphen_word, hyphen_trie::insert_hyphenation):
* src/roff/troff/input.cpp (read_long_escape_name, token::next,
  do_get_long_name, temp_iterator::~temp_iterator, get_delim_name,
  pipe_source, read_string, pipe_output, system_request,
  open_mac_file, do_macro_source, do_register_assignment,
  do_string_assignment, read_draw_node, copy_mode_error):
* src/roff/troff/node.cpp (troff_output_file::set_font,
  troff_output_file::~troff_output_file, draw_node::is_tag,
  grow_font_table, font_family::~font_family,
  font_family::make_definite):
* src/utils/hpftodit/hpftodit.cpp (name_list::~name_list,
  read_map):
* src/utils/indxbib/indxbib.cpp (main, get_cwd):
* src/utils/tfmtodit/tfmtodit.cpp (tfm::~tfm, tfm::load): Port
  uses of `a_delete(xxx)` to `delete[]`.
</pre>
</div>
</content>
</entry>
<entry>
<title>[devices]: Say device name when 'DESC' not found.</title>
<updated>2021-05-28T05:34:39+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-05-27T06:03:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=5a721a3012a090a757af3601acf4faeba3bd7a38'/>
<id>5a721a3012a090a757af3601acf4faeba3bd7a38</id>
<content type='text'>
* src/libs/libdriver/inout.cpp (do_file): Make fatal diagnostic when the
  device description file "DESC" can't be found more informative by
  including the name of the device for which the input was prepared.

Here's how groff 1.22.4 handles the command input "printf 'x T\n'".
	grotty:&lt;standard input&gt;:1: missing argument
	grotty:&lt;standard input&gt;:1: can't find 'DESC' file
	grotty:&lt;standard input&gt;:1: fatal error: couldn't load DESC file, can't continue

And now:
	grotty:&lt;standard input&gt;:1: error: missing argument
	grotty:&lt;standard input&gt;:1: error: can't find 'DESC' file
	grotty:&lt;standard input&gt;:1: fatal error: cannot load description of '' device

It's unfortunate to have so many diagnostics from one problem, but doing
something about that is a longer pole.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/libs/libdriver/inout.cpp (do_file): Make fatal diagnostic when the
  device description file "DESC" can't be found more informative by
  including the name of the device for which the input was prepared.

Here's how groff 1.22.4 handles the command input "printf 'x T\n'".
	grotty:&lt;standard input&gt;:1: missing argument
	grotty:&lt;standard input&gt;:1: can't find 'DESC' file
	grotty:&lt;standard input&gt;:1: fatal error: couldn't load DESC file, can't continue

And now:
	grotty:&lt;standard input&gt;:1: error: missing argument
	grotty:&lt;standard input&gt;:1: error: can't find 'DESC' file
	grotty:&lt;standard input&gt;:1: fatal error: cannot load description of '' device

It's unfortunate to have so many diagnostics from one problem, but doing
something about that is a longer pole.
</pre>
</div>
</content>
</entry>
</feed>
