Function: byte-compile-fset
byte-compile-fset is a byte-compiled function defined in
bytecomp.el.gz.
Signature
(byte-compile-fset FORM)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/bytecomp.el.gz
(defun byte-compile-fset (form)
;; warn about forms like (fset 'foo '(lambda () ...))
;; (where the lambda expression is non-trivial...)
(let ((fn (nth 2 form))
body)
(if (and (eq (car-safe fn) 'quote)
(eq (car-safe (setq fn (nth 1 fn))) 'lambda))
(progn
(setq body (cdr (cdr fn)))
(if (stringp (car body)) (setq body (cdr body)))
(if (eq 'interactive (car-safe (car body))) (setq body (cdr body)))
(if (and (consp (car body))
(not (eq 'byte-code (car (car body)))))
(byte-compile-warn-x
(nth 2 form)
"A quoted lambda form is the second argument of `fset'. This is probably
not what you want, as that lambda cannot be compiled. Consider using
the syntax #'(lambda (...) ...) instead.")))))
(byte-compile-two-args form))