ID:89487
 
BYOND Version:462
Operating System:Windows XP Home
Web Browser:Firefox 3.0.17
Status: Deferred

This issue may be low priority or very difficult to fix, and has been put on the back burner for the time being.
Descriptive Problem Summary:
When a .dme file is loaded with an #include to a non-existent filename, it pops up a message giving the filename, and says it will remove the line, but does not.
This also occurs when there's a comment on the same line as the #include, as explained in more detail in #define issues part 1.

Numbered Steps to Reproduce Problem:
1. Put an #include line in a .dme file that points to a nonexistent file.
2. Save the .dme file
3. Load the .dme file, either via Open Environment or Recent Environments.

Code Snippet (if applicable) to Reproduce Problem:
//For this code, assume you have a Creatures.dm and a Game.dm, but no a Definitions.dm file
#include "Definitions.dm"
// BEGIN_INCLUDE
#include "Creatures.dm"
#include "Game.dm"
// END_INCLUDE


Expected Results:
For the line to either be removed, or for no message to be given.

Actual Results:
A message pops up saying the line will be removed, but the line is not removed. The message is, for the example given:
#included file 'Definitions.dm' does not exist: removing

Does the problem occur:
Every time? Or how often? Seems to happen anytime the conditions are set for it to happen.
In other games? Unknown, but assumed so.
In other user accounts? Unknown, but I don't think user accounts are a variable contributing to this error.
On other computers? Unknown.

When does the problem NOT occur?
When the file exists, and (as clarified in #define issues part 1) there is no comment on the same line.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Unknown, but the bug is confirmed to exist in 461 as well.

Workarounds:

Delete the line yourself.
Alternatively, make sure each #include has an existing file included.
The message being given is actually ambiguous; it's done by Dream Maker itself, and basically says that it's not going to put the check mark on the file you included this way. But it doesn't remove that file from the .dme because DM dutifully ignores what's outside of the BEGIN_INCLUDE ... END_INCLUDE section. This is another case where smarter parsing could resolve the confusion, but the best practice is to simply avoid editing the .dme manually.
I'd say this is more not a bug than deferred, it is a documented feature that anything outside of BEGIN_INCLUDE and END_INCLUDE will be ignored by the automated inclusion methods DM uses.
It's still worth clarifying that message at some point though.