gbranden pushed a commit to branch master
in repository groff.
commit 01eba66e5cd4cf870a9a9213d74b08de79a46dea
Author: G. Branden Robinson <[email protected]>
AuthorDate: Tue Nov 28 18:15:42 2023 -0600
[troff]: Warn when `cflags` lacks arguments.
* src/roff/troff/input.cpp (char_flags): Rename to...
(set_character_flags): ...this.
(init_input_requests): Update call site.
(set_character_flags): Declare as `static`; this function doesn't need
external visibility. Throw warning diagnositc when no character
arguments are present.
---
ChangeLog | 10 ++++++++++
src/roff/troff/input.cpp | 13 ++++++++++---
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index bf95ea4c1..0a68b9d6e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2023-11-28 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp (char_flags): Rename to...
+ (set_character_flags): ...this.
+ (init_input_requests): Update call site.
+
+ (set_character_flags): Declare as `static`; this function
+ doesn't need external visibility. Throw warning diagnositc when
+ no character arguments are present.
+
2023-11-27 G. Branden Robinson <[email protected]>
* doc/groff.texi (Miscellaneous): Clarify behavior of `mc`.
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index aa776abec..7a70722ab 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -7197,10 +7197,16 @@ void translate_input()
do_translate(1, 1);
}
-void char_flags()
+static void set_character_flags()
{
int flags;
- if (get_integer(&flags))
+ if (get_integer(&flags)) {
+ if (tok.is_newline() || tok.is_eof()) {
+ warning(WARN_MISSING, "character flags configuration request"
+ " expects one or more characters to configure");
+ skip_line();
+ return;
+ }
while (has_arg()) {
charinfo *ci = tok.get_char(true /* required */);
if (ci) {
@@ -7211,6 +7217,7 @@ void char_flags()
}
tok.next();
}
+ }
skip_line();
}
@@ -8507,7 +8514,7 @@ void init_input_requests()
init_request("cc", assign_control_character);
init_request("c2", assign_no_break_control_character);
init_request("cf", copy_file);
- init_request("cflags", char_flags);
+ init_request("cflags", set_character_flags);
init_request("char", define_character);
init_request("chop", chop_macro);
init_request("class", define_class);
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit