Function: byte-compile-and-folded

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

Signature

(byte-compile-and-folded FORM)

Documentation

Compile calls to functions like <=.

These implicitly and together a bunch of two-arg bytecodes.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-and-folded (form)
  "Compile calls to functions like `<='.
These implicitly `and' together a bunch of two-arg bytecodes."
  (let ((l (length form)))
    (cond
     ((< l 3) (byte-compile-form `(progn ,(nth 1 form) t)))
     ((= l 3) (byte-compile-two-args form))
     ;; Don't use `cl-every' here (see comment where we require cl-lib).
     ((not (memq nil (mapcar #'macroexp-copyable-p (nthcdr 2 form))))
      (byte-compile-form `(and (,(car form) ,(nth 1 form) ,(nth 2 form))
			       (,(car form) ,@(nthcdr 2 form)))))
     (t (byte-compile-normal-call form)))))