gbranden pushed a commit to branch master
in repository groff.
commit 754b3791d168737af6ba80415a30f696bbe86f27
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Aug 24 20:06:45 2024 -0500
[troff]: Refactor `charinfo` class (1/2).
Rename member functions and variables and demote their (return) types
from `int` to `bool`. Use Boolean, not integer, literals in
initializers and assignments.
* src/roff/troff/charinfo.h:
* src/roff/troff/input.cpp: Do it.
`not_found` -> `is_not_found`
`transparent_translate` -> `is_transparently_translatable`
`translate_input` -> `translatable_as_input`
`set_translation_input()` -> `make_translatable_as_input()`
`get_translation_input()` -> `is_translatable_as_input()`
---
ChangeLog | 15 +++++++++++++++
src/roff/troff/charinfo.h | 42 ++++++++++++++++++++----------------------
src/roff/troff/input.cpp | 19 ++++++++++---------
3 files changed, 45 insertions(+), 31 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 9fe1a4eb8..918d4ddcc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
2024-08-24 G. Branden Robinson <[email protected]>
+ [troff]: Trivially refactor. Boolify `charinfo` class, renaming
+ member functions and variables and demoting their (return) types
+ from `int` to `bool`. Use Boolean, not integer, literals in
+ initializers and assignments.
+
+ * src/roff/troff/charinfo.h:
+ * src/roff/troff/input.cpp: Do it.
+ `not_found` -> `is_not_found`
+ `transparent_translate` -> `is_transparently_translatable`
+ `translate_input` -> `translatable_as_input`
+ `set_translation_input()` -> `make_translatable_as_input()`
+ `get_translation_input()` -> `is_translatable_as_input()`
+
+2024-08-25 G. Branden Robinson <[email protected]>
+
* src/roff/troff/node.cpp (charinfo_node::ends_sentence): Fix
compiler warning.
diff --git a/src/roff/troff/charinfo.h b/src/roff/troff/charinfo.h
index fc441088a..74f040ac1 100644
--- a/src/roff/troff/charinfo.h
+++ b/src/roff/troff/charinfo.h
@@ -33,11 +33,9 @@ class charinfo : glyph {
unsigned int flags;
unsigned char ascii_code;
unsigned char asciify_code;
- char not_found;
- char transparent_translate; // non-zero means translation applies
- // to transparent throughput
- char translate_input; // non-zero means that asciify_code is
- // active for .asciify (set by .trin)
+ bool is_not_found;
+ bool is_transparently_translatable;
+ bool translatable_as_input; // asciify_code is active for .asciify
char_mode mode;
// Unicode character classes
std::vector<std::pair<int, int> > ranges;
@@ -83,14 +81,14 @@ public:
void set_hyphenation_code(unsigned char);
void set_ascii_code(unsigned char);
void set_asciify_code(unsigned char);
- void set_translation_input();
- int get_translation_input();
- charinfo *get_translation(int = 0);
+ void make_translatable_as_input();
+ bool is_translatable_as_input();
+ charinfo *get_translation(bool = false);
void set_translation(charinfo *, int, int);
void get_flags();
void set_flags(unsigned int);
void set_special_translation(int, int);
- int get_special_translation(int = 0);
+ int get_special_translation(bool = false);
macro *set_macro(macro *);
macro *setx_macro(macro *, char_mode);
macro *get_macro();
@@ -205,9 +203,9 @@ inline int charinfo::is_special()
return mode == CHAR_SPECIAL;
}
-inline charinfo *charinfo::get_translation(int transparent_throughput)
+inline charinfo *charinfo::get_translation(bool for_transparent_throughput)
{
- return (transparent_throughput && !transparent_translate
+ return ((for_transparent_throughput && !is_transparently_translatable)
? 0
: translation);
}
@@ -224,7 +222,7 @@ inline unsigned char charinfo::get_ascii_code()
inline unsigned char charinfo::get_asciify_code()
{
- return (translate_input ? asciify_code : 0);
+ return (translatable_as_input ? asciify_code : 0);
}
inline void charinfo::set_flags(unsigned int c)
@@ -237,19 +235,19 @@ inline glyph *charinfo::as_glyph()
return this;
}
-inline void charinfo::set_translation_input()
+inline void charinfo::make_translatable_as_input()
{
- translate_input = 1;
+ translatable_as_input = true;
}
-inline int charinfo::get_translation_input()
+inline bool charinfo::is_translatable_as_input()
{
- return translate_input;
+ return translatable_as_input;
}
-inline int charinfo::get_special_translation(int transparent_throughput)
+inline int charinfo::get_special_translation(bool for_transparent_throughput)
{
- return (transparent_throughput && !transparent_translate
+ return (for_transparent_throughput && !is_transparently_translatable
? int(TRANSLATE_NONE)
: special_translation);
}
@@ -261,11 +259,11 @@ inline macro *charinfo::get_macro()
inline int charinfo::first_time_not_found()
{
- if (not_found)
- return 0;
+ if (is_not_found)
+ return false;
else {
- not_found = 1;
- return 1;
+ is_not_found = true;
+ return true;
}
}
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 8c82da4a1..d1cddc149 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -7443,7 +7443,7 @@ static void set_hyphenation_codes()
}
cidst->set_hyphenation_code(new_code);
if (cidst->get_translation()
- && cidst->get_translation()->get_translation_input())
+ && cidst->get_translation()->is_translatable_as_input())
cidst->get_translation()->set_hyphenation_code(new_code);
tok.next();
tok.skip();
@@ -7476,7 +7476,7 @@ static void report_hyphenation_codes()
}
unsigned char code = ci->get_hyphenation_code();
if (ci->get_translation()
- && ci->get_translation()->get_translation_input())
+ && ci->get_translation()->is_translatable_as_input())
code = ci->get_translation()->get_hyphenation_code();
if (0 == ch)
errprint("\\[%1]\t%2\n", ci->nm.contents(), int(code));
@@ -9387,10 +9387,11 @@ charinfo *get_charinfo(symbol nm)
int charinfo::next_index = 0;
charinfo::charinfo(symbol s)
-: translation(0), mac(0), special_translation(TRANSLATE_NONE),
- hyphenation_code(0), flags(0), ascii_code(0), asciify_code(0),
- not_found(0), transparent_translate(1), translate_input(0),
- mode(CHAR_NORMAL), nm(s)
+: translation(0 /* nullptr */), mac(0 /* nullptr */),
+ special_translation(TRANSLATE_NONE), hyphenation_code(0),
+ flags(0), ascii_code(0), asciify_code(0),
+ is_not_found(false), is_transparently_translatable(true),
+ translatable_as_input(false), mode(CHAR_NORMAL), nm(s)
{
index = next_index++;
number = -1;
@@ -9419,10 +9420,10 @@ void charinfo::set_translation(charinfo *ci, int tt,
int ti)
ci->set_asciify_code(asciify_code);
else if (ascii_code != 0)
ci->set_asciify_code(ascii_code);
- ci->set_translation_input();
+ ci->make_translatable_as_input();
}
special_translation = TRANSLATE_NONE;
- transparent_translate = tt;
+ is_transparently_translatable = tt;
}
// Recompute flags for all entries in the charinfo dictionary.
@@ -9461,7 +9462,7 @@ void charinfo::set_special_translation(int c, int tt)
{
special_translation = c;
translation = 0;
- transparent_translate = tt;
+ is_transparently_translatable = tt;
}
void charinfo::set_ascii_code(unsigned char c)
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit