gbranden pushed a commit to branch master
in repository groff.
commit f44c7170b6b7f6f70531b8df4067f5ecd6750a9e
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sun Nov 23 15:58:51 2025 -0600
src/roff/troff/input.cpp: Improve diagnostics.
...when user fumbles control character selections.
* src/roff/troff/input.cpp (assign_control_character)
(assign_no_break_control_character): Do it.
Before:
$ printf '.cc \\`\n.cc \\~\n.cc \\|\n' | groff
troff:<standard input>:1: error: cannot select invalid control character;
using '.'
troff:<standard input>:2: error: cannot select invalid control character;
using '.'
troff:<standard input>:3: error: cannot select invalid control character;
using '.'
$ printf '.c2 \\`\n.c2 \\~\n.c2 \\|\n' | groff
troff:<standard input>:1: error: cannot select invalid no-break control
character; using "'"
troff:<standard input>:2: error: cannot select invalid no-break control
character; using "'"
troff:<standard input>:3: error: cannot select invalid no-break control
character; using "'"
After:
$ printf '.cc \\`\n.cc \\~\n.cc \\|\n' | ./build/test-groff
troff:<standard input>:1: error: cannot select special character 'ga' as
control character; using '.'
troff:<standard input>:2: error: cannot select an escaped '~' as control
character; using '.'
troff:<standard input>:3: error: cannot select a horizontal motion as
control character; using '.'
$ printf '.c2 \\`\n.c2 \\~\n.c2 \\|\n' | ./build/test-groff
troff:<standard input>:1: error: cannot select special character 'ga' as
no-break control character; using "'"
troff:<standard input>:2: error: cannot select an escaped '~' as no-break
control character; using "'"
troff:<standard input>:3: error: cannot select a horizontal motion as
no-break control character; using "'"
---
ChangeLog | 6 ++++++
src/roff/troff/input.cpp | 7 ++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 4a730f06d..309bc9602 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2025-11-23 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp (assign_control_character)
+ (assign_no_break_control_character): Improve diagnostics when
+ user fumbles control character selections.
+
2025-11-23 G. Branden Robinson <[email protected]>
* src/roff/troff/input.cpp (assign_escape_character): Improve
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 931e4b089..223f7db55 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -278,7 +278,8 @@ 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 invalid control character; using '.'");
+ error("cannot select %1 as control character; using '.'",
+ tok.description());
assert(curenv->set_control_character('.'));
}
else
@@ -316,8 +317,8 @@ void assign_no_break_control_character()
" character, and"
: "", already_message, input_char_description(nbcc));
else if (is_invalid) {
- error("cannot select invalid no-break control character;"
- " using \"\'\"");
+ error("cannot select %1 as no-break control character;"
+ " using \"\'\"", tok.description());
assert(curenv->set_no_break_control_character('\''));
}
else
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit