Dianne Skoll
09caa8988a
Add warning if we SET a variable that has already been set, but not used (if -du debug flag is set)
2025-05-24 23:06:50 -04:00
Dianne Skoll
9624b1045c
Track filename and line number where variables are defined.
2025-05-24 22:58:28 -04:00
Dianne Skoll
102748397f
Remove a couple of inappropriate "free" calls.
2025-05-24 22:58:16 -04:00
Dianne Skoll
f852f7e7e5
Refactor conversion of "-" to "-stdin-"
2025-05-24 22:55:02 -04:00
Dianne Skoll
8d88192483
Keep a hash table of filenames we've seen so we don't need to strdup the current filename all over the place.
2025-05-24 22:51:16 -04:00
Dianne Skoll
a6ca571fe5
Fix indentation.
2025-05-24 22:13:47 -04:00
Dianne Skoll
2af783a58d
Use isany() in preference to || operator.
2025-05-24 10:36:03 -04:00
Dianne Skoll
af2daa7a87
Use "is_constant" attribute for Var to be consistent with UserFunc.
2025-05-24 10:10:44 -04:00
Dianne Skoll
c5bc459dd9
Add "-du" debugging flag to print a list of variables that were set but never used.
2025-05-23 16:55:10 -04:00
Dianne Skoll
edf26eaa14
Add more "const" debugging messages.
2025-05-23 13:38:38 -04:00
Dianne Skoll
7e5dc26ee5
*PROPERLY* disable RUN in eval. :)
2025-05-23 12:03:09 -04:00
Dianne Skoll
4c2b6031cd
Disable shell() inside an eval("...") for safety.
...
Based on email from Tim Chase.
2025-05-23 11:48:06 -04:00
Dianne Skoll
af8c1630c3
Add more clarification.
2025-05-23 08:56:01 -04:00
Dianne Skoll
0ec43d570c
Add "const" function, which is the inverse of "nonconst"
2025-05-23 08:47:12 -04:00
Dianne Skoll
1df8b12e71
Clarification.
2025-05-23 08:42:00 -04:00
Dianne Skoll
3fb10fe946
Don't put anchors in HTML output.
...
Can be achieved with a REM statement:
REM SPECIAL HTML <a id="[$T]"></a>
05.04.00-BETA-1
2025-05-23 07:36:45 -04:00
Dianne Skoll
e11dbcf52a
Revert "Put anchor <a name="dN"></a> for day N's day box."
...
This reverts commit 398100c6e3 .
2025-05-23 07:34:57 -04:00
Dianne Skoll
88cc25e53f
Update release notes.
2025-05-22 21:57:14 -04:00
Dianne Skoll
0c93e045bd
Bump version to 05.04.00.
2025-05-22 21:40:38 -04:00
Dianne Skoll
99e5b3f43d
Document "trigbase" entry in JSON output.
2025-05-22 18:05:31 -04:00
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