Dianne Skoll
342c229a57
Get dedup hash table stats; reduce slots to 32.
2024-11-12 21:56:27 -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
ad382fea25
Print hash-table statistics with "-ds" debugging.
Remind unit tests / tests (push) Failing after 29s
2024-10-11 16:34:11 -04:00
Dianne Skoll
a20f2b588e
Accept either 12:34 or '12:34' as a time constant.
2024-09-13 13:02:46 -04:00
Dianne Skoll
8a5b88338b
Add --print-tokens long option to dump Remind tokens to stdout.
2024-09-08 10:29:49 -04:00
Dianne Skoll
ef12da4ec6
Refactor out "truthy".
2024-08-28 20:36: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
325814f5e1
Print the location of unmatched PUSH
2024-06-04 16:25:14 -04:00
Dianne Skoll
3e9eeea8dc
Update docs; kill time-limiter when we queue.
2024-06-04 11:51:27 -04:00
Dianne Skoll
a8bfb41a9e
Add $ExpressionTimeLimit system variable.
2024-06-02 14:01:17 -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
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
c03a95ad94
Use built-in versions of strdup, strcasecmp and strncasecmp instead of writing our own.
2024-04-21 14:44:24 -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
b454cf5b20
Refactor set_cloexec to make it more convenient to call.
2024-03-31 09:49:32 -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
26977a4ac0
Fix a bunch of cppcheck complaints and also update the cppcheck Makefile target.
2024-03-11 12:10:03 -04: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
2e56edd557
SystemTime can be int... no need for it to be long.
2024-02-03 09:26:30 -05:00
Dianne Skoll
fa5180b94d
Refactor JSON output routines.
2024-02-02 16:08:17 -05:00
Dianne Skoll
72d10178bf
Mass-update copyright year to 2024.
2023-12-31 12:05:03 -05:00
Dianne Skoll
1d9e46997c
Don't attempt to obtain terminal background color at startup. Instead, only obtain it if and when it is needed.
2023-12-26 10:08:00 -05:00
Dianne Skoll
861ce34022
Clarify logic.
2023-12-25 10:16:59 -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
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
18f21693af
Clean up some warnings from cppcheck static analyzer.
2023-02-07 10:28:02 -05:00
Dianne Skoll
13df3d96e5
Add JulianToGregorianOffset function.
2023-01-09 14:18:10 -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
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
dbe4c662c1
Add the "FUNSET" command to delete user-defined functions.
2022-10-12 14:12:13 -04:00
Dianne Skoll
8ada68ce54
Add the "columns(str)" variant.
2022-10-11 13:18:44 -04:00
Dianne Skoll
b9839421f2
make "MSF" correctly wrap UTF-8 text.
2022-10-10 11:05:38 -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
f84f59fa91
Bump version to 04.00.03.
2022-08-15 14:48:59 -04:00
Dianne Skoll
4e80ce1159
Don't make SIGINT kill a background process; don't call printf from a signal-handler; use sigaction instead of signal
2022-08-05 22:04:44 -04:00
Dianne Skoll
df9ef6e13a
Print call stack if an error occurs in a user-defined function.
2022-03-25 14:03:06 -04:00
Dianne Skoll
10f5802069
Add callstack-management functions.
2022-03-25 13:56:00 -04:00
Dianne Skoll
4d17494371
Bump copyright date.
2022-03-14 21:12:20 -04: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
f6f201085c
Start adding support for dynamic month and day names.
2022-01-25 18:47:25 -05:00