Function: calc-refresh-evaltos

calc-refresh-evaltos is a byte-compiled function defined in calc-ext.el.gz.

Signature

(calc-refresh-evaltos &optional WHICH-VAR)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-ext.el.gz
(defun calc-refresh-evaltos (&optional which-var)
  (and calc-any-evaltos calc-auto-recompute (not calc-no-refresh-evaltos)
       (let ((calc-refreshing-evaltos t)
	     (num (calc-stack-size))
	     (calc-undo-list nil) (calc-redo-list nil)
	     value new-val)
	 (while (> num 0)
	   (setq value (calc-top num 'entry))
	   (if (and (not (nth 2 value))
		    (setq value (car value))
		    (or (eq (car-safe value) 'calcFunc-evalto)
			(and (eq (car-safe value) 'vec)
			     (eq (car-safe (nth 1 value)) 'calcFunc-evalto))))
	       (progn
		 (setq new-val (math-normalize value))
		 (or (equal new-val value)
		     (progn
		       (calc-push-list (list new-val) num)
		       (calc-pop-stack 1 (1+ num) t)))))
	   (setq num (1- num)))))
  (and calc-embedded-active which-var
       (calc-embedded-var-change which-var)))