On Sun, Aug 5, 2012 at 1:07 PM, Guillermo Polito <[email protected]>wrote:
> > > On Sat, Aug 4, 2012 at 2:41 PM, Mariano Martinez Peck < > [email protected]> wrote: > >> >> >> On Sat, Aug 4, 2012 at 2:34 PM, Mariano Martinez Peck < >> [email protected]> wrote: >> >>> Hi Stef. I notice that RPackage does not update the extension methods of >>> removed classes. It is easy to reproduce in Pharo 2.0 by doing: >>> >>> (RPackageOrganizer default packageNamed: 'FreeType') >>> allDefinedExtensionMethods (this fails because FreeType used to have a >>> extension method in TTCFont which was removed) >>> >>> Or step by step: >>> >>> 1) Create package PackageX. >>> 2) Create package PackageY and ClassY. >>> 3) Create in ClassY a extension method with category *PackageX. If you >>> now browse the instVar "classExtensionSelectors" of PackageX you will see >>> ClassY. >>> 4) Remove ClassY >>> 5) notice that 'classExtensionSelectors' from PackageX still references >>> ClassY. In fact, if you ask its extension methods you will have a >>> KeyNotFound #ClassY in Smalltalk globals ;) >>> >>> So...I guess this is a bug. If true, I open an issue. >>> >>> >> and to fix the already existing ones we can do: >> >> | extensions | >> RPackage allInstances do: [:aPackage | >> extensions := (aPackage instVarNamed: 'classExtensionSelectors'). >> extensions keysDo: [:aClassName | >> (Smalltalk globals includesKey: aClassName) ifFalse: [extensions >> removeKey: aClassName]. >> ]. >> extensions := (aPackage instVarNamed: 'metaclassExtensionSelectors'). >> extensions keysDo: [:aClassName | >> (Smalltalk globals includesKey: aClassName) ifFalse: [extensions >> removeKey: aClassName]. >> ]. >> ] >> >> > Easier: > > 1) integrate http://code.google.com/p/pharo/issues/detail?id=6521 > 2) RPackageOrganizer initialize. > > Indeed, I saw that later. That only helps to fix the existing ones but it does not solve the problem. > >> >>> Cheers, >>> >>> -- >>> Mariano >>> http://marianopeck.wordpress.com >>> >>> >> >> >> -- >> Mariano >> http://marianopeck.wordpress.com >> >> > -- Mariano http://marianopeck.wordpress.com
