[Remind-Fans] Remind 03.04.02-BETA-1 is available for testing

Dianne Skoll dianne at skoll.ca
Fri Mar 11 21:58:53 EST 2022


Hi,

Remind 03.04.02-BETA-1 is available for testing at
https://dianne.skoll.ca/projects/remind/

Tar: https://dianne.skoll.ca/projects/remind/download/remind-03.04.02-BETA-1.tar.gz
GPG: https://dianne.skoll.ca/projects/remind/download/remind-03.04.02-BETA-1.tar.gz.sig

This beta has a ton of improvements; complete release notes follow.
I've also excerpted the section from the man page describing the new
syntactic sugar additions.

Please test and report any bugs!

Regards,

Dianne.

CHANGES TO REMIND

* VERSION 3.4 Patch 2 - 2022-??-??

- NEW FEATURE: remind: Add syntactic sugar to simplify some common
  types of reminders.  See "SYNTACTIC SUGAR FOR REM" in the remind
  man page.  Based on suggestions from Ian! D. Allen.

- NEW FEATURE: remind: Add the "trig" function to allow more
  expressiveness when creating triggers.  See man page for details.

- IMPROVEMENT: tkremind: Tweak the calendar display; improve ability to
  customize colors, including supplying two built-in themes.  Based on
  patch and suggestion from Paulo (last name unknown).

- CHANGE: remind: Increase $MaxSatIter default to 1000 instead of 150.
  Computers are much faster than when I first wrote remind and they
  can handle this higher limit easily.  The higher limit also enables
  certain reasonable reminders that failed in the past because of the
  low SATISFY iteration limit.

- CHANGE: remind: The "||" operator now returns the value of the first
  non-zero operand rather than just returning 1 or 0.  Similarly, "&&"
  returns 0 if either operand is false or the value of the last
  operand if both operands are true.

     NOTE POTENTIAL INCOMPATIBILITY: Remind scripts that depend on ||
     and && always returning exactly one of 1 or 0 may need
     adjustment.

- CHANGE: The || and && operators can accept any non-STRING type as long
  as both operands have the same type.  The "false" values are defined
  as follows; true values are any other value:

     INT:      0
     TIME:     00:00
     DATE:     '1990-01-01'             (the Remind epoch)
     DATETIME: '1990-01-01 at 00:00'       (the Remind epoch)

- IMPROVEMENT: remind: Issue diagnostics if an UNTIL or THROUGH date
  is earlier than any possible trigger date, as well as an UNTIL date
  with a fully-specified date and no repeat ("*N").  Suggestion from
  Ian! D. Allen.

- BUG FIX: tkremind: If the same moon phase appeared twice in a month,
  TkRemind would not display the first occurrence correctly.  This has
  been fixed.

- BUG FIX: remind: The IF command documentation didn't reflect how it
  actually worked; now it does.

- BUG FIX: remind: Use correct UNTIL/THROUGH keyword in error message.

- BUG FIX: rem2pdf: Correct the calculation that warns about an over-full
  calendar box.  Problem noted by Jonathan Kamens.

              ===== MAN PAGE EXCERPT FOR NEW SYNTACTIC SUGAR =====

SYNTACTIC SUGAR FOR REM
       The REM command has syntactic sugar  to  let  you  express  common
       reminders.  The following pairs of reminders are equivalent:

           REM First Monday April MSG Foo
           REM Mon 1 April        MSG Foo

           REM Second Monday May  MSG Bar
           REM Mon 8 May          MSG Bar

           REM Third Monday MSG Third Monday of every month
           REM Mon 15 MSG Third Monday of every month

           REM Fourth Sunday June 2025 MSG Fourth Sunday in June 2025
           REM Sun 22 June 2025 MSG Fourth Sunday in June 2025

           REM Last Monday MSG Last Monday of every month
           REM Mon 1 --7 MSG Last Monday of every month

           REM Last Monday April MSG Last Monday of every April
           REM Mon 1 May --7 MSG  Last Monday of every April

           REM Last Monday December 2025 MSG Last Monday of Dec 2025
           REM Monday 1 Jan 2026 --7 MSG Last Monday of Dec 2025

       Note that Last effectively adjusts the month and year, if necessary, to
       make the reminder trigger on the correct date.

       The keyword IN is completely ignored, so you can write (for example):

           REM Second Monday in May MSG foo
           REM Last Monday in December 2025 MSG Bar

       An alternate form of back makes writing reminders easier.  The
       following groups of reminders are equivalent:

           REM ~~1 MSG Last day of every month
           REM Lastday MSG  Last day of every month
           REM 1 --1 MSG Last day of every month

           REM May ~~1 MSG Last day of May
           REM Lastday May MSG Last day of May
           REM 1 June --1 MSG Last day of May

           REM Dec 2025 ~~1 MSG Last day of December 2025
           REM Lastday Dec 2025 MSG Last day of December 2025
           REM 1 Jan 2026 --1 MSG Last day of December 2025

           REM Apr ~1 OMIT SAT SUN MSG Last workday of April
           REM Lastworkday April OMIT SAT SUN MSG Last workday of April
           REM 1 May -1 OMIT SAT SUN MSG Last workday of April

           REM Apr ~~7 MSG Seventh-last day of April
           REM 1 May --7 MSG Seventh-last day of April

           REM Apr ~2 OMIT SAT SUN MSG Second-last workday of April
           REM 1 May -2 OMIT SAT SUN MSG Second-last workday of April

       As we see, "Lastday" is equivalent to ~~1 and "Lastworkday" to ~1.

       Note  that the First/Second/Third/Fourth/Last keywords and the ~ and ~~
       form of back imply a value for the day of the month; as such, they
       cannot be combined with a day.  Additionally, First/Second/
       Third/Fourth/Last must have at least one weekday name.  The
       following are illegal:

           REM First Monday 3 June MSG Huh?
           REM April 3 ~~1 MSG What?
           REM Second June MSG Where's the weekday???
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://dianne.skoll.ca/pipermail/remind-fans/attachments/20220311/aaf19d45/attachment.sig>


More information about the Remind-fans mailing list