Dianne Skoll
f808a2963d
When using -dt, print the trigger date for a fully-specified but expired trigger.
2025-07-09 12:11:38 -04:00
Dianne Skoll
6fed350e1f
Give better error messages thant "Type mismatch" for bad month or weekday names.
2025-07-05 09:52:30 -04:00
Dianne Skoll
02ade6fc58
Add tests.
2025-07-02 11:42:03 -04:00
Dianne Skoll
8356dacf2a
Allow first argument of daysinmon to be a string.
2025-07-02 11:20:15 -04:00
Dianne Skoll
4fd145cf4e
Allow daysinmon() to take a single DATE or DATETIME argument.
2025-07-02 10:14:48 -04:00
Dianne Skoll
1af2bdf8f1
Add test to ensure "unsatisfied" SATISFY clears trigvalid()
2025-07-01 16:51:16 -04:00
Dianne Skoll
0f83b98698
Fix bug that didn't save trigger date for a fully-specified REM in the past.
2025-06-30 19:23:45 -04:00
Dianne Skoll
21d28ebfc3
Bump version to 05.04.01.
2025-06-15 09:29:36 -04:00
Dianne Skoll
37e09f4671
Fix bug in processing UNTIL clause.
...
Bug found by Ian! D. Allen.
2025-06-15 09:15:48 -04:00
Dianne Skoll
d4aa73747d
Add some comments.
2025-06-07 22:45:02 -04:00
Dianne Skoll
3ed657b708
Add a couple more SPECIALs to test.
2025-06-07 22:40:55 -04:00
Dianne Skoll
71d2da19a8
Introduce "FSET - f(args) expr" syntax to define a function and suppress any "redefined function" warnings.
2025-05-28 14:40:46 -04:00
Dianne Skoll
9d42879170
Make "value" constant iff variable exists and is constant.
...
Otherwise, it's non-constant.
2025-05-26 22:22:49 -04:00
Dianne Skoll
44b50fc6be
Make "value()" evaluate its second argument lazily.
...
If the variable whose name is the first argument exists, don't
bother evaluating the second argument.
2025-05-26 21:56:04 -04:00
Dianne Skoll
136122b1db
Fix a couple of minor problems found by "remind -du"
2025-05-25 14:54:49 -04:00
Dianne Skoll
9390b4335b
Make another string translatable.
2025-05-24 23:35:16 -04:00
Dianne Skoll
51a65841cd
Warn if a variable is UNSET without having been used (if -du is in effect)
2025-05-24 23:13:39 -04:00
Dianne Skoll
5035deaff1
Tweak warning wording; add tests.
2025-05-24 23:09:57 -04:00
Dianne Skoll
09caa8988a
Add warning if we SET a variable that has already been set, but not used (if -du debug flag is set)
2025-05-24 23:06:50 -04:00
Dianne Skoll
9624b1045c
Track filename and line number where variables are defined.
2025-05-24 22:58:28 -04:00
Dianne Skoll
f852f7e7e5
Refactor conversion of "-" to "-stdin-"
2025-05-24 22:55:02 -04:00
Dianne Skoll
c5bc459dd9
Add "-du" debugging flag to print a list of variables that were set but never used.
2025-05-23 16:55:10 -04:00
Dianne Skoll
edf26eaa14
Add more "const" debugging messages.
2025-05-23 13:38:38 -04:00
Dianne Skoll
7e5dc26ee5
*PROPERLY* disable RUN in eval. :)
2025-05-23 12:03:09 -04:00
Dianne Skoll
4c2b6031cd
Disable shell() inside an eval("...") for safety.
...
Based on email from Tim Chase.
2025-05-23 11:48:06 -04:00
Dianne Skoll
0ec43d570c
Add "const" function, which is the inverse of "nonconst"
2025-05-23 08:47:12 -04:00
Dianne Skoll
0c93e045bd
Bump version to 05.04.00.
2025-05-22 21:40:38 -04:00
Dianne Skoll
f0f0cec2d3
Add $Tu == triguntil() system variable.
2025-05-22 18:00:24 -04:00
Dianne Skoll
70a97a8fe5
Add trigbase() built-in function.
2025-05-22 17:44:42 -04:00
Dianne Skoll
8a6857b787
Add test to ensure recursive eval() yields error rather than segfault.
2025-05-22 15:00:46 -04:00
Dianne Skoll
3118f8d2a4
Add "eval()" built-in function.
2025-05-22 13:52:07 -04:00
Dianne Skoll
cf2114e2ef
Update tests.
2025-05-22 10:04:32 -04:00
Dianne Skoll
b33a3191f5
Better nonconst diagnostic messages.
2025-05-22 09:38:06 -04:00
Dianne Skoll
caa900d38d
Fix tests.
2025-05-22 09:35:52 -04:00
Dianne Skoll
1d3c1f006f
Take care of some corner-cases of non-const tracking.
2025-05-22 09:35:18 -04:00
Dianne Skoll
af5854d0c6
Improve diagnostic message.
2025-05-21 12:27:08 -04:00
Dianne Skoll
43d0066780
Add test for additional non-constant debugging message.
2025-05-21 12:24:44 -04:00
Dianne Skoll
de2d15009f
Document all the non-constant tracking machinery.
2025-05-21 12:23:08 -04:00
Dianne Skoll
8ca5c7e56e
Add test for "hush mode" in conjunction with "purge mode"
2025-05-21 11:21:24 -04:00
Dianne Skoll
5d822e294d
Make "Hush Mode" suppress all purge-mode diagnostics.
...
We only get the "#!P: Expired" lines in that case.
2025-05-21 11:15:56 -04:00
Dianne Skoll
1e3657b728
Overhaul how IF/ELSE work so we can track "constant-ness" of variables.
...
We now keep track of whether a variable holds a "constant" value
(ie, a value that will stay the same on successive Remind runs)
so Purge Mode can be more accurate.
2025-05-20 22:11:39 -04:00
Dianne Skoll
31c8893a2a
Add tests for non-const-expression debugging output.
2025-05-20 12:03:53 -04:00
Dianne Skoll
098cf4707a
Do not use obsolete "tail +2" syntax. Instead use "tail -n+2"
...
Fix courtesy of Dick Marinus.
2025-05-17 10:59:28 -04:00
Dianne Skoll
1be6ff23fb
Optimmize away ! INT_CONSTANT.
2025-05-16 10:48:02 -04:00
Dianne Skoll
4db201945c
Optimize "- INT_CONSTANT" to be simply -INT_CONSTANT rather than (- INT_CONSTANT)
2025-05-16 08:30:44 -04:00
Dianne Skoll
6aa217044b
Implement wkdaynum("dayname")
2025-05-14 18:30:47 -04:00
Dianne Skoll
c64d939237
Allow argument to monnum to be a string, in which case it's parsed as a month name.
2025-05-14 09:57:16 -04:00
Dianne Skoll
3fb1db0880
Add catcherr() built-in function.
2025-05-10 09:33:24 -04:00
Dianne Skoll
a35de17b00
Add the "catch()" built-in function.
2025-05-09 17:09:00 -04:00
Dianne Skoll
ab69fee895
No need for timetis64bit guards (I hope...)
2025-05-08 14:33:33 -04:00