ID:1511113
 
BYOND Version:501
Operating System:Windows 7 Pro
Web Browser:Firefox 26.0
Applies to:Dream Maker
Status: Unverified

Thus far we've been unable to verify or reproduce this bug. Or, it has been observed but it cannot be triggered with a reliable test case. You can help us out by editing your report or adding a comment with more information.
Descriptive Problem Summary:When using the colon operator with a variable call starting with the letter M (lowercase or upper) the compiler gives this error: error: I/:/m: undefined var

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:
    if(hasvar(I, "my_atom"))
I:my_atom = null
Also:
anyvariablename:m


Expected Results:It compiles without an issue like the operator should

Actual Results:Throws an error on compile time

Does the problem occur:
Only in specific case of the letter m following the colon

Workarounds: N/A

I can't reproduce this, so it may be specific to your project. Particularly relevant is the fact that there is no hasvar() proc. Obviously I can't rule out a bug without knowing more, and this has all the earmarks of a bug, but it appears to be set off only by specific conditions.

If you can send me the project files, I can take a look. You can zip them up and send them to me at [email protected], or send me a link to the file if you upload it somewhere. I'll need to know what libraries you use also, if any.
Lummox JR changed status to 'Unverified'
Using 506.1236 - any time I use the colon operator and the variable does not exist somewhere in the code I receive this error.

Start an empty project with this code and it would occur (for me)
mob/proc/Test()
var/I = 0
I:idonotexist = 0


loading a.dme
a.dm:3:error: I/:/idonotexist: undefined var
a.dm:2:warning: I: variable defined but not used
a.dmb - 1 error, 1 warning
In response to Pirion
That's expected. The colon operator just says to the compiler that it should forget about the object's type when it tries to access the var, and eschew a warning. But a var that doesn't exist anywhere in the project obviously doesn't belong to any type at all.

The correct way to access a var that you've never defined anywhere would be via the vars[] list.