gbranden pushed a commit to branch master
in repository groff.
commit b3e0b25f085abf395a1fa7e8e139946fdf312106
Author: G. Branden Robinson <[email protected]>
AuthorDate: Mon Jul 27 20:15:15 2026 -0500
ChangeLog: Clarify Savannah #68558 defect history.
The problem dates back to commit b04d345ed2 (groff 1.06), 1992-09-01,
which originally implemented the `do` request. The request handler
disabled compatibility mode, then if it failed to read a valid
identifier for any reason (invalid syntax, or no argument present),
called `skip_line()`--meaning that the next input line would be
interpreted with compatibility mode disabled. It did _not_ undo
compatibility mode disablement and did not return early.
Here's that original 1992 implementation.
void do_request()
{
int saved_compatible_flag = compatible_flag;
compatible_flag = 0;
symbol nm = get_name();
if (nm.is_null())
skip_line();
else
interpolate_macro(nm);
compatible_flag = saved_compatible_flag;
}
Since commit 205334d6e5, 2024-09-01, an argumentless `do` request no
longer manipulates compatibility mode, and since commit ba660bda6d,
yesterday, the request no longer does so for an invalid argument either.
---
ChangeLog | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ca841bf19..a1ad836df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -67,9 +67,13 @@
we just did and return early, maintaining the integrity of
aforesaid stack.
- Fixes <https://savannah.gnu.org/bugs/?68558>. Problem appears
- to date back at least to groff 1.22.3 (2014), and possibly much
- earlier.
+ Fixes <https://savannah.gnu.org/bugs/?68558>. Problem dates
+ back to commit b04d345ed2 (groff 1.06), 1992-09-01, which
+ originally implemented the `do` request. The request handler
+ disabled compatibility mode, then if it failed to read a valid
+ identifier for any reason (invalid syntax, or no argument
+ present), called `skip_line()`--meaning that the next input
+ line would be interpreted with compatibility mode disabled.
2026-07-24 G. Branden Robinson <[email protected]>
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit