Function: byte-optimize-apply
byte-optimize-apply is a byte-compiled function defined in
byte-opt.el.gz.
Signature
(byte-optimize-apply FORM)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/byte-opt.el.gz
(defun byte-optimize-apply (form)
(let ((len (length form)))
(if (>= len 2)
(let ((fn (nth 1 form))
(last (nth (1- len) form)))
(cond
;; (apply F ... '(X Y ...)) -> (funcall F ... 'X 'Y ...)
((or (null last)
(eq (car-safe last) 'quote))
(let ((last-value (nth 1 last)))
(if (listp last-value)
`(funcall ,fn ,@(butlast (cddr form))
,@(mapcar (lambda (x) (list 'quote x)) last-value))
(byte-compile-warn-x
last "last arg to apply can't be a literal atom: `%s'" last)
nil)))
;; (apply F ... (list X Y ...)) -> (funcall F ... X Y ...)
((eq (car-safe last) 'list)
`(funcall ,fn ,@(butlast (cddr form)) ,@(cdr last)))
(t form)))
form)))