diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-01 11:47:28 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-01 11:47:28 +0000 |
commit | 6a326e77cc468375313c05cf8a009161f948d63f (patch) | |
tree | 0f4d87e6df20142cf74216135af57ee401db1133 /roff.c | |
parent | 3ad34d6afa6592e12f7e699004c65131586f0630 (diff) | |
download | mandoc-6a326e77cc468375313c05cf8a009161f948d63f.tar.gz |
Fixed condition of `\}' closing a conditional at the start of the line.
Fixed flushed-out condition of \} causing subsequent arguments to be
truncated, when in fact the whole line should be passed through (if the
conditional succeeds) to the front-end and the \} ignored there.
Added regression test of this behaviour.
Diffstat (limited to 'roff.c')
-rw-r--r-- | roff.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -666,10 +666,8 @@ roff_cond_text(ROFF_ARGS) return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); } - if (ep > st && '\\' != *(ep - 1)) { - ep = '\0'; + if (ep == st || (ep > st && '\\' != *(ep - 1))) roffnode_pop(r); - } roffnode_cleanscope(r); return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); |