Dianne Skoll
f0f0cec2d3
Add $Tu == triguntil() system variable.
2025-05-22 18:00:24 -04:00
Dianne Skoll
70a97a8fe5
Add trigbase() built-in function.
2025-05-22 17:44:42 -04:00
Dianne Skoll
8a6857b787
Add test to ensure recursive eval() yields error rather than segfault.
2025-05-22 15:00:46 -04:00
Dianne Skoll
95b82a4457
"eval" can itself now be recursive, so we need to guard built-in functions against recursion.
2025-05-22 14:59:08 -04:00
Dianne Skoll
8fd39e477f
A bit more non-const documentation.
2025-05-22 14:44:17 -04:00
Dianne Skoll
3118f8d2a4
Add "eval()" built-in function.
2025-05-22 13:52:07 -04:00
Dianne Skoll
acf570512d
Correct documentation for maximum IF nest level.
2025-05-22 10:08:34 -04:00
Dianne Skoll
cf2114e2ef
Update tests.
2025-05-22 10:04:32 -04:00
Dianne Skoll
357f7105bd
Better coerce error messages.
2025-05-22 10:03:32 -04:00
Dianne Skoll
e7094b71c2
Clarify FSET syntax.
2025-05-22 09:51:05 -04:00
Dianne Skoll
8a3db4cba1
Document "DUMP -c ..."
2025-05-22 09:45:04 -04:00
Dianne Skoll
b33a3191f5
Better nonconst diagnostic messages.
2025-05-22 09:38:06 -04:00
Dianne Skoll
caa900d38d
Fix tests.
2025-05-22 09:35:52 -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
633812d961
Add "-c" option to "dump" to show constness when dumping variables.
2025-05-21 23:43:40 -04:00
Dianne Skoll
ec8cae6d4b
Mark a few functions as non-const that were incorrectly marked const before.
2025-05-21 23:43:26 -04:00
Dianne Skoll
5019d54379
Document a practical use of nonconst.
2025-05-21 15:50:05 -04:00
Dianne Skoll
56e4f14a2f
Don't use bitfields. They don't save space and are slower.
2025-05-21 13:42:06 -04:00
Dianne Skoll
af5854d0c6
Improve diagnostic message.
2025-05-21 12:27:08 -04:00
Dianne Skoll
43d0066780
Add test for additional non-constant debugging message.
2025-05-21 12:24:44 -04:00
Dianne Skoll
de2d15009f
Document all the non-constant tracking machinery.
2025-05-21 12:23:08 -04:00
Dianne Skoll
8ca5c7e56e
Add test for "hush mode" in conjunction with "purge mode"
2025-05-21 11:21:24 -04:00
Dianne Skoll
bd6218d7e2
Update man page.
2025-05-21 11:21:04 -04:00
Dianne Skoll
5d822e294d
Make "Hush Mode" suppress all purge-mode diagnostics.
...
We only get the "#!P: Expired" lines in that case.
2025-05-21 11:15:56 -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
a309af731f
Minor code-formatting improvement.
2025-05-20 16:42:50 -04:00
Dianne Skoll
31c8893a2a
Add tests for non-const-expression debugging output.
2025-05-20 12:03:53 -04:00
Dianne Skoll
e3a6c65983
Fix silly typo
2025-05-20 11:57:20 -04:00
Dianne Skoll
1355b99560
Document non-constant expressions.
2025-05-20 11:55:19 -04:00
Dianne Skoll
21904e708f
Add "n" debugging flag to diagnose non-constant expressions.
2025-05-20 11:17:04 -04:00
Dianne Skoll
e4a6a5cf01
Properly parse unary '+' operator. It's ignored, essentially.
2025-05-17 11:33:27 -04:00
Dianne Skoll
098cf4707a
Do not use obsolete "tail +2" syntax. Instead use "tail -n+2"
...
Fix courtesy of Dick Marinus.
2025-05-17 10:59:28 -04:00
Dianne Skoll
1be6ff23fb
Optimmize away ! INT_CONSTANT.
2025-05-16 10:48:02 -04:00
Dianne Skoll
4db201945c
Optimize "- INT_CONSTANT" to be simply -INT_CONSTANT rather than (- INT_CONSTANT)
2025-05-16 08:30:44 -04:00
Dianne Skoll
6aa217044b
Implement wkdaynum("dayname")
2025-05-14 18:30:47 -04:00
Dianne Skoll
c64d939237
Allow argument to monnum to be a string, in which case it's parsed as a month name.
2025-05-14 09:57:16 -04:00
Dianne Skoll
398100c6e3
Put anchor <a name="dN"></a> for day N's day box.
2025-05-12 09:22:49 -04:00
Dianne Skoll
3fb1db0880
Add catcherr() built-in function.
2025-05-10 09:33:24 -04:00
Dianne Skoll
76bf57af60
Tweak "catch()" documentation.
2025-05-09 23:32:03 -04:00
Dianne Skoll
a8fc88be17
Clarify that catch() doesn't catch errors when evaluating its second argument.
2025-05-09 17:21:34 -04:00
Dianne Skoll
a50f40d652
Don't use repeated DBG() macros. Instead, wrap everything in a conditional
2025-05-09 17:17:37 -04:00
Dianne Skoll
71b3564c03
Add catch to list of built-in functions.
2025-05-09 17:10:46 -04:00
Dianne Skoll
a35de17b00
Add the "catch()" built-in function.
2025-05-09 17:09:00 -04:00
Dianne Skoll
ab44f93f37
Update man page with info about how Remind folds years.
2025-05-08 14:47:48 -04:00
Dianne Skoll
ab69fee895
No need for timetis64bit guards (I hope...)
2025-05-08 14:33:33 -04:00
Dianne Skoll
db31214060
Fix up year-folding logic.
2025-05-08 14:30:07 -04:00
Dianne Skoll
758e2c1a9d
Add some more year-folding tests.
2025-05-08 14:22:01 -04:00
Dianne Skoll
ed7c5103ff
Fold years so even 32-bit systems can handle astronomical stuff past 2038
2025-05-08 14:14:49 -04:00
Dianne Skoll
4590e746c5
Force year-folding on 32-bit time_t machines.
2025-05-08 12:10:15 -04:00
Dianne Skoll
bc8ce3e2cc
Change FoldArray to use years as close as possible to (but less than) 2038.
2025-05-08 11:56:53 -04:00