Up to [cvsweb.bsd.lv] / mandoc / regress / roff / return
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.2 / (download) - annotate - [select for diffs], Thu May 19 16:09:26 2022 UTC (2 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
Diff to previous 1.1 (colored)
Adjust a column number in an error message after the roff_expand() reorganization in roff.c rev. 1.388. The new parsing direction has two effects: 1. Correct output when a line contains more than one expanding escape sequence that has a side effect. 2. Column numbers in diagnostic messages now report the changed column numbers after any expansions left of them have taken place; in the past, column numbers refered to the original input line. Arguably, item 2 was a bit better in its old state, but slightly less helpful diagnostics are a small price to pay for correct output. Besides, when the expansion of user-defined strings or macros is involved, in many cases, mandoc(1) is already unable to report meaningful line and column numbers, so item 2 is not a noteworthy regression. The effort and code complication for fixing that would probably be excessive, in particular since well-written manual pages are not supposed to use such features in the first place.
Revision 1.1 / (download) - annotate - [select for diffs], Thu Aug 23 14:29:42 2018 UTC (6 years, 1 month ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6,
VERSION_1_14_5
Implement the roff(7) .shift and .return requests, for example used by groff_hdtbl(7) and groff_mom(7). Also correctly interpolate arguments during nested macro execution even after .shift and .return, implemented using a stack of argument arrays. Note that only read.c, but not roff.c can detect the end of a macro execution, and the existence of .shift implies that arguments cannot be interpolated up front, so unfortunately, this includes a partial revert of roff.c rev. 1.337, moving argument interpolation back into the function roff_res().