<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi all, I cannot stop having fun with the debugger & context implementation :D</p>
<p>So here is what I found today ...</p>
<p><b><br>
</b></p>
<p><b>Steps to reproduce:</b></p>
<p>Debug it and step "into" #newProcess :</p>
<p><span>[self yourself] newProcess</span><br>
</p>
<p><span><br>
</span></p>
<p><b>Expected behavior:</b></p>
<p>You want to see something like this:</p>
<p><img size="246148" contenttype="image/png" id="img52558" style="max-width: 99.9%; user-select: none;" aria-expanded="false" contextid="img865054" tabindex="0" aria-haspopup="true" src="cid:c2902b39-4733-465a-aa91-25b25aac1331"></p>
<p><br>
</p>
<p><b>Actual behavior:</b></p>
<p><b><img size="18124" contenttype="image/png" id="img516377" style="max-width: 99.9%; user-select: none;" aria-expanded="false" contextid="img58148" tabindex="0" aria-haspopup="true" src="cid:5d1c5dc0-b65f-43a5-a351-aba397f57327"><br>
</b></p>
<p><b><br>
</b></p>
<p><b>Explanation:</b></p>
<p>See Context >> #<span>doPrimitive:method:receiver:args:</span></p>
<p><span>Quote: </span><span style="font-size: 12pt;">"Judicious use of primitive 19 (a null primitive that doesn't do anything) prevents </span><span style="font-size: 12pt;">the debugger from entering various run-away activities such as spawning a new </span><span style="font-size: 12pt;">process,
 etc.  Injudicious use results in the debugger not being able to debug </span><span style="font-size: 12pt;">interesting code, such as the debugger itself.  Hence use primitive 19 with care :-)"</span></p>
<p><span>With respect to this statement, #newProcess (which only *creates* an object), should not really use this primitive, should it? Why isn't this simulation error rather raised at primitive 87 (#resume)? Or rather, why does this error need to be raised
 at all when, for example, you debug the forking of a process?</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span></span><span style="font-size: 12pt;">In general, can you tell me any example where primitive 19 is necessary indeed? So far I could not find one.</span></p>
<p><span style="font-size: 12pt;">A common scenario in which I stumble upon it is when I try to step "through" the following:</span></p>
<p><span style="font-size: 12pt;">[self halt] fork.</span></p>
<p><span style="font-size: 12pt;">If I disable primitive 19 in #newProcess, this accident does not occur, instead, the new process just runs asynchronously. Feels more intuitive for me.</span></p>
<p><span style="font-size: 12pt;">Even in MVC, everything I could imagine worked fine without the primitive.</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Is it possible that primitive 19 comes from an age when the debugging mechanism had not yet evolved to today's capabilities?</span></p>
<p><span style="font-size: 12pt;">Anyway, I would be glad to hear some story about it :-)</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Best,</span></p>
<p><span style="font-size: 12pt;">Christoph</span></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
</body>
</html>