<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="4">Hi, <br>
      </font></p>
    <p>I tested latest DrGeo with my students last Friday. There are
      very good bug discoverers! My plate is full.<br>
    </p>
    <p>It is in the context of programming Smalltalk sketch. So we use
      the SmalltalkSketchEditor of DrGeo with its minimalist debugger.</p>
    <p>One student found that when hitting the "Step by Step" button of
      the editor when there is an empty code to compile, leads to an
      infinite loop (hopefully breakable with alt-[.])<br>
    </p>
    <p>The problem also occurs with simple code as "1". <br>
    </p>
    <p>I don't understand the arcane of the debugger and related
      compiler stuff, so help will be welcome to found out. I enclosed
      the debug log.<br>
    </p>
    <p>The involved methods are the my init of the debugger session:</p>
    <p><b>DrGSmalltalkEditor>>debugSketch</b><br>
          "model ifEmpty: [^ self]."<br>
          self stopSketch.<br>
          self isDocVisible ifTrue: [self toggleHelp].<br>
          codeView scroller acceptContents.<br>
          codeView editor <br>
              afterCompiling: model <br>
              do:  [ :compiler :method :receiver :context | method
      ifNotNil: [<br>
                  debugger _ Debugger <br>
                      openMinimalDebugging: [<br>
                          method<br>
                              valueWithReceiver: receiver <br>
                              arguments: (context ifNil: [ #() ]
      ifNotNil: [ { context } ])]<br>
                      to: method.<br>
                  debugger layoutMorph borderWidth: 1.<br>
                  codeAndViewPanel replaceSubmorph: codeView by:
      debugger layoutMorph.            <br>
                  debugger model when: #closeViews send: #stopDebbuger
      to: self.<br>
                  debugger     contextVariableInspector selectionIndex:
      3.]<br>
                  ]<br>
              ifFail: [].</p>
    <p>and <br>
    </p>
    <p><b>Debugger class>>openMinimalDebugging: aBlock to:
        aCompiledMethod </b><br>
          "Create a new process to debug aBlock, and step into it."<br>
      <br>
          | processToDebug debugger window |<br>
          debugger _ self new.<br>
          processToDebug _ aBlock newProcess name: 'debugIt'.<br>
          debugger process: processToDebug context: processToDebug
      suspendedContext.<br>
          window _ debugger openMinimalMorphic.<br>
          [debugger interruptedContext method == aCompiledMethod]<br>
              whileFalse: [debugger send].<br>
          ^ window <br>
    </p>
    <p><br>
    </p>
    <p>Then image is stuck in the method<b> </b><b>doPrimitive:
        primitiveIndex method: meth receiver: receiver args: arguments</b></p>
    <p>I also observed in this method several messages<b> </b>are
      unimplemented methods (colored in red in the Browser)<br>
    </p>
    <p>I can't tell if it is a problem of Cuis or DrGeo...</p>
    <p>If one want to experiment the bug, just download latest DrGeo at
      <a class="moz-txt-link-freetext" href="http://dev.drgeo.eu">http://dev.drgeo.eu</a> and open its Smalltalk Sketch editor from the
      world menu then hit the "step by step" iconic button.</p>
    <p>Thanks</p>
    <p>Hilaire<br>
    </p>
    <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a>
<a class="moz-txt-link-freetext" href="http://blog.drgeo.eu">http://blog.drgeo.eu</a></pre>
  </body>
</html>