2013/5/7 Geoff Leyland <email@example.com>:
I can't believe I missed that, so I looked carefully at what I did.
>> function a() print(debug.getinfo(2, "n").name) end
Relative to your example, the minimal difference is this:
function b() return a() end
function a() print(debug.getinfo(2, "n").name) end
It is instructive to work out the reason why in this case there
is no name.