Dianne Skoll
5092d5bc16
More warning_level annotations.
2025-09-25 18:08:29 -04:00
Dianne Skoll
7b7b861399
Disable RUN in callbacks to ordx and subst_xxx functions.
2025-08-15 20:27:51 -04:00
Dianne Skoll
f4805a443b
Prevent segfault if we just say "push-funcs"
2025-07-24 14:45:52 -04:00
Dianne Skoll
9bd0055d4d
Add PUSH-FUNCS and POP-FUNCS.
2025-07-24 14:31:12 -04:00
Dianne Skoll
609b68ab21
Add const-correctness to various hash table functions.
2025-07-21 18:28:24 -04:00
Dianne Skoll
c3ab2a15cf
Add some consts as recommended by make cppcheck.
2025-07-21 17:44:13 -04:00
Dianne Skoll
dc777c95df
Fix cppcheck warning.
2025-06-03 16:54:47 -04:00
Dianne Skoll
71d2da19a8
Introduce "FSET - f(args) expr" syntax to define a function and suppress any "redefined function" warnings.
2025-05-28 14:40:46 -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
b33a3191f5
Better nonconst diagnostic messages.
2025-05-22 09:38:06 -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
471ecff267
Report both starting and ending lines for commands spanning multiple lines because of \-line continuation.
...
This affects error and warning messages primarily. The JSON
interchange format has an additional lineno_start entry for
reminders that span multiple lines. (Historically, lineno
was the *last* line of the reminder statement and I kept
that for compatibility.)
2025-02-16 20:30:16 -05:00
Dianne Skoll
a35920f28e
Put quotes around function name when issuing "redefined" warning.
2025-01-14 11:30:06 -05:00
Dianne Skoll
17ccf5d2b4
Make more messages translatable.
2025-01-14 11:27:47 -05:00
Dianne Skoll
562cec3dc8
Mass-update copyright date to 2025.
2024-12-29 13:47:07 -05:00
Dianne Skoll
5a2914f6c7
Start hash tables with 7 buckets instead of 17; print more detailed hash stats with -ds; consistently use ErrFp instead of stderr
Remind unit tests / tests (push) Successful in 32s
2024-12-14 11:52:16 -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
6b05d772f0
Exit if we run out of memory initializing hash tables. There's no sane way to recover.
2024-12-09 18:10:03 -05:00
Dianne Skoll
4a2d707654
Properly handle deleting everything out of a hash table.
2024-12-09 13:59:41 -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
553899127a
Diagnose redefinition of built-in functions by checking newname before oldname
Remind unit tests / tests (push) Failing after 30s
2024-11-14 22:27:54 -05:00
Dianne Skoll
46e1b7386e
Don't allow FRENAME to attempt to rename a built-in function.
2024-11-14 10:17:33 -05:00
Dianne Skoll
f1591140d4
- Add $DefaultDelta system variable.
...
- Make FRENAME delete definition of newname if oldname is not defined.
- Document FRENAME, $DefaultDelta and the char(8) hack.
2024-11-13 21:45:54 -05:00
Dianne Skoll
0f5de395ff
Add FRENAME command.
2024-11-13 17:29:32 -05:00
Dianne Skoll
533718b0a0
Massive whitespace cleanups: Untabify everything.
2024-11-08 20:30:13 -05:00
Dianne Skoll
302bc5a5de
Make hash table sizes prime numbers instead of powers of two.
2024-10-12 10:24:22 -04:00
Dianne Skoll
950c0b3747
Use HashPJW for hasing user-defined function names and variable names.
Remind unit tests / tests (push) Successful in 26s
2024-10-12 10:17:50 -04: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
a22e81040f
Check error return in a couple of spots.
2024-09-01 23:22:00 -04:00
Dianne Skoll
30e2e9c633
When looking at SATISFY expressions to make sure they use the trigger date, look recursively into user-defined functions in the expression also.
2024-08-28 17:49:12 -04:00
Dianne Skoll
8c072cd9b6
Add a warning if a function is redefined.
2024-08-27 21:41:45 -04:00
Dianne Skoll
b3cf741d15
Suppress warning in GCC 14.2.1. Patch courtesy of Emanuele Torre
Remind unit tests / tests (push) Successful in 38s
2024-08-23 07:44:36 -04:00
Dianne Skoll
526610bdd2
Stop parsing user func early if possible.
2024-07-02 09:16:47 -04:00
Dianne Skoll
0e010b56ec
Fix some error messages.
2024-06-03 17:59:11 -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
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
7728e09337
Don't allow duplicate arg names in function definitions.
2024-06-01 08:19:09 -04:00
Dianne Skoll
959355b19c
Stricter parsing of '-i' option.
2024-05-25 09:36:33 -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
72d10178bf
Mass-update copyright year to 2024.
2023-12-31 12:05:03 -05:00
Dianne Skoll
32e8db322d
Stricter parsing of SET command expressions.
2023-12-22 14:22:54 -05:00
Dianne Skoll
64fa71ab09
Avoid segfault if we define a function on the command-line with -i
2023-02-22 09:57:09 -05:00
Dianne Skoll
18f21693af
Clean up some warnings from cppcheck static analyzer.
2023-02-07 10:28:02 -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
2afe95d090
Fix typo in comment.
2022-10-18 17:25:59 -04:00
Dianne Skoll
dbe4c662c1
Add the "FUNSET" command to delete user-defined functions.
2022-10-12 14:12:13 -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