Ben

On Oct 14, 2013, at 5:04 PM, [email protected] wrote:

> In 2.0 when you choose <Make unclosable> from the SystemWindow menu 
> (downward-pointing triangle in the top right of each window),  the next 
> invocation of that menu would instead have the opposite function <Make 
> closable>.
> 
> In 3.0 it does not change to <Make closable> so you cannot revert the 
> feature.  I have isolated this to PragmaMenuBuilder's ivar 'itemList' being 
> cached, and describe a a fix at https://pharo.fogbugz.com/default.asp?11835
> 
> However I am not comfortable with my awareness of the architectural 
> implications and so I seek a wider discussion of this.  Two queries leap to 
> mind:
> 
> 
> 1. What is the philosophy behind caching the pragma-menus? To what degree did 
> menu performance suffer in practice?

Since pragmas are spread all over the system, each time the PragmaBuilder 
collects the pragmas, it iterates over all the methods.
This can be a pain :)

> 
> 2. What consideration has been given to dynamic elements in other 
> pragma-menus?

I think there is a way to provide the name as a dynamically evaluable object (a 
block or a message send).
I am not 100% sure of that.

> 
> 3. Suggestions for alternative resolution paths to follow?

A less drastic approach would be to flush the cache when you click on <Make 
closable>/<Make unclosable>

Ben

> 
> cheers -ben
> 

Reply via email to