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/ignore.out_lint | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'regress/roff/esc/ignore.out_lint') diff --git a/regress/roff/esc/ignore.out_lint b/regress/roff/esc/ignore.out_lint index 95eba933..0f33c929 100644 --- a/regress/roff/esc/ignore.out_lint +++ b/regress/roff/esc/ignore.out_lint @@ -1 +1,4 @@ -mandoc: ignore.in:15:60: WARNING: invalid escape sequence: \s- +mandoc: ignore.in:7:26: WARNING: invalid escape sequence: \[)] +mandoc: ignore.in:8:12: WARNING: invalid escape sequence: \[,] +mandoc: ignore.in:9:12: WARNING: invalid escape sequence: \[/] +mandoc: ignore.in:13:60: WARNING: invalid escape sequence: \s- -- cgit v1.2.3-56-ge451