<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 16, 2016 at 11:32 AM, Eliot Miranda <span dir="ltr"><<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Instead of checking for "understands" we should use valueOfFlag: (which defaults to false) to get back the old behavior. Or we recreate the preference. Or we make it into a "pragma" preference on some class (which seems to be the preferred way nowadays, even though it leads to an explosion of pref accessor methods?)</div></div></div></div></blockquote><div><br></div></span><div>Well, the current scheme leads to an explosion of preference accessor methods in Preference class.</div></div></div></div></blockquote><div><br></div><div>Well, only because SomeOne™ changed the accessors generator to actually put them into the package, when they used to be in their own "*autogenerated" package.</div><div><br></div><div>These accessor methods are only there to speed up the DNU, which is the default handler. Maybe on Cog we don't even need the precompiled accessors.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>  I think the pragma style is far more preferable to this. </div></div></div></div></blockquote><div><br></div><div>I think pragmas are good for finding preference declarations. </div><div><br></div><div>But having to implement preference storage over and over again is not the best solution. But that's what the current pragma prefs require - a setter and a getter and a class var and logic for initialization and if a class has many prefs then maybe a prefs dictionary because too many class vars are annoying etc. pp.</div><div><br></div><div>Having actual Preference objects managed by a Preferences class takes care of all of that, once and for all.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> At least one doesn't have the System package being marked as dirty just because preferences have been accessed.</div></div></div></div></blockquote><div><br></div><div>See above - that's a bug IMHO.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I agree that a default MNU that answers false, and doesn't create an accessor method, is a good default.  Although it does suffer the disadvantage that a misspelled reference will simply go unnoticed, defaulting to false.</div></div></div></div></blockquote><div><br></div><div>True. Maybe in a dev image it indeed should raise an exception.</div><div> </div><div>Btw, this is a good discussion :)</div><div><br></div><div>- Bert -</div></div></div></div>