gbranden pushed a commit to branch master
in repository groff.
commit 5b331789f741d77e6297bb1a539334f20e25da37
Author: G. Branden Robinson <[email protected]>
AuthorDate: Wed Dec 17 15:36:40 2025 -0600
src/roff/troff/input.cpp: Slightly refactor.
* src/roff/troff/input.cpp: Add new `const` global
`default_escape_char`. Initialize `escape_char` using it.
(assign_escape_character): Use `default_escape_char` instead of a `\\`
character literal.
---
ChangeLog | 7 +++++++
src/roff/troff/input.cpp | 12 ++++++------
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 545398083..fc121d210 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2025-12-17 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp: Add new `const` global
+ `default_escape_char`. Initialize `escape_char` using it.
+ (assign_escape_character): Use `default_escape_char` instead of
+ a `\\` character literal.
+
2025-12-13 G. Branden Robinson <[email protected]>
* src/roff/troff/input.cpp (process_input_stack): Emit warning
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 2a6f51577..91986e242 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -113,8 +113,6 @@ static bool want_input_ignored = false;
static void enable_warning(const char *);
static void disable_warning(const char *);
-static unsigned char escape_char = (unsigned char)('\\');
-
static symbol end_of_input_macro_name;
static symbol blank_line_macro_name;
static symbol leading_spaces_macro_name;
@@ -192,6 +190,8 @@ const char *input_char_description(int);
void process_input_stack();
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 void assign_escape_character()
{
@@ -204,7 +204,7 @@ static void assign_escape_character()
ec = tok.ch();
}
else
- ec = '\\';
+ ec = default_escape_char;
bool do_nothing = false;
static const char already_cc[] = "the control character is already";
static const char already_nbcc[] = "the no-break control character is"
@@ -223,9 +223,9 @@ static void assign_escape_character()
is_invalid ? "cannot select invalid escape character, and"
: "", already_message, input_char_description(ec));
else if (is_invalid) {
- error("cannot select %1 as escape character; using '\\'",
- tok.description());
- escape_char = '\\';
+ error("cannot select %1 as escape character; using '%2'",
+ tok.description(), char(default_escape_char));
+ escape_char = default_escape_char;
}
else
escape_char = ec;
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit