<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/groff-git.git/src/roff/troff/reg.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]: Fix Savannah #63149.</title>
<updated>2022-10-06T12:23:26+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2022-10-04T02:48:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=0c5e4b9d8b09434d6720e547e918d6205a64c4f7'/>
<id>0c5e4b9d8b09434d6720e547e918d6205a64c4f7</id>
<content type='text'>
* src/roff/troff/reg.cpp (alter_format): Throw comprehensible diagnostic
  when input delete character encountered in register format.

Fixes &lt;https://savannah.gnu.org/bugs/?63149&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/reg.cpp (alter_format): Throw comprehensible diagnostic
  when input delete character encountered in register format.

Fixes &lt;https://savannah.gnu.org/bugs/?63149&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Boolify members of `token` class.</title>
<updated>2021-09-05T18:54:21+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-09-05T18:30:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=9aa4cae7b32f10792287f1b215ea2d8c40d87b88'/>
<id>9aa4cae7b32f10792287f1b215ea2d8c40d87b88</id>
<content type='text'>
* src/roff/troff/token.h (class token): Demote return type of several
  member functions from `int` to `bool` and rename them.
  - `backspace` -&gt; `is_backspace`
  - `delimiter` -&gt; `usable_as_delimiter`
  - `dummy` -&gt; `is_dummy`
  - `eof` -&gt; `is_eof`
  - `horizontal_space` -&gt; `is_horizontal_space`
  - `hyphen_indicator` -&gt; `is_hyphen_indicator`
  - `leader` -&gt; `is_leader`
  - `left_brace` -&gt; `is_left_brace`
  - `newline` -&gt; `is_newline`
  - `page_ejector` -&gt; `is_page_ejector`
  - `right_brace` -&gt; `is_right_brace`
  - `space` -&gt; `is_space`
  - `special` -&gt; `is_special`
  - `stretchable_space` -&gt; `is_stretchable_space`
  - `tab` -&gt; `is_tab`
  - `transparent_dummy` -&gt; `is_transparent_dummy`
  - `transparent` -&gt; `is_transparent`
  - `unstretchable_space` -&gt; `is_unstretchable_space`
  - `white_space` -&gt; `is_white_space`
  - `zero_width_break` -&gt; `is_zero_width_break`

  (class token): Drop 1991 comment anticipating that member function
  `nspaces` could return "2" for a "double space"; this was apparently
  never implemented.

  (class token): Drop parameter names from declarations; the prevailing
  style (familiar from Stroustrup) is not to use them.
  (token::is_special): Simplify implementation.

* src/roff/troff/input.cpp (has_arg, token::usable_as_delimiter): Update
  definitions of above member functions not defined in token.h.

* src/roff/troff/div.cpp (begin_page, space_request, need_space,
  output_saved_vertical_space, flush_output):
* src/roff/troff/env.cpp (fill, no_fill, center, right_justify, indent,
  temporary_indent, margin_character, number_lines, do_break_request,
  hyphen_word):
* src/roff/troff/input.cpp (next_file, do_overstrike, do_bracket,
  do_name_test, do_expr_test, do_zero_width, token::skip, has_arg,
  skip_line, empty_name_warning, non_empty_name_warning,
  do_get_long_name, process_input_stack, flush_pending_lines,
  decode_args, read_request, do_define_string, do_define_character,
  remove_character, do_define_macro, length_request, get_delim_number,
  get_line_arg, read_size, get_delim_name, do_register, do_width,
  read_title_parts, encode_char, do_special, device_request,
  output_request, skip_alternative, begin_alternative, nop_request,
  do_if_request, do_source, pipe_source, ps_bbox_request, tag, taga,
  do_terminal, do_translate, hyphenation_code,
  hyphenation_patterns_file_code, define_class, get_optional_char,
  check_missing_character, abort_request, copy_file, transparent_file,
  do_macro_source, charinfo_to_node_list, read_draw_node,
  read_color_draw_node):
* src/roff/troff/node.cpp (get_fontno, remove_font_special_character,
  bold_font):
* src/roff/troff/number.cpp (start_number, parse_term):
* src/roff/troff/reg.cpp (define_number_reg, alter_format): Update call
  sites to use new names.

* src/roff/troff/input.cpp (token::usable_as_delimiter, read_draw_node):
  Return Boolean, not integer, literals.

Also add editor aid comments to ends of files lacking them.  Remove
old-style Emacs file-local local variable at file beginnings.

