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
Dianne Skoll
03fdc06b65
Make AT optional: If we encounter a TIME, then implicitly start an AT clause.
2023-09-18 12:59:00 -04:00
Dianne Skoll
85b0348fa7
Add $ParseUntriggered system variable.
2023-07-20 09:21:37 -04:00
Dianne Skoll
e63d4be4e8
Make "-tn" explicitly set a delta of ++n for *all* REM statements.
...
Also change the name of $DeltaOffset to $DeltaOverride.
2023-06-03 13:36:58 -04:00
Dianne Skoll
65561e7f34
Add "-tz" option to suppress all deltas. Document -tn better.
2023-05-21 20:14:07 -04:00
Dianne Skoll
ec76554d41
Treat a null -k option as no -k option
2023-03-15 09:22:44 -04:00
Dianne Skoll
e3ec6565e9
Add support for -k: option --- applies command only to *queued* reminders.
2023-03-13 15:16:24 -04:00
Dianne Skoll
f9656edc51
Make "SPECIAL MSG" the same as "MSG" and same for MSF, RUN, PS and PSFILE
...
This lets us use variables to set the type of a REM command:
SET t "MSG"
REM SPECIAL [t] A message
SET t "CAL"
REM SPECIAL [t] A calendar message
SET t "RUN"
REM SPECIAL [t] /bin/some_cmd
2023-03-03 11:53:45 -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
4aacf74e25
More renaming of jul -> dse
2022-12-21 13:35:12 -05:00
Dianne Skoll
387125d983
Start fixing terminology: Julian becomes DSE
...
Remind's so-called "Julian" date is not a true Julian date.
It's really the number of days since the Remind Epoch, so rename
to DSE (Days Since Epoch)
2022-12-21 13:14:00 -05:00
Dianne Skoll
07fd975935
Add the $AddBlankLines system variable.
2022-10-10 22:49:28 -04:00
Dianne Skoll
e0998a3991
Implement trigtags()
2022-10-09 21:31:24 -04:00
Dianne Skoll
dedb9766c9
Make a SATISFY-type reminder with ADDOMIT but no MSG actually add to the omits.
...
Previously, something like: REM 1 May ADDOMIT SATISFY 1
would not add to the global OMIT list.
2022-10-06 08:35:50 -04:00
Dianne Skoll
a01e05c1db
Fix bug introduced in commit 98c5bf511e:
...
Don't print a banner when issuing a queued reminder.
2022-09-21 18:17:25 -04:00
Dianne Skoll
efecf2e1ea
Make "remind -c" optionally support the SPECIAL SHADE
2022-09-16 11:41:18 -04:00
Dianne Skoll
8666e6357e
Start working on support for SHADE in remind -c output.
2022-09-16 08:42:20 -04:00
Dianne Skoll
98c5bf511e
Print banner prior to first MSG-type reminder.
2022-09-06 09:14:55 -04:00
Dianne Skoll
4d17494371
Bump copyright date.
2022-03-14 21:12:20 -04:00
Dianne Skoll
eb100e57e2
Parse untriggered reminder lines to catch expression-pasting errors.
2022-03-12 15:48:31 -05:00
Dianne Skoll
61d665ef7d
Turn a bunch of Eprint calls into Wprint calls to indicate warnings instead of errors.
2022-03-12 10:27:58 -05: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
6d2bbbd7e2
Another diagnostic message.
2022-03-02 15:25:27 -05:00
Dianne Skoll
1453be83b2
Add more diagnostics for bad UNTIL dates.
2022-03-02 15:17:03 -05:00
Dianne Skoll
8659131be2
Use proper keyword in error message.
2022-03-02 14:43:11 -05:00
Dianne Skoll
0276ce322d
Diagnose if UNTIL is earlier than start date unless there is a nonconst expr
2022-03-02 09:11:01 -05:00
Dianne Skoll
b36c99a34b
Move successful exit to one spot.
2022-03-02 09:01:33 -05:00
Dianne Skoll
f6f201085c
Start adding support for dynamic month and day names.
2022-01-25 18:47:25 -05:00
Dianne Skoll
54f5d81a8c
Properly check for repeated tdelta
2022-01-20 09:52:46 -05:00
Dianne Skoll
d33c27289a
Implement $DefaultTDelta system variable and -tt[N] command-line option.
2022-01-20 09:44:17 -05:00
Dianne Skoll
79289fe6c4
Add ADDMOMIT keyword; bump version to 03.03.10
2021-11-18 15:13:12 -05:00
Dianne Skoll
5ceffddd5b
Add "shellescape" built-in function.
2021-09-08 09:33:47 -04:00
Dianne Skoll
34409f7a7d
Update copyright year.
2021-04-02 10:43:54 -04:00
Dianne Skoll
498a429b2c
Add MAYBE-UNCOMPUTABLE modifier to trigger.
2020-09-25 22:08:49 -04:00
Dianne Skoll
8ab78fd8be
Suppress compile warnings on Ubuntu 18.04
2020-03-19 20:27:45 -04:00
Dianne Skoll
6b991cdf9c
Refactor saving of trigger info.
2020-02-23 11:38:17 -05:00