Dianne Skoll
f726b09fc6
Suppress some spurious debugging output when we use "-dt" with a TZ reminder.
2025-10-11 11:56:48 -04:00
Dianne Skoll
0ecca26da8
Define a useful macro.
2025-10-07 09:01:14 -04:00
Dianne Skoll
5092d5bc16
More warning_level annotations.
2025-09-25 18:08:29 -04:00
Dianne Skoll
131e77fa18
Use "unsigned long" to track expresison node evaluations.
2025-09-13 11:38:55 -04:00
Dianne Skoll
565bca4380
Add statistic for max expr node evaluations per line.
2025-09-11 12:04:32 -04:00
Dianne Skoll
804cf14a78
Implement --max-expr-complexity
2025-09-11 11:11:11 -04:00
Dianne Skoll
47a4456c20
Explicitly initialize LastTrigger.tz to NULL.
2025-09-04 14:26:35 -04:00
Dianne Skoll
41a3db3a37
Fix abort.
2025-09-03 23:14:58 -04:00
Dianne Skoll
32f4b125b5
Seemingly (?) working time zone support!!
2025-09-03 12:35:51 -04:00
Dianne Skoll
7979a69cb9
First semi-sorta-working time zone adjustment.
2025-09-03 12:22:09 -04:00
Dianne Skoll
651368fedc
More work on timezone support.
2025-09-03 11:35:21 -04:00
Dianne Skoll
fe002557cf
New approach to handling time zone specs in REM command.
2025-09-03 11:02:01 -04:00
Dianne Skoll
0206e538e0
Avoid -Wunused-result warning.
2025-08-19 15:22:05 -04:00
Dianne Skoll
e87849256b
Make --flush simply set standard I/O streams to unbuffered.
2025-08-15 22:41:18 -04:00
Dianne Skoll
fd8ecd88a8
Add --flush option; use it in tests.
...
Should help with weird systems whose C libraries have different flushing rules.
2025-08-15 22:36:20 -04:00
Dianne Skoll
b1b80316ab
Implement %: substitution sequence.
2025-08-15 11:54:31 -04:00
Dianne Skoll
de2ec1aa7b
In --json mode, redirect any RUN ... command stdout to stderr
...
We really don't want to mess up the JSON we produce on stdout!!
2025-08-14 21:47:40 -04:00
Dianne Skoll
a62ed0e0c5
Always output well-formed JSON in --json mode.
2025-08-14 20:43:35 -04:00
Dianne Skoll
a66ca7cce7
In --json mode, try to always emit a banner.
2025-08-11 21:40:38 -04:00
Dianne Skoll
89f60358c6
Add "noreminders" JSON element.
2025-08-11 21:04:50 -04:00
Dianne Skoll
9d6ce5b674
Implement --json - JSON mode output.
2025-08-11 20:16:22 -04:00
Dianne Skoll
68a4b23b6f
Rework scanfrom so it's computed as needed.
2025-08-11 16:52:41 -04:00
Dianne Skoll
24ed30fee0
Add RETURN command
...
Suggestion from Hymie! on Remind mailing list.
2025-08-06 11:08:41 -04:00
Dianne Skoll
9bd0055d4d
Add PUSH-FUNCS and POP-FUNCS.
2025-07-24 14:31:12 -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
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
9f220555af
Exit early from FromDSE if all we need is the year.
2025-07-02 14:39:15 -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
157d2821f3
Don't Eprint errors if we're supposed to be ignoring lines.
2025-05-28 14:52:12 -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
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
1d3c1f006f
Take care of some corner-cases of non-const tracking.
2025-05-22 09:35:18 -04:00
Dianne Skoll
633812d961
Add "-c" option to "dump" to show constness when dumping variables.
2025-05-21 23:43:40 -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
a309af731f
Minor code-formatting improvement.
2025-05-20 16:42:50 -04:00
Dianne Skoll
21904e708f
Add "n" debugging flag to diagnose non-constant expressions.
2025-05-20 11:17:04 -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
ed7c5103ff
Fold years so even 32-bit systems can handle astronomical stuff past 2038
2025-05-08 14:14:49 -04:00
Dianne Skoll
4590e746c5
Force year-folding on 32-bit time_t machines.
2025-05-08 12:10:15 -04:00
Dianne Skoll
bc8ce3e2cc
Change FoldArray to use years as close as possible to (but less than) 2038.
2025-05-08 11:56:53 -04:00
Dianne Skoll
6aeee47bfa
Remove unused code.
2025-03-16 10:47:54 -04:00
Dianne Skoll
c506fa4613
Refactor code.
2025-03-13 23:51:22 -04:00
Dianne Skoll
471ecff267
Report both starting and ending lines for commands spanning multiple lines because of \-line continuation.
...
This affects error and warning messages primarily. The JSON
interchange format has an additional lineno_start entry for
reminders that span multiple lines. (Historically, lineno
was the *last* line of the reminder statement and I kept
that for compatibility.)
2025-02-16 20:30:16 -05:00
Dianne Skoll
231d9d77e7
Save the info chain when saving the last trigger.
2025-02-01 14:16:17 -05:00