I thought this bug was fixed years ago.
whiletest { var -s %i = 1 | WHILE (%i < 5) { var -s %j = 1 | WHILE (%j < 5) { noop | inc -s %j } | inc -s %i } }
Outputs:
* Set %i to 1
* Set %j to 1
* Inc %j to 2
* Inc %j to 3
* Inc %j to 4
* Inc %j to 5
* Inc %i to 2
The inner-while will loop fine, but the outer-while just ends without looping once.