a cheap 2-pass evaluation to allow jumps forward
added a test for jumping forward
removed s from debug_puts, because there are sometimes big macros that should not evaluated