Question : EL::EVAL-WHEN-COMPILE - when to eval

Sean Champ <[email protected]> Sat, 29 Jul 2006 21:53:59 -0700
Newsgroups gmane.lisp.clocc.devel
Message-ID <[email protected]>
I notice the following in CLOCC src/cllib/elisp.lisp:

> (defmacro el::eval-when-compile (&rest body)
>   `(eval-when (:compile-toplevel :load-toplevel) ,@body))

That text, actually, is after I'd patched it[1]. It should read, originally,
as so:

> (defmacro el::eval-when-compile (&rest body)
>   `(eval-when (compile load) ,@body))


I'm wondering: 

Why would that form execute the body also during LOAD-TOPLEVEL ?

I would think that it would be in the making of a correct match onto the
Emacs behaviors, to execute the BODY code only during :COMPILE-TOPLEVEL. If
I'd be wrong, there, then I stand to be corrected.


--
Sean




[1] I had found that item of code, while making a patch onto the older
eval-when forms, presently used across the CLOCC codebase. I will post a
patch to the list, after I'll have made all the old-style EVAL-WHEN calls
to be replaced with more contemporary forms, in my local source tree. In
this little effort, send & grep have been of some help.


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV