Function: vtable--sort
vtable--sort is a byte-compiled function defined in vtable.el.gz.
Signature
(vtable--sort TABLE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/vtable.el.gz
(defun vtable--sort (table)
(pcase-dolist (`(,index . ,direction) (vtable-sort-by table))
(let ((cache (vtable--cache table))
(numerical (vtable-column--numerical
(elt (vtable-columns table) index)))
(numcomp (if (eq direction 'descend)
#'> #'<))
(stringcomp (if (eq direction 'descend)
#'string> #'string<)))
(setcar cache
(sort (car cache)
(lambda (e1 e2)
(let ((c1 (elt e1 (1+ index)))
(c2 (elt e2 (1+ index))))
(if numerical
(funcall numcomp (car c1) (car c2))
(funcall
stringcomp
(if (stringp (car c1))
(car c1)
(format "%s" (car c1)))
(if (stringp (car c2))
(car c2)
(format "%s" (car c2))))))))))))