<body><div id="__MailbirdStyleContent" style="font-size: 12pt;font-family: calibri;color: #000000">
                                        <div>Yay! :-) +1</div><div><br></div>If we keep on working to reduce the use of globals, we will be having more fun in the future with extensibility and reuse. :-)<div><br></div><div>If one gets a debugger with "nil" after "self world", one should take a deep breath and figure out why that morph a) needs a world or b) doesn't yet have one. Access to globals should only be the last resort then. Like with other dubious "ifNil"-checks: figure out the circumstances, and try to understand the domain better, and keep the code readable.  </div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 12.11.2017 17:05:35 schrieb David T. Lewis <lewis@mail.msen.com>:</p>Indeed, that was my concern with respect to correctness.<br><br>  Morph>>world<br>      ^owner isNil ifTrue: [nil] ifFalse: [owner world]<br><br><br>Nevertheless, I have updated the two inbox packages to use "self world" in<br>morph methods instead of "Project current world". We can easily switch it<br>back if it seems dangerous.<br><br>Dave<br><br>On Sun, Nov 12, 2017 at 10:54:19AM -0500, Bob Arning wrote:<br>> One caveat is that "self world" for a Morph will answer nil if the morph <br>> is not currently *in* a world.<br>> <br>> <br>> On 11/12/17 10:11 AM, David T. Lewis wrote:<br>> >The "self world" expression works for morphs, and certainly it is easier to read.<br>> >It may be somewhat slower, although that would not be a concern in most <br>> >usages.<br>> ><br>> >My main concern is correctness, because failures in this area can hang up the<br>> >UI entirely, and errors are difficult to debug.<br>> ><br>> >When transitioning from one project to another the World variable is set to<br>> >the new project's world in #finalEnterActions:.  Thus the World global is a<br>> >shortcut reference to the world of the current project, and that is what <br>> >leads me to suggest the expression "Project current world".<br>> <br><br><br><br>
                        </blockquote>
                                        </div></body>