CVSROOT: /cvs Module name: src Changes by: schwa...@cvs.openbsd.org 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...