On 11/13/19 8:38 PM, Tim Chase wrote:

> Ah, upon closer inspection, I missed updating the year on one of them:

>   OMIT Mar 8 2021 THROUGH Mar 12 2020 MSG %"Spring Break: No school%"%

> that 2020 should have been a 2021.  So it apparently went searching
> forward for the end of the OMIT's THROUGH clause, not noticing that
> it was in the *past*, merrily filling up all the available OMIT
> buckets.

Actually, Remind is a little more sophisticated than that.  If you have:

        OMIT date1 THROUGH date2

and date1 is after date2, then Remind swaps them, turning it into:

        OMIT date2 THROUGH date1

It also figures out if there's enough room before filling the OMIT
buckets, so the OMIT date1 THROUGH date2 is atomic: Either all OMITs
succeed or none do.  The relevant code snippet from omit.c is posted
below for your amusement. :)

Regards,

Dianne.


    if (end < start) {
        tmp = start;
        start = end;
        end = tmp;
    }

    tmp = end - start + 1;

    /* Don't create any OMITs if there would be too many. */
    if (NumFullOmits + tmp >= MAX_FULL_OMITS) return E_2MANY_FULL;
_______________________________________________
Remind-fans mailing list
[email protected]
https://dianne.skoll.ca/mailman/listinfo/remind-fans
Remind is at https://dianne.skoll.ca/projects/remind/

Reply via email to