gbranden pushed a commit to branch master
in repository groff.

commit 85835a41552aa384ac16d65d1a25972e7fa17de1
Author: G. Branden Robinson <[email protected]>
AuthorDate: Thu Apr 9 22:23:41 2026 -0500

    [troff]: Trivially refactor for semantic clarity.
    
    We had two pairs of functions where the pair members differed by
    signature but not by name, and which moreover did somewhat different
    things, interpreting different expression types.  Rename them to more
    obviously distinguish their purposes.  ("crement" is a nonce usage I
    devised to generalize "{in,de}crement".)
    
    * src/roff/troff/token.h: Rename functions in declarations.
      - read_measurement() -> read_measurement_crement()
      - read_integer()     -> read_integer_crement()
    
    * src/roff/troff/number.cpp (read_measurement): Rename this...
      (read_measurement_crement): ...to this.
    
      (read_integer): Rename this...
      (read_integer_crement): ...to this.
    
    * src/roff/troff/div.cpp (begin_page, page_number):
    * src/roff/troff/env.cpp (number_lines): Migrate callers of two-argument
      `read_integer()` to `read_integer_crement()`.
    
    * src/roff/troff/env.cpp (point_size):
    * src/roff/troff/input.cpp (read_delimited_measurement, do_register):
    * src/roff/troff/reg.cpp (define_register_request)
      (inline_define_register): Migrate callers of three-argument
      `read_measurement()` to `read_measurement_crement()`.
---
 ChangeLog                 | 26 ++++++++++++++++++++++++++
 src/roff/troff/div.cpp    |  6 ++++--
 src/roff/troff/env.cpp    |  7 ++++---
 src/roff/troff/input.cpp  |  8 ++++----
 src/roff/troff/number.cpp |  6 ++++--
 src/roff/troff/reg.cpp    | 12 ++++++------
 src/roff/troff/token.h    |  9 +++++----
 7 files changed, 53 insertions(+), 21 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index af9afc65e..68a77e8f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2026-04-09  G. Branden Robinson <[email protected]>
+
+       [troff]: Trivially refactor for semantic clarity.  We had two
+       pairs of functions where the pair members differed by signature
+       but not by name, and which moreover did somewhat different
+       things, interpreting different expression types.  Rename them to
+       more obviously distinguish their purposes.  ("crement" is a
+       nonce usage I devised to generalize "{in,de}crement".)
+
+       * src/roff/troff/token.h: Rename functions in declarations.
+       - read_measurement() -> read_measurement_crement()
+       - read_integer()     -> read_integer_crement()
+       * src/roff/troff/number.cpp (read_measurement): Rename this...
+       (read_measurement_crement): ...to this.
+       (read_integer): Rename this...
+       (read_integer_crement): ...to this.
+       * src/roff/troff/div.cpp (begin_page, page_number):
+       * src/roff/troff/env.cpp (number_lines): Migrate callers of
+       two-argument `read_integer()` to `read_integer_crement()`.
+       * src/roff/troff/env.cpp (point_size):
+       * src/roff/troff/input.cpp (read_delimited_measurement)
+       (do_register):
+       * src/roff/troff/reg.cpp (define_register_request)
+       (inline_define_register): Migrate callers of three-argument
+       `read_measurement()` to `read_measurement_crement()`.
+
 2026-04-09  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/number.cpp:
diff --git a/src/roff/troff/div.cpp b/src/roff/troff/div.cpp
index 6abd7632b..55e6d3998 100644
--- a/src/roff/troff/div.cpp
+++ b/src/roff/troff/div.cpp
@@ -796,7 +796,8 @@ static void begin_page() // .bp
 {
   bool got_arg = false;
   int n = 0;
-  if (has_arg() && read_integer(&n, topdiv->get_page_number()))
+  if (has_arg()
+      && read_integer_crement(&n, topdiv->get_page_number()))
     got_arg = true;
   while (!tok.is_newline() && !tok.is_eof())
     tok.next();
@@ -933,7 +934,8 @@ static void page_number() // .pn
   // register before invoking .pn.
   reg *r = static_cast<reg *>(register_dictionary.lookup("ps4html"));
   if (0 /* nullptr */ == r)
-    if (has_arg() && read_integer(&n, topdiv->get_page_number()))
+    if (has_arg()
+       && read_integer_crement(&n, topdiv->get_page_number()))
       topdiv->set_next_page_number(n);
   skip_line();
 }
