<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 4, 2016 at 3:25 PM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class="">On 03.03.2016, at 23:28, Chris Cunningham &lt;<a href="mailto:cunningham.cb@gmail.com" target="_blank">cunningham.cb@gmail.com</a>&gt; wrote:<br><div><blockquote type="cite"><br><div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Mar 3, 2016 at 12:31 PM, karl ramberg <span dir="ltr">&lt;<a href="mailto:karlramberg@gmail.com" target="_blank">karlramberg@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Nice.<div>BTW: there is a lot of empty categories in the Preferences class.</div><div>We must remove those in a post script or something.</div><div>Preferences organization removeEmptyCategories<br></div><div><br></div><div>I&#39;m not sure how to do it ?</div><div><br></div><div>Add it in a package preamble ?</div><div>Does we then need to remove the preamble again ?</div></div></blockquote><div><br></div><div>If I remember right, the preamble (and postlude?) only get run once - when they are first changed.  After that, they are skipped.</div><div>This means you want to leave them in and not remove them - otherwise a person later on would update from Trunk and just get the latest version - which doesn&#39;t have the preamble - and the work wouldn&#39;t be done.</div><div><br></div><div>Or am I wrong, and this only happens with Class initialization?</div></div></div></div></div></blockquote><br></div></span><div>It happens exactly the same as with class initialization:</div><div><br></div><div>If the definition (of the script or method) changed, it gets executed.</div><div><br></div><div>You cannot rely on it having executed, or it only executing once. It’s better to write it in a way that running it again does no harm.</div><div><br></div><div>We can force execution by issuing an update map, but it’s better to avoid that.</div><div><br></div><div>For the problem at hand (empty method categories) we also could just add a step to the release builder to ensure all categories are clean.</div></div></blockquote><div><br></div><div>We could run this for all classes I guess. I don&#39;t see much value in keeping empty method categories around...</div><div><br></div><div>Anyone objects ?</div><div><br></div><div>Best,</div><div>Karl</div><div>  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class="HOEnZb"><font color="#888888"><br><div>
- Bert -<br><br><br>

</div>
<br></font></span></div><br><br>
<br></blockquote></div><br></div></div>