Excellent bug! It looks like calling BYE just sets a flag
that tells FMSLogo to exit at its earliest convenience. The
documentation doesn't says when BYE exits, but I agree with
you that it should be immediate.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have submitted a fix for this that stops running
primitives after the TimeToExit flag is set. There is no
getting around having to set a flag and waiting for FMSLogo
to decide when it's a good time to stop. However, by not
running primitives, no further side-effects (such as
drawing, printing, playing a sound, etc.) will happen.
This fix will be available in whatever version follows
6.8.0. I don't yet know if this wil be 6.9.0 or 6.8.1.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Logged In: YES
user_id=109252
Excellent bug! It looks like calling BYE just sets a flag
that tells FMSLogo to exit at its earliest convenience. The
documentation doesn't says when BYE exits, but I agree with
you that it should be immediate.
Logged In: YES
user_id=109252
I have submitted a fix for this that stops running
primitives after the TimeToExit flag is set. There is no
getting around having to set a flag and waiting for FMSLogo
to decide when it's a good time to stop. However, by not
running primitives, no further side-effects (such as
drawing, printing, playing a sound, etc.) will happen.
This fix will be available in whatever version follows
6.8.0. I don't yet know if this wil be 6.9.0 or 6.8.1.