ID:2946317
 
Resolved
The __PROC__ pseudomacro sometimes resolved prematurely, causing compilation errors in some cases.
BYOND Version:515
Operating System:Windows 11 Pro
Web Browser:Chrome 129.0.0.0
Applies to:Dream Maker
Status: Resolved (515.1644)

This issue has been resolved.
Descriptive Problem Summary:

If you have a /world typedef located in between any proc and a __PROC__ inside of a string interop compile will fail.

Numbered Steps to Reproduce Problem:
Try to compile that code.
Fail.
Cry.

Code Snippet (if applicable) to Reproduce Problem:
/world

/proc/buzz()
"[__PROC__]"


Expected Results:
Compilation is fine.

Actual Results:
Compilation dies.

Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?

When does the problem NOT occur?
IF you remove the
/world

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

Workarounds:
Just don't use __PROC__

fun bit: Sometimes adding and removing or even just moving around global proc defs will fix or unfix the bug. (not shown here in zep's test case, but showed up in /tg/ where the bug only showed up if another proc existed, but stopped if you changed what file its in)
When you say "compilation dies", what does that mean exactly? Is there an error message?
Its the invalid expression (1157) bug I told you about on discord
Lummox JR resolved issue with message:
The __PROC__ pseudomacro sometimes resolved prematurely, causing compilation errors in some cases.