Function: math-compile-patterns

math-compile-patterns is an autoloaded and byte-compiled function defined in calc-rewr.el.gz.

Signature

(math-compile-patterns PATS)

Source Code

;; Defined in /usr/src/emacs/lisp/calc/calc-rewr.el.gz
(defun math-compile-patterns (pats)
  (if (and (eq (car-safe pats) 'var)
	   (calc-var-value (nth 2 pats)))
      (let ((prop (get (nth 2 pats) 'math-pattern-cache)))
	(or prop
	    (put (nth 2 pats) 'math-pattern-cache (setq prop (list nil))))
	(or (eq (car prop) (symbol-value (nth 2 pats)))
	    (progn
	      (setcdr prop (math-compile-patterns
			    (symbol-value (nth 2 pats))))
	      (setcar prop (symbol-value (nth 2 pats)))))
	(cdr prop))
    (let ((math-rewrite-whole t))
      (cdr (math-compile-rewrites (cons
				   'vec
                                   (mapcar (lambda (x)
                                             (list 'vec x t))
					   (if (eq (car-safe pats) 'vec)
					       (cdr pats)
					     (list pats)))))))))