diff --git a/src/roff/troff/env.cpp b/src/roff/troff/env.cpp
index 562d014e9..e6f89dbbf 100644
--- a/src/roff/troff/env.cpp
+++ b/src/roff/troff/env.cpp
@@ -1389,8 +1389,9 @@ static void point_size() // .ps
   }
   int n;
   if (has_arg()
-      && read_measurement(&n, (unsigned char)('z'), // TODO: grochar
-                         curenv->get_requested_point_size()))
+      && read_measurement_crement(&n,
+                                 (unsigned char)('z'), // TODO: grochar
+                                 curenv->get_requested_point_size()))
   {
     if (n <= 0)
       n = 1;
@@ -1792,7 +1793,7 @@ void number_lines() // .nm
     curenv->line_number_digit_width = env_digit_width(curenv);
     int n;
     if (!tok.is_usable_as_delimiter()) { // XXX abuse of function
-      if (read_integer(&n, next_line_number)) {
+      if (read_integer_crement(&n, next_line_number)) {
        next_line_number = n;
        if (next_line_number < 0) {
          warning(WARN_RANGE, "output line number cannot be negative");
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index d8e7213b9..56154c818 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -6084,7 +6084,7 @@ static bool read_delimited_measurement(units *n,
     return false;
   }
   tok.next();
-  if (read_measurement(n, si, prev_value)) {
+  if (read_measurement_crement(n, si, prev_value)) {
     if (start_token != tok) {
       // token::description() writes to static, class-wide storage, so
       // we must allocate a copy of it before issuing the next
@@ -6440,9 +6440,9 @@ static void do_register() // \R
   if ((0 /* nullptr */ == r) || !r->get_value(&prev_value))
     prev_value = 0;
   int val;
-  if (!read_measurement(&val,
-                     (unsigned char)('u'), // TODO: grochar
-                     prev_value))
+  if (!read_measurement_crement(&val,
+                               (unsigned char)('u'), // TODO: grochar
+                               prev_value))
     return;
   // token::description() writes to static, class-wide storage, so we
   // must allocate a copy of it before issuing the next diagnostic.
diff --git a/src/roff/troff/number.cpp b/src/roff/troff/number.cpp
index 8ae1d2732..93ab868f3 100644
--- a/src/roff/troff/number.cpp
+++ b/src/roff/troff/number.cpp
@@ -183,7 +183,9 @@ bool read_hunits(hunits *res,
 }
 
 // TODO: Default `prev_value` to 0.
-bool read_measurement(units *res, unsigned char si, units prev_value)
+bool read_measurement_crement(units *res,
+                             unsigned char si, // TODO: grochar
+                             units prev_value)
 {
   units u;
   switch (get_incr_number(&u, si)) {
@@ -206,7 +208,7 @@ bool read_measurement(units *res, unsigned char si, units 
prev_value)
   return true;
 }
 
-bool read_integer(int *res, int prev_value)
+bool read_integer_crement(int *res, int prev_value)
 {
   units i;
   switch (get_incr_number(&i, 0)) {
diff --git a/src/roff/troff/reg.cpp b/src/roff/troff/reg.cpp
index 7cb086054..88e571c7a 100644
--- a/src/roff/troff/reg.cpp
+++ b/src/roff/troff/reg.cpp
@@ -374,9 +374,9 @@ static void define_register_request()
     skip_line();
     return;
   }
-  if (read_measurement(&v,
-                    (unsigned char)('u'), // TODO: grochar
-                    prev_value)) {
+  if (read_measurement_crement(&v,
+                              (unsigned char)('u'), // TODO: grochar
+                              prev_value)) {
     if (0 /* nullptr */ == r) {
       r = new number_reg;
       register_dictionary.define(nm, r);
@@ -416,9 +416,9 @@ void inline_define_register()
   units prev_value;
   if ((0 /* nullptr */ == r) || !r->get_value(&prev_value))
     prev_value = 0;
-  if (read_measurement(&v,
-                    (unsigned char)('u'), // TODO: grochar
-                    prev_value)) {
+  if (read_measurement_crement(&v,
+                              (unsigned char)('u'), // TODO: grochar
+                              prev_value)) {
     r->set_value(v);
     if (start_token != tok) {
       if (read_measurement(&v,
diff --git a/src/roff/troff/token.h b/src/roff/troff/token.h
index 8ce39acd5..3fdbf4ba1 100644
--- a/src/roff/troff/token.h
+++ b/src/roff/troff/token.h
@@ -153,10 +153,11 @@ extern bool read_measurement(units * /* result */,
                             bool /* is_mandatory */ = false);
 extern bool read_integer(int *result);
 
-extern bool read_measurement(units * /* result */,
-                          unsigned char /* si */, // TODO: grochar
-                          units /* prev_value */);
-extern bool read_integer(int * /* result */, int /* prev_value */);
+extern bool read_measurement_crement(units * /* result */,
+                                    unsigned char /* si */, // TODO: grochar
+                                    units /* prev_value */);
+extern bool read_integer_crement(int * /* result */,
+                                int /* prev_value */);
 
 extern void interpolate_register(symbol, int);
 

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

Reply via email to