diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-08-24 12:18:48 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-08-24 12:18:48 +0000 |
commit | 365ec00baacbf68996ec61890a67247e7e2c661e (patch) | |
tree | 7fdcc64ce141ad6debe079afe807e15f731c83ed | |
parent | f9ee142a678bde254843fe0f848892b81b4af004 (diff) | |
download | mandoc-365ec00baacbf68996ec61890a67247e7e2c661e.tar.gz |
Strip out the `\z' escape. This is the first recursive sequence,
getting mandoc ready to handle pod2man's complex escapes.
-rw-r--r-- | man.7 | 2 | ||||
-rw-r--r-- | mandoc.c | 7 | ||||
-rw-r--r-- | mdoc.7 | 2 | ||||
-rw-r--r-- | out.c | 11 |
4 files changed, 21 insertions, 1 deletions
@@ -936,6 +936,8 @@ The .Pq text colour , .Sq \eM .Pq text filling colour , +.Sq \ez +.Pq zero-length character , and .Sq \es .Pq text size @@ -171,6 +171,13 @@ mandoc_special(char *p) case ('['): term = ']'; break; + case ('z'): + len = 1; + if ('\\' == *p) { + p += mandoc_special(p); + return(*p ? (int)(p - sv) : 0); + } + break; default: len = 1; p--; @@ -2844,6 +2844,8 @@ The .Pq text colour , .Sq \eM .Pq text filling colour , +.Sq \ez +.Pq zero-length character , and .Sq \es .Pq text size @@ -172,6 +172,7 @@ a2roffdeco(enum roffdeco *d, const char **word, size_t *sz) int i, j, lim; char term, c; const char *wp; + enum roffdeco dd; *d = DECO_NONE; lim = i = 0; @@ -275,7 +276,7 @@ a2roffdeco(enum roffdeco *d, const char **word, size_t *sz) return(i); i++; } - + break; case ('['): *d = DECO_SPECIAL; @@ -284,6 +285,14 @@ a2roffdeco(enum roffdeco *d, const char **word, size_t *sz) case ('c'): *d = DECO_NOSPACE; return(i); + case ('z'): + *d = DECO_NONE; + if ('\\' == wp[i]) { + *word = &wp[++i]; + return(i + a2roffdeco(&dd, word, sz)); + } else + lim = 1; + break; default: *d = DECO_SSPECIAL; i--; |