1440 Commits

Author SHA1 Message Date
Dianne Skoll
9bd0055d4d Add PUSH-FUNCS and POP-FUNCS. 2025-07-24 14:31:12 -04:00
Dianne Skoll
d944ceb32d Implement clone_expr_tree in preparation for supporting PUSH-FUNCS / POP-FUNCS. 2025-07-24 12:06:23 -04:00
Dianne Skoll
be8a0621d1 Properly trace set-but-not-used variables interacting with PUSH-VARS / POP-VARS 2025-07-23 19:37:03 -04:00
Dianne Skoll
235f947dd1 Replace PUSH-SYSVARS / POP-SYSVARS with better PUSH-VARS / POP-VARS commands. 2025-07-23 19:27:09 -04:00
Dianne Skoll
93dddec24a Initialize pushed value to ERR_TYPE to avoid inappropriate possible free() later on. 2025-07-23 10:07:58 -04:00
Dianne Skoll
c13b721550 Propagate errors. 2025-07-22 19:12:26 -04:00
Dianne Skoll
700ac85e54 Make warnings for unmatched PUSH-SYSVARS correspond to those for unmatched PUSH-OMIT-CONTEXT 2025-07-22 17:35:21 -04:00
Dianne Skoll
7325375ccd Add PUSH-SYSVARS and POP-SYSVARS commands. 2025-07-22 17:20:58 -04:00
Dianne Skoll
aa3760bc04 Make a bunch of functions static, on the recommendation of cppcheck. 2025-07-22 15:44:57 -04:00
Dianne Skoll
ea5e8c90ff More const stuff. 2025-07-21 18:46:31 -04:00
Dianne Skoll
609b68ab21 Add const-correctness to various hash table functions. 2025-07-21 18:28:24 -04:00
Dianne Skoll
c3ab2a15cf Add some consts as recommended by make cppcheck. 2025-07-21 17:44:13 -04:00
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
96a4dc3189 Make macro safer. 2025-07-07 22:21:53 -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
9f220555af Exit early from FromDSE if all we need is the year. 2025-07-02 14:39:15 -04:00
Dianne Skoll
005ccef953 Pass NULLs in a bunch of places where FromDSE result is not needed. 2025-07-02 14:21:32 -04:00
Dianne Skoll
578c98c865 Pass NULLs to FromDSE for info we don't need. 2025-07-02 14:10:42 -04:00
Dianne Skoll
2954fca8d8 Allow month to be specified by name in all places where it can be specified by number. 2025-07-02 11:40:02 -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
9b98e65e01 Don't set trigvalid() for a reminder whose SATISFY clause is never satisfied. 2025-07-01 16:49:06 -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
37e09f4671 Fix bug in processing UNTIL clause.
Bug found by Ian! D. Allen.
2025-06-15 09:15:48 -04:00
Dianne Skoll
c40d4ee672 Fix misleading comment. 2025-06-07 22:13:08 -04:00
Dianne Skoll
dc777c95df Fix cppcheck warning. 2025-06-03 16:54:47 -04:00
Dianne Skoll
157d2821f3 Don't Eprint errors if we're supposed to be ignoring lines. 2025-05-28 14:52:12 -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
516b9c81b3 Get rid of ancient cruft. 2025-05-28 14:23:56 -04:00
Dianne Skoll
68d487ade9 Make a macro DBGX to avoid typo-ing '&' as '&&' in future. :) 2025-05-26 22:44:28 -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
db70aabc97 Use ParseIdentifier instead of ParseToken with "PRESERVE"
to avoid creating illegal variable names.
2025-05-26 22:09:21 -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
1fcf11a816 Change the help text for the -d flag. 2025-05-24 23:20:45 -04:00
Dianne Skoll
ab03232341 Minor tweak 2025-05-24 23:15:51 -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
102748397f Remove a couple of inappropriate "free" calls. 2025-05-24 22:58:16 -04:00
Dianne Skoll
f852f7e7e5 Refactor conversion of "-" to "-stdin-" 2025-05-24 22:55:02 -04:00
Dianne Skoll
8d88192483 Keep a hash table of filenames we've seen so we don't need to strdup the current filename all over the place. 2025-05-24 22:51:16 -04:00
Dianne Skoll
a6ca571fe5 Fix indentation. 2025-05-24 22:13:47 -04:00
Dianne Skoll
af2daa7a87 Use "is_constant" attribute for Var to be consistent with UserFunc. 2025-05-24 10:10:44 -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