Dianne Skoll
c3a555942b
Don't warn if a POP... is in a different file from a PUSH... unless the -dp flag is used.
2026-02-15 10:53:08 -05:00
Dianne Skoll
d4ed89f5ba
Update copyright date.
2025-12-31 11:05:21 -05:00
Dianne Skoll
2723875a18
Only check the trigger portion of a REM for expressions in purge mode, not body.
2025-10-12 13:38:47 -04:00
Dianne Skoll
5534bf8272
Don't set nonconst_expr on a reminder if the non-constant expression is only in the *BODY* of the reminder.
...
Only set it if it affects the trigger specification.
2025-10-12 11:22:13 -04:00
Dianne Skoll
703907c94d
Update JSON output.
2025-09-03 13:57:25 -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
7b7b861399
Disable RUN in callbacks to ordx and subst_xxx functions.
2025-08-15 20:27:51 -04:00
Dianne Skoll
a000a7f17e
Add MAX-OVERDUE feature.
2025-08-14 18:50:39 -04:00
Dianne Skoll
46a80da0e1
Preserve relative scanfroms in t->scanfrom; compute when needed.
2025-08-12 14:44:47 -04:00
Dianne Skoll
814dd51270
Start working on TODO and COMPLETE-THROUGH. Still a WIP!!!
2025-08-11 16:29:34 -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
7325375ccd
Add PUSH-SYSVARS and POP-SYSVARS commands.
2025-07-22 17:20:58 -04:00
Dianne Skoll
9624b1045c
Track filename and line number where variables are defined.
2025-05-24 22:58:28 -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
4c2b6031cd
Disable shell() inside an eval("...") for safety.
...
Based on email from Tim Chase.
2025-05-23 11:48:06 -04:00
Dianne Skoll
3118f8d2a4
Add "eval()" built-in function.
2025-05-22 13:52:07 -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
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
21904e708f
Add "n" debugging flag to diagnose non-constant expressions.
2025-05-20 11:17:04 -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
e6ceeee2ec
Add the "INFO" clause to the REM command.
...
Remind unit tests / tests (push) Successful in 33s
Intended to pass additional information to a back-end to use as it wishes.
One example is to add extra info such as locaiton, description, etc. to ical
files.
2025-01-28 15:51:28 -05:00
Dianne Skoll
4f351c089e
Add the "-dq" debugging flag, for outputing TRANSLATE commands needed by a reminder script.
Remind unit tests / tests (push) Successful in 44s
2025-01-17 08:46:29 -05:00
Dianne Skoll
1850607542
Use hex constants for flags that are bitmasks.
Remind unit tests / tests (push) Successful in 37s
2024-12-31 15:26:18 -05:00
Dianne Skoll
213138a7b7
Split the "-ds" debug flag into "-ds" and "-dh"
...
-ds prints parsed expressions
-dh dumps hash-table statistics on exit.
2024-12-31 12:50:15 -05:00
Dianne Skoll
562cec3dc8
Mass-update copyright date to 2025.
2024-12-29 13:47:07 -05:00
Dianne Skoll
2504b39be2
Remove const qualifier.
Remind unit tests / tests (push) Successful in 32s
2024-12-16 17:10:45 -05:00
Dianne Skoll
5e333f6162
Add the SYSINCLUDE directive.
2024-12-13 08:18:22 -05:00
Dianne Skoll
af8b4e6df1
Add const qualifier on Sysvar.value.
Remind unit tests / tests (push) Successful in 44s
2024-12-12 20:27:54 -05:00
Dianne Skoll
c7ca1b4baa
Get rid of the DyamicFoo hacks and make most translatable variables live in the translation table.
2024-12-12 11:43:03 -05:00
Dianne Skoll
973019c4c7
Implement TRANSLATE keyword.
2024-12-09 12:56:40 -05:00
Dianne Skoll
cb712ad7e7
Replace the individual hash table implementations with a unified one.
2024-12-09 11:54:52 -05:00
Dianne Skoll
062a84b758
Simplify HAS_DATE and HAS_TIME macros by making type values into bitmasks.
Remind unit tests / tests (push) Successful in 34s
2024-12-02 09:50:33 -05:00
Dianne Skoll
c63c4cf07e
Make token name const.
2024-11-19 22:59:47 -05:00
Dianne Skoll
586b3565f0
Sort token types.
2024-11-19 22:58:19 -05:00
Dianne Skoll
0f5de395ff
Add FRENAME command.
2024-11-13 17:29:32 -05:00
Dianne Skoll
533718b0a0
Massive whitespace cleanups: Untabify everything.
2024-11-08 20:30:13 -05:00
Dianne Skoll
00ad38e5fe
Put N_ERROR at the end.
2024-09-16 14:47:09 -04:00
Dianne Skoll
30e2e9c633
When looking at SATISFY expressions to make sure they use the trigger date, look recursively into user-defined functions in the expression also.
2024-08-28 17:49:12 -04:00
Dianne Skoll
9a3f28f6fc
Optimize storage of short string constants in expr_node objects.
2024-06-12 10:19:27 -04:00
Dianne Skoll
b49c0f52bd
Implement EXPR ON and EXPR OFF
2024-06-02 12:39:00 -04:00
Dianne Skoll
d77d9854d2
Remove src/expr.h - everything in it is now in types.h or protos.h
2024-06-02 10:26:41 -04:00
Dianne Skoll
c2b53f95a4
Remove dead code
2024-06-02 10:23:24 -04:00
Dianne Skoll
c95ad0261a
Start adding comments; do not distinguish between N_BINARY_OPERATOR and N_UNARY_OPERATOR
2024-06-01 13:37:58 -04:00
Dianne Skoll
d2b43605ad
Completely revamp expression engine.
2024-06-01 08:19:12 -04:00
Dianne Skoll
61fcc1b275
Add "s" debugging flag to see expression-parsing stack high-water marks.
...
Reduce default value stack size from 1000 to 100.
2024-03-13 12:06:55 -04:00