CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2015/10/16 18:19:58
Modified files:
usr.bin/mandoc : libmdoc.h mdoc_argv.c mdoc_macro.c roff.h
regress/usr.bin/mandoc/mdoc/Bl: column.in column.out_ascii
column.out_lint
Log message:
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...