Function: calc-store-exchange

calc-store-exchange is an autoloaded, interactive and byte-compiled function defined in calc-store.el.gz.

Signature

(calc-store-exchange &optional VAR)

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-store.el.gz
(defun calc-store-exchange (&optional var)
  (interactive)
  (calc-wrapper
   (let ((calc-given-value nil)
	 (calc-given-value-flag 1)
	 top)
     (or var (setq var (calc-read-var-name "Exchange with: ")))
     (if var
	 (let ((value (calc-var-value var)))
	   (if (eq (car-safe value) 'special-const)
	       (error "\"%s\" is a special constant" (calc-var-name var)))
	   (if (not value)
               (if (memq var '(var-inf var-uinf var-nan))
                   (error "\"%s\" is a special variable" (calc-var-name var))
                 (error "No such variable: \"%s\"" (calc-var-name var))))
	   (setq top (or calc-given-value (calc-top 1)))
	   (calc-store-value var top nil)
	   (calc-pop-push-record calc-given-value-flag
				 (concat "<>" (calc-var-name var)) value))))))