8e31734e

Author: Tom Sydney Kerckhove <syd@cs-syd.eu>

Committer: Tom Sydney Kerckhove <NorfairKing@users.noreply.github.com>

ical-recurrence: keep DTSTART and the limit out of the yearly BySetPos set

@
BYSETPOS operates on
a set of recurrence instances in one interval of the recurrence
rule. [...] A set of recurrence instances starts at the beginning of the
interval defined by the FREQ rule part.
@

@
the BYxxx rule parts
are applied to the current set of evaluated occurrences in the
following order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY,
BYHOUR, BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are
evaluated.
@

The set is the whole year, starting at the beginning of the year, and
BYSETPOS runs before the recurrence is bounded at all.  So neither
DTSTART nor our limit may narrow the list that filterSetPos numbers.

Move both guards out of that list.  The years are already bounded by
yearlyYearRecurrence and a year holds finitely many candidates, so
dropping the early limit check does not make anything unbounded.
coverage-reportforwardCompatibilitynixpkgs-25_11pre-commitconfiguredevShelldefaultx86_64-linux