Also fix white space nits.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/token.h (class token): Demote return type of several
  member functions from `int` to `bool` and rename them.
  - `backspace` -&gt; `is_backspace`
  - `delimiter` -&gt; `usable_as_delimiter`
  - `dummy` -&gt; `is_dummy`
  - `eof` -&gt; `is_eof`
  - `horizontal_space` -&gt; `is_horizontal_space`
  - `hyphen_indicator` -&gt; `is_hyphen_indicator`
  - `leader` -&gt; `is_leader`
  - `left_brace` -&gt; `is_left_brace`
  - `newline` -&gt; `is_newline`
  - `page_ejector` -&gt; `is_page_ejector`
  - `right_brace` -&gt; `is_right_brace`
  - `space` -&gt; `is_space`
  - `special` -&gt; `is_special`
  - `stretchable_space` -&gt; `is_stretchable_space`
  - `tab` -&gt; `is_tab`
  - `transparent_dummy` -&gt; `is_transparent_dummy`
  - `transparent` -&gt; `is_transparent`
  - `unstretchable_space` -&gt; `is_unstretchable_space`
  - `white_space` -&gt; `is_white_space`
  - `zero_width_break` -&gt; `is_zero_width_break`

  (class token): Drop 1991 comment anticipating that member function
  `nspaces` could return "2" for a "double space"; this was apparently
  never implemented.

  (class token): Drop parameter names from declarations; the prevailing
  style (familiar from Stroustrup) is not to use them.
  (token::is_special): Simplify implementation.

* src/roff/troff/input.cpp (has_arg, token::usable_as_delimiter): Update
  definitions of above member functions not defined in token.h.

* src/roff/troff/div.cpp (begin_page, space_request, need_space,
  output_saved_vertical_space, flush_output):
* src/roff/troff/env.cpp (fill, no_fill, center, right_justify, indent,
  temporary_indent, margin_character, number_lines, do_break_request,
  hyphen_word):
* src/roff/troff/input.cpp (next_file, do_overstrike, do_bracket,
  do_name_test, do_expr_test, do_zero_width, token::skip, has_arg,
  skip_line, empty_name_warning, non_empty_name_warning,
  do_get_long_name, process_input_stack, flush_pending_lines,
  decode_args, read_request, do_define_string, do_define_character,
  remove_character, do_define_macro, length_request, get_delim_number,
  get_line_arg, read_size, get_delim_name, do_register, do_width,
  read_title_parts, encode_char, do_special, device_request,
  output_request, skip_alternative, begin_alternative, nop_request,
  do_if_request, do_source, pipe_source, ps_bbox_request, tag, taga,
  do_terminal, do_translate, hyphenation_code,
  hyphenation_patterns_file_code, define_class, get_optional_char,
  check_missing_character, abort_request, copy_file, transparent_file,
  do_macro_source, charinfo_to_node_list, read_draw_node,
  read_color_draw_node):
* src/roff/troff/node.cpp (get_fontno, remove_font_special_character,
  bold_font):
* src/roff/troff/number.cpp (start_number, parse_term):
* src/roff/troff/reg.cpp (define_number_reg, alter_format): Update call
  sites to use new names.

* src/roff/troff/input.cpp (token::usable_as_delimiter, read_draw_node):
  Return Boolean, not integer, literals.

Also add editor aid comments to ends of files lacking them.  Remove
old-style Emacs file-local local variable at file beginnings.

Also fix white space nits.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Refactor `get_value` member functions.</title>
<updated>2021-07-29T00:02:16+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-07-29T00:00:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=58409e62ed8bf98ab6e7abad108797959465317a'/>
<id>58409e62ed8bf98ab6e7abad108797959465317a</id>
<content type='text'>
Given their names and popular "getter/setter" paradigms from many OO
languages, the return type is misleading.  Change it from `int` to
`bool` since it returns only a success/failure status and modifies an
argument (passed by reference) to deliver the requested data.

* src/roff/troff/reg.h (reg, variable_reg):
* src/roff/troff/div.cpp (page_offset_reg, page_length_reg,
  vertical_position_reg, high_water_mark_reg, distance_to_next_trap_reg,
  page_number_reg, no_space_mode_reg):
* src/roff/troff/env.cpp (int_env_reg, vunits_env_reg, hunits_env_reg,
  horizontal_place_reg):
