When you have a nested macros set up and in the macro call to a higher level nested macro you escape a newline, it doesn't seem like it escapes the newlines properly when it calls the lower level nested macro.
Numbered Steps to Reproduce Problem:
1. Download test environment. (https://www.dropbox.com/s/ojl310ausmgfwrt/ macro_nesting_stupid_stuff.zip?dl=0)
2. Compile.
3. Observe compile error.
Code Snippet (if applicable) to Reproduce Problem:
#define B(X) X
#define A(X) B(X)
/obj/foo
var/bar = 11
var/baz = 20
/obj/foo/New()
..()
A(src.bar\
src.baz)
Expected Results:
compiles without error.
Actual Results:
macro_nesting_stupid_stuff.dme:16:error: missing ) in macro call
macro_nesting_stupid_stuff.dme:17:error: ): expected }
macro_nesting_stupid_stuff.dm:13:error: location of top-most unmatched {
Does the problem occur:
Every time? Or how often?
Yes
In other games?
Yes, I made a new test environment.
In other user accounts?
Yes, It's an issue with the compiler.
On other computers?
Yes.
When does the problem NOT occur?
I assume you can work around it by figuring out a way to avoid nesting macros with escaped newlines in their calls.
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.)
Not sure.
Workarounds:
Just avoid nesting macros if you want to escape newlines in the macro arguments.