Function: cl--simple-expr-p
cl--simple-expr-p is a byte-compiled function defined in
cl-macs.el.gz.
Signature
(cl--simple-expr-p X &optional SIZE)
Documentation
Check if no side effects, and executes quickly.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/cl-macs.el.gz
(defun cl--simple-expr-p (x &optional size)
"Check if no side effects, and executes quickly."
(or size (setq size 10))
(if (and (consp x) (not (memq (car x) '(quote function cl-function))))
(and (symbolp (car x))
(or (memq (car x) cl--simple-funcs)
(get (car x) 'side-effect-free))
(progn
(setq size (1- size))
(while (and (setq x (cdr x))
(setq size (cl--simple-expr-p (car x) size))))
(and (null x) (>= size 0) size)))
(and (> size 0) (1- size))))