summaryrefslogtreecommitdiffstats
path: root/mdoc_markdown.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
commit0e3f0b740ea18224c3b2c07114be601dd8be97bb (patch)
treec930c6fd7e739e926a7fad1c372897af5ea601fb /mdoc_markdown.c
parent2b0b19a54638a1b40d908611acc8498a911df29c (diff)
downloadmandoc-0e3f0b740ea18224c3b2c07114be601dd8be97bb.tar.gz
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 'mdoc_markdown.c')
-rw-r--r--mdoc_markdown.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mdoc_markdown.c b/mdoc_markdown.c
index b5a856a1..07a5f907 100644
--- a/mdoc_markdown.c
+++ b/mdoc_markdown.c
@@ -589,6 +589,9 @@ md_word(const char *s)
case ESCAPE_SPECIAL:
uc = mchars_spec2cp(seq, sz);
break;
+ case ESCAPE_UNDEF:
+ uc = *seq;
+ break;
case ESCAPE_DEVICE:
md_rawword("markdown");
continue;