From 37e766dc8655bfaa00ef73e21da963152c0571e1 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Thu, 24 Mar 2016 18:44:29 -0400 Subject: [PATCH] niti: fix escaping flag when executing the finish of with Signed-off-by: Jean Privat --- src/interpreter/naive_interpreter.nit | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/interpreter/naive_interpreter.nit b/src/interpreter/naive_interpreter.nit index 213680e..c596f16 100644 --- a/src/interpreter/naive_interpreter.nit +++ b/src/interpreter/naive_interpreter.nit @@ -1838,7 +1838,13 @@ redef class AWithExpr v.callsite(method_start, [expr]) v.stmt(self.n_block) v.is_escape(self.break_mark) # Clear the break + + # Execute the finally without an escape + var old_mark = v.escapemark + v.escapemark = null v.callsite(method_finish, [expr]) + # Restore the escape unless another escape was provided + if v.escapemark == null then v.escapemark = old_mark end end -- 1.7.9.5