Follow-up Comment #33, bug #63074 (group groff): This more or less does it for `\X` escape sequences, without (as far as I can tell [and we _do_ have 200+ automated tests]) regressing anything.
But there's much more ground to cover. See my discussion with Deri in bug #64484. commit c8332c5c1acdd16072672f2fa401cd77805e7264 Author: G. Branden Robinson <g.branden.robin...@gmail.com> Date: Sun Aug 25 18:56:54 2024 -0500 [troff]: Begin fixing Savannah #63074. Support construction of arbitrary byte sequences in device control commands. * src/roff/troff/input.cpp (encode_special_character_for_device_output): Enhance. When constructing the content of a device control escape sequence (and, in the future, that of a `device` request), try harder to convert special characters into something meaningful. Is a special character identifier looks like something other than an attempt at a Unicode special character escape sequence already, try to convert it into one. Otherwise, write any valid Unicode special character identifier (in groff notation: `\[u123ABC]`) to the macro being assembled (and thence the `special` node, and ultimately the `x X` command this node type produces). * src/roff/groff/tests/device-control-special-character-handling.sh: Update test expectations. "\[u1F6C3]" is now correctly passed through, and "\[`a]" correctly coverted to "\[u00E0]". Shorten test cases a little. And of course NOW I see a typo. Sigh. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?63074> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/
signature.asc
Description: PGP signature