Richard Stallman <[EMAIL PROTECTED]> writes: > (require 'ft) only loads a file if 'ft is not in features. However, > it unconditionally adds '(require . ft) to current-load-list. If you > call a function with require a million times, this eats up 16 MB of > memory. > > This was done deliberately. The idea is that it's useful > to record that file foo depends on file bar, even if bar > was already loaded before foo.
It is not _file_ foo, but _function_ foo that did (require 'bar). Why is it useful to record that? For what purpose? There is no active "load" or "autoload" in progress, so the require is done in "interactive" context. > > However, it isn't useful to record (require . bar) an additional time > in current-load-list when it's already there. So I think the right fix > is to check with Fmember and not add it a second time. Which means that (require 'bar) called from a function will definitely be slowed down (depending on the length of current-load-list)! Would it work to only add to current-load-list if loading != 0 ? -- Kim F. Storm <[EMAIL PROTECTED]> http://www.cua.dk _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel