Case 3 is not working with R3 Alpha and seems wrong in ren-c? Is that expected?
An experimental (and I think interesting) feature has been added to the console, whereby the last result is spliced in:
Persistence of Memory: The Enfix Console Trick
So your + 2
was picking up the previous result, adding to it, and that was discarded and you got 3. If you'd just said + 2
you'd have seen:
>> 2 + 3
== 5
>> + 2
== 7
The code implementing this is a fairly trivial console hook. I think it's particularly nice for storing the last value with SHOVE.
>> 300 + 4
== 304
>> -> j:
== 304
>> j
== 304
I was thinking it should check to see if the first thing after it is an enfix action with an <end>
-able first argument. If so, it likely has meaning ascribed to that, so you probably shouldn't fake the result...only do it if it would be an error otherwise.
But even if that were the case (as here, where it would only be an error) it seems it caused confusion in your case to not error. So maybe it's something that shouldn't be in by default. Bit of a shame, though.
I feel like the default console needs some kind of options page for ticking these things, and maybe each time you start up (or every few times) it could offer you a tip to teach you about one of them it hasn't told you about before...