Function: math-build-call

math-build-call is an autoloaded and byte-compiled function defined in calc-map.el.gz.

Signature

(math-build-call F ARGS)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-map.el.gz
;;; Expand a function call using "lambda" notation.
(defun math-build-call (f args)
  (if (eq (car-safe f) 'calcFunc-lambda)
      (if (= (length args) (- (length f) 2))
	  (math-multi-subst (nth (1- (length f)) f) (cdr f) args)
	(calc-record-why "*Wrong number of arguments" f)
	(cons 'calcFunc-call (cons (math-calcFunc-to-var f) args)))
    (if (and (eq f 'calcFunc-neg)
	     (= (length args) 1))
	(list 'neg (car args))
      (let ((func (assq f '( ( calcFunc-add . + )
			     ( calcFunc-sub . - )
			     ( calcFunc-mul . * )
			     ( calcFunc-div . / )
			     ( calcFunc-pow . ^ )
			     ( calcFunc-mod . % )
			     ( calcFunc-vconcat . | ) ))))
	(if (and func (= (length args) 2))
	    (cons (cdr func) args)
	  (cons f args))))))