From d672f8cb82878baf3834e938c4c416f4493952cf Mon Sep 17 00:00:00 2001 From: Ingo Schwarze Date: Sat, 15 Dec 2018 19:30:25 +0000 Subject: Several improvements to escape sequence handling. * Add the missing special character \_ (underscore). * Partial implementations of \a (leader character) and \E (uninterpreted escape character). * Parse and ignore \r (reverse line feed). * Add a WARNING message about undefined escape sequences. * Add an UNSUPP message about unsupported escape sequences. * Mark \! and \? (transparent throughput) and \O (suppress output) as unsupported. * Treat the various variants of zero-width spaces as one-byte escape sequences rather than as special characters, to avoid defining bogus forms with square brackets. * For special characters with one-byte names, do not define bogus forms with square brackets, except for \[-], which is valid. * In the form with square brackets, undefined special characters do not fall back to printing the name verbatim, not even for one-byte names. * Starting a special character name with a blank is an error. * Undefined escape sequences never abort formatting of the input string, not even in HTML output mode. * Document the newly handled escapes, and a few that were missing. * Regression tests for most of the above. --- regress/roff/esc/unsupp.out_lint | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 regress/roff/esc/unsupp.out_lint (limited to 'regress/roff/esc/unsupp.out_lint') diff --git a/regress/roff/esc/unsupp.out_lint b/regress/roff/esc/unsupp.out_lint new file mode 100644 index 00000000..d3cc4bf1 --- /dev/null +++ b/regress/roff/esc/unsupp.out_lint @@ -0,0 +1,5 @@ +mandoc: unsupp.in:7:23: WARNING: invalid escape sequence: \[!] +mandoc: unsupp.in:7:20: UNSUPP: unsupported escape sequence: \! +mandoc: unsupp.in:8:24: WARNING: invalid escape sequence: \[?] +mandoc: unsupp.in:8:21: UNSUPP: unsupported escape sequence: \? +mandoc: unsupp.in:8:17: UNSUPP: unsupported escape sequence: \? -- cgit v1.2.3-56-ge451