The problem is much smaller than that, actually. 10 LET T$=CHR(65)+CHR(66)+CHR(67) 20 PRINT T$ 30 LET A$=RIGHT(T$, 1) 40 QUIT
The problem vanishes if any of the following happen: * T$ is constructed with a string assignment (LET T$="ABC") * The PRINT statement is removed * The LET A$= statement is removed * Parrot is run with a -t Various combinations of these bring it back, and make it vanish again. My bets are that something in P21["T"] gets GC'd too soon. When I go back for it later (to RIGHT it), it's already gone....