Very tricky diff to fix macro interpretation and spacing around tabs
authorschwarze <schwarze@openbsd.org>
Sat, 17 Oct 2015 00:19:58 +0000 (00:19 +0000)
committerschwarze <schwarze@openbsd.org>
Sat, 17 Oct 2015 00:19:58 +0000 (00:19 +0000)
commit407d12bbb4d2c9a9763a78f95c7e141779859db3
tree03fb1a1502a5109d8c5bb852ed6ca7418e9a3ef7
parentf369c40461be915f2813b12bc5f1eed502d816a1
Very tricky diff to fix macro interpretation and spacing around tabs
in .Bl -column; it took me more than a day to get this right.
Triggered by a loosely related bug report from tim@.

The lesson for you is:  Use .Ta macros in .Bl -column, avoid tabs,
or you are in for surprises:  The last word before a tab is not
interpreted as a macro (unless there is a blank in between), the
first word after a tab isn't either (unless there is a blank in
between), and a blank after a tab causes a leading blank in the
respective output cell.  Yes, "blank", "tab", "blank tab" and "tab
blank" all have different semantics; if you write code relying on
that, good luck maintaining it afterwards...
regress/usr.bin/mandoc/mdoc/Bl/column.in
regress/usr.bin/mandoc/mdoc/Bl/column.out_ascii
regress/usr.bin/mandoc/mdoc/Bl/column.out_lint
usr.bin/mandoc/libmdoc.h
usr.bin/mandoc/mdoc_argv.c
usr.bin/mandoc/mdoc_macro.c
usr.bin/mandoc/roff.h