* src/roff/troff/input.cpp (writable_lineno_reg):
* src/roff/troff/reg.cpp (reg, number_reg, variable_reg): Update class
  and member function definitions to reflect the new type.  Update
  member function definitions to return appropriate Boolean literals
  instead of 0 and 1.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given their names and popular "getter/setter" paradigms from many OO
languages, the return type is misleading.  Change it from `int` to
`bool` since it returns only a success/failure status and modifies an
argument (passed by reference) to deliver the requested data.

* src/roff/troff/reg.h (reg, variable_reg):
* src/roff/troff/div.cpp (page_offset_reg, page_length_reg,
  vertical_position_reg, high_water_mark_reg, distance_to_next_trap_reg,
  page_number_reg, no_space_mode_reg):
* src/roff/troff/env.cpp (int_env_reg, vunits_env_reg, hunits_env_reg,
  horizontal_place_reg):
* src/roff/troff/input.cpp (writable_lineno_reg):
* src/roff/troff/reg.cpp (reg, number_reg, variable_reg): Update class
  and member function definitions to reflect the new type.  Update
  member function definitions to return appropriate Boolean literals
  instead of 0 and 1.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Slightly refactor some more.</title>
<updated>2021-07-05T12:02:38+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-07-05T12:02:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=41091ecc5482c3c63c40398f89d9dab5d9b08e08'/>
<id>41091ecc5482c3c63c40398f89d9dab5d9b08e08</id>
<content type='text'>
* src/roff/troff/token.h (token::delimiter): Change type of parameter
  from `int` to `bool`, name from `warn` to `err` (to match definition
  and behavior in input.cpp) and default from 0 to `false`.

* src/roff/troff/input.cpp (token::delimiter): Change type of parameter
  from `int` to `bool` in definition.

* src/roff/troff/input.cpp (do_expr_test, get_delim_number,
  get_line_arg, read_size, do_register, read_draw_node):

* src/roff/troff/reg.cpp (inline_define_reg): Update call sites.  Add
  comment indicating meaning of parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/token.h (token::delimiter): Change type of parameter
  from `int` to `bool`, name from `warn` to `err` (to match definition
  and behavior in input.cpp) and default from 0 to `false`.

* src/roff/troff/input.cpp (token::delimiter): Change type of parameter
  from `int` to `bool` in definition.

* src/roff/troff/input.cpp (do_expr_test, get_delim_number,
  get_line_arg, read_size, do_register, read_draw_node):

* src/roff/troff/reg.cpp (inline_define_reg): Update call sites.  Add
  comment indicating meaning of parameter.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Slightly refactor.</title>
<updated>2021-07-05T11:39:50+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-07-05T11:39:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=61b440fc3a2096b735de8a43353d9c866f6cd6ca'/>
<id>61b440fc3a2096b735de8a43353d9c866f6cd6ca</id>
<content type='text'>
Make the source code slightly more accessible by using a `bool` type for
a function's default parameter used as a Boolean, and comment it at call
sites where the default is overridden.

See also commit d56e0f1d, 25 June.

* src/roff/troff/token.h (get_name, get_long_name): Change type of
  parameter from `int` to `bool` and default from 0 to `false`.

* src/roff/troff/input.cpp (do_get_long_name, empty_name_warning,
  get_name, get_long_name): Change type of parameter from `int` to
  `bool` in declarations and definitions.

* src/roff/troff/column.cpp (column_justify):
* src/roff/troff/div.cpp (diversion_trap):
* src/roff/troff/env.cpp (environment_switch, environment_copy,
  do_input_trap, set_hyphenation_language,
  do_hyphenation_patterns_file):
* src/roff/troff/input.cpp (define_color, composite_request,
  do_define_string, do_define_macro, rename_macro, alias_macro,
  chop_macro, do_string_case_transform, substring_request,
  length_request, asciify_macro, unformat_macro, do_register,
  device_macro_request, do_if_request, do_source, ps_bbox_request,
  do_open, close_request, do_write_request, write_macro_request,
  define_class, copy_file, vjustify, transparent_file, do_macro_source):
* src/roff/troff/node.cpp (font_translate, font_position, style,
  get_fontno):
* src/roff/troff/reg.cpp (define_number_reg, inline_define_reg,
  alter_format, alias_reg, rename_reg): Update call sites.  Add comment
  indicating meaning of parameter.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the source code slightly more accessible by using a `bool` type for
a function's default parameter used as a Boolean, and comment it at call
sites where the default is overridden.

See also commit d56e0f1d, 25 June.

