The last three results of debugger evals are stored in '_', '__' and
'___' to provide a fast way to access these values again. Currently,
swf8 stores the values in the global object, whereas AS3 runtimes store
the values in the global object "global". This means in swf8 you could
write 'Debug.write("last result was %#w", _)', but this is currently not
possible in swf9/swf10. My question: Should this be considered as a bug?
I don't think there is any official documentation for these short-hands
[1], so maybe it was only intended that '_' as a single expression
should work?!
PS: '_' as a single expression works in swf9/swf10, because that's a
"simple expression" and therefore handled by "evalSimpleExpr" which
calls "globalValue" and "globalValue" looks up values in the global
object "global".
[1] Google only found these two results:
- http://www.openlaszlo.org/pipermail/laszlo-dev/2009-June/021356.html
- http://jira.openlaszlo.org/jira/browse/LPP-630