Hrvoje Niksic writes:
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.
ANSI Common Lisp has deprecated the use of PROVIDE and REQUIRE.
Their behaviour was never completely specified and, consequently, they
were implemented differently by different vendors.
Craig
--
----------------------------------------------------------------------
Craig Lanning Principal Engineer
Logicon, Inc.
a Northrop Grumman company E-Mail: Lanning(a)scra.org
5300 International Blvd. Voice: 843-760-3246
North Charleston, SC 29418 FAX: 843-760-3780
USA