gbranden pushed a commit to branch master
in repository groff.

commit cdc9319600f58887d2c44993b60ede004438610b
Author: G. Branden Robinson <[email protected]>
AuthorDate: Wed Dec 17 15:50:00 2025 -0600

    src/roff/troff/input.cpp: Slightly refactor.
    
    * src/roff/troff/input.cpp: Add new `const` globals
      `default_control_char` and `default_no_break_control_char`.
    
      (assign_control_character): Use `default_control_char` instead of
      a `.` character literal.
    
      (assign_no_break_control_character): Use
      `default_no_break_control_char` instead of a `'` character literal.
---
 ChangeLog                | 10 ++++++++++
 src/roff/troff/input.cpp | 20 +++++++++++++-------
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 02a9ec565..8926c99b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2025-12-17  G. Branden Robinson <[email protected]>
+
+       * src/roff/troff/input.cpp: Add new `const` globals
+       `default_control_char` and `default_no_break_control_char`.
+       (assign_control_character): Use `default_control_char` instead of
+       a `.` character literal.
+       (assign_no_break_control_character): Use
+       `default_no_break_control_char` instead of a `'` character
+       literal.
+
 2025-12-17  G. Branden Robinson <[email protected]>
 
        * src/roff/troff/input.cpp (assign_escape_character): Rename
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 8705e530e..f9bd1a5fb 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -192,6 +192,9 @@ void chop_macro();  // declare to avoid friend name 
injection
 
 static const unsigned char default_escape_char = (unsigned char)('\\');
 static unsigned char escape_char = default_escape_char;
+static const unsigned char default_control_char = (unsigned char)('.');
+static const unsigned char default_no_break_control_char
+  = (unsigned char)('\'');
 
 static void assign_escape_character_request()
 {
@@ -263,7 +266,7 @@ void assign_control_character()
       cc = tok.ch();
   }
   else
-    cc = '.';
+    cc = default_control_char;
   bool do_nothing = false;
   char already_ec[] = "the escape character is already";
   char already_nbcc[] = "the no-break control character is already";
@@ -282,9 +285,10 @@ void assign_control_character()
          is_invalid ? "cannot select invalid control character, and"
          : "", already_message, input_char_description(cc));
   else if (is_invalid) {
-    error("cannot select %1 as control character; using '.'",
-         tok.description());
-    assignment_worked = curenv->set_control_character('.');
+    error("cannot select %1 as control character; using '%2'",
+         tok.description(), char(default_control_char));
+    assignment_worked
+      = curenv->set_control_character(default_control_char);
   }
   else
     assignment_worked = curenv->set_control_character(cc);
@@ -303,7 +307,7 @@ void assign_no_break_control_character()
       nbcc = tok.ch();
   }
   else
-    nbcc = '\'';
+    nbcc = default_no_break_control_char;
   bool do_nothing = false;
   char already_ec[] = "the escape character is already";
   char already_cc[] = "the (breaking) control character is already";
@@ -324,8 +328,10 @@ void assign_no_break_control_character()
          : "", already_message, input_char_description(nbcc));
   else if (is_invalid) {
     error("cannot select %1 as no-break control character;"
-         " using \"\'\"", tok.description());
-    assignment_worked = curenv->set_no_break_control_character('\'');
+         " using \"%2\"", tok.description(),
+         default_no_break_control_char);
+    assignment_worked
+      = curenv->set_no_break_control_character(default_no_break_control_char);
   }
   else
     assignment_worked = curenv->set_no_break_control_character(nbcc);

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

Reply via email to