I go with Option 2.
A disclaimer that some older programs may choke on spaces is fine. But if there's still an actively-maintained program that does, I consider that a bug.
To take this even further, imposing any restrictions on user-controlled file names is not realistic. The user gets to enter a filename in a save dialog, or in the filesystem browser. LDraw programs have no control whatsoever over what a user names his files. It's up to the user to discover (the hard way) that some filesystems prohibit certain characters.
Allen
Fun Fact: On Mac OS 9, it was possible to generate filenames which contained '\0', since all strings were stored Pascal-style (length byte followed by chars). Suffice it to say that would not go over well on any system with a C heritage.
A disclaimer that some older programs may choke on spaces is fine. But if there's still an actively-maintained program that does, I consider that a bug.
To take this even further, imposing any restrictions on user-controlled file names is not realistic. The user gets to enter a filename in a save dialog, or in the filesystem browser. LDraw programs have no control whatsoever over what a user names his files. It's up to the user to discover (the hard way) that some filesystems prohibit certain characters.
Allen
Fun Fact: On Mac OS 9, it was possible to generate filenames which contained '\0', since all strings were stored Pascal-style (length byte followed by chars). Suffice it to say that would not go over well on any system with a C heritage.