help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How does M-x completion works


From: Yannick Duchêne
Subject: Re: How does M-x completion works
Date: Tue, 23 Feb 2010 08:06:06 +0100
User-agent: Opera Mail/10.10 (Win32)

Le Mon, 22 Feb 2010 23:06:45 +0100, Colin S. Miller <no-spam-thank-you@csmiller.demon.co.uk> a écrit:

Hi Colin,

allout is probably still registered as an autoload.
Most of emacs's non-core functionality is provided by autoloaded functions.
And moreoever, it seems registered in an hard coded way, as the exe contains the string "autoload-mode".

An emacs autoload is where a function can be registered with emacs, but
not actually loaded.
When the function is first used in this instance of emacs, the defining
library is automatically loaded, and then the function is called as per usual. This allows emacs to provide a lot of functionality without the memory and start-up
over head of actually loading the function at start up.
Yes, I've seen about section 15.1 and 15.5 in the Emacs Lisp reference.
Something else also takes part here : a file named loaddefs.el, which contains a list of autoload definitions (which seems to confirm Emacs is not scanning modules at start up). I've also tried to remove this file, this does not change anything.

What does C-h f allout-mode  say?
Well, it gives the help about the allout moode :)

If it is "allout-mode is an interactive autoloaded Lisp function in `allout'."
Yes, it is.

then it's an unloaded autoload,
Yes, I was to remove it (as an example).

if its "allout-mode is an interactive compiled Lisp function in `allout.el'."
then allout-mode has actually been loaded.
Actually, it is not.

Well, as it seems to be a hard coded reference (I looked at strings contained in the exe, there seems to be a lot like this), I may try to add a script, which, at startup, will iterate on autoload definitions, check for each if the corresponding file exist, and if the file if not there, then remove the definition (if possible). Or perhaps, as an other alternative, recompile an Emacs without the unneeded hard coded definitions.

Happy writing

--
No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky


reply via email to

[Prev in Thread] Current Thread [Next in Thread]