gbranden pushed a commit to branch master
in repository groff.

commit d0e1f765f9084450864784a257132bbe7881731b
Author: G. Branden Robinson <[email protected]>
AuthorDate: Wed Nov 19 19:21:27 2025 -0600

    [troff]: Trivially refactor (`lookup_charinfo()`).
    
    Rename `get_charinfo()` global function to `lookup_charinfo()` because
    (a) this parallels the naming of other functions that look up (and
    potentially create) entries in dictionaries (cf.  `lookup_{color,family,
    request,warning}()`), and (b) this function is not an accessor
    ("getter") for a property of a class object.
    
    * src/roff/troff/charinfo.h (get_charinfo): Rename declaration from
      this...
      (lookup_charinfo): ...to this.
    
    * src/roff/troff/input.cpp (get_charinfo): Rename definition from
      this...
      (lookup_charinfo): ...to this.
    
    * src/roff/troff/input.cpp (token::next, define_character)
      (init_charset_table, define_class_request, token::get_char)
      (token::add_to_zero_width_node_list, token::process)
      (name_to_glyph):
    * src/roff/troff/node.cpp (font_info::get_narrow_space_width)
      (font_info::get_half_narrow_space_width)
      (tfont::get_lig, make_glyph_node)
      (remove_font_specific_character, soft_hyphen_character_request)
      (init_node_requests): Update call sites.
---
 ChangeLog                 | 25 +++++++++++++++++++++++++
 src/roff/troff/charinfo.h |  3 ++-
 src/roff/troff/input.cpp  | 44 ++++++++++++++++++++++----------------------
 src/roff/troff/node.cpp   | 22 +++++++++++-----------
 4 files changed, 60 insertions(+), 34 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4f69f5d35..f5da53c07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2025-11-19  G. Branden Robinson <[email protected]>
+
+       [troff]: Trivially refactor.  Rename `get_charinfo()` global
+       function to `lookup_charinfo()` because (a) this parallels the
+       naming of other functions that look up (and potentially create)
+       entries in dictionaries (cf. `lookup_{color,family,request,
+       warning}()`), and (b) this function is not an accessor
+       {"getter"} for a property of a class object.
+
+       * src/roff/troff/charinfo.h (get_charinfo): Rename declaration
+       from this...
+       (lookup_charinfo): ...to this.
+       * src/roff/troff/input.cpp (get_charinfo): Rename definition
+       from this...
+       (lookup_charinfo): ...to this.
+       * src/roff/troff/input.cpp (token::next, define_character)
+       (init_charset_table, define_class_request, token::get_char)
+       (token::add_to_zero_width_node_list, token::process)
+       (name_to_glyph):
+       * src/roff/troff/node.cpp (font_info::get_narrow_space_width)
+       (font_info::get_half_narrow_space_width)
+       (tfont::get_lig, make_glyph_node)
+       (remove_font_specific_character, soft_hyphen_character_request)
+       (init_node_requests): Update call sites.
+
 2025-11-19  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/input.cpp (define_class_request): Stop adding
diff --git a/src/roff/troff/charinfo.h b/src/roff/troff/charinfo.h
index 92c79a202..72da4cd40 100644
--- a/src/roff/troff/charinfo.h
+++ b/src/roff/troff/charinfo.h
@@ -122,7 +122,8 @@ public:
   void dump();
 };
 
-charinfo *get_charinfo(symbol, bool /* suppress_creation */ = false);
+extern charinfo *lookup_charinfo(symbol,
+                                bool /* suppress_creation */ = false);
 extern charinfo *charset_table[];
 
 inline bool charinfo::overlaps_horizontally()
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 4680c5fcd..587f330ca 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -2469,7 +2469,7 @@ void token::next()
          if (!get_line_arg(&x, (cc == 'l' ? 'm': 'v'), &s))
            break;
          if (s == 0)
-           s = get_charinfo(cc == 'l' ? "ru" : "br");
+           s = lookup_charinfo(cc == 'l' ? "ru" : "br");
          type = TOKEN_NODE;
          node *char_node = curenv->make_char_node(s);
          if (cc == 'l')
@@ -4913,7 +4913,7 @@ void define_character(char_mode mode, const char 
*font_name)
     s += ' ';
     s += ci->nm.contents();
     s += '\0';
-    ci = get_charinfo(symbol(s.contents()));
+    ci = lookup_charinfo(symbol(s.contents()));
   }
   tok.next();
   int c;
