ID:1878320
 
BYOND Version:507
Operating System:Windows 8 Pro 64-bit
Web Browser:Opera
Applies to:DM Language
Status: Open

Issue hasn't been assigned a status value.
Version: 507.1286

Descriptive Problem Summary:

Context: vehicles to traverse space in space station 13.

I created a datum to store administrative logs.

Numbered Steps to Reproduce Problem:

Code Snippet (if applicable) to Reproduce Problem:
var/list/pod_logs = list()

/datum/pod_log
var/list/modification_log = list()
var/list/occupancy_log = list()
var/obj/pod/holder

New(var/obj/pod/pod)
..()
holder = pod
pod_logs += src

proc/Stamp()
return "\[[time_stamp()]\]: "

proc/LogModification(var/mob/living/user, var/obj/item/weapon/pod_attachment/attachment, var/attach = 1)
var/log = "[key_name(user)] [attach ? "attached" : "detached"] \the [attachment.name] ([attachment.type]) Hardpoint: [attachment.GetFluffText()]."
modification_log.Add(Stamp() + "<font color='[attach ? "green" : "blue"]'>[log]</font>")

proc/LogOccupancy(var/mob/living/occupant, var/as_pilot = 1, var/entered = 1)
var/log = "[key_name(occupant)] [entered ? "<font color='green'>entered</font>" : "<font color='red'>left</font>"] \the [holder] ([holder.type]) as [as_pilot ? "pilot" : "passenger"]."
occupancy_log.Add(Stamp() + "<font color='[as_pilot ? "blue" : "orange"]'>[log]</font>")


Defined in the object is:

var/datum/pod_log/log


oh, and yes, it is initialized.

usage:

log.LogOccupancy(H, !as_passenger, 1)


Expected Results:

It to work like any function call

Actual Results:

code\modules\space_exploration\pods\base\pod.dm:157:error: LogOccupancy: invalid expression
code\modules\space_exploration\pods\base\pod.dm:157:warning: log: statement has no effect

Does the problem occur:
Every time? Or how often?
Every compile.

In other games?
No idea.

In other user accounts?
Don't think it would affect this.

On other computers?
Haven't tested.

When does the problem NOT occur?
See workarounds, and ANY OTHER TIME EVER.

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.)
I haven't tested it on other versions but this is the first time it happened and I JUST updated byond.

Workarounds:
var/datum/pod_log/_log = log
_log.LogOccupancy(H, !as_passenger, 1)


I can give byond devs access to my github repo if needed.
This is caused by the top-level log() function and issues with how BYOND builds procs, or something.

It's been around forever, most recent bug report about it is id:1852548.
Ugh. Well. I guess I'll just rename the var then. Thanks.