Avoid recomputing the whole table in 'vtable--recompute-numerical'

Each element of LINE being tested is a list, the first element of
which is the value actually being represented in the table.
Previously, the 'numberp' test would always fail, because it was
being compared with the list rather than the intended value in it;
that could cause the whole table to be recomputed, sometimes
unnecessarily.
* lisp/emacs-lisp/vtable.el (vtable--recompute-numerical): Test the
car of ELEM, not ELEM itself, which is a list.  (Bug#69927)
This commit is contained in:
Adam Porter 2024-03-21 02:13:28 -05:00 committed by Eli Zaretskii
parent ad0492c5a9
commit b3f04eb684

View file

@ -743,7 +743,7 @@ If NEXT, do the next column."
(seq-do-indexed
(lambda (elem index)
(when (and (vtable-column--numerical (elt columns index))
(not (numberp elem)))
(not (numberp (car elem))))
(setq recompute t)))
line)
(when recompute