Shouldn't the mew people be involved with this discussion?
>>>> "SJT" == Stephen J Turnbull
<turnbull(a)sk.tsukuba.ac.jp> writes:
>>>> "SY" == Steve Youngs
<youngs(a)xemacs.org> writes:
SY> This sounds good. I'd only need to add
(require 'poe) to one
SY> .el wouldn't I, like ./mew/mew/mew.el?
SJT> No, that would depend on what each individual file requires.
SJT> Just put it in all of them.
(require)'s should only go into those files that ... require it.
SJT> If Lisp only had functions, we would not need to worry about requires
SJT> at build time. (We might want to, for error checking etc, but we
SJT> wouldn't need to.) The problem is macros. A macro gets evaluated
SJT> twice. The first time, its arguments are treated as literals, and a
SJT> new sexp is returned. _This sexp is a compile-time constant._
SJT> So macros are expanded by the bytecompiler for efficiency. The
SJT> problem is that the bytecompiler provides _no_ facility for lazy
SJT> evaluation of macros
About the only way it could do that is to not byte-compile the code at
all. And if you wanted to always use the run-time definition of a
macro, you could never expand macros at compile-time anyways. You may
as well not have a byte-compiler. And the user does have that option.