diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-22 19:23:48 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2009-02-22 19:23:48 +0000 |
commit | c9f801d9804d2a25f795302e5db93880df4f4d87 (patch) | |
tree | 7b147f5444b71e4c9386eeac77ed155e23156314 /macro.c | |
parent | f25db392c434984141c67fb983517a0dd28c4fe1 (diff) | |
download | mandoc-c9f801d9804d2a25f795302e5db93880df4f4d87.tar.gz |
Fixed `.Pf' handling.
System now supports all mdocml manual pages.
Diffstat (limited to 'macro.c')
-rw-r--r-- | macro.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1086,7 +1086,8 @@ macro_constant_scoped(MACRO_PROT_ARGS) int macro_constant_delimited(MACRO_PROT_ARGS) { - int lastarg, flushed, j, c, maxargs, argc; + int lastarg, flushed, j, c, maxargs, argc, + igndelim; struct mdoc_arg argv[MDOC_LINEARG_MAX]; char *p; @@ -1098,8 +1099,6 @@ macro_constant_delimited(MACRO_PROT_ARGS) /* FALLTHROUGH */ case (MDOC_Ns): /* FALLTHROUGH */ - case (MDOC_Pf): - /* FALLTHROUGH */ case (MDOC_Ux): /* FALLTHROUGH */ case (MDOC_St): @@ -1110,6 +1109,15 @@ macro_constant_delimited(MACRO_PROT_ARGS) break; } + switch (tok) { + case (MDOC_Pf): + igndelim = 1; + break; + default: + igndelim = 0; + break; + } + for (argc = 0; argc < MDOC_LINEARG_MAX; argc++) { lastarg = *pos; c = mdoc_argv(mdoc, line, tok, &argv[argc], pos, buf); @@ -1167,7 +1175,7 @@ macro_constant_delimited(MACRO_PROT_ARGS) break; } - if ( ! flushed && mdoc_isdelim(p)) { + if ( ! flushed && mdoc_isdelim(p) && ! igndelim) { if ( ! rewind_elem(mdoc, tok)) return(0); flushed = 1; |