Add %g option to string.format

It should be correct, passes the test anyway. How do they think these
up?
Don't push empty local frames, only push frames with content