emacs/lisp/calc
Mattias Engdegård 7c1c251916 Calc: speed up math-read-preprocess-string (bug#67536)
`math-read-preprocess-string` is one of the bottlenecks of `calc-eval`
and was unnecessarily slow even with no substitutions made.
This affected org-mode in particular, where `calc-eval` is called
repeatedly to recalculate tables.

Reported by Raffael Stocker who also wrote the unit tests here.

* lisp/calc/calc-aent.el (math--read-preprocess-re-cache): New.
(math-read-preprocess-string):
Use math--read-preprocess-re-cache, first computing it if necessary.
* test/lisp/calc/calc-tests.el (calc-math-read-preprocess-string):
New test.
2023-12-19 17:11:07 +01:00
..
calc-aent.el Calc: speed up math-read-preprocess-string (bug#67536) 2023-12-19 17:11:07 +01:00
calc-alg.el
calc-arith.el
calc-bin.el
calc-comb.el
calc-cplx.el
calc-embed.el
calc-ext.el
calc-fin.el
calc-forms.el
calc-frac.el
calc-funcs.el
calc-graph.el
calc-help.el
calc-incom.el
calc-keypd.el
calc-lang.el
calc-macs.el
calc-map.el
calc-math.el
calc-menu.el
calc-misc.el
calc-mode.el
calc-mtx.el
calc-nlfit.el
calc-poly.el
calc-prog.el
calc-rewr.el
calc-rules.el
calc-sel.el
calc-stat.el
calc-store.el
calc-stuff.el
calc-trail.el
calc-undo.el
calc-units.el ; * lisp/calc/calc-units.el (math-standard-units): Fix typo. 2023-11-29 17:02:22 +01:00
calc-vec.el
calc-yank.el
calc.el Cease preloading touch-screen.el outside X and Android 2023-12-06 10:34:41 +08:00
calcalg2.el
calcalg3.el
calccomp.el
calcsel2.el