Definitively ephemerons will help to solve that nicely.
I cannot wait for Spur.

Stef

Le 30/5/15 02:20, Eliot Miranda a écrit :
Hi Nicolai,

On Mon, May 18, 2015 at 12:28 PM, Nicolai Hess <[email protected] <mailto:[email protected]>> wrote:



    2015-05-15 9:55 GMT+02:00 Nicolai Hess <[email protected]
    <mailto:[email protected]>>:


        We now use a new class for the space-key as key combination.
        fixed and included in 50045
        (https://pharo.fogbugz.com/default.asp?15529)
        This way we don't end up with hundreds of obsolete class
        instances.

        But the problem with circular references still exist.
        15535 <https://pharo.fogbugz.com/default.asp?15535>
        break circular reference for keymappings

        I could need some help here, any idea how to work with the key
        mapping registration without holding (or how to release)
        strong references?


        thanks in advance
        nicolai


    Can anyone help me with this. I need a way to break the circular
    references.

    a class is referenced by its compiled method
    the compiled method is referenced by the method context
    the method context is reference by a block context (the keymapping
    action)
    the block context is referenced by the registration item
    the registration item is referenced by the pragma registration builder
    the builder is reference by the method context (it is the method
    argument) and here the
    circle closes.


Are there any dictionaries in the above? If there are then we can probably use ephemerons to break the circularity. This will require Spur and Pharo 5 or ^ (which ever is going to be based on Spur; I can't remember which). This may seem like a ways off but it isn't.

        2015-02-20 9:26 GMT+01:00 Marcus Denker
        <[email protected] <mailto:[email protected]>>:


            > On 19 Feb 2015, at 10:19, Nicolai Hess
            <[email protected] <mailto:[email protected]>> wrote:
            >
            > Fogbugz issue 14936
            > and slice in inbox
            >
            > After loading this slice, there are still many
            references to the (now) obsolete class
            KMUntypeableSingleKeyCombination.
            > I tried to remove these references with the following code :
            >
            > NECPreferences popupShowWithShortcut: nil.
            > KMSingleKeyCombination reset.
            > KMSpecialCharSingleKeyCombination reset.
            > KMRepository reset.
            >
            >
            > But they arent removed.
            >
            > Anyone knows how to re-init all users of
            KMUntypeableSingleKeyCombination ?
            >
            >

            Very strange… using “explore pointers” with the old
            inspector, it shows lots of instances… I sadly have no
            time to now look deeper, but the pointer explorer should
            be a way to find who holds onto them…

                    Marcus








--
best,
Eliot

Reply via email to