Didier Verna <didier(a)xemacs.org> writes:
It seems that a (require 'something) line in a file is executed
during
byte-compilation.
Yes, that's in order to get macros, variable declarations, function
definitions, etc., from the package that is being required.
That seems wrong to me, since if that is really what you want, you
can 'eval-and-compile it.
Maybe that's a matter of taste, but I rarely use eval-and-compile and
friends, and when I do, it's only for special hacks with the
byte-compiler, usually to achieve compatibility across Emacs versions.
`require', on the other hand, means that you require the presence of
the package to run and presumably to compile your own package. Having
to wrap each `require' in `eval-and-compile' would be annoying for me.
Finally, there's the matter of what Common Lisp does. I wouldn't be
surprised if it were the same.