Line in a routine with XECUTE of a literal works correctly
Final Release Note
Routine lines with an XECUTE of a literal string followed by one or more commands (i.e., the XECUTE is not the last command in the line) work correctly. Previously, an optimization of XECUTE of literal strings in routines caused such lines to execute incorrectly. For example, the line W !,"start" X "F J=1:1:0 W !,J" W !,"stop" in a routine works correctly, whereas previously it would print "start" but not "stop". The workaround was to assign the literal to a variable. Direct mode was unaffected by this issue. [#440 (closed)]
Description
The line of code W !,"start" X "F J=1:1:0 W !,J" W !,"stop" works correctly when executed in direct mode, but xecutebug.m returns incorrect results:
YDB>d ^xecutebug
start
YDB>zprint ^xecutebug
xecutebug
W !,"start" X "F J=1:1:0 W !,J" W !,"stop"
Q
YDB>W !,"start" X "F J=1:1:0 W !,J" W !,"stop"
start
stop
YDB>
The upstream issue reports that this worked correctly in a GT.M V5.1 release.