diff options
author | Ingo Schwarze <schwarze@openbsd.org> | 2010-08-21 14:04:13 +0000 |
---|---|---|
committer | Ingo Schwarze <schwarze@openbsd.org> | 2010-08-21 14:04:13 +0000 |
commit | f1232e5b3159f0031b602a57396737bd1f75b35f (patch) | |
tree | a783680da11f6c74aad93547789c7169c5ae396b /mdoc_term.c | |
parent | bd1f33663109650ff780168b923581e7d15e30a8 (diff) | |
download | mandoc-f1232e5b3159f0031b602a57396737bd1f75b35f.tar.gz mandoc-f1232e5b3159f0031b602a57396737bd1f75b35f.tar.zst mandoc-f1232e5b3159f0031b602a57396737bd1f75b35f.zip |
Backout previous.
As Kristaps found out, i was wrong: .Bl -column phrases do not ignore
spacing rules for trailing punctuation in general. In particular,
- the rightmost column of a column list is unaffected
- columns terminated by the .Ta macro instead of a tab are unaffected
- columns ending in a blank are unaffected
Spacing rules for trailing punctuation are only ignored when the tab
follows the punctuation immediately, without a blank in between,
because then the combination of punctuation and tab is treated by roff
as a word, and the punctuation is not recognized as isolated.
The reason this doesn't work in mandoc is that in the special case
of .Bl -column (not in general!), mandoc treats tabs as word delimiters.
We either need to solve this differently, or call it a bug in roff.
Diffstat (limited to 'mdoc_term.c')
-rw-r--r-- | mdoc_term.c | 15 |
1 files changed, 1 insertions, 14 deletions
diff --git a/mdoc_term.c b/mdoc_term.c index 1750b7df..ba16bbc2 100644 --- a/mdoc_term.c +++ b/mdoc_term.c @@ -1,4 +1,4 @@ -/* $Id: mdoc_term.c,v 1.182 2010/08/20 22:51:29 schwarze Exp $ */ +/* $Id: mdoc_term.c,v 1.183 2010/08/21 14:04:13 schwarze Exp $ */ /* * Copyright (c) 2008, 2009, 2010 Kristaps Dzonsons <kristaps@bsd.lv> * Copyright (c) 2010 Ingo Schwarze <schwarze@openbsd.org> @@ -842,8 +842,6 @@ termp_it_pre(DECL_ARGS) if (MDOC_BODY == n->prev->type) p->flags |= TERMP_NOLPAD; - p->flags |= TERMP_IGNDELIM; - break; case (LIST_diag): if (MDOC_HEAD == n->type) @@ -1002,13 +1000,6 @@ termp_it_post(DECL_ARGS) p->flags &= ~TERMP_TWOSPACE; p->flags &= ~TERMP_NOLPAD; p->flags &= ~TERMP_HANG; - - /* - * TERMP_IGNDELIM is also set by `Pf', but it is safe - * to clear it here because `Pf' cannot contain `It'. - */ - - p->flags &= ~TERMP_IGNDELIM; } @@ -1813,10 +1804,6 @@ static void termp_pf_post(DECL_ARGS) { - /* - * XXX Resetting TERMP_IGNDELIM here is not safe - * because `Pf' can be used inside `Bl -column'. - */ p->flags &= ~TERMP_IGNDELIM; p->flags |= TERMP_NOSPACE; } |