ID:2094949
 
BYOND Version:510
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 50.0.2661.102
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
When compiling const expressions with dm.exe -o, the output XML does not contain the result of the expression but a broken version of the expression instead.

Numbered Steps to Reproduce Problem:
Compile below code snippet with the command line compiler's -o option:

Code Snippet (if applicable) to Reproduce Problem:
var/const/one = 1
var/const/two = 2

var/something = one + two


The result of this code snippet is the following:
<var file="test.dm:1">one
<val file="test.dm:1">1</val>
</var>
<var file="test.dm:2">two
<val file="test.dm:2">2</val>
</var>
<var file="test.dm:4">something
<val file="test.dm:4">onetwo</val>
</var>


Expected Results:
The expression would either be unchanged in the output or the result of the expression would be put in the XML.

Actual Results:
It does not, and the expression gets non alphanumerical characters cut out, making it completely useless to parsing.


Does the problem occur:
Every time? Or how often? 100%
In other games? N/A
In other user accounts? N/A
On other computers? Yes

When does the problem NOT occur?
Don't use constant vars / don't try to parse dm.exe -o

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.) Untested

Workarounds:
Manually parse the expression based on line number, oh god.
It's like this for any expressions, numbers and strings included. This means that it's impossible to safely get variables from dm.exe -o, which really sucks for what I'm doing right now.
This is likely to be a nasty fix, but I'll put it on my list.