URL: <https://savannah.gnu.org/bugs/?65837>
Summary: [troff] input backspace character incorrectly documented Group: GNU roff Submitter: gbranden Submitted: Wed 05 Jun 2024 06:36:22 AM UTC Category: Core Severity: 3 - Normal Item Group: Documentation Status: In Progress Privacy: Public Assigned to: gbranden Open/Closed: Open Discussion Lock: Any Planned Release: None _______________________________________________________ Follow-up Comments: ------------------------------------------------------- Date: Wed 05 Jun 2024 06:36:22 AM UTC By: G. Branden Robinson <gbranden> Our Texinfo manual and groff(7) make a false claim. On a machine using the ISO 646, 8859, or 10646 character encodings, invalid input characters are '0x00', '0x08', '0x0B', '0x0D'-'0x1F', and '0x80'-'0x9F'. On an EBCDIC host, they are '0x00'-'0x01', '0x08', '0x09', '0x0B', '0x0D'-'0x14', '0x17'-'0x1F', and '0x30'-'0x3F'.(1) (*note Identifiers-Footnote-1::) Some of these code points are used by GNU 'troff' internally, making it non-trivial to extend the program to accept UTF-8 or other encodings that use characters from these ranges.(2) (*note Identifiers-Footnote-2::) 0x08 should not be in that list. An input backspace character is tokenized as TOKEN_BACKSPACE and is a first-class citizen. As one might expect, it produces a reverse horizontal motion of one space width. https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/input.cpp?h=1.23.0#n7375 Observe: $ printf 'Romeo is banishe\010`d' | nroff -Tascii | hd 00000000 52 6f 6d 65 6f 20 69 73 20 62 61 6e 69 73 68 65 |Romeo is banishe| 00000010 08 60 64 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |.`d.............| 00000020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a |................| * 00000050 0a 0a 0a 0a 0a |.....| 00000055 _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?65837> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/