* How does M-x completion works @ 2010-02-22 12:35 Hibou57 (Yannick Duchêne) 2010-02-22 16:34 ` Lennart Borgman ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-22 12:35 UTC (permalink / raw) To: help-gnu-emacs Hi boys and girls, I was stripping off from my Emacs on Windows, every things I do not need or use (or which is not design as I would like). But something does not seems logical to me : as an example, I have removed the Allout package (allout.el), Ok, but when I do a M-x TAB, allout-mode is still there (and obviously fails if I hit ENTER, as I've removed it). I've run search for allout inclusions in all *.el files, but this did not solve the trick. Do some one know how M-x completion works ? Is it hard coded in the Emacs executable ? By the way, is there somewhere a document which would describe the base line of the Emacs architecture ? This may be useful to me to figure out what is really optional and what is not. Have a nice day -- No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-22 12:35 How does M-x completion works Hibou57 (Yannick Duchêne) @ 2010-02-22 16:34 ` Lennart Borgman [not found] ` <4B82A7A4.6050005@easy-emacs.de> 2010-02-22 22:06 ` Colin S. Miller 2 siblings, 0 replies; 19+ messages in thread From: Lennart Borgman @ 2010-02-22 16:34 UTC (permalink / raw) To: Hibou57 (Yannick Duchêne); +Cc: help-gnu-emacs On Mon, Feb 22, 2010 at 1:35 PM, Hibou57 (Yannick Duchêne) <yannick_duchene@yahoo.fr> wrote: > Hi boys and girls, Hi Yannic, Maybe it would be easier for you if you first tried to describe for yourself what you really want to do? > I was stripping off from my Emacs on Windows, every things I do not need or > use (or which is not design as I would like). But something does not seems > logical to me : as an example, I have removed the Allout package > (allout.el), Ok, but when I do a M-x TAB, allout-mode is still there (and > obviously fails if I hit ENTER, as I've removed it). I've run search for > allout inclusions in all *.el files, but this did not solve the trick. > > Do some one know how M-x completion works ? Is it hard coded in the Emacs > executable ? > > By the way, is there somewhere a document which would describe the base line > of the Emacs architecture ? This may be useful to me to figure out what is > really optional and what is not. > > Have a nice day > > -- > No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not > lucky > ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <4B82A7A4.6050005@easy-emacs.de>]
[parent not found: <op.u8jfv6nuesn74s@garhos>]
* Re: How does M-x completion works [not found] ` <op.u8jfv6nuesn74s@garhos> @ 2010-02-22 17:42 ` Andreas Röhler 0 siblings, 0 replies; 19+ messages in thread From: Andreas Röhler @ 2010-02-22 17:42 UTC (permalink / raw) To: yannick_duchene; +Cc: help-gnu-emacs Yannick wrote: > Hi, and thanks for the reply, > > On Mon, 22 Feb 2010 16:49:56 +0100, Andreas Röhler > <andreas.roehler@easy-emacs.de> wrote: >>> I was stripping off from my Emacs on Windows, every things I do not need >>> or use (or which is not design as I would like). But something does not >>> seems logical to me : as an example, I have removed the Allout package >>> (allout.el), Ok, but when I do a M-x TAB, allout-mode is still there >>> (and obviously fails if I hit ENTER, as I've removed it). I've run >>> search for allout inclusions in all *.el files, but this did not solve >>> the trick. >>> >> >> M-x unload-feature > This was not the purpose : as an example, I've removed, deleted, the > allout.el file, but allout-mode still appears in completion of M-x. This > was the reason why I was wondering if weither or not the completion list > is hard-coded. I first though Emacs was scanning modules at startup, but > this does not seems to do so, as the allout.el file is no more there, > but Emacs still think it's there. Emacs is a complex machine. Maybe have a look at these helper-functions, which are in daily use here: http://repo.or.cz/w/elbb.git/blob/HEAD:/code/Go-to-Emacs-Lisp-Definition.el Good luck Andreas > >>> Do some one know how M-x completion works ? Is it hard coded in the >>> Emacs executable ? >> >> Try >> C-h complete- TAB >> >> for example. > Thanks, I know about Ctrl-h ;) > >>> By the way, is there somewhere a document which would describe the base >>> line of the Emacs architecture ? This may be useful to me to figure out >>> what is really optional and what is not. >>> >>> Have a nice day >>> >> >> To dig into a litte bit further: >> >> Take a course of the manual first >> C-h i m emacs >> Then have a look at the elisp intro >> C-h i m Emacs Lisp Intro >> >> Finally >> C-h i m Elisp >> >> Welcome >> >> Andreas > I've already read about half of the Emacs Lisp reference (still going > further), but so far, I did not found anything about the implementation > of this feature. I may have a deeper look at the source again. While by > the way, scanning files about the "allout" string (to keep the same > example), I've found the Emacs executable contains occurrences of this > text. So I suppose this is hard-coded, and not part of the Lisp > implementation. > > I had a look at XEmacs, to see if it's the same with this one, but > XEmacs seems less cleaner to me (at least, I don't like it as much as > the classic Emacs). > > I'm trying to have a bare minimum Emacs for Windows (as smallest as > possible), to be shipped with some sources which is just to be viewed > with one major mode I'm trying to create, that's the reason why of my > strange "tweaks" (any way, peoples who may want the full Emacs, will > still be able to get it at the official location). > > Thanks again > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-22 12:35 How does M-x completion works Hibou57 (Yannick Duchêne) 2010-02-22 16:34 ` Lennart Borgman [not found] ` <4B82A7A4.6050005@easy-emacs.de> @ 2010-02-22 22:06 ` Colin S. Miller 2010-02-23 7:06 ` Hibou57 (Yannick Duchêne) 2 siblings, 1 reply; 19+ messages in thread From: Colin S. Miller @ 2010-02-22 22:06 UTC (permalink / raw) To: help-gnu-emacs Hibou57 (Yannick Duchêne) wrote: > Hi boys and girls, > > I was stripping off from my Emacs on Windows, every things I do not need > or use (or which is not design as I would like). But something does not > seems logical to me : as an example, I have removed the Allout package > (allout.el), Ok, but when I do a M-x TAB, allout-mode is still there > (and obviously fails if I hit ENTER, as I've removed it). I've run > search for allout inclusions in all *.el files, but this did not solve > the trick. > Yannick, allout is probably still registered as an autoload. Most of emacs's non-core functionality is provided by autoloaded functions. 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. What does C-h f allout-mode say? If it is "allout-mode is an interactive autoloaded Lisp function in `allout'." then it's an unloaded autoload, if its "allout-mode is an interactive compiled Lisp function in `allout.el'." then allout-mode has actually been loaded. HTH, Colin S. Miller -- Replace the obvious in my email address with the first three letters of the hostname to reply. ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-22 22:06 ` Colin S. Miller @ 2010-02-23 7:06 ` Hibou57 (Yannick Duchêne) 2010-02-23 8:36 ` Barry Margolin 2010-02-24 4:10 ` Kevin Rodgers 0 siblings, 2 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-23 7:06 UTC (permalink / raw) To: help-gnu-emacs 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 ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 7:06 ` Hibou57 (Yannick Duchêne) @ 2010-02-23 8:36 ` Barry Margolin 2010-02-23 9:25 ` Hibou57 (Yannick Duchêne) 2010-02-24 4:10 ` Kevin Rodgers 1 sibling, 1 reply; 19+ messages in thread From: Barry Margolin @ 2010-02-23 8:36 UTC (permalink / raw) To: help-gnu-emacs [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain, Size: 782 bytes --] In article <op.u8kjcgzjvwnd5a@garhos>, Hibou57 (Yannick Duchêne) <yannick_duchene@yahoo.fr> wrote: > 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. Why? What problem do they cause? -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me *** *** PLEASE don't copy me on replies, I'll read them in the group *** ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 8:36 ` Barry Margolin @ 2010-02-23 9:25 ` Hibou57 (Yannick Duchêne) 2010-02-23 10:03 ` Andreas Röhler ` (2 more replies) 0 siblings, 3 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-23 9:25 UTC (permalink / raw) To: help-gnu-emacs >> 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. > > Why? What problem do they cause? Although removed, they are still shown by the auto-completion, that's the trouble. -- No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 9:25 ` Hibou57 (Yannick Duchêne) @ 2010-02-23 10:03 ` Andreas Röhler [not found] ` <mailman.1694.1266919287.14305.help-gnu-emacs@gnu.org> 2010-02-24 20:10 ` Stefan Monnier 2 siblings, 0 replies; 19+ messages in thread From: Andreas Röhler @ 2010-02-23 10:03 UTC (permalink / raw) To: help-gnu-emacs Hibou57 (Yannick Duchêne) wrote: >>> 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. >> >> Why? What problem do they cause? > Although removed, they are still shown by the auto-completion, AFAIK Emacs has no auto-completion in standard mode. Are severals out there, as predictive-mode, but not coming with Emacs. Could you describe the precise command your are using? BTW `complete-symbol' for example checks the tags table. Have a look if `tags-table-list' delivers it. Andres that's > the trouble. > > ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <mailman.1694.1266919287.14305.help-gnu-emacs@gnu.org>]
* Re: How does M-x completion works [not found] ` <mailman.1694.1266919287.14305.help-gnu-emacs@gnu.org> @ 2010-02-23 13:47 ` Hibou57 (Yannick Duchêne) 2010-02-23 15:18 ` Andreas Röhler [not found] ` <mailman.1706.1266938167.14305.help-gnu-emacs@gnu.org> 0 siblings, 2 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-23 13:47 UTC (permalink / raw) To: help-gnu-emacs Le Tue, 23 Feb 2010 11:03:25 +0100, Andreas Röhler <andreas.roehler@easy-emacs.de> a écrit: > AFAIK Emacs has no auto-completion in standard mode. > Are severals out there, as predictive-mode, but not coming with Emacs. > > Could you describe the precise command your are using? > > BTW `complete-symbol' for example checks the tags table. > Have a look if `tags-table-list' delivers it. > > Andres May be I did not choose the good words. I was not talking about CTags, I was talking about what you get when you do "M-x [TAB]". I call it "completion", but may be this is not the good word. -- No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 13:47 ` Hibou57 (Yannick Duchêne) @ 2010-02-23 15:18 ` Andreas Röhler 2010-02-24 3:44 ` Kevin Rodgers [not found] ` <mailman.1758.1266983111.14305.help-gnu-emacs@gnu.org> [not found] ` <mailman.1706.1266938167.14305.help-gnu-emacs@gnu.org> 1 sibling, 2 replies; 19+ messages in thread From: Andreas Röhler @ 2010-02-23 15:18 UTC (permalink / raw) To: help-gnu-emacs Hibou57 (Yannick Duchêne) wrote: > Le Tue, 23 Feb 2010 11:03:25 +0100, Andreas Röhler > <andreas.roehler@easy-emacs.de> a écrit: >> AFAIK Emacs has no auto-completion in standard mode. >> Are severals out there, as predictive-mode, but not coming with Emacs. >> >> Could you describe the precise command your are using? >> >> BTW `complete-symbol' for example checks the tags table. >> Have a look if `tags-table-list' delivers it. >> >> Andres > May be I did not choose the good words. Just took occasion making you aware of the auto-complete modes.. :-) I was not talking about CTags, I > was talking about what you get when you do "M-x [TAB]". I call it > "completion", but may be this is not the good word. > Than it's pretty probable it consults the tags-table. You have delete it from there. Andreas ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 15:18 ` Andreas Röhler @ 2010-02-24 3:44 ` Kevin Rodgers 2010-02-26 13:12 ` Andreas Röhler [not found] ` <mailman.1758.1266983111.14305.help-gnu-emacs@gnu.org> 1 sibling, 1 reply; 19+ messages in thread From: Kevin Rodgers @ 2010-02-24 3:44 UTC (permalink / raw) To: help-gnu-emacs Andreas Röhler wrote: > Hibou57 (Yannick Duchêne) wrote: > > May be I did not choose the good words. I was not talking about CTags, I was > > talking about what you get when you do "M-x [TAB]". I call it "completion", > > but may be this is not the good word. Completion is the correct term. > Than it's pretty probable it consults the tags-table. You have delete it from there. No. Compare the Completion node of the Emacs manual with the Tags node: | Some arguments allow "completion" to enter their value. This means | that after you type part of the argument, Emacs can fill in the rest, | or some of it, based on what you have typed so far. | ... | For example, `M-x' uses the minibuffer to read the name of a | command, so it provides a list of all Emacs command names for | completion candidates. | A "tags table" is a description of how a multi-file program is broken | up into files. It lists the names of the component files and the names | and positions of the functions (or other named subunits) in each file. -- Kevin Rodgers Denver, Colorado, USA ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-24 3:44 ` Kevin Rodgers @ 2010-02-26 13:12 ` Andreas Röhler 0 siblings, 0 replies; 19+ messages in thread From: Andreas Röhler @ 2010-02-26 13:12 UTC (permalink / raw) To: help-gnu-emacs Kevin Rodgers wrote: > Andreas Röhler wrote: >> Hibou57 (Yannick Duchêne) wrote: >> > May be I did not choose the good words. I was not talking about > CTags, I was > > talking about what you get when you do "M-x [TAB]". I > call it "completion", > > but may be this is not the good word. > > Completion is the correct term. > >> Than it's pretty probable it consults the tags-table. You have delete >> it from there. > > No. Compare the Completion node of the Emacs manual with the Tags node: > > | Some arguments allow "completion" to enter their value. This means > | that after you type part of the argument, Emacs can fill in the rest, > | or some of it, based on what you have typed so far. > | ... > | For example, `M-x' uses the minibuffer to read the name of a > | command, so it provides a list of all Emacs command names for > | completion candidates. > > > | A "tags table" is a description of how a multi-file program is broken > | up into files. It lists the names of the component files and the names > | and positions of the functions (or other named subunits) in each file. > Hi Kevin, think completion may visit tags-table for possible completions. Here is for example how complete-symbol is defined: (defun complete-symbol (arg) "Perform tags completion on the text around point. If a tags table is loaded, call `complete-tag'. Otherwise, if Semantic is active, call `semantic-ia-complete-symbol'. With a prefix argument, this command does completion within the collection of symbols listed in the index of the manual for the language you are using." (interactive "P") (cond (arg (info-complete-symbol)) ((or tags-table-list tags-file-name) (complete-tag)) ((and (fboundp 'semantic-ia-complete-symbol) (fboundp 'semantic-active-p) (semantic-active-p)) (semantic-ia-complete-symbol)) (t (error "%s" (substitute-command-keys "No completions available; use \\[visit-tags-table] \ or \\[semantic-mode]"))))) ;;;;; AFAIU several hooks/variables may be in use, depending from the context, so completion may be performed in several ways. Seems a complex matter. Andreas -- https://code.launchpad.net/~a-roehler/python-mode https://code.launchpad.net/s-x-emacs-werkstatt/ ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <mailman.1758.1266983111.14305.help-gnu-emacs@gnu.org>]
* Re: How does M-x completion works [not found] ` <mailman.1758.1266983111.14305.help-gnu-emacs@gnu.org> @ 2010-02-26 11:58 ` Hibou57 (Yannick Duchêne) 0 siblings, 0 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-26 11:58 UTC (permalink / raw) To: help-gnu-emacs Le Wed, 24 Feb 2010 04:44:54 +0100, Kevin Rodgers <kevin.d.rodgers@gmail.com> a écrit: > No. Compare the Completion node of the Emacs manual with the Tags node: > > | Some arguments allow "completion" to enter their value. This means > | that after you type part of the argument, Emacs can fill in the rest, > | or some of it, based on what you have typed so far. > | ... > | For example, `M-x' uses the minibuffer to read the name of a > | command, so it provides a list of all Emacs command names for > | completion candidates. > > > | A "tags table" is a description of how a multi-file program is broken > | up into files. It lists the names of the component files and the names > | and positions of the functions (or other named subunits) in each file. > Thanks for the point Kevin. I was starting to feel lost and wondering if I did really understand the manual. So you confirm these are really different things. I feel better now. -- No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <mailman.1706.1266938167.14305.help-gnu-emacs@gnu.org>]
* Re: How does M-x completion works [not found] ` <mailman.1706.1266938167.14305.help-gnu-emacs@gnu.org> @ 2010-02-23 17:17 ` Hibou57 (Yannick Duchêne) 2010-02-23 19:32 ` Andreas Röhler [not found] ` <mailman.1728.1266953431.14305.help-gnu-emacs@gnu.org> 0 siblings, 2 replies; 19+ messages in thread From: Hibou57 (Yannick Duchêne) @ 2010-02-23 17:17 UTC (permalink / raw) To: help-gnu-emacs Le Tue, 23 Feb 2010 16:18:05 +0100, Andreas Röhler <andreas.roehler@easy-emacs.de> a écrit: > Than it's pretty probable it consults the tags-table. You have delete it > from there. Yes, I have no tags file (you've mint I've deleted it), then so, which list does Emacs use in such circumstance ? An internal list shipped inside of Emacs, isn't it ? (I suppose) -- No-no, this isn't an oops ...or I hope (TM) - Don't blame me... I'm just not lucky ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 17:17 ` Hibou57 (Yannick Duchêne) @ 2010-02-23 19:32 ` Andreas Röhler [not found] ` <mailman.1728.1266953431.14305.help-gnu-emacs@gnu.org> 1 sibling, 0 replies; 19+ messages in thread From: Andreas Röhler @ 2010-02-23 19:32 UTC (permalink / raw) To: help-gnu-emacs Hibou57 (Yannick Duchêne) wrote: > Le Tue, 23 Feb 2010 16:18:05 +0100, Andreas Röhler > <andreas.roehler@easy-emacs.de> a écrit: >> Than it's pretty probable it consults the tags-table. You have delete >> it from there. > Yes, I have no tags file (you've mint I've deleted it), then so, which > list does Emacs use in such circumstance ? An internal list shipped > inside of Emacs, isn't it ? (I suppose) > Rather not. Hhm, you said you've done search already. If not, I'd recommend a M-y grep-find find . -type f -name "*.el" -print0 | xargs -0 -e grep -nH -e "allout" But you said, it's done. Did you restart Emacs after deletions? Start emacs -Q Then it should be gone. Afterwards load your .emacs step by step and see, if its loaded again. HTH Andreas ^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <mailman.1728.1266953431.14305.help-gnu-emacs@gnu.org>]
* Re: How does M-x completion works [not found] ` <mailman.1728.1266953431.14305.help-gnu-emacs@gnu.org> @ 2010-02-23 21:24 ` Tim X 2010-02-24 4:08 ` Kevin Rodgers 0 siblings, 1 reply; 19+ messages in thread From: Tim X @ 2010-02-23 21:24 UTC (permalink / raw) To: help-gnu-emacs Andreas Röhler <andreas.roehler@easy-emacs.de> writes: > Hibou57 (Yannick Duchêne) wrote: >> Le Tue, 23 Feb 2010 16:18:05 +0100, Andreas Röhler >> <andreas.roehler@easy-emacs.de> a écrit: >>> Than it's pretty probable it consults the tags-table. You have delete >>> it from there. >> Yes, I have no tags file (you've mint I've deleted it), then so, which >> list does Emacs use in such circumstance ? An internal list shipped >> inside of Emacs, isn't it ? (I suppose) >> > > Rather not. > > Hhm, you said you've done search already. If not, I'd recommend a > M-y grep-find > find . -type f -name "*.el" -print0 | xargs -0 -e grep -nH -e "allout" > > But you said, it's done. > > Did you restart Emacs after deletions? > > Start emacs -Q > > Then it should be gone. > Afterwards load your .emacs step by step and see, if its loaded again. > > HTH > If the OP is talking about M-x <tab> without having entered any text at all, the completions buffer will be large because essentially, it will list *all* possible commands that emacs knows about which can be entered interactively i.e via M-x The problem here is that this is a poor use of completion . You need to give it a chance and enter at least a letter to narrow down the search for possible completions. Trying to remove all definitions of interactive functions that are thought to be unnecessary will fail and is a pointless exercise. It will never result in a small/convenient number of commands being shown with just M-x <tab>. I'd suspect that even just the C built-in commands alone would likely be too numerous and you cannot remove them. This approach is essentially futile. Tim > > -- tcross (at) rapttech dot com dot au ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 21:24 ` Tim X @ 2010-02-24 4:08 ` Kevin Rodgers 0 siblings, 0 replies; 19+ messages in thread From: Kevin Rodgers @ 2010-02-24 4:08 UTC (permalink / raw) To: help-gnu-emacs Tim X wrote: > Trying to remove all definitions of interactive functions that are > thought to be unnecessary will fail and is a pointless exercise. It will > never result in a small/convenient number of commands being shown with > just M-x <tab>. I'd suspect that even just the C built-in commands alone > would likely be too numerous and you cannot remove them. This approach > is essentially futile. I don't think that's what the OP is asking for. Rather, why not remove the function binding from symbols that would autoload an unavailable lisp library (such as the ones the OP has already removed): (mapatoms (lambda (symbol) (let (function) (when (and (fboundp symbol) (setq function (symbol-function symbol)) (consp function) ;; (car function) (eq (car function) 'autoload) ;; (cadr function) (stringp (cadr function)) (not (locate-library (cadr function)))) ;; (message "invalid autoload: %s: %s" symbol (cadr function)) (fmakunbound symbol))))) -- Kevin Rodgers Denver, Colorado, USA ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 9:25 ` Hibou57 (Yannick Duchêne) 2010-02-23 10:03 ` Andreas Röhler [not found] ` <mailman.1694.1266919287.14305.help-gnu-emacs@gnu.org> @ 2010-02-24 20:10 ` Stefan Monnier 2 siblings, 0 replies; 19+ messages in thread From: Stefan Monnier @ 2010-02-24 20:10 UTC (permalink / raw) To: help-gnu-emacs > Although removed, they are still shown by the auto-completion, that's > the trouble. It would indeed make sense to get rid of those autoloaded functions that refer to files that don't exist. The better way to do that is probably to re-build a new Emacs executable where you remove the unwanted packages beforehand. But you can also do it after the fact. Using `mapatoms' you can iterate through all known identifiers and then check if they're autoloaded and if they are, check if their file can be found in `load-path': (mapatoms (lambda (sym) (if (and (fboundp sym) (eq 'autoload (car-safe (symbol-function sym))) (null (locate-library (cadr (symbol-function sym))))) (message "(fmakunbound %s)" sym)))) -- Stefan ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: How does M-x completion works 2010-02-23 7:06 ` Hibou57 (Yannick Duchêne) 2010-02-23 8:36 ` Barry Margolin @ 2010-02-24 4:10 ` Kevin Rodgers 1 sibling, 0 replies; 19+ messages in thread From: Kevin Rodgers @ 2010-02-24 4:10 UTC (permalink / raw) To: help-gnu-emacs Hibou57 (Yannick Duchêne) wrote: > Le Mon, 22 Feb 2010 23:06:45 +0100, Colin S. Miller >> 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. See also E.1 (Building Emacs), specifically the parts about dumping. -- Kevin Rodgers Denver, Colorado, USA ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2010-02-26 13:12 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-02-22 12:35 How does M-x completion works Hibou57 (Yannick Duchêne) 2010-02-22 16:34 ` Lennart Borgman [not found] ` <4B82A7A4.6050005@easy-emacs.de> [not found] ` <op.u8jfv6nuesn74s@garhos> 2010-02-22 17:42 ` Andreas Röhler 2010-02-22 22:06 ` Colin S. Miller 2010-02-23 7:06 ` Hibou57 (Yannick Duchêne) 2010-02-23 8:36 ` Barry Margolin 2010-02-23 9:25 ` Hibou57 (Yannick Duchêne) 2010-02-23 10:03 ` Andreas Röhler [not found] ` <mailman.1694.1266919287.14305.help-gnu-emacs@gnu.org> 2010-02-23 13:47 ` Hibou57 (Yannick Duchêne) 2010-02-23 15:18 ` Andreas Röhler 2010-02-24 3:44 ` Kevin Rodgers 2010-02-26 13:12 ` Andreas Röhler [not found] ` <mailman.1758.1266983111.14305.help-gnu-emacs@gnu.org> 2010-02-26 11:58 ` Hibou57 (Yannick Duchêne) [not found] ` <mailman.1706.1266938167.14305.help-gnu-emacs@gnu.org> 2010-02-23 17:17 ` Hibou57 (Yannick Duchêne) 2010-02-23 19:32 ` Andreas Röhler [not found] ` <mailman.1728.1266953431.14305.help-gnu-emacs@gnu.org> 2010-02-23 21:24 ` Tim X 2010-02-24 4:08 ` Kevin Rodgers 2010-02-24 20:10 ` Stefan Monnier 2010-02-24 4:10 ` Kevin Rodgers
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).