@@ -8262,7 +8262,7 @@ static void init_charset_table()
   (void) strncpy(buf, char_prefix, char_prefix_len);
   for (int i = 0; i < 256; i++) {
     (void) strcpy((buf + char_prefix_len), i_to_a(i));
-    charset_table[i] = get_charinfo(symbol(buf));
+    charset_table[i] = lookup_charinfo(symbol(buf));
     charset_table[i]->set_ascii_code(i);
     if (csalpha(i))
       charset_table[i]->set_hyphenation_code(cmlower(i));
@@ -8276,18 +8276,18 @@ static void init_charset_table()
   charset_table[')']->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
   charset_table[']']->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
   charset_table['*']->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
-  
get_charinfo(symbol("dg"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
-  
get_charinfo(symbol("dd"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
-  
get_charinfo(symbol("rq"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
-  
get_charinfo(symbol("cq"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
-  get_charinfo(symbol("em"))->set_flags(charinfo::ALLOWS_BREAK_AFTER);
-  get_charinfo(symbol("hy"))->set_flags(charinfo::ALLOWS_BREAK_AFTER);
-  get_charinfo(symbol("ul"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
-  get_charinfo(symbol("rn"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
-  
get_charinfo(symbol("radicalex"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
-  get_charinfo(symbol("sqrtex"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
-  get_charinfo(symbol("ru"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
-  get_charinfo(symbol("br"))->set_flags(charinfo::OVERLAPS_VERTICALLY);
+  
lookup_charinfo(symbol("dg"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
+  
lookup_charinfo(symbol("dd"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
+  
lookup_charinfo(symbol("rq"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
+  
lookup_charinfo(symbol("cq"))->set_flags(charinfo::IS_TRANSPARENT_TO_END_OF_SENTENCE);
+  lookup_charinfo(symbol("em"))->set_flags(charinfo::ALLOWS_BREAK_AFTER);
+  lookup_charinfo(symbol("hy"))->set_flags(charinfo::ALLOWS_BREAK_AFTER);
+  lookup_charinfo(symbol("ul"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
+  lookup_charinfo(symbol("rn"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
+  
lookup_charinfo(symbol("radicalex"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
+  
lookup_charinfo(symbol("sqrtex"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
+  lookup_charinfo(symbol("ru"))->set_flags(charinfo::OVERLAPS_HORIZONTALLY);
+  lookup_charinfo(symbol("br"))->set_flags(charinfo::OVERLAPS_VERTICALLY);
   page_character = charset_table['%'];
 }
 
@@ -8532,7 +8532,7 @@ static void define_class_request()
     skip_line();
     return;
   }
-  charinfo *ci = get_charinfo(nm);
+  charinfo *ci = lookup_charinfo(nm);
   // Assign the charinfo an empty macro as a hack to record the
   // file:line location of its definition.
   macro *m = new macro;
@@ -8657,7 +8657,7 @@ charinfo *token::get_char(bool required, bool 
suppress_creation)
   if (type == TOKEN_CHAR)
     return charset_table[c];
   if (type == TOKEN_SPECIAL_CHAR)
-    return get_charinfo(nm, suppress_creation);
+    return lookup_charinfo(nm, suppress_creation);
   if (type == TOKEN_INDEXED_CHAR)
     return get_charinfo_by_index(val, suppress_creation);
   if (type == TOKEN_ESCAPE) {
@@ -8748,7 +8748,7 @@ bool token::add_to_zero_width_node_list(node **pp)
                         curenv->get_fill_color());
     break;
   case TOKEN_SPECIAL_CHAR:
-    *pp = (*pp)->add_char(get_charinfo(nm), curenv, &w, &s);
+    *pp = (*pp)->add_char(lookup_charinfo(nm), curenv, &w, &s);
     break;
   case TOKEN_STRETCHABLE_SPACE:
     n = new unbreakable_space_node(curenv->get_space_width(),
@@ -8843,7 +8843,7 @@ void token::process()
     curenv->space();
     break;
   case TOKEN_SPECIAL_CHAR:
-    curenv->add_char(get_charinfo(nm));
+    curenv->add_char(lookup_charinfo(nm));
     break;
   case TOKEN_SPREAD:
     curenv->spread();
@@ -10527,7 +10527,7 @@ void debug_with_file_and_line(const char *filename,
 
 dictionary charinfo_dictionary(501);
 
-charinfo *get_charinfo(symbol nm, bool suppress_creation)
+charinfo *lookup_charinfo(symbol nm, bool suppress_creation)
 {
   void *p = charinfo_dictionary.lookup(nm);
   if (p != 0 /* nullptr */)
@@ -10909,9 +10909,9 @@ glyph *name_to_glyph(const char *nm)
   if (nm[1] == 0)
     ci = charset_table[nm[0] & 0xff];
   else if (nm[0] == '\\' && nm[2] == 0)
-    ci = get_charinfo(symbol(nm + 1));
+    ci = lookup_charinfo(symbol(nm + 1));
   else
-    ci = get_charinfo(symbol(nm));
+    ci = lookup_charinfo(symbol(nm));
   return ci->as_glyph();
 }
 
diff --git a/src/roff/troff/node.cpp b/src/roff/troff/node.cpp
index 106d108c0..0ad578da6 100644
--- a/src/roff/troff/node.cpp
+++ b/src/roff/troff/node.cpp
@@ -490,7 +490,7 @@ hunits font_info::get_space_width(font_size fs, int 
space_sz)
 
 hunits font_info::get_narrow_space_width(font_size fs)
 {
-  charinfo *ci = get_charinfo(symbol("|"));
+  charinfo *ci = lookup_charinfo(symbol("|"));
   if (fm->contains(ci->as_glyph()))
     return hunits(fm->get_width(ci->as_glyph(), fs.to_scaled_points()));
   else
@@ -499,7 +499,7 @@ hunits font_info::get_narrow_space_width(font_size fs)
 
 hunits font_info::get_half_narrow_space_width(font_size fs)
 {
-  charinfo *ci = get_charinfo(symbol("^"));
+  charinfo *ci = lookup_charinfo(symbol("^"));
   if (fm->contains(ci->as_glyph()))
     return hunits(fm->get_width(ci->as_glyph(), fs.to_scaled_points()));
   else
@@ -687,15 +687,15 @@ charinfo *tfont::get_lig(charinfo *c1, charinfo *c2)
     switch (c2->get_ascii_code()) {
     case 'f':
       if (fm->has_ligature(font::LIG_ff))
-       ci = get_charinfo(SYMBOL_ff);
+       ci = lookup_charinfo(SYMBOL_ff);
       break;
     case 'i':
       if (fm->has_ligature(font::LIG_fi))
-       ci = get_charinfo(SYMBOL_fi);
+       ci = lookup_charinfo(SYMBOL_fi);
       break;
     case 'l':
       if (fm->has_ligature(font::LIG_fl))
-       ci = get_charinfo(SYMBOL_fl);
+       ci = lookup_charinfo(SYMBOL_fl);
       break;
     }
   }
@@ -703,11 +703,11 @@ charinfo *tfont::get_lig(charinfo *c1, charinfo *c2)
     switch (c2->get_ascii_code()) {
     case 'i':
       if (fm->has_ligature(font::LIG_ffi))
-       ci = get_charinfo(SYMBOL_Fi);
+       ci = lookup_charinfo(SYMBOL_Fi);
       break;
     case 'l':
       if (fm->has_ligature(font::LIG_ffl))
-       ci = get_charinfo(SYMBOL_Fl);
+       ci = lookup_charinfo(SYMBOL_Fl);
       break;
     }
   }
@@ -5594,7 +5594,7 @@ static node *make_glyph_node(charinfo *s, environment 
*env,
       gl += ' ';
       gl += s->nm.contents();
       gl += '\0';
-      charinfo *ci = get_charinfo(symbol(gl.contents()));
+      charinfo *ci = lookup_charinfo(symbol(gl.contents()));
       if (ci && ci->get_macro())
        return make_composite_node(ci, env);
     }
@@ -7054,7 +7054,7 @@ static void remove_font_specific_character()
        gl += ' ';
        gl += s->nm.contents();
        gl += '\0';
-       charinfo *ci = get_charinfo(symbol(gl.contents()));
+       charinfo *ci = lookup_charinfo(symbol(gl.contents()));
        if (!ci)
          break;
        macro *m = ci->set_macro(0 /* nullptr */);
@@ -7490,7 +7490,7 @@ static void soft_hyphen_character_request()
 {
   soft_hyphen_char = read_character();
   if (0 /* nullptr */ == soft_hyphen_char)
-    soft_hyphen_char = get_charinfo(HYPHEN_SYMBOL);
+    soft_hyphen_char = lookup_charinfo(HYPHEN_SYMBOL);
   skip_line();
 }
 
@@ -7553,7 +7553,7 @@ void init_node_requests()
   register_dictionary.define(".lg",
       new readonly_register(&global_ligature_mode));
   register_dictionary.define(".P", new printing_reg);
-  soft_hyphen_char = get_charinfo(HYPHEN_SYMBOL);
+  soft_hyphen_char = lookup_charinfo(HYPHEN_SYMBOL);
 }
 
 // Local Variables:

_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit

Reply via email to