gbranden pushed a commit to branch master in repository groff. commit 01eba66e5cd4cf870a9a9213d74b08de79a46dea Author: G. Branden Robinson <g.branden.robin...@gmail.com> 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 <g.branden.robin...@gmail.com> + + * 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 <g.branden.robin...@gmail.com> * 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 Groff-commit@gnu.org https://lists.gnu.org/mailman/listinfo/groff-commit