Up to [cvsweb.bsd.lv] / mandoc / regress / roff / shift
Request diff between arbitrary revisions
Default branch: MAIN
Current tag: MAIN
Revision 1.2 / (download) - annotate - [select for diffs], Sun Apr 24 13:38:48 2022 UTC (2 years, 4 months ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +6 -2 lines
Diff to previous 1.1 (colored)
If a .shift request has a negative argument, do not use a negative array index but use 0 instead of the argument, just like groff. Warn about the invalid argument. While here, fix the column number in another warning message. Segfault reported by tb@, found with afl(1).
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().