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
8d09abc363
Use snprintf in favor of sprintf almost everywhere.
Remind unit tests / tests (push) Successful in 35s
2025-01-22 11:11:08 -05:00
Dianne Skoll
17ccf5d2b4
Make more messages translatable.
2025-01-14 11:27:47 -05:00
Dianne Skoll
562cec3dc8
Mass-update copyright date to 2025.
2024-12-29 13:47:07 -05:00
Dianne Skoll
d9796e72e5
Allow error messages to be localized.
2024-12-09 19:55:23 -05:00
Dianne Skoll
f1591140d4
- Add $DefaultDelta system variable.
...
- Make FRENAME delete definition of newname if oldname is not defined.
- Document FRENAME, $DefaultDelta and the char(8) hack.
2024-11-13 21:45:54 -05:00
Dianne Skoll
1b41367163
Start work on supporting a $DefaultDelta special variable.
2024-11-13 18:54:42 -05:00
Dianne Skoll
d50b464314
Add hack: If msgsuffix() function value starts with '\b', put it BEFORE the newline in the substitution buffer.
2024-11-13 18:00:20 -05:00
Dianne Skoll
e0fde98410
Add $DedupeReminders global variable.
2024-11-12 09:26:31 -05:00
Dianne Skoll
533718b0a0
Massive whitespace cleanups: Untabify everything.
2024-11-08 20:30:13 -05:00
Dianne Skoll
ee1c931932
Add $SuppressImplicitWarnings system variable.
...
This suppresses warnings about missing REM or MSG tokens.
2024-09-15 09:39:15 -04:00
Dianne Skoll
42f5e3467d
Better error messages for ill-formed time.
2024-09-11 08:52:06 -04:00
Dianne Skoll
97013ae89b
Return T_Illegal with a negative tok.val if we can't parse a numeric token.
2024-09-11 08:45:31 -04:00
Dianne Skoll
2acead9118
Shorten error message.
Remind unit tests / tests (push) Successful in 29s
2024-09-10 16:25:00 -04:00
Dianne Skoll
a53a80acb4
Make error message more explicit.
2024-09-10 16:23:52 -04:00
Dianne Skoll
56e62b1b4d
More error checking of bad date specs.
2024-09-10 14:27:46 -04:00
Dianne Skoll
ef6b9c3783
Better error message when a number that isn't recognized as a day number or year is encountered.
2024-09-10 13:57:34 -04:00
Dianne Skoll
e4bab0dda4
Be more explicit.
2024-09-08 09:57:52 -04:00
Dianne Skoll
216bbd6378
Fix the logic that recurses into user-defined functions.
2024-08-28 17:56:47 -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
b7bd6faf07
Warn if SCHED/WARN/OMITFUNC functions take wrong number of args.
2024-08-28 15:02:22 -04:00
Dianne Skoll
80d58220fe
In warnings, give file/lineno where function is defined.
2024-08-28 14:59:13 -04:00
Dianne Skoll
cd8624e176
Tweak diagnostic messages.
2024-08-28 14:35:49 -04:00
Dianne Skoll
a1aa5c2ad9
Change wording of warning slightly.
2024-08-28 13:54:40 -04:00
Dianne Skoll
553d092ca8
Diagnost if WARN/SCHED/OMITFUNC functions don't reference their argument.
2024-08-28 13:49:17 -04:00
Dianne Skoll
b794a45c3f
Add more SATISFY diagnostics.
Remind unit tests / tests (push) Successful in 34s
2024-08-27 15:02:11 -04:00
Dianne Skoll
c397cc06da
Rewrite code to avoid need to pass address of "mentioned" variable.
Remind unit tests / tests (push) Successful in 30s
2024-08-27 11:33:41 -04:00
Dianne Skoll
702704af1a
Make sure SATISFY expressions are either constant or mention trigdate.
2024-08-27 11:22:42 -04:00
Dianne Skoll
fa1033db6f
Don't warn about assuming REM type if we've already warned about assuming "REM"
2024-08-21 15:09:41 -04:00
Dianne Skoll
6e64b175aa
Diagnose lines that are implicitly treated as REM lines.
...
Diagnose REM commands that are implicitly treated as having MSG type.
Properly start all lines that should start with REM, with REM.
2024-08-21 12:45:30 -04:00
Dianne Skoll
ac033d75c0
Add the $OnceFile special variable.
...
This lets us specify a timestamp file that Remind
uses to track the last run for the purpose of handling
the ONCE keyword, rather than using the last access date
of the reminder file.
Keeping a timestamp file is a more reliable way to track
when Remind was last run.
2024-07-09 09:23:15 -04:00
Dianne Skoll
691185f22c
Update test file so tests pass.
2024-06-02 20:50:34 -04:00
Dianne Skoll
a8bfb41a9e
Add $ExpressionTimeLimit system variable.
2024-06-02 14:01:17 -04:00
Dianne Skoll
07fca94a7f
Properly handle purging of SCANFROM reminders.
2024-06-02 12:07:12 -04:00
Dianne Skoll
73917ee537
Only set nonconst_expr in purge mode in a couple of cases.
2024-06-02 12:02:29 -04:00
Dianne Skoll
76f9edecf6
Don't purge reminders with a SCANFROM clause.
2024-06-02 10:36:21 -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
b78702cc53
Assume all function names are lower-case.
2024-06-01 08:46:27 -04:00
Dianne Skoll
d2b43605ad
Completely revamp expression engine.
2024-06-01 08:19:12 -04:00
Dianne Skoll
27c8737f3a
Only save trigger date when computing it, not while parsing.
2024-04-18 23:41:47 -04:00
Dianne Skoll
0a1178cfd7
Don't clear out last trigger time unnecessarily.
2024-04-18 17:56:49 -04:00
Dianne Skoll
0d55e04284
Make a local OMIT that doesn't specify a weekday name into a syntax error.
2024-03-03 14:51:53 -05:00
Dianne Skoll
f4cce54b70
Warn if a local OMIT doesn't actually omit any weekdays.
2024-03-03 11:00:35 -05:00
Dianne Skoll
0f782f7697
Set CLOEXEC flag on files we open.
...
When running programs in server mode, connect stdin and stdout to /dev/null
2024-02-29 09:22:15 -05:00
Dianne Skoll
22ccce0934
Lay groundwork for having TriggerReminder put the results in a DynamicBuffer rather than sending to stdout
...
Eventually should allow us to make a JSON-based daemon mode.
2024-02-25 09:17:54 -05:00
Dianne Skoll
8e99ed27e7
Take is_queued into account when deciding to issue banner.
2024-02-24 09:33:59 -05:00
Dianne Skoll
72d10178bf
Mass-update copyright year to 2024.
2023-12-31 12:05:03 -05:00
Dianne Skoll
bb516946be
If we de-queue a reminder without issuing it, send a NOTE queued %d message in server mode.
2023-12-15 14:16:26 -05:00
Dianne Skoll
6e53fd6924
Refactor code: Replace SystemTime(x)/60 with MinutesPastMidnight(x)
2023-12-09 10:41:03 -05:00
Dianne Skoll
ec9b30c616
Don't let "REM ... MSG NOTE endreminder" mess with daemon protocol.
...
Pad with a leading space. :)
2023-12-06 13:28:17 -05:00