I'm using v3, and the #Spotlight (class name) that comes with it. I didn't know about Spotter of v4 before your comment. I've just tried it, it could be handy for some specific situations, after i manually tweak its non-sense whiteness which somewhy escapes global theme defaults (lovely dark theme), i'll give it a try. Yet to the end of shortcuting accessing methods/classes i found Spotlight to be more direct and keystroke cheap. Saludos On Tue, Feb 3, 2015 at 1:28 PM, Guillermo Polito <guillermopolito@gmail.com> wrote:
Hi!
Spotlight or Spotter? Which version of Pharo are you using?
I ask because the old Spotlight should be using the same code completion mechanism => it should appear/disappear from both at the same time...
As for spotter, I don't have an answer now :)
Saludos, Guille
El Tue Feb 03 2015 at 5:24:26 PM, Laura Risani <laura.risani@gmail.com> escribió:
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 < guillermopolito@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 <sven@stfx.eu> escribió:
But weak refs are only killed after GC, right ?
And even then...
On 02 Feb 2015, at 12:03, Guillermo Polito <guillermopolito@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, phil@highoctane.be < phil@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 <stepharo@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