It depends. There is a cost (syntax and run-time) to exception
handling in Lua. We know that goto is low-level, but it is not
inherently evil in the hands of someone who knows that it's the most
optimal solution. And as for 'bad code', the best solution is
education, not limiting the language so that it can be 'safe'
according to the current definition of 'safe'.
Gotos are also useful for code generation, particularly if one has
some kind of #line pragma as well.
I'm sorry but I don't agree on this point. Adding a bad feature like
goto to facilitate automatic code generation, this is a bad argument.
I will be afraid to see in future Lua libraries and application using gotos :-/
Francesco