[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 11/17: [troff]: Slightly refactor token::get_char().
From: |
G. Branden Robinson |
Subject: |
[groff] 11/17: [troff]: Slightly refactor token::get_char(). |
Date: |
Fri, 25 Jun 2021 18:05:19 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit d56e0f1dd5d43e6fc2dd57517fc2c32e803cc4b2
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Fri Jun 25 10:17:42 2021 +1000
[troff]: Slightly refactor token::get_char().
[troff]: Slightly refactor. Make the source code slightly more
accessible by using a `bool` type for a member function's default
parameter used as a Boolean, and comment it at call sites where the
default is overridden.
* src/roff/troff/token.h (token::get_char): Change type of parameter
from `int` to `bool` and default from 0 to `false`.
* src/roff/troff/input.cpp (token::get_char): Update definition.
* src/roff/troff/env.cpp (hyphen_word):
* src/roff/troff/node.cpp (remove_font_special_character):
* src/roff/troff/input.cpp (do_overstrike, do_bracket, next,
do_define_character, remove_character, get_line_arg, encode_char,
do_if_request, do_translate, char_flags, hyphenation_code,
define_class): Update call sites. Add comment indicating meaning of
parameter.
---
ChangeLog | 18 ++++++++++++++++++
src/roff/troff/env.cpp | 2 +-
src/roff/troff/input.cpp | 30 +++++++++++++++---------------
src/roff/troff/node.cpp | 2 +-
src/roff/troff/token.h | 2 +-
5 files changed, 36 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 8fc2b17..ccfea30 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
2021-06-25 G. Branden Robinson <g.branden.robinson@gmail.com>
+ [troff]: Slightly refactor. Make the source code slightly more
+ accessible by using a `bool` type for a member function's
+ default parameter used as a Boolean, and comment it at call
+ sites where the default is overridden.
+
+ * src/roff/troff/token.h (token::get_char): Change type of
+ parameter from `int` to `bool` and default from 0 to `false`.
+ * src/roff/troff/input.cpp (token::get_char): Update definition.
+ * src/roff/troff/env.cpp (hyphen_word):
+ * src/roff/troff/node.cpp (remove_font_special_character):
+ * src/roff/troff/input.cpp (do_overstrike, do_bracket, next,
+ do_define_character, remove_character, get_line_arg,
+ encode_char, do_if_request, do_translate, char_flags,
+ hyphenation_code, define_class): Update call sites. Add comment
+ indicating meaning of parameter.
+
+2021-06-25 G. Branden Robinson <g.branden.robinson@gmail.com>
+
* tmac/an-old.tmac (TH): When outputting HTML, write the
possibly case-transformed (but not yet abbreviated) page title
as the `title` element instead of the unaltered first argument
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index 1be8647..13e16d9 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -3595,7 +3595,7 @@ static void hyphen_word()
int i = 0;
int npos = 0;
while (i < WORD_MAX && !tok.space() && !tok.newline() && !tok.eof()) {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci == 0) {
skip_line();
return;
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index d41cac4..849cf5f 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -1462,7 +1462,7 @@ node *do_overstrike()
on->overstrike(n);
}
else {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci) {
node *n = curenv->make_char_node(ci);
if (n)
@@ -1494,7 +1494,7 @@ static node *do_bracket()
if (tok == start
&& (compatible_flag || input_stack::get_level() == start_level))
break;
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci) {
node *n = curenv->make_char_node(ci);
if (n)
@@ -2236,7 +2236,7 @@ void token::next()
if (type == TOKEN_NODE || type == TOKEN_HORIZONTAL_SPACE)
nd = new zero_width_node(nd);
else {
- charinfo *ci = get_char(1);
+ charinfo *ci = get_char(true /* required */);
if (ci == 0)
break;
node *gn = curenv->make_char_node(ci);
@@ -4231,7 +4231,7 @@ void do_define_character(char_mode mode, const char
*font_name)
node *n = 0; // pacify compiler
int c;
tok.skip();
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci == 0) {
skip_line();
return;
@@ -4293,7 +4293,7 @@ static void remove_character()
tok.skip();
while (!tok.newline() && !tok.eof()) {
if (!tok.space() && !tok.tab()) {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (!ci)
break;
macro *m = ci->set_macro(0);
@@ -5024,7 +5024,7 @@ static int get_line_arg(units *n, unsigned char si,
charinfo **cp)
if (tok.dummy() || tok.transparent_dummy())
tok.next();
if (!(start == tok && input_stack::get_level() == start_level)) {
- *cp = tok.get_char(1);
+ *cp = tok.get_char(true /* required */);
tok.next();
}
if (!(start == tok && input_stack::get_level() == start_level))
@@ -5401,7 +5401,7 @@ static void encode_char(macro *mac, char c)
{
if (c == '\0') {
if ((font::use_charnames_in_special) && tok.special()) {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
const char *s = ci->get_symbol()->contents();
if (s[0] != (char)0) {
mac->append('\\');
@@ -5762,7 +5762,7 @@ int do_if_request()
else if (c == 'c') {
tok.next();
tok.skip();
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci == 0) {
skip_alternative();
return 0;
@@ -6946,7 +6946,7 @@ static void do_translate(int translate_transparent, int
translate_input)
tok.next();
continue;
}
- charinfo *ci1 = tok.get_char(1);
+ charinfo *ci1 = tok.get_char(true /* required */);
if (ci1 == 0)
break;
tok.next();
@@ -6968,7 +6968,7 @@ static void do_translate(int translate_transparent, int
translate_input)
ci1->set_special_translation(charinfo::TRANSLATE_HYPHEN_INDICATOR,
translate_transparent);
else {
- charinfo *ci2 = tok.get_char(1);
+ charinfo *ci2 = tok.get_char(true /* required */);
if (ci2 == 0)
break;
if (ci1 == ci2)
@@ -7001,7 +7001,7 @@ void char_flags()
int flags;
if (get_integer(&flags))
while (has_arg()) {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci) {
charinfo *tem = ci->get_translation();
if (tem)
@@ -7017,7 +7017,7 @@ void hyphenation_code()
{
tok.skip();
while (!tok.newline() && !tok.eof()) {
- charinfo *ci = tok.get_char(1);
+ charinfo *ci = tok.get_char(true /* required */);
if (ci == 0)
break;
tok.next();
@@ -7084,7 +7084,7 @@ void define_class()
tok.skip();
if (child1 != 0 && tok.ch() == '-') {
tok.next();
- child2 = tok.get_char(1);
+ child2 = tok.get_char(true /* required */);
if (!child2) {
warning(WARN_MISSING,
"missing end of character range in class '%1'",
@@ -7137,7 +7137,7 @@ void define_class()
}
child1 = 0;
}
- child1 = tok.get_char(1);
+ child1 = tok.get_char(true /* required */);
tok.next();
if (!child1) {
if (!tok.newline())
@@ -7178,7 +7178,7 @@ void define_class()
skip_line();
}
-charinfo *token::get_char(int required)
+charinfo *token::get_char(bool required)
{
if (type == TOKEN_CHAR)
return charset_table[c];
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index edc9f45..cdf1d86 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -6175,7 +6175,7 @@ void remove_font_special_character()
symbol f = font_table[n]->get_name();
while (!tok.newline() && !tok.eof()) {
if (!tok.space() && !tok.tab()) {
- charinfo *s = tok.get_char(1);
+ charinfo *s = tok.get_char(true /* required */);
string gl(f.contents());
gl += ' ';
gl += s->nm.contents();
diff --git a/src/roff/troff/token.h b/src/roff/troff/token.h
index 40610e0..35d5b0c 100644
--- a/src/roff/troff/token.h
+++ b/src/roff/troff/token.h
@@ -92,7 +92,7 @@ public:
int operator==(const token &); // need this for delimiters, and for
conditions
int operator!=(const token &); // ditto
unsigned char ch();
- charinfo *get_char(int required = 0);
+ charinfo *get_char(bool required = false);
int add_to_node_list(node **);
int title();
void make_space();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 11/17: [troff]: Slightly refactor token::get_char().,
G. Branden Robinson <=