Update of bug #68260 (group groff):
Status: In Progress => Fixed
Open/Closed: Open => Closed
Planned Release: None => 1.25.0
_______________________________________________________
Follow-up Comment #1:
commit e2bef095c83691002515625adc9f7944c31ea3db
Author: G. Branden Robinson <[email protected]>
Date: Mon Apr 20 21:28:36 2026 -0500
[groff]: Regression-test Savannah #68260.
* src/roff/groff/tests/backslash-right-brace-ends-string-definition.sh:
Do it.
* src/roff/groff/groff.am (groff_TESTS): Run test.
Test fails at this commit.
commit 12c11d3bfa4b81f266125a95360a6b18c7eaf1ad
Author: G. Branden Robinson <[email protected]>
Date: Tue Apr 21 11:07:39 2026 -0500
src/roff/troff/input.cpp: Fix Savannah #68260.
* src/roff/troff/input.cpp: Handle brace escape sequences better. In
AT&T troff, a brace escape sequence not occurring in a macro
definition is discarded when read in copy mode--make GNU troff do
likewise. When occurring in a macro definition, it _is_ being read in
copy mode and must be preserved, so retain existing behavior.
Unfortunately, the datum "we are defining a macro right now" was not
consistently being passed from `do_define_macro()` to
`read_character_in_copy_mode()`, so fix that problem too. Fixing one
of these without the other produces chaos in the formatter and wrecks
a build; couple them.
(read_character_in_copy_mode): Return an `ESCAPE_{LEFT,RIGHT}_BRACE`
encoded token (character code) only if `is_defining_macro`.
(do_define_macro): Supply `true` parameter (`is_defining_macro`) in
_all_ `read_character_in_copy_mode()` calls.
Fixes <https://savannah.gnu.org/bugs/?68260>. Problems appear mostly to
date back to groff's birth: see groff 1.01,[1] "input/troff.cc", lines
741-746, 3113, and 3119. Commit 5ba4c4ddb3, 2001-11-16, added another
instance of `read_character_in_copy_mode()` (then called `get_copy()`)
being given only one argument.
[1] https://minnie.tuhs.org/cgi-bin/utree.pl?file=Net2/usr/src/usr.bin/\
groff/troff/input.cc
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?68260>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
