Thank you all for your answers. Hi Guille ,
Nice solution! It worked perfectly for Code Completition! Yet the obsolete symbols (class names and selectors) keep showing in Spotlight, but i guess this is too implementation specific. I will step through its execution to try to find out how it works. Best, Laura On Mon, Feb 2, 2015 at 8:39 AM, Guillermo Polito <guillermopol...@gmail.com> wrote: > Well yes, but GCs are happening all the time :). So the problem is that > someone is keeping a strong reference on the symbol. > > I tried the following: > > - create a method named #unusedUnexpectedMessage: That came up in the > auto completion, ok > - remove it: Still in auto completion > - force GC a looot: still in auto completion > > After chasing strong references I could clean up my image by doing: > > ChangeSet cleanUp: true. > RecentMessageList cleanUp. > 10 timesRepeat: [Smalltalk garbageCollect] > > First obvious thing: changesets and friends (lets also think about > nautilus history that may do that) could keep strong references on symbols. > > Then the question is if that is correct or not... To me the problem is > that the auto completion mechanism is pretty primitive and depends on all > existing symbols instead of <the subset of symbols that could be messages>. > > Guille > > El Mon Feb 02 2015 at 12:05:49 PM, Sven Van Caekenberghe <s...@stfx.eu> > escribió: > > But weak refs are only killed after GC, right ? >> >> And even then... >> >> > On 02 Feb 2015, at 12:03, Guillermo Polito <guillermopol...@gmail.com> >> wrote: >> > >> > It's the table that keeps the symbols and checks their uniqueness. >> > >> > but AFAIK the symbol table is weak. So probably it's the completion >> mechanism that is keeping extra references... >> > El Mon Feb 02 2015 at 11:52:28 AM, p...@highoctane.be < >> p...@highoctane.be> escribió: >> > Got the same problem here. >> > >> > Annoying when third parties have to do something in the environment as >> they are shown things that do not exist. >> > >> > Where to look? What's the symbol intern table? >> > >> > Phil >> > >> > >> > On Mon, Feb 2, 2015 at 11:44 AM, stepharo <steph...@free.fr> wrote: >> > Probably by resetting the Symbol intern table. but no time to dive into >> it now. >> > Hi all, >> > >> > Code completition tools show class/method old names i've changed and no >> longer use. How can i remove all unused (occurring nowhere in source code) >> or unimplemented names? >> > >> > Best, >> > Laura >> > >> > >> > >> > >> > >> > >> > >> >> >>