Hi, all,

I have a beta release of Remind 05.04.00 available at
https://dianne.skoll.ca/projects/remind/

Tar: 
https://dianne.skoll.ca/projects/remind/download/remind-05.04.00-BETA-1.tar.gz
GPG: 
https://dianne.skoll.ca/projects/remind/download/remind-05.04.00-BETA-1.tar.gz.sig
Git: https://git.skoll.ca/Skollsoft-Public/Remind

The git repo is password-protected to avoid AI scrapers; log in as
user "notabot" with password "notabot".

There are a bunch of changes, mostly made possible by the new
expression-evaluation engine introduced in 05.00.00.  Complete
release notes follow.

Please give the beta a spin; I'd like the release to be as well-tested
as possible!

Regards,

Dianne.

CHANGES TO REMIND

* VERSION 5.4 Patch 0 - 2025-??-??

- MAJOR IMPROVEMENT: remind: Track which expressions and variables
  Remind can prove to its satisfaction are "constant" - that is, that
  will always have the same value on any Remind run as long as the
  files are not edited.  This allows "Purge Mode" to purge more
  reminders than before.

  See the new remind(1) man page section "NON-CONSTANT EXPRESSIONS"

- MINOR NEW FEATURE: remind: add the "nonconst" built-in function (to
  force an expression to be interpreted as non-constant) and the
  "isconst" function to test if an expression is constant.

- MINOR NEW FEATURE: remind: Add eval() built-in function that takes a
  string argument and evaluates it as an expression.

- MINOR NEW FEATURE: remind: Add the trigbase() function and
  corresponding $Tb system variable.  See the remind(1) man page for
  details.

- MINOR IMPROVEMENT: remind: Make $Tu a synonym for triguntil().

- MINOR IMPROVEMENT: remind: If coerce() fails, issue a more detailed
  error message.

- MINOR IMPROVEMENT: remind: Using Hush mode "-h" with purge mode "-j"
  suppresses the normal purge-mode diagnostics about reminders that
  might not be purged.  Instead, only the "#!P: Expired" purge-mode
  lines are emitted.

- NEW FEATURE: remind: Add the catch() built-in function.  This lets
  you catch errors in expression evaluation.  For example:
  catch(2/0, "oops") returns "oops".  The catcherr() function returns
  the error message from the last catch() expression that failed, in
  this case "Division by zero".

- IMPROVEMENT: remind: Remind can handle dates that require UTC to
  Local conversion (and vice-versa) for years greater than 2038, even
  on systems with a 32-bit time_t.

- MINOR IMPROVEMENT: remind: Allow the argument to monnum() to be a
  string, in which case it's parsed as a month name and the
  corresponding month number returned.

- MINOR IMPROVEMENT: remind: Allow the argument to wkdaynum() to be a
  string, in which case it's parsed as a weekday name and the
  corresponding weekday number returned.

- MINOR IMPROVEMENT: remind: Make the expression parser optimize away
  "- INT_CONSTANT" and "! INT_CONSTANT".

- BUG FIX: tests: Don't use the obsolete "tail +2" syntax in test-rem.
  Fix courtesy of Dick Marinus.

Attachment: pgpfinAYInmQD.pgp
Description: OpenPGP digital signature

_______________________________________________
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