aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/mandoc_msg.c
diff options
context:
space:
mode:
authorIngo Schwarze <schwarze@openbsd.org>2018-12-15 19:30:25 +0000
committerIngo Schwarze <schwarze@openbsd.org>2018-12-15 19:30:25 +0000
commitd672f8cb82878baf3834e938c4c416f4493952cf (patch)
treea46f3c1570ef9a8cdb5d67fd75e3bb77c8e4068f /mandoc_msg.c
parentbb4f86d616ee99eb82c0875af27b9d8a216ecfdc (diff)
downloadmandoc-d672f8cb82878baf3834e938c4c416f4493952cf.tar.gz
mandoc-d672f8cb82878baf3834e938c4c416f4493952cf.tar.zst
mandoc-d672f8cb82878baf3834e938c4c416f4493952cf.zip
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.
Diffstat (limited to 'mandoc_msg.c')
-rw-r--r--mandoc_msg.c2
1 files changed, 2 insertions, 0 deletions
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",