* src/roff/troff/token.h (get_name, get_long_name): Change type of
  parameter from `int` to `bool` and default from 0 to `false`.

* src/roff/troff/input.cpp (do_get_long_name, empty_name_warning,
  get_name, get_long_name): Change type of parameter from `int` to
  `bool` in declarations and definitions.

* src/roff/troff/column.cpp (column_justify):
* src/roff/troff/div.cpp (diversion_trap):
* src/roff/troff/env.cpp (environment_switch, environment_copy,
  do_input_trap, set_hyphenation_language,
  do_hyphenation_patterns_file):
* src/roff/troff/input.cpp (define_color, composite_request,
  do_define_string, do_define_macro, rename_macro, alias_macro,
  chop_macro, do_string_case_transform, substring_request,
  length_request, asciify_macro, unformat_macro, do_register,
  device_macro_request, do_if_request, do_source, ps_bbox_request,
  do_open, close_request, do_write_request, write_macro_request,
  define_class, copy_file, vjustify, transparent_file, do_macro_source):
* src/roff/troff/node.cpp (font_translate, font_position, style,
  get_fontno):
* src/roff/troff/reg.cpp (define_number_reg, inline_define_reg,
  alter_format, alias_reg, rename_reg): Update call sites.  Add comment
  indicating meaning of parameter.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Revise diagnostic wording.</title>
<updated>2021-07-05T04:06:19+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-07-05T04:06:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=045732c5a2bfd99e7fdee2ca86c928b391392f4b'/>
<id>045732c5a2bfd99e7fdee2ca86c928b391392f4b</id>
<content type='text'>
* src/roff/troff/reg.cpp (alter_format): Say simply "register" instead
  of "number register" (there is no other kind).

Continues commit 31e8ff9d, 30 June.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/reg.cpp (alter_format): Say simply "register" instead
  of "number register" (there is no other kind).

Continues commit 31e8ff9d, 30 June.
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Revise diagnostic wording.</title>
<updated>2021-07-01T00:50:48+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-06-30T13:06:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=31e8ff9daf1c63d0dae536f3e5b429b7b12c2385'/>
<id>31e8ff9daf1c63d0dae536f3e5b429b7b12c2385</id>
<content type='text'>
* src/roff/troff/reg.cpp (lookup_number_reg, alias_reg): Say simply
  "register" instead of "number register" (there is no other kind).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/reg.cpp (lookup_number_reg, alias_reg): Say simply
  "register" instead of "number register" (there is no other kind).
</pre>
</div>
</content>
</entry>
<entry>
<title>[troff]: Clarify diagnostics.</title>
<updated>2021-06-25T08:41:05+00:00</updated>
<author>
<name>G. Branden Robinson</name>
<email>g.branden.robinson@gmail.com</email>
</author>
<published>2021-06-25T01:46:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=feb580a41484a7a0d4747f78a93ae0c4eff26d8d'/>
<id>feb580a41484a7a0d4747f78a93ae0c4eff26d8d</id>
<content type='text'>
* src/roff/troff/reg.cpp (reg::set_increment): Update diagnostic
  to unabbreviate "auto".

  (reg::alter_format): Update diagnostic to say "assign" instead of
  "alter", since the documentation consistently uses the former term.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* src/roff/troff/reg.cpp (reg::set_increment): Update diagnostic
  to unabbreviate "auto".

  (reg::alter_format): Update diagnostic to say "assign" instead of
  "alter", since the documentation consistently uses the former term.
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright</title>
<updated>2020-11-11T22:08:05+00:00</updated>
<author>
<name>Bertrand Garrigues</name>
<email>bertrand.garrigues@laposte.net</email>
</author>
<published>2020-11-11T00:58:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/groff-git.git/commit/?id=c05b538c504106d55b81caa6400ea80797f03775'/>
<id>c05b538c504106d55b81caa6400ea80797f03775</id>
<content type='text'>
* update-copyright.sh: use gnulib's 'update-copyright' script.  Pass
  this script in directories 'arch', 'contrib', 'font', 'man', 'tmac',
  'src' and on a list of extra files.

* FOR-RELEASE: mention this point.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* update-copyright.sh: use gnulib's 'update-copyright' script.  Pass
  this script in directories 'arch', 'contrib', 'font', 'man', 'tmac',
  'src' and on a list of extra files.

* FOR-RELEASE: mention this point.
</pre>
</div>
</content>
</entry>
</feed>
