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)))))