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
Dianne Skoll
72d10178bf
Mass-update copyright year to 2024.
2023-12-31 12:05:03 -05:00
Dianne Skoll
2f196e3c9f
Update copyright year. :)
2022-12-30 13:43:28 -05:00
Dianne Skoll
0cea410529
Add a bunch of: "SPDX-License-Identifier: GPL-2.0-only" comments.
2022-12-26 14:24:33 -05:00
Dianne Skoll
a1eafb2c89
Add NOQUEUE modifier; reverse order of args to soleq and make second arg optional (defaults to today())
2022-12-23 11:04:18 -05:00
Dianne Skoll
dbe4c662c1
Add the "FUNSET" command to delete user-defined functions.
2022-10-12 14:12:13 -04:00
Dianne Skoll
f3cca092be
Add tests for ansicolors function and new $Use...Colors variables.
2022-10-09 12:59:52 -04:00
Dianne Skoll
4d17494371
Bump copyright date.
2022-03-14 21:12:20 -04:00
Dianne Skoll
e1fa11c94c
Add the First/Second/Third/Fourth/Last syntactic sugar and the
...
~N/~~N forms of "back"
2022-03-11 20:53:52 -05:00
Dianne Skoll
e51d7f3c6d
Add "DO file" command which is equivalent to "INCLUDE [filedir()]/file"
2022-01-20 19:30:10 -05:00
Dianne Skoll
79289fe6c4
Add ADDMOMIT keyword; bump version to 03.03.10
2021-11-18 15:13:12 -05:00
Dianne Skoll
a163a0c446
Add INCLUDECMD command
...
Executes a shell command and reads the resulting output as a Remind script.
2021-09-04 23:00:03 -04:00