From 9b98e65e010041d65ebbf8bfe2274887debcbcfe Mon Sep 17 00:00:00 2001 From: Dianne Skoll Date: Tue, 1 Jul 2025 16:49:06 -0400 Subject: [PATCH] Don't set trigvalid() for a reminder whose SATISFY clause is never satisfied. --- man/remind.1.in | 11 ++++++----- src/dorem.c | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/man/remind.1.in b/man/remind.1.in index ba412cf8..f37a7c91 100644 --- a/man/remind.1.in +++ b/man/remind.1.in @@ -6773,12 +6773,13 @@ date of the scanning\fR that satisfies the trigger. In addition, there is one special case in which \fBtrigvalid()\fR returns 1 and \fBtrigdate()\fR returns a meaningful result: .PP -If the \fBREM\fR or \fBIFTRIG\fR command did not contain an \fBUNTIL\fR -clause, and contained all of the \fIday\fR, \fImonth\fR and \fIyear\fR -components, then \fBRemind\fR will correctly compute a trigger date, even -if it happens to be before the start of scanning. -Note that this behaviour is not true for +If the \fBREM\fR or \fBIFTRIG\fR command did not contain an +\fBUNTIL\fR or \fBSATISFY\fR clause, and contained all of the +\fIday\fR, \fImonth\fR and \fIyear\fR components, then \fBRemind\fR +will correctly compute a trigger date, even if it happens to be before +the start of scanning. Note that this behaviour is not true for versions of \fBRemind\fR prior to 03.00.01. + .SH FILES .PP The traditional location of your reminders file or directory is: diff --git a/src/dorem.c b/src/dorem.c index be43e284..93c7301e 100644 --- a/src/dorem.c +++ b/src/dorem.c @@ -1554,6 +1554,8 @@ int DoSatRemind(Trigger *trig, TimeTrig *tt, ParsePtr p) } if (dse == -1) { free_expr_tree(sat_node); + LastTrigValid = 0; + LastTriggerDate = -1; return E_EXPIRED; } r = evaluate_expression(sat_node, NULL, &v, &nonconst);