# HG changeset patch # User Paul Boddie # Date 1479514397 -3600 # Node ID 1fb0e4896734db51a9ca621ad993794a9fe42146 # Parent 87c39b0ec1926e36928ba570ab203530592783d2 Handle returning from try-else blocks. Fixed exception isinstance testing. diff -r 87c39b0ec192 -r 1fb0e4896734 translator.py --- a/translator.py Sat Nov 19 01:11:32 2016 +0100 +++ b/translator.py Sat Nov 19 01:13:17 2016 +0100 @@ -1146,6 +1146,7 @@ self.writeline("{") self.indent += 1 self.writeline("if (__tmp_exc.raising) __RaiseElse(__tmp_exc.arg);") + self.writeline("else if (__tmp_exc.completing) __Throw(__tmp_exc);") self.indent -= 1 self.writeline("}") @@ -1183,7 +1184,7 @@ if name is not None: name_ref = self.process_structure_node(name) - self.writeline("else if (__BOOL(__fn_native__isinstance((__attr[]) {__tmp_exc.arg, %s})))" % name_ref) + self.writeline("else if (__BOOL(__fn_native__isinstance((__attr[]) {{0, 0}, __tmp_exc.arg, %s})))" % name_ref) else: self.writeline("else if (1)")