7c1c251916
`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. |
||
---|---|---|
.. | ||
calc-aent.el | ||
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 | ||
calc-vec.el | ||
calc-yank.el | ||
calc.el | ||
calcalg2.el | ||
calcalg3.el | ||
calccomp.el | ||
calcsel2.el |