Function: math-find-base-units
math-find-base-units is a byte-compiled function defined in
calc-units.el.gz.
Signature
(math-find-base-units ENTRY)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-units.el.gz
(defun math-find-base-units (entry)
(if (eq (nth 4 entry) 'boom)
(error "Circular definition involving unit %s" (car entry)))
(or (nth 4 entry)
(let (math-fbu-base
(math-fbu-entry entry))
(setcar (nthcdr 4 entry) 'boom)
(math-find-base-units-rec (nth 1 entry) 1)
'(or math-fbu-base
(error "Dimensionless definition for unit %s" (car entry)))
(while (eq (cdr (car math-fbu-base)) 0)
(setq math-fbu-base (cdr math-fbu-base)))
(let ((b math-fbu-base))
(while (cdr b)
(if (eq (cdr (car (cdr b))) 0)
(setcdr b (cdr (cdr b)))
(setq b (cdr b)))))
(setq math-fbu-base (sort math-fbu-base 'math-compare-unit-names))
(setcar (nthcdr 4 entry) math-fbu-base)
math-fbu-base)))