|
Oh wait, spoke too soon. "or" is actually lower priority. Sorry. The chart in the reference manual goes from lower to higher. So I don't know.
That is the code. It's evaulating the result of (_G and tonumber or assert) and then calling that with ('', '')
Ah hah! I know what's wrong. The reason this is happening is "or" has a higher precendence than "and", so it's turning into (_G and (tonumber or assert)), which becomes (_G and assert), which becomes (assert)('','').