<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>
<div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
PS: I also wondered why SyntaxErrorNotification does not override #isResumable ...</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>From:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> on behalf of Christoph Thiede <christoph.thiede@outlook.de><br>
<b>Sent:</b> Tuesday, June 18, 2019 9:02:58 AM<br>
<b>To:</b> squeak-dev@lists.squeakfoundation.org<br>
<b>Subject:</b> Re: [squeak-dev] The Inbox: Compiler-ct.404.mcz</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:11pt;">
<div class="PlainText">Hi Marcel,<br>
<br>
I recently wrote a similar extension method for own purposes:<br>
<br>
resumeWithSource: aString<br>
<br>
        self<br>
                reparse: aString notifying: nil ifFail: nil;<br>
                resumeUnchecked: self defaultResumeValue<br>
<br>
But it does have a different semantic than #retryUsing, which usually takes<br>
a block?<br>
<br>
This will work for<br>
<br>
[Compiler evaluate: '6 times 7']<br>
        on: SyntaxErrorNotification<br>
        do: [:ex | ex resumeWithSource: '6*7'].<br>
<br>
but not for<br>
<br>
[Compiler evaluate: '''''''']<br>
        on: SyntaxErrorNotification<br>
        do: [:ex | ex resumeWithSource: ''''''''''].<br>
<br>
Changing #parseCue:noPattern:ifFail: so that the initializing calls are also<br>
handled when raising ReparseSourceAfterEditing would solve the problem:<br>
<br>
         ...<br>
         doitFlag := noPattern.<br>
         [self encoder init: aCue notifying: self.<br>
         self init: myStream cue: aCue failBlock: [^ aBlock value].<br>
        <br>
         subSelection := self interactive and: [cue requestor selectionInterval =<br>
(p + 1 to: p + s size)].<br>
<br>
         failBlock:= aBlock.<br>
         methNode := self method: noPattern context: cue context] <br>
                on: ReparseAfterSourceEditing <br>
                do:     [ :ex | ...<br>
<br>
However, would this be a good approach?<br>
<br>
Best,<br>
Christoph<br>
<br>
<br>
<br>
--<br>
Sent from: <a href="http://forum.world.st/Squeak-Dev-f45488.html">http://forum.world.st/Squeak-Dev-f45488.html</a><br>
<br>
</div>
</span></font>
</body>
</html>