Function: calc-read-var-name
calc-read-var-name is an autoloaded and byte-compiled function defined
in calc-store.el.gz.
Signature
(calc-read-var-name PROMPT &optional STORE-OPERS)
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-store.el.gz
(defun calc-read-var-name (prompt &optional store-opers)
(setq calc-given-value nil
calc-aborted-prefix nil)
(let* ((calc-store-opers store-opers)
(var (concat
"var-"
(minibuffer-with-setup-hook
(lambda ()
(setq-local minibuffer-completion-table
(mapcar (lambda (x) (substring x 4))
(all-completions "var-" obarray)))
(setq-local minibuffer-completion-predicate
(lambda (x)
(boundp (intern (concat "var-" x)))))
(setq-local minibuffer-completion-confirm t))
(read-from-minibuffer
prompt nil calc-var-name-map nil
'calc-read-var-name-history)))))
(setq calc-aborted-prefix "")
(and (not (equal var "var-"))
(if (string-match "\\`\\([-a-zA-Zα-ωΑ-Ω0-9]+\\) *:?=" var)
(if (null calc-given-value-flag)
(error "Assignment is not allowed in this command")
(let ((svar (intern (substring var 0 (match-end 1)))))
(setq calc-given-value-flag 0
calc-given-value (math-read-expr
(substring var (match-end 0))))
(if (eq (car-safe calc-given-value) 'error)
(error "Bad format: %s" (nth 2 calc-given-value)))
(setq calc-given-value (math-evaluate-expr calc-given-value))
svar))
(intern var)))))