As old as m4 is, and for as little time as I get to spend on it these days, I'm still impressed that I can find bugs (you'd expect that "eval(1||1/0)" and "eval(1||(1/0))" would behave the same) and then fix them in short order. And it is always fun when fewer lines of code results in faster execution.
I guess that means I need to release 1.4.20 soon... Eric Blake (5): builtin: Reduce use of trivial strlen builtin: Reduce use of redundant strlen symtab: Reduce redundant strlen on macro names builtin: favor xmemdup0 over xstrdup when length is known eval: Overhaul implementation for speed and correctness NEWS | 8 + doc/m4.texi | 8 +- m4/gnulib-cache.m4 | 2 + src/builtin.c | 169 +++++----- src/debug.c | 2 +- src/eval.c | 771 +++++++++++++++------------------------------ src/freeze.c | 3 +- src/input.c | 1 + src/m4.c | 9 +- src/m4.h | 17 +- src/macro.c | 8 +- src/output.c | 2 +- src/symtab.c | 26 +- 13 files changed, 417 insertions(+), 609 deletions(-) base-commit: d8000cb41178f63c2cba8daa92443f1a6a2f785a -- 2.48.1 _______________________________________________ M4-patches mailing list M4-patches@gnu.org https://lists.gnu.org/mailman/listinfo/m4-patches