Dianne Skoll
a894076bfc
Verify two-way correspondence between translation table and system variables.
2024-12-11 19:48:19 -05:00
Dianne Skoll
d3e6c81a3a
Synthesize mixed-case translations.
2024-12-10 17:02:41 -05:00
Dianne Skoll
0bbbaaf3d9
Implement JSONTRANSLATE -zj command.
2024-12-10 11:48:01 -05:00
Dianne Skoll
4c314ff81c
Add --print-errs and localize error messages in lang/fr.rem.
2024-12-09 20:40:41 -05:00
Dianne Skoll
9f9ae77895
Bound-check GetErr
2024-12-09 20:03:15 -05:00
Dianne Skoll
d9796e72e5
Allow error messages to be localized.
2024-12-09 19:55:23 -05:00
Dianne Skoll
e50d583659
Use case-sensitive hashing for dedup and translation hash tables.
2024-12-09 18:36:53 -05:00
Dianne Skoll
a05d9eefc9
Make "SET $foo" also add a translation table entry if $foo is a dynamic translation variable.
2024-12-09 13:29:05 -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
0f5de395ff
Add FRENAME command.
2024-11-13 17:29:32 -05:00
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