Follow-up Comment #11, bug #67372 (group groff): Hi Ingo,
Here's a proof-of-concept patch, fixing up only the `\A` escape sequence. $ git diff diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp index 56877ffad..cb3472792 100644 --- a/src/roff/troff/input.cpp +++ b/src/roff/troff/input.cpp @@ -1700,6 +1700,12 @@ static node *do_bracket() // \b static const char *do_name_test() // \A { + assert(escape_char != 0); + if ((input_stack::peek() == escape_char) && !want_att_compat) { + warning(WARN_DELIM, "identifier validation escape sequence" + " expected a delimiter, got an escape character"); + return 0 /* nullptr */; + } int start_level = input_stack::get_level(); token start_token; start_token.next(); $ cat ATTIC/67372a.groff .ds v did \A\*vs $ ./build/test-groff -aww ATTIC/67372a.groff troff:ATTIC/67372a.groff:2: warning: identifier validation escape sequence expected a delimiter, got an escape character <beginning of page> dids $ ./build/test-groff -Caww ATTIC/67372a.groff <beginning of page> 1s If this looks acceptable to you, I'll need to fix up the handlers for at least \b, \B, \o, \w, and \X similarly, I expect. And of course this is good fodder for a new automated test. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?67372> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature