[Remind-Fans] Can't compute trigger after update

Dianne Skoll dianne at skoll.ca
Wed Aug 18 08:42:02 EDT 2021


On Wed, 18 Aug 2021 11:39:15 +0200
Wolfgang Kroener via Remind-fans <remind-fans at lists.skoll.ca> wrote:

> I upgraded remind from 03.01.16 to 03.03.01 (Debian buster ->
> bullseye).

> Function names with fset have to be shorter, but that was easy.

Really?  I don't remember making that change.  I thought I *increased*
the maximum allowable function names from 16 to 64 characters.


> Unfortunately one of my entries is not working anymore:

> --test.rem--
> rem sun 8 aug scanfrom [trigger(today()-7)] satisfy 1
> set ks day(trigdate())
> rem 12 aug satisfy \
>   [ \
>     (ks-day(trigdate()) <= 2 && ks-day(trigdate()) >= 0) || \
>     (day(trigdate())-ks <= 1 && day(trigdate())-ks >= 0) \
>   ] \
>   msg Aug 12th between Friday and Monday around second Sunday of
> August an a [wkday(trigdate())] --/test.rem--

If you run it with -dtx flags, you'll see what's happening.  I
ran it with:

    remind -dtx test.rem 12 Aug 2021

The second Sunday of August 2021 is on the 8th
and there simply isn't an August 12th that satisfies
your expression.  In fact, in your SATISFY expression,
day(trigdate()) will always evaluate to the constant 12,
so it boils down to:

REM 12 aug satifsy [(ks-12 <= 2 && ks-12 >= 0) || (12-ks <=1 && 12-ks >= 0)] ...

Here, ks is 8, so the expression will never be satisfied.

If you make one reminder depend on another, you can get this behavior.
If you don't care, then as of Remind 3.3.2, you can do:

REM MAYBE-UNCOMPUTABLE 12 aug satisfy...

to get Remind to be silent if it can't compute a trigger date.  A much,
much better way is to simplify your reminder down to just one REM
statement, like this:

REM Fri Sat Sun Mon Aug SATISFY [day(trigdate()) == 12] MSG Whatever

Regards,

Dianne.


More information about the Remind-fans mailing list