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

Reply via email to