<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        
                                        
                                            
                                        
                                        
                                        Hi Christoph,<div><br></div><div>hmm... I would rather not spread that recursion flag to outside Debugger class >> #openOn:... I will look into it. Thanks for those two bug reports that cause endless debuggers:</div><div><br></div><div>1. Generator step-over</div><div>Generator on: [:g | g yield: #foo].</div><div><br></div><div>2. Error in a debugger's build-with method.</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;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 16.12.2019 11:53:21 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">A new version of Morphic was added to project The Inbox:<br>http://source.squeak.org/inbox/Morphic-ct.1610.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-ct.1610<br>Author: ct<br>Time: 16 December 2019, 11:52:56.435097 am<br>UUID: 37c022c9-73a9-0648-ba0a-2b1fe98f86ad<br>Ancestors: Morphic-mt.1608<br><br>Prevent infinite debugger chains in case of a failure while building the predebugger window. Complements System-ct.1130.<br><br>To reproduce, insert an error like "1/0" into Debugger >> #buildNotifierWith:label:message:.<br><br>=============== Diff against Morphic-mt.1608 ===============<br><br>Item was changed:<br>  ----- Method: MorphicDebugger class>>openOn:context:label:contents:fullView: (in category 'opening') -----<br>  openOn: processToDebug context: context label: title contents: contentsStringOrNil fullView: full <br>   <br>      | debugger uiBlock |<br>          debugger := self new<br>                  process: processToDebug context: context;<br>             errorWasInUIProcess: (Project current spawnNewProcessIfThisIsUI: processToDebug).<br>     <br>      uiBlock := [<br>                  full<br>                          ifTrue: [debugger openFullNoSuspendLabel: title]<br>                      ifFalse: [debugger openNotifierNoSuspendContents: contentsStringOrNil label: title].<br>          <br>              "Try drawing the debugger tool at least once to avoid freeze."<br>              debugger topView ifNotNil: [:window | window world displayWorld. "Not safely!!"].<br>   ].<br>            <br>      "Schedule debugging in a deferred UI message if necessary. Note that only the ui process should execute ui code."<br>   (Project current uiProcess isActiveProcess not or: [processToDebug isActiveProcess])<br>+                 ifTrue: [Project current addDeferredUIMessage: [<br>+                     Processor activeProcess setErrorRecursionFlagDuring: uiBlock]]<br>-               ifTrue: [Project current addDeferredUIMessage: uiBlock]<br>               ifFalse: uiBlock.<br>     <br>      processToDebug suspend.<br>       <br>      "Get here only if active process is not the process-to-debug. So in tests, use a helper process if you want to access this return value."<br>   ^ debugger!<br><br><br></div></blockquote></div>