On Sat, Oct 31, 2009 at 12:38 PM, David F. Skoll <[email protected]> wrote: > David wrote: > >> What I seek is similar to "backward scanning" but I want to go >> *forward* in time. >> [snip] >> >>2) why did my test succeed with -1 but fail with +1 ? > > Because of the Remind algorithm (described in the slides at > http://www.roaringpenguin.com/files/download/remind-oclug.pdf) this is > tricky. > [snip] > > REM SATISFY [day(trigdate()-30) == 17] MSG Woot!
Hi David Thank you for your reply. Thank you for providing the SATISFY solution. In appreciation, I have reflected carefully about my misunderstanding and offer some suggestions for the manpage to make this clearer. I am using REMIND 03.01.06 I overlooked the trigger algorithm explanation near the very end of the manpage. But that is not the whole story. I should have used the -dx and -dt options to see the reason my attempts failed. It is counter-intuitive that a sign change in an expression would lead to different behaviour, but proper debugging by me would have revealed why. So I suggest the following brief clues be added be added to the manpage more visibly, after the "INTERPRETATION OF DATE SPECIFICATIONS" section and before the "BACKWARD SCANNING" section. ----------begin---------- HOW REMIND DETECTS THE TRIGGER-DATE Remind starts from the current date (that is, the value of today()) and scans forward, examining each day one at a time until it finds a date that satisfies the trigger, or can prove that no such dates (on or later than today()) exist. Where trigger-dates involve expressions, use of the SATISFY clause may be required, and the -dx and -dt options may assist debugging. See the subsection "DETAILS ABOUT TRIGGER COMPUTATION" in the section "MISCELLANEOUS" for more information. ----------end---------- Also, I suggest that "THE SATISFY CLAUSE" section would improve if you were to introduce it with a general statement indicating the nature of situations where it should be used. It currently lacks that context, and just describes how it works, not why it is needed. Also, I suggest that an example similar to my case REM SATISFY [day(trigdate()-30) == 17] MSG Woot! would be a good addition to "THE SATISFY CLAUSE" section because presently there is no indication that SATISFY can be used without specifying a trigger (so that every future day is scanned). I hope these suggestions might be useful to you. Thanks again. Regards David _______________________________________________ Remind-fans mailing list [email protected] http://lists.whatexit.org/mailman/listinfo/remind-fans
