From: Sean C. <gi...@gm...> - 2006-07-30 04:54:21
|
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. |
From: Sean C. <gi...@gm...> - 2006-07-30 05:00:06
|
Sean Champ wrote: > 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. I can correct myself, there. I'd expect that the following would be a right form for the macro, also including the :EXECUTE context : > (defmacro el::eval-when-compile (&rest body) > `(eval-when (:compile-toplevel :execute) ,@body)) This was in regards to a form in CLOCC src/cllib/elisp.lisp -- sean |