Function: byte-optimize--substitutable-p
byte-optimize--substitutable-p is a byte-compiled function defined in
byte-opt.el.gz.
Signature
(byte-optimize--substitutable-p EXPR)
Documentation
Whether EXPR is a constant that can be propagated.
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-opt.el.gz
(defun byte-optimize--substitutable-p (expr)
"Whether EXPR is a constant that can be propagated."
(or (booleanp expr)
(numberp expr)
(arrayp expr)
(let ((head (car-safe expr)))
(cond ((eq head 'quote) t)
;; Don't substitute #'(lambda ...) since that would enable
;; uncontrolled inlining.
((eq head 'function) (symbolp (cadr expr)))
;; (internal-get-closed-var N) can be considered constant for
;; const-prop purposes.
((eq head 'internal-get-closed-var) (integerp (cadr expr)))))
(keywordp expr)))