Function: byte-compile-file-form-require

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

Signature

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

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-file-form-require (form)
  (let* ((args (mapcar #'eval (cdr form)))
         ;; The following is for the byte-compile-warn in
         ;; `do-after-load-evaluation' (in subr.el).
         (byte-compile-form-stack (cons (car args) byte-compile-form-stack))
         hist-new prov-cons)
    (apply #'require args)

    ;; Record the functions defined by the require in `byte-compile-new-defuns'.
    (setq hist-new load-history)
    (setq prov-cons (cons 'provide (car args)))
    (while (and hist-new
                (not (member prov-cons (car hist-new))))
      (setq hist-new (cdr hist-new)))
    (when hist-new
      (dolist (x (car hist-new))
        (when (and (consp x)
                   (memq (car x) '(defun t)))
          (push (cdr x) byte-compile-new-defuns)))))
  (byte-compile-keep-pending form 'byte-compile-normal-call))