Commit Graph

462 Commits

Author SHA1 Message Date
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 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 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 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 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 758e2c1a9d Add some more year-folding tests. 2025-05-08 14:22:01 -04:00
Dianne Skoll 4590e746c5 Force year-folding on 32-bit time_t machines. 2025-05-08 12:10:15 -04:00
Dianne Skoll e107ed5482 Bump version to 05.03.07. 2025-05-06 12:37:43 -04:00
Dianne Skoll 59f978a9db Add $TimetIs64bit system variable. 2025-05-06 12:14:18 -04:00
Dianne Skoll ce123d1b41 Bump to version 05.03.06. 2025-04-25 11:02:22 -04:00
Dianne Skoll 44b920e080 Make "remind -s" respect $DefaultColor
https://dianne.skoll.ca/pipermail/remind-fans/2025/005051.html
2025-04-23 10:15:20 -04:00
Dianne Skoll 2c8fa39af0 Add tests for astronomical functions. 2025-03-20 11:38:18 -04:00
Dianne Skoll ee4e3e9073 Bump version to 05.03.05. 2025-03-19 17:38:33 -04:00
Dianne Skoll 38615adb41 Update tests for fixes to 12:XXam 2025-03-19 12:38:36 -04:00
Dianne Skoll 81fa6c667f Update unit test. 2025-03-19 11:57:23 -04:00