CVS log for mandoc/regress/eqn/define/infinite.out_lint

[BACK] Up to [cvsweb.bsd.lv] / mandoc / regress / eqn / define

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.7 / (download) - annotate - [select for diffs], Wed Apr 13 20:26:20 2022 UTC (3 years, 3 months ago) by schwarze
Branch: MAIN
CVS Tags: HEAD
Changes since 1.6: +1 -0 lines
Diff to previous 1.6 (unified)

To prevent infinite recursion while expanding eqn(7) definitions,
we must not reset the recursion counter when moving beyond the end
of the *previous* expansion, but we may only do so when moving
beyond the rightmost position reached by *any* expansion in the
current equation.  This matters because definitions can nest;
consider:

.EQ
define inner "content"
define outer "inner outer"
outer
.EN

This endless loop was found by tb@ using afl(1).

Incidentally, GNU eqn(1) also performs an infinite loop in this
situation and then crashes when memory runs out, but that's not an
excuse for nasty behaviour of mandoc(1).

While here, consistently print the expanded content even when the
expansion is finally truncated.  While that is not likely to help
end-users, it may help authors of eqn(7) code to understand what's
going on.  Besides, it sends a very clear signal that something is
amiss, which was easy to miss in the past unless people
enabled -W error or used -T lint.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Jul 4 15:24:45 2017 UTC (8 years ago) by schwarze
Branch: MAIN
CVS Tags: VERSION_1_14_6, VERSION_1_14_5, VERSION_1_14_4, VERSION_1_14_3, VERSION_1_14_2
Changes since 1.5: +4 -7 lines
Diff to previous 1.5 (unified)

Messages of the -Wbase level now print STYLE:.  Since this
causes horrible churn anyway, profit of the opportunity to stop
excessive testing, such that this is hopefully the last instance
of such churn.  Consistently use OpenBSD RCS tags, blank .Os,
blank fourth .TH argument, and Mdocdate like everywhere else.
Use -Ios=OpenBSD for platform-independent predictable output.

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jun 25 12:51:50 2017 UTC (8 years ago) by schwarze
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4 (unified)

cope with changes in BASE messages

Revision 1.4 / (download) - annotate - [select for diffs], Sat Jun 17 22:43:20 2017 UTC (8 years ago) by schwarze
Branch: MAIN
Changes since 1.3: +1 -0 lines
Diff to previous 1.3 (unified)

style message about missing RCS ids; inspired by mdoclint

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jun 11 19:37:05 2017 UTC (8 years, 1 month ago) by schwarze
Branch: MAIN
Changes since 1.2: +1 -0 lines
Diff to previous 1.2 (unified)

Style message about legacy man(7) date format in mdoc(7) documents
and operating system dependent messages about missing or unexpected
Mdocdate; inspired by mdoclint(1).

Revision 1.2 / (download) - annotate - [select for diffs], Thu May 4 17:48:31 2017 UTC (8 years, 2 months ago) by schwarze
Branch: MAIN
Changes since 1.1: +4 -4 lines
Diff to previous 1.1 (unified)

Parser reorg:
Generate the first node on the roff level: .br
Fix some column numbers in diagnostic messages while here.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Mar 11 16:04:18 2017 UTC (8 years, 4 months ago) by schwarze
Branch: MAIN

test infinite recursion in eqn(7) "define" statements

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb