[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 02/15: [troff]: Warn when `cflags` lacks arguments.
From: |
G. Branden Robinson |
Subject: |
[groff] 02/15: [troff]: Warn when `cflags` lacks arguments. |
Date: |
Fri, 1 Dec 2023 16:02:57 -0500 (EST) |
gbranden pushed a commit to branch master
in repository groff.
commit 01eba66e5cd4cf870a9a9213d74b08de79a46dea
Author: G. Branden Robinson <g.branden.robinson@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.robinson@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.robinson@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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 02/15: [troff]: Warn when `cflags` lacks arguments.,
G. Branden Robinson <=