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)))))