ID:1473719
 
Resolved
call() did not work properly on procs with underscores in their names.
BYOND Version:503
Operating System:Windows 7 Pro 64-bit
Web Browser:Chrome 32.0.1700.76
Applies to:DM Language
Status: Resolved (504.1230)

This issue has been resolved.
Descriptive Problem Summary:

Very similar to http://www.byond.com/forum/?post=109617

call() will runtime when they are given a proc name, like "run_left". To overcome this you have to instead replace the _ with a space.

hascall() was fixed so that it would accept _, it looks like call() was forgotten.

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:
if(hascall(myMob, "run_right"))
call(myMob, "run_right")() // Will runtime here


Expected Results:
For the run_right proc to correctly execute for the myMob object.

Actual Results:
The game will runtime.

When does the problem NOT occur?
When you replace the _ with a space, ONLY for the call(), not the hascall().

call(myMob, "run right")()

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:
Use a space instead of a _ in call()
I thought this was a known issue?

Interested to see the developer response.
http://www.byond.com/forum/?post=100645

It was fixed, too. I'm not able to test it at the moment, though.
Very weird.
call(m,text2path("/mob/proc/update_[menuname]"))()

This is a line of code that works in Alchemist, call() takes paths, not text. Use text2path() for stuff like that.
In response to Oasiscircle
It does take names of procs/verbs that the object has access to, actually. A full path in the form of text isn't always required.
In response to Kaiochao
Oh my bad, I meant this as a work-around until there is an update fixing the bug.
That sentence should have read "call() takes paths, not just text". I know this because I tried using text to start but found it didn't work with the underscore so I used the text2path() instead. :)
Lummox JR resolved issue with message:
call() did not work properly on procs with underscores in their names.