Function: byte-compile-preprocess

byte-compile-preprocess is a byte-compiled function defined in bytecomp.el.gz.

Signature

(byte-compile-preprocess FORM &optional FOR-EFFECT)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-preprocess (form &optional _for-effect)
  (let ((print-symbols-bare t))         ; Possibly redundant binding.
    (setq form (macroexpand-all form byte-compile-macro-environment)))
  ;; FIXME: We should run byte-optimize-form here, but it currently does not
  ;; recurse through all the code, so we'd have to fix this first.
  ;; Maybe a good fix would be to merge byte-optimize-form into
  ;; macroexpand-all.
  ;; (if (memq byte-optimize '(t source))
  ;;     (setq form (byte-optimize-form form for-effect)))
  (cconv-closure-convert form byte-compile-bound-variables))