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