gbranden pushed a commit to branch master
in repository groff.
commit 2bd122bf56ecb688a2612fade02643c9db27feef
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Aug 17 10:48:36 2024 -0500
[troff]: Fix Savannah #64240 (warn of nr garbage).
* src/roff/troff/reg.cpp (define_register): Warn when garbage
encountered in numeric expression argument to `nr` request.
Fixes <https://savannah.gnu.org/bugs/?64240>.
---
ChangeLog | 7 +++++++
src/roff/troff/reg.cpp | 10 ++++++++--
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index b02984a32..71794ad5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2024-08-17 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/reg.cpp (define_register): Warn when garbage
+ encountered in numeric expression argument to `nr` request.
+
+ Fixes <https://savannah.gnu.org/bugs/?64240>.
+
2024-08-17 G. Branden Robinson <[email protected]>
[troff]: Trivially refactor. Rename `get_number()` to
diff --git a/src/roff/troff/reg.cpp b/src/roff/troff/reg.cpp
index 7daf30912..57f10b5a7 100644
--- a/src/roff/troff/reg.cpp
+++ b/src/roff/troff/reg.cpp
@@ -323,8 +323,14 @@ void define_register()
register_dictionary.define(nm, r);
}
r->set_value(v);
- if (tok.is_space() && has_arg() && read_measurement(&v, 'u'))
- r->set_increment(v);
+ if (tok.is_space()) {
+ if (has_arg() && read_measurement(&v, 'u'))
+ r->set_increment(v);
+ }
+ else if (has_arg() && !tok.is_tab())
+ warning(WARN_SYNTAX, "expected end of line or an auto-increment"
+ " argument in register definition request; got %1",
+ tok.description());
}
skip_line();
}
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit