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 | 3734245a5a164c1ba48ac02cb3131143431b996b (patch) | |
tree | 6586c23c6f21da438aab9837f48deacc6e640c55 | |
parent | 8f9f46b6458dea1bcb7ba265c47247d2858f6351 (diff) | |
download | mandoc-3734245a5a164c1ba48ac02cb3131143431b996b.tar.gz mandoc-3734245a5a164c1ba48ac02cb3131143431b996b.tar.zst mandoc-3734245a5a164c1ba48ac02cb3131143431b996b.zip |
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 | 6 | ||||
-rw-r--r-- | mandoc.c | 9 | ||||
-rw-r--r-- | mdoc.7 | 6 | ||||
-rw-r--r-- | out.c | 13 |
4 files changed, 27 insertions, 7 deletions
@@ -1,4 +1,4 @@ -.\" $Id: man.7,v 1.82 2010/08/22 14:54:29 kristaps Exp $ +.\" $Id: man.7,v 1.83 2010/08/24 12:18:48 kristaps Exp $ .\" .\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: August 22 2010 $ +.Dd $Mdocdate: August 24 2010 $ .Dt MAN 7 .Os .Sh NAME @@ -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 @@ -1,4 +1,4 @@ -/* $Id: mandoc.c,v 1.29 2010/08/20 01:02:07 schwarze Exp $ */ +/* $Id: mandoc.c,v 1.30 2010/08/24 12:18:48 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -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--; @@ -1,4 +1,4 @@ -.\" $Id: mdoc.7,v 1.151 2010/08/22 15:49:28 kristaps Exp $ +.\" $Id: mdoc.7,v 1.152 2010/08/24 12:18:49 kristaps Exp $ .\" .\" Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> .\" Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org> @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: August 22 2010 $ +.Dd $Mdocdate: August 24 2010 $ .Dt MDOC 7 .Os .Sh NAME @@ -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 @@ -1,4 +1,4 @@ -/* $Id: out.c,v 1.24 2010/08/16 09:37:58 kristaps Exp $ */ +/* $Id: out.c,v 1.25 2010/08/24 12:18:49 kristaps Exp $ */ /* * Copyright (c) 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -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--; |