Is eval-when-compile
a special form (primitive in C), or a macro?
According to the elisp manual, C-h S eval-when-compile RET
,
Special Form: eval-when-compile body...
But according to C-h f eval-when-compile RET
,
eval-when-compile is a Lisp macro in ‘byte-run.el’
I'm trying to understand the difference between eval-when-compile
and eval-and-compile
. They have identical macro definitions in byte-run.el, but since the manual says they're special forms, rather than macros, I suspect there's something I'm missing.