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
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>>
>>
>>

Reply via email to