<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<meta content="text/html; charset=UTF-8">
<style type="text/css" style="">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
</style>
<div dir="ltr">
<div id="x_divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<p>Hi Nicolas,</p>
<p><br>
</p>
<p>the renaming is a breaking change. We should make sure to document such changes in the changelog for the next release.</p>
<div id="x_Signature">
<div id="x_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="x_divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">
<div class="x__rp_U4 x_ms-font-weight-regular x_ms-font-color-neutralDark x_rpHighlightAllClass x_rpHighlightBodyClass" id="x_Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="x_divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="x_Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" target="_blank" rel="noopener noreferrer" id="LPNoLP"><font size="2"><span id="LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
<div class="x__rp_T4" id="x_Item.MessagePartBody"><br>
</div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">Best,
<div></div>
</div>
<div class="x__rp_T4" id="x_Item.MessagePartBody">Christoph</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von commits@source.squeak.org <commits@source.squeak.org><br>
<b>Gesendet:</b> Freitag, 16. April 2021 22:19:40<br>
<b>An:</b> squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> [squeak-dev] The Trunk: Compiler-nice.457.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Nicolas Cellier uploaded a new version of Compiler to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Compiler-nice.457.mcz">http://source.squeak.org/trunk/Compiler-nice.457.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Compiler-nice.457<br>
Author: nice<br>
Time: 16 April 2021, 10:19:30.223501 pm<br>
UUID: e2ce8f47-9ed2-0d46-aca1-1dd90ebed4b4<br>
Ancestors: Compiler-nice.456<br>
<br>
Rename resume: source -> retryWithNewSource: source.<br>
<br>
The purpose of such exception handling is indeed to retry the compilation with new source.<br>
<br>
The purpose of resume: anObject is to return anObject to the context that sent signal, that's a slightly different semantic.<br>
<br>
It happens that if we resume after setting newSource, the signaller (Parser>>notify:at:) will effectively then tryNewSourceIfAvailable.<br>
So effectively, resuming will end up in retrying (if there is a handler of ReparseAfterSourceEditing up the sender stack, but the Parser normally puts one).<br>
<br>
But, even if this is HOW we implement the #retryWithNewSource:,<br>
this is not WHAT we wish to ask to the SyntaxErrorNotification.<br>
in other words, we shouldn't let the implementation leak in the semantics, otherwise we put the burden of understanding the implementation on the shoulders of programmers, when they could just have trusted the semantics of pseudo natural language offered by
 keywords.<br>
<br>
While at it, remove the accessors of newSource.<br>
They are not used and may be considered private.<br>
This will reduce the unecessary polymorphism.<br>
<br>
=============== Diff against Compiler-nice.456 ===============<br>
<br>
Item was removed:<br>
- ----- Method: SyntaxErrorNotification>>newSource (in category 'accessing') -----<br>
- newSource<br>
-        ^newSource!<br>
<br>
Item was removed:<br>
- ----- Method: SyntaxErrorNotification>>newSource: (in category 'accessing') -----<br>
- newSource: aTextOrString<br>
-        newSource := aTextOrString!<br>
<br>
Item was removed:<br>
- ----- Method: SyntaxErrorNotification>>resume: (in category 'accessing') -----<br>
- resume: source<br>
- <br>
-        self reparse: source notifying: nil ifFail: nil.<br>
-        ^ super resume: self defaultResumeValue!<br>
<br>
Item was added:<br>
+ ----- Method: SyntaxErrorNotification>>retryWithNewSource: (in category 'handling') -----<br>
+ retryWithNewSource: source<br>
+        "Retry the compilation with new source code.<br>
+        Assume<br>
+        - that the signallerContext will tryNewSourceIfAvailable<br>
+        - the presence of a handler of ReparseAfterSourceEditing on the sender stack"<br>
+        <br>
+        newSource := source.<br>
+        ^ self resume!<br>
<br>
<br>
</div>
</span></font>
</body>
</html>