Function: vtable--compute-columns
vtable--compute-columns is a byte-compiled function defined in
vtable.el.gz.
Signature
(vtable--compute-columns TABLE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/vtable.el.gz
(defun vtable--compute-columns (table)
(let ((numerical (make-vector (length (vtable-columns table)) t))
(columns (vtable-columns table)))
;; First determine whether there are any all-numerical columns.
(dolist (object (vtable-objects table))
(seq-do-indexed
(lambda (_elem index)
(unless (numberp (vtable--get-value object index (elt columns index)
table))
(setf (elt numerical index) nil)))
(vtable-columns table)))
;; Then fill in defaults.
(seq-map-indexed
(lambda (column index)
;; This is used when displaying.
(unless (vtable-column-align column)
(setf (vtable-column-align column)
(if (elt numerical index)
'right
'left)))
;; This is used for sorting.
(setf (vtable-column--numerical column)
(elt numerical index))
column)
(vtable-columns table))))