[Cuis-dev] [] storeString freezes the image

Gerald Klix cuis.01 at klix.ch
Tue Oct 27 05:04:45 PDT 2020


On 2020-10-27 03:11, Nicolás Papagna Maldonado via Cuis-dev wrote:
> On Mon, Oct 26, 2020 at 10:58 PM Mariano Montone via Cuis-dev <
> cuis-dev at lists.cuis.st> wrote:
> 
>> El 26/10/20 a las 22:41, Nicolás Papagna Maldonado via Cuis-dev escribió:
>>> Hi folks!
>>> Hope you're doing fine :)
>>>
>>> Just found this issue while I was trying to add a new Preference whose
>>> value is a block.
>>
>> I was going to report that same problem. I don't know the solution :)
>>
>>> Specifically, I want users to be able to configure the block that should
>>> be used for opening the class finder (either the default one or
>>> Cuis-Finder).
>>
>> I used a MethodReference as value for the Preference instead of a Block
>> in my implementation, to get around that. Would that be a good option?
>>
> 
> Yep, I think that could make it work too!
> 
> IMHO if we could make it a block, I think that would be great as it gives
> users the ultimate flexibility.
> 
> For this particular scenario, the thing that I have in mind is doing a
> little refactoring to break up the method that creates the preference +
> compiles the accessor into two different methods, so we can add the
> preference without compiling the accessor (we will be providing that
> anyway).
> 
> I think the issue is interesting outside Cuis-Finder too, as someone will
> bump into it eventually.
> 
> 
>>
>> Mariano
>>
>> --
>> Cuis-dev mailing list
>> Cuis-dev at lists.cuis.st
>> https://lists.cuis.st/mailman/listinfo/cuis-dev
>>
> 
> 
> 
That's bad, Actually even `[] storeString` does not terminate. As far as 
I can see, the problem
is BlockClosure's outerContext which
causes recursive sends of #storeOn: because
it first instance variable (`sender`. inherited
from InstructionStream) points to itself.

InstructionStream has an interesting class
comment:
"...The unclean re-use of sender to hold the method was to avoid a 
trivial subclass for the stand-alone scanning function."

Does it make sense to store instruction streams?


Just my 0.03€

Gerald



More information about the Cuis-dev mailing list