The PAUSE command interrupt command processing and gives the user a chance to run commands. In FMSLogo, a modal dialog box appears where you type the commands. After each command you run, a blank line is added to the commander history.
This bug is reproducible in MSWLogo 6.5b. Presumably, this is a relic from UCBLogo where the commands where typed into a console instead of a modal dialog box and the newline was a way to advance to the next prompt.
This bug is reproducible in MSWlogo 6.5b.
How Reproducible:
Every Time
Steps to Reproduce:
1) Run PAUSE
2) Enter "FD 100" in the popup box and press OK.
3) Enter "RT 90" in the popup box and press OK.
4) Press Cancel
5) In the commander, run "FD 200"
What Happens:
There are two blank lines between "Pausing..." and "FD 200" in the command history.
Expected Result:
Either the "FD 100" and "RT 90" show up under the "Pausing...", or there are no blank lines.
The blank line is a relic from UCBLogo. It's part of the prompt. In UCBLogo, the blank line would look like this:
<proc>?\n
MSWLogo never prompts with "?" because it uses a separate dialog box. Furthermore, if the procedure where pause was executed is unknown, such as if PAUSE is run at the top level, then it is omitted. In this case, all that remains in this case is the blank line.
The procedure name would be useful to know, but since the pause instructions come from a separate dialog box, the connection between what gets written in the commander history and the dialog box will be lost to most users.
I had fixed this when rewriting the implementation of PAUSE for Feature Request #136, having forgotten that there was a bug for this behavior. This was fixed by [r6106]. This was released as part of FMSLogo 8.5.0.
Related
Commit: [r6106]