vm: Implement "with" statement (SETUP_WITH and WITH_CLEANUP bytecodes).
diff --git a/py/compile.c b/py/compile.c
index b3a8371..9e6c4e5 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -1798,6 +1798,7 @@
             EMIT_ARG(setup_with, l_end);
             EMIT(pop_top);
         }
+        compile_increase_except_level(comp);
         // compile additional pre-bits and the body
         compile_with_stmt_helper(comp, n - 1, nodes + 1, body);
         // finish this with block
@@ -1805,6 +1806,7 @@
         EMIT_ARG(load_const_tok, MP_TOKEN_KW_NONE);
         EMIT_ARG(label_assign, l_end);
         EMIT(with_cleanup);
+        compile_decrease_except_level(comp);
         EMIT(end_finally);
     }
 }