Function: calc-comma
calc-comma is an autoloaded, interactive and byte-compiled function
defined in calc-incom.el.gz.
Signature
(calc-comma &optional ALLOW-POLAR)
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/calc/calc-incom.el.gz
(defun calc-comma (&optional allow-polar)
(interactive)
(calc-wrapper
(let ((num (calc-find-first-incomplete
(nthcdr calc-stack-top calc-stack) 1)))
(if (= num 0)
(error "Not entering a vector or complex number"))
(let* ((inc (calc-top num))
(stuff (calc-top-list (1- num)))
(new (append inc stuff)))
(if (and (null stuff)
(not allow-polar)
(or (eq (nth 1 inc) 'vec)
(< (length new) 4)))
(setq new (append new
(if (= (length new) 2)
'(0)
(nthcdr (1- (length new)) new)))))
(or allow-polar
(if (eq (nth 1 new) 'polar)
(setq new (append '(incomplete cplx) (cdr (cdr new))))
(if (eq (nth 1 new) 'intv)
(setq new (append '(incomplete cplx)
(cdr (cdr (cdr new))))))))
(if (and (memq (nth 1 new) '(cplx polar))
(> (length new) 4))
(error "Too many components in complex number"))
(if (and (eq (nth 1 new) 'intv)
(> (length new) 5))
(error "Too many components in interval form"))
(calc-pop-push num new)))))