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. --- mandoc_msg.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mandoc_msg.c') diff --git a/mandoc_msg.c b/mandoc_msg.c index d2ccb91f..b49555d1 100644 --- a/mandoc_msg.c +++ b/mandoc_msg.c @@ -167,6 +167,7 @@ static const char *const type_message[MANDOCERR_MAX] = { "tab in filled text", "new sentence, new line", "invalid escape sequence", + "undefined escape, printing literally", "undefined string, using \"\"", /* related to tables */ @@ -228,6 +229,7 @@ static const char *const type_message[MANDOCERR_MAX] = { "unsupported feature", "input too large", "unsupported control character", + "unsupported escape sequence", "unsupported roff request", "nested .while loops", "end of scope with open .while loop", -- cgit v1.2.3-56-ge451