Function: byte-compile-output-file-form

byte-compile-output-file-form is a byte-compiled function defined in bytecomp.el.gz.

Signature

(byte-compile-output-file-form FORM)

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-output-file-form (form)
  ;; Write the given form to the output buffer, being careful of docstrings
  ;; (for `byte-compile-dynamic-docstrings') in defvar, defvaralias,
  ;; defconst, autoload, and custom-declare-variable.
  ;; defalias calls are output directly by byte-compile-file-form-defmumble;
  ;; it does not pay to first build the defalias in defmumble and then parse
  ;; it here.
  (when byte-native-compiling
    ;; Spill output for the native compiler here
    (push (make-byte-to-native-top-level :form form :lexical lexical-binding)
          byte-to-native-top-level-forms))
  (let ((print-symbols-bare t)          ; Possibly redundant binding.
        (print-escape-newlines t)
        (print-length nil)
        (print-level nil)
        (print-quoted t)
        (print-gensym t)
        (print-circle t))               ; Handle circular data structures.
    (if (and (memq (car-safe form) '(defvar defvaralias defconst
                                      autoload custom-declare-variable))
             (stringp (nth 3 form)))
        (byte-compile-output-docform nil nil '("\n(" 3 ")") form nil
                                     (memq (car form)
                                           '(defvaralias autoload
                                              custom-declare-variable)))
      (princ "\n" byte-compile--outbuffer)
      (prin1 form byte-compile--outbuffer)
      nil)))