On Sunday, August 15, 2010, Marcus Denker <marcus.denker@inria.fr> wrote:
On Aug 15, 2010, at 1:56 PM, Mariano Martinez Peck wrote:
But I think we should add back a Preferences class for allowing to load old code. (it's referenced in the class side initialize in old code often...)
Please don't add such a fake classes, it just makes everything more difficult and less functional. People should not use outdated code, and if they do they should be able to fix it themselves. I am fixing right now the remaining references in OB and Shout (RB and eCompletion are already fixed). Lukas
The problem are the external pacakges. I have 100 references to Preferences in Pharo dev....almost EVERY external package uses Preferences. So....we really need help of the external package maintainers to update them. And I am not sure how easy is that. What should be easy is to have a Preferences class that supports the simple API that everyone was using: add a preference. And make Preferenceclass return true or false for that preference. That should be 90% of all usages, I guess.. We can do that by just having a dictionary and overriding doesNotUnderstand:. We should not provide all this magic that used to be there, e.g.compiling on the fly methods for accessed perferences (which funnily had an empty source pointer...). I mean...is there a mapping between each previous preference a the new ones?
In 1.1, Preferences are returning the values from the Settings framework for backward compatibillity. But I don't think that Preferences added are shown in the Settings? This would require Settings to be generated, which is possible but I thinknot really what we want. One could of course build this specification for the Preferences... and maybe there was even code there for that ;-) I started the cleanup bu removingunsent messages... but after a while that got really boring. And Preferences was a  near 2000 LOC abdomination of a class. I checked in 1.1Dev, and most of the references are from the Core, which we removed in 1.2...    Marcus
--Marcus Denker  -- http://www.marcusdenker.de <http://www.marcusdenker.de/> INRIA Lille -- Nord Europe. Team RMoD.
-- Lukas Renggli www.lukas-renggli.ch