If you put the output from DIALOGFILEOPEN or DIALOGFILESAVE into a variable, then open the workspace with Edall, the spaces and backslashes aren't escaped properly. As a result, if you can't save a change to the workspace.
I have reproduced this in FMSLogo 7.7.0 and as far back as MSWLogo 6.5b.
I think the value needs to be marked as v-barred.
How Reproducible:
Every Time
Steps to Reproduce:
1) Run MAKE "file DIALOGFILEOPEN "*.*
2) Select a file from a directory that has spaces in the name. This is easier on older versions of Windows, where the "Documents" folder was "C:\Documents and Settings\User\My Documents".
3) Press 'Edall'
4) Make a change unrelated to the file variable.
5) Choose File - Save and Exit
What Happens:
After Step 3, you notice the the spaces and backslashes in the file name weren't escaped by a backslash. It appears as something like
Make "file "C:\Documents and Settings\User\My Documents\myfile.lgo
After Step 5, you get an error when saving the workspace. The command shows an error like
I don't know how to SettingsUserMy
Expected Result
After Step 3, you see that the spaces in the file path are escaped properly.
Make "file "C:\\Documents\ and\ Settings\\User\\My Documents\\myfile.lgo
After Step 5, the workspace is saved without error.