Hello,
We are working on a pharo issue 7284: "Error: cannot remove non empty category".
A simple script to reproduce this issue is the following. Gofer new squeaksource: 'Roassal'; package: 'ConfigurationOfRoassal'; load. ((Smalltalk at: #ConfigurationOfRoassal) project version: '1.200') load. ((Smalltalk at: #ConfigurationOfRoassal) project version: '1.269') load.
The problem is in the method MCOrganizationDefinition>>unload, it uses the removeCategory: method and this method don't delete the classes inside the category and raise an error: MCOrganizationDefinition>>unload categories do: [ :c | SystemOrganization removeCategory:c ]. A possible solution for this could be use the removeSystemCategory: instead, since it delete the classes inside and then the category. MCOrganizationDefinition>>unload categories do: [ :c | SystemOrganization removeSystemCategory: c ].
Perhaps, we are not sure about our solution. We want to have your opinion about it :)
We discussed a lot about it. and I would love to get some other opinions on it.
It's removing the classes inside the category is what we really want to do? There is a reason for not deleting the classes inside?
Regards, Juan Pablo & Alejandro