<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/groff-git.git/src/roff/troff/env.cpp, 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>[troff]: Trivially refactor ("number_reg_dic...").</title>
<updated>2022-12-07T08:51:57+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-12-05T15:46:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=ab2442e6386d93e1a9a3524b29b3ebed7e476c73'/>
<id>ab2442e6386d93e1a9a3524b29b3ebed7e476c73</id>
<content type='text'>
Rename `number_reg_dictionary` to `register_dictionary`.  It's shorter
_and_ non-abbreviated _and_ matches our documentation.

* src/roff/troff/column.cpp (init_column_requests):
* src/roff/troff/div.cpp (page_number, init_div_requests):
* src/roff/troff/env.cpp (print_env, init_env_requests)
  (init_hyphen_requests):
* src/roff/troff/input.cpp (length_request, interpolate_number_format)
  (do_register, do_if_request, main, init_registers)
  (init_input_requests):
* src/roff/troff/node.cpp (get_register, init_node_requests):
* src/roff/troff/reg.cpp (top level, define_number_reg
  (inline_define_reg, alter_format, remove_reg, alias_reg, rename_reg)
  (print_number_regs):
* src/roff/troff/reg.h: Do it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename `number_reg_dictionary` to `register_dictionary`.  It's shorter
_and_ non-abbreviated _and_ matches our documentation.

* src/roff/troff/column.cpp (init_column_requests):
* src/roff/troff/div.cpp (page_number, init_div_requests):
* src/roff/troff/env.cpp (print_env, init_env_requests)
  (init_hyphen_requests):
* src/roff/troff/input.cpp (length_request, interpolate_number_format)
  (do_register, do_if_request, main, init_registers)
  (init_input_requests):
* src/roff/troff/node.cpp (get_register, init_node_requests):
* src/roff/troff/reg.cpp (top level, define_number_reg
  (inline_define_reg, alter_format, remove_reg, alias_reg, rename_reg)
  (print_number_regs):
* src/roff/troff/reg.h: Do it.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Implement new `.nn` register</title>
<updated>2022-11-28T06:33:16+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-11-28T06:33:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=51f12c7f61bebe78730e561ef4786fdc32b4b687'/>
<id>51f12c7f61bebe78730e561ef4786fdc32b4b687</id>
<content type='text'>
...to report the remaining count of lines to have their numbering
suppressed.

* src/roff/troff/env.h (class environment): Declare new member function
  `get_no_number_count()`.

* src/roff/troff/env.cpp (get_no_number_count): Define new member
  function, returning value of member variable `no_number_count`.

  (init_env_requests): Define new ".nn" register and attach it to
  `get_no_number_count()`.

* doc/groff.texi (Miscellaneous): Document it.  Include example of use
  to determine whether current output line will be numbered.  Also
  clarify meaning of register; `.nn` is not decremented except when
  output line numbering is enabled.

* man/groff.7.man (Read-only registers): Document it.

* src/roff/groff/tests/dot-nn_register_works.sh: Test it.
* src/roff/groff/groff.am (groff_TESTS): Run test.

* NEWS: Add item.

See &lt;https://lists.gnu.org/archive/html/groff/2022-11/msg00153.html&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...to report the remaining count of lines to have their numbering
suppressed.

* src/roff/troff/env.h (class environment): Declare new member function
  `get_no_number_count()`.

* src/roff/troff/env.cpp (get_no_number_count): Define new member
  function, returning value of member variable `no_number_count`.

  (init_env_requests): Define new ".nn" register and attach it to
  `get_no_number_count()`.

* doc/groff.texi (Miscellaneous): Document it.  Include example of use
  to determine whether current output line will be numbered.  Also
  clarify meaning of register; `.nn` is not decremented except when
  output line numbering is enabled.

* man/groff.7.man (Read-only registers): Document it.

* src/roff/groff/tests/dot-nn_register_works.sh: Test it.
* src/roff/groff/groff.am (groff_TESTS): Run test.

* NEWS: Add item.

See &lt;https://lists.gnu.org/archive/html/groff/2022-11/msg00153.html&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff, ...]: 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-18T19:04:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=b8344ebf7ed0f9d7500f6e5505b81ac0323e8596'/>
<id>b8344ebf7ed0f9d7500f6e5505b81ac0323e8596</id>
<content type='text'>
Boolify and rename internal library function from `invalid_input_char`
to `is_invalid_input_char`.

* src/include/lib.h: Do it.

* src/libs/libgroff/font.cpp (text_file::next_line):
* src/preproc/eqn/lex.cpp (file_input::read_line):
* src/preproc/eqn/main.cpp (read_line, main):
* src/preproc/pic/lex.cpp (file_input::read_line,
  simple_file_input::get, simple_file_input::peek):
* src/preproc/pic/main.cpp (top_input::get, top_input::peek, do_file):
* src/preproc/refer/command.cpp (input_stack::push_file):
* src/preproc/refer/refer.cpp (do_file, do_bib):
* src/roff/troff/env.cpp (environment::make_tag):
* src/roff/troff/input.cpp (file_iterator::fill, file_iterator::peek)
  (get_char_for_escape_parameter, transparent_translate, read_request)
  (asciify, input_char_description, read_string, transparent_file)
  (set_string): Update call sites.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Boolify and rename internal library function from `invalid_input_char`
to `is_invalid_input_char`.

* src/include/lib.h: Do it.

* src/libs/libgroff/font.cpp (text_file::next_line):
* src/preproc/eqn/lex.cpp (file_input::read_line):
* src/preproc/eqn/main.cpp (read_line, main):
* src/preproc/pic/lex.cpp (file_input::read_line,
  simple_file_input::get, simple_file_input::peek):
* src/preproc/pic/main.cpp (top_input::get, top_input::peek, do_file):
* src/preproc/refer/command.cpp (input_stack::push_file):
* src/preproc/refer/refer.cpp (do_file, do_bib):
* src/roff/troff/env.cpp (environment::make_tag):
* src/roff/troff/input.cpp (file_iterator::fill, file_iterator::peek)
  (get_char_for_escape_parameter, transparent_translate, read_request)
  (asciify, input_char_description, read_string, transparent_file)
  (set_string): Update call sites.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Tweak diagnostic messages.</title>
<updated>2022-09-25T20:47:02+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-09-18T17:54:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=8c3bd563856da38363837c4af6b7cc5c118de4ff'/>
<id>8c3bd563856da38363837c4af6b7cc5c118de4ff</id>
<content type='text'>
* src/roff/troff/input.cpp (non_empty_name_warning): Say "identifier",
  not "name", in diagnostic message; it can be thrown for attempted
  assignments to invalid register identifiers, and some of our
  documentation refers to identifiers in the name space shared by
  requests, macros, strings, and diversions as "names".

* src/roff/troff/env.cpp (hyphen_trie::read_patterns_file):
* src/roff/troff/input.cpp (get_char_for_escape_parameter)
  (token::usable_as_delimiter, non_empty_name_warning, pipe_source)
  (psbb_locator::psbb_locator, open_request, opena_request)
  (define_class, pipe_output, system_request): Consistently say "_is_
  not allowed".  The zero copula poses too great a risk of
  incomprehension IMO.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/input.cpp (non_empty_name_warning): Say "identifier",
  not "name", in diagnostic message; it can be thrown for attempted
  assignments to invalid register identifiers, and some of our
  documentation refers to identifiers in the name space shared by
  requests, macros, strings, and diversions as "names".

* src/roff/troff/env.cpp (hyphen_trie::read_patterns_file):
* src/roff/troff/input.cpp (get_char_for_escape_parameter)
  (token::usable_as_delimiter, non_empty_name_warning, pipe_source)
  (psbb_locator::psbb_locator, open_request, opena_request)
  (define_class, pipe_output, system_request): Consistently say "_is_
  not allowed".  The zero copula poses too great a risk of
  incomprehension IMO.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Fix Savannah #62941.</title>
<updated>2022-08-23T18:03:21+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-08-23T14:25:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=87efb8ff373d5cf3b92be9d21445a80b264fa961'/>
<id>87efb8ff373d5cf3b92be9d21445a80b264fa961</id>
<content type='text'>
* src/roff/troff/env.cpp (environment::set_family): Throw error if user
  requests a font family that (when combined with the current style)
  can't be resolved to a real font name.  Fixes a regression introduced
  by me in commit d8cb8cf9d8, 2021-09-15, arising from a revision of
  font selection logic in node.cpp to enable a bunch of _other_ font
  error diagnostics.

Fixes &lt;https://savannah.gnu.org/bugs/?62941&gt;.  Thanks to Dave Kemper for
the report and two useful end points for a bisection.

Here's an illustration of groff 1.22.4 and Git HEAD diagnostics.

$ nl EXPERIMENTS/font-errors.groff
     1  .uf Z
     2  .uf 99
     3  .fschar Z \[co] COPYRIGHT
     4  .fschar 99 \[co] COPYRIGHT
     5  .rfschar Z \[co]
     6  .rfschar 99 \[co]
     7  .special Y
     8  .special 98
     9  .fspecial Z Y
    10  .fspecial 99 Y
    11  .fzoom Z
    12  .fzoom 99
    13  .bd Z 3
    14  .bd 99 3
    15  .bd S Z 3
    16  .bd S 99 3
    17  .bd 98 Z 3
    18  .bd 98 99 3
    19  .tkf Z
    20  .tkf 99
    21  .cs Z
    22  .cs 99
    23  .fam BOGUS

$ groff -z EXPERIMENTS/font-errors.groff
troff: EXPERIMENTS/font-errors.groff:1: warning: can't find font 'Z'
troff: EXPERIMENTS/font-errors.groff:2: bad font number
troff: EXPERIMENTS/font-errors.groff:4: bad font number
troff: EXPERIMENTS/font-errors.groff:6: bad font number
troff: EXPERIMENTS/font-errors.groff:7: warning: can't find font 'Y'
troff: EXPERIMENTS/font-errors.groff:8: bad font number
troff: EXPERIMENTS/font-errors.groff:10: bad font number
troff: EXPERIMENTS/font-errors.groff:12: bad font number
troff: EXPERIMENTS/font-errors.groff:14: bad font number
troff: EXPERIMENTS/font-errors.groff:17: bad font number
troff: EXPERIMENTS/font-errors.groff:18: bad font number
troff: EXPERIMENTS/font-errors.groff:20: bad font number
troff: EXPERIMENTS/font-errors.groff:22: bad font number
troff: EXPERIMENTS/font-errors.groff:23: warning: can't find font 'BOGUSR'

$ ./build/test-groff -z EXPERIMENTS/font-errors.groff
troff:EXPERIMENTS/font-errors.groff:1: error: cannot load font 'Z' to make it the underline font
troff:EXPERIMENTS/font-errors.groff:2: error: cannot load font at position 99 to make it the underline font
troff:EXPERIMENTS/font-errors.groff:3: error: cannot load font 'Z' to define font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:4: error: cannot load font at position 99 to define font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:5: error: cannot load font 'Z' to remove font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:6: error: cannot load font at position 99 to remove font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:7: error: cannot load font 'Y' to mark it as special
troff:EXPERIMENTS/font-errors.groff:8: error: cannot load font at position 98 to mark it as special
troff:EXPERIMENTS/font-errors.groff:9: error: cannot load font 'Z' to mark other fonts as special contingently upon it
troff:EXPERIMENTS/font-errors.groff:10: error: cannot load font at position 99 to mark other fonts as special contingently upon it
troff:EXPERIMENTS/font-errors.groff:11: error: cannot load font 'Z' to set a zoom factor for it
troff:EXPERIMENTS/font-errors.groff:12: error: cannot load font at position 99 to set a zoom factor for it
troff:EXPERIMENTS/font-errors.groff:13: error: cannot load font 'Z' for emboldening
troff:EXPERIMENTS/font-errors.groff:14: error: cannot load font at position 99 for emboldening
troff:EXPERIMENTS/font-errors.groff:15: error: cannot load font 'Z' for conditional emboldening
troff:EXPERIMENTS/font-errors.groff:16: error: cannot load font at position 99 for conditional emboldening
troff:EXPERIMENTS/font-errors.groff:17: error: cannot load font at position 98 for emboldening
troff:EXPERIMENTS/font-errors.groff:18: error: cannot load font at position 98 for emboldening
troff:EXPERIMENTS/font-errors.groff:19: error: cannot load font 'Z' for track kerning
troff:EXPERIMENTS/font-errors.groff:20: error: cannot load font at position 99 for track kerning
troff:EXPERIMENTS/font-errors.groff:21: error: cannot load font 'Z' for constant spacing
troff:EXPERIMENTS/font-errors.groff:22: error: cannot load font at position 99 for constant spacing
troff:EXPERIMENTS/font-errors.groff:23: error: no font family named 'BOGUS' exists
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/env.cpp (environment::set_family): Throw error if user
  requests a font family that (when combined with the current style)
  can't be resolved to a real font name.  Fixes a regression introduced
  by me in commit d8cb8cf9d8, 2021-09-15, arising from a revision of
  font selection logic in node.cpp to enable a bunch of _other_ font
  error diagnostics.

Fixes &lt;https://savannah.gnu.org/bugs/?62941&gt;.  Thanks to Dave Kemper for
the report and two useful end points for a bisection.

Here's an illustration of groff 1.22.4 and Git HEAD diagnostics.

$ nl EXPERIMENTS/font-errors.groff
     1  .uf Z
     2  .uf 99
     3  .fschar Z \[co] COPYRIGHT
     4  .fschar 99 \[co] COPYRIGHT
     5  .rfschar Z \[co]
     6  .rfschar 99 \[co]
     7  .special Y
     8  .special 98
     9  .fspecial Z Y
    10  .fspecial 99 Y
    11  .fzoom Z
    12  .fzoom 99
    13  .bd Z 3
    14  .bd 99 3
    15  .bd S Z 3
    16  .bd S 99 3
    17  .bd 98 Z 3
    18  .bd 98 99 3
    19  .tkf Z
    20  .tkf 99
    21  .cs Z
    22  .cs 99
    23  .fam BOGUS

$ groff -z EXPERIMENTS/font-errors.groff
troff: EXPERIMENTS/font-errors.groff:1: warning: can't find font 'Z'
troff: EXPERIMENTS/font-errors.groff:2: bad font number
troff: EXPERIMENTS/font-errors.groff:4: bad font number
troff: EXPERIMENTS/font-errors.groff:6: bad font number
troff: EXPERIMENTS/font-errors.groff:7: warning: can't find font 'Y'
troff: EXPERIMENTS/font-errors.groff:8: bad font number
troff: EXPERIMENTS/font-errors.groff:10: bad font number
troff: EXPERIMENTS/font-errors.groff:12: bad font number
troff: EXPERIMENTS/font-errors.groff:14: bad font number
troff: EXPERIMENTS/font-errors.groff:17: bad font number
troff: EXPERIMENTS/font-errors.groff:18: bad font number
troff: EXPERIMENTS/font-errors.groff:20: bad font number
troff: EXPERIMENTS/font-errors.groff:22: bad font number
troff: EXPERIMENTS/font-errors.groff:23: warning: can't find font 'BOGUSR'

$ ./build/test-groff -z EXPERIMENTS/font-errors.groff
troff:EXPERIMENTS/font-errors.groff:1: error: cannot load font 'Z' to make it the underline font
troff:EXPERIMENTS/font-errors.groff:2: error: cannot load font at position 99 to make it the underline font
troff:EXPERIMENTS/font-errors.groff:3: error: cannot load font 'Z' to define font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:4: error: cannot load font at position 99 to define font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:5: error: cannot load font 'Z' to remove font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:6: error: cannot load font at position 99 to remove font-specific fallback glyph
troff:EXPERIMENTS/font-errors.groff:7: error: cannot load font 'Y' to mark it as special
troff:EXPERIMENTS/font-errors.groff:8: error: cannot load font at position 98 to mark it as special
troff:EXPERIMENTS/font-errors.groff:9: error: cannot load font 'Z' to mark other fonts as special contingently upon it
troff:EXPERIMENTS/font-errors.groff:10: error: cannot load font at position 99 to mark other fonts as special contingently upon it
troff:EXPERIMENTS/font-errors.groff:11: error: cannot load font 'Z' to set a zoom factor for it
troff:EXPERIMENTS/font-errors.groff:12: error: cannot load font at position 99 to set a zoom factor for it
troff:EXPERIMENTS/font-errors.groff:13: error: cannot load font 'Z' for emboldening
troff:EXPERIMENTS/font-errors.groff:14: error: cannot load font at position 99 for emboldening
troff:EXPERIMENTS/font-errors.groff:15: error: cannot load font 'Z' for conditional emboldening
troff:EXPERIMENTS/font-errors.groff:16: error: cannot load font at position 99 for conditional emboldening
troff:EXPERIMENTS/font-errors.groff:17: error: cannot load font at position 98 for emboldening
troff:EXPERIMENTS/font-errors.groff:18: error: cannot load font at position 98 for emboldening
troff:EXPERIMENTS/font-errors.groff:19: error: cannot load font 'Z' for track kerning
troff:EXPERIMENTS/font-errors.groff:20: error: cannot load font at position 99 for track kerning
troff:EXPERIMENTS/font-errors.groff:21: error: cannot load font 'Z' for constant spacing
troff:EXPERIMENTS/font-errors.groff:22: error: cannot load font at position 99 for constant spacing
troff:EXPERIMENTS/font-errors.groff:23: error: no font family named 'BOGUS' exists
</pre>
</div>
</content>
</entry>
<entry>
<title>src/roff/troff/env.cpp: Add some paranoia.</title>
<updated>2022-08-23T18:03:21+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-08-23T14:13:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=be53ed3db8b4bd550b76d3b02a5755519e3e0c50'/>
<id>be53ed3db8b4bd550b76d3b02a5755519e3e0c50</id>
<content type='text'>
* src/roff/troff/env.cpp (environment::set_family): Add some paranoia.
  Add `assert()`s on the previous font mounting position still being
  valid and the font family dictionary lookup not returning a null
  pointer.  Add an early return for the latter case (which should be
  impossible).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/env.cpp (environment::set_family): Add some paranoia.
  Add `assert()`s on the previous font mounting position still being
  valid and the font family dictionary lookup not returning a null
  pointer.  Add an early return for the latter case (which should be
  impossible).
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Throw warning when ignoring font change.</title>
<updated>2022-06-21T18:03:02+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-06-20T22:31:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=0effe118480aac910c2826b11ec33f0566532a4d'/>
<id>0effe118480aac910c2826b11ec33f0566532a4d</id>
<content type='text'>
[troff]: Throw warning in font category when a font selection escape
sequence is used after the output line continuation escape sequence on
an input line, because it is ignored.

* src/roff/troff/env.cpp (environment::set_font): Do it.

* doc/groff.texi (Warnings):
* src/roff/troff/troff.1.man (Warnings): Document it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[troff]: Throw warning in font category when a font selection escape
sequence is used after the output line continuation escape sequence on
an input line, because it is ignored.

* src/roff/troff/env.cpp (environment::set_font): Do it.

* doc/groff.texi (Warnings):
* src/roff/troff/troff.1.man (Warnings): Document it.
</pre>
</div>
</content>
</entry>
<entry>
<title>src/roff/troff/env.cpp (font_change): Boolify.</title>
<updated>2022-06-21T18:03:02+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-06-20T22:27:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=0febdbc6f2ceb4e165867099d05ce1cf05ff27fd'/>
<id>0febdbc6f2ceb4e165867099d05ce1cf05ff27fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Warn if nonexistent font name selected.</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-20T19:15:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=1986da1d4bb11dc0421e004b153729b3d2a2a3ca'/>
<id>1986da1d4bb11dc0421e004b153729b3d2a2a3ca</id>
<content type='text'>
* src/roff/troff/env.cpp (font_change):
* src/roff/troff/input.cpp (token::next): Warn upon selection of a
  nonexistent font name.

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

Also annotate a null pointer to ease any future transition to C++11,
which defines a keyword for it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/env.cpp (font_change):
* src/roff/troff/input.cpp (token::next): Warn upon selection of a
  nonexistent font name.

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

Also annotate a null pointer to ease any future transition to C++11,
which defines a keyword for it.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Make environment::set_font return a bool.</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-20T19:10:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=cbe4cd192766c8730a31336589f007df51232f0b'/>
<id>cbe4cd192766c8730a31336589f007df51232f0b</id>
<content type='text'>
[troff]: Revise `environment::set_font` to return Boolean value
indicating success of font selection operation.

* src/roff/troff/env.cpp (environment::set_font):
* src/roff/troff/env.h (environment::set_font): Do it.

This prepares the way for a fix for Savannah #62656.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[troff]: Revise `environment::set_font` to return Boolean value
indicating success of font selection operation.

* src/roff/troff/env.cpp (environment::set_font):
* src/roff/troff/env.h (environment::set_font): Do it.

This prepares the way for a fix for Savannah #62656.
</pre>
</div>
</content>
</entry>
</feed>
