circuitpython/py
Paul Sokolovsky 0c904df8e6 vm: Save current active exception on opening new try block.
Required to reraise correct exceptions in except block, regardless if more
try blocks with active exceptions happen in the same except block.

P.S. This "automagic reraise" appears to be quite wasteful feature of Python
- we need to save pending exception just in case it *might* be reraised.
Instead, programmer could explcitly capture exception to a variable using
"except ... as var", and reraise that. So, consider disabling argless raise
support as an optimization.
2014-03-30 01:01:35 +02:00
..
asmthumb.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
asmthumb.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
asmx64.c Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. 2014-02-12 18:31:30 +02:00
asmx64.h Revert MP_BOOL, etc. and use <stdbool.h> instead 2014-01-06 13:51:53 -08:00
bc0.h py: Support closures with default args. 2014-03-26 23:17:44 +02:00
bc.h vm: Save current active exception on opening new try block. 2014-03-30 01:01:35 +02:00
binary.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
binary.h ffi: Implement ffivar.get()/set() methods. 2014-02-14 20:38:35 +02:00
builtin.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
builtin.h py: Implement getattr() builtin. 2014-03-27 00:11:36 +02:00
builtinevex.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
builtinimport.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
builtintables.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
builtintables.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
compile.c Merge pull request #389 from pfalcon/with-statement 2014-03-29 14:00:03 +00:00
compile.h Add source file name and line number to error messages. 2014-01-18 23:24:36 +00:00
emit.h py: Factor out code from runtime.c to emitglue.c. 2014-03-27 23:26:35 +00:00
emitbc.c py: Rename emit_pre so they have globally unique names. 2014-03-27 23:30:26 +00:00
emitcommon.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
emitcpy.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
emitglue.c py: Free unique_code slot for outer module. 2014-03-29 11:39:36 +00:00
emitglue.h py: Free unique_code slot for outer module. 2014-03-29 11:39:36 +00:00
emitinlinethumb.c py: Factor out code from runtime.c to emitglue.c. 2014-03-27 23:26:35 +00:00
emitnative.c py: Rename emit_pre so they have globally unique names. 2014-03-27 23:30:26 +00:00
emitpass1.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
formatfloat.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
formatfloat.h Rename formatfloat file; remove MICROPY_ENABLE_FLOAT from mpconfigport.h. 2014-03-10 13:27:02 +00:00
gc.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
gc.h GC: Fix printf formats for debugging; add gc_dump_alloc_table. 2014-02-26 22:55:59 +00:00
grammar.h Clean up handling of function return type annotation. 2014-02-10 02:04:26 +02:00
intdivmod.c Fixed floor division on mp ints and small ints. Added a floordivide test case. 2014-03-22 20:29:56 +00:00
intdivmod.h Fixed floor division on mp ints and small ints. Added a floordivide test case. 2014-03-22 20:29:56 +00:00
lexer.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexer.h Search paths properly on import and execute __init__.py if it exists. 2014-02-05 23:57:48 +00:00
lexerstr.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexerunix.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
lexerunix.h Move lexerstr to main py directory (everyone uses it). 2014-01-08 15:28:26 +00:00
makeqstrdata.py py: Replace naive and teribble hash function with djb2. 2014-03-25 15:27:15 +00:00
malloc.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
map.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
map.h py: Fix bug in type_store_attr, trying to store to ROM. 2014-03-27 09:32:26 +00:00
misc.h Add vstr_ins and vstr_cut_out; improve stmhal readline. 2014-03-15 14:33:09 +00:00
mkenv.mk Rework makefiles. Add proper dependency checking. 2014-01-24 08:46:48 -08:00
mkrules.mk stmhal - add pin mapping, gpio, exti, usrsw 2014-03-14 23:41:28 -07:00
modarray.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modcollections.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modmath.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
modmicropython.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
mpconfig.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
mpz.c objint_mpz: Quick&dirty implementation of bitwise operations. 2014-03-23 01:59:11 +02:00
mpz.h objint_mpz: Quick&dirty implementation of bitwise operations. 2014-03-23 01:59:11 +02:00
nlr.h nlr.h: Do proper arch selection, using the same tests as nlr*.S . 2014-03-01 10:05:33 +02:00
nlrthumb.S nlrthumb.S: Comment out ".cpu cortex-m4", it causes problems on Cortex-A. 2014-03-01 10:05:53 +02:00
nlrx64.S Fix OS X detection. 2014-03-22 17:37:20 -07:00
nlrx86.S Fixed problems with nlx86.S on Linux 2014-01-28 19:52:04 +01:00
obj.c py: Support mpz -op- float, mpz -op- complex, and complex -op- mpz. 2014-03-29 17:28:20 +00:00
obj.h py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objarray.c Remove mp_obj_type_t.methods entry and use .locals_dict instead. 2014-03-26 21:47:19 +00:00
objarray.h Add objarray.h . 2014-01-19 01:40:47 +02:00
objbool.c py: Change mp_const_* objects to macros. 2014-03-29 13:15:08 +00:00
objboundmeth.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objcell.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objclosure.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
objcomplex.c py: Fix typo printing complex numbers that are purely imaginary. 2014-03-29 11:41:38 +00:00
objdict.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objenumerate.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objexcept.c py: Change mp_const_* objects to macros. 2014-03-29 13:15:08 +00:00
objfilter.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objfloat.c Merge remote-tracking branch 'upstream/master' 2014-03-22 12:17:36 +00:00
objfun.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objgenerator.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objgenerator.h py: Swap around the double return value of mp_obj_gen_resume. 2014-03-26 19:33:23 +00:00
objgetitemiter.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objint_longlong.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objint_mpz.c py: Support mpz -op- float, mpz -op- complex, and complex -op- mpz. 2014-03-29 17:28:20 +00:00
objint.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objint.h Add arbitrary precision integer support. 2014-02-22 19:25:23 +00:00
objlist.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objmap.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objmodule.c Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
objmodule.h Proper support for registering builtin modules in ROM. 2014-03-25 14:18:18 +00:00
objnamedtuple.c py: Change mp_const_* objects to macros. 2014-03-29 13:15:08 +00:00
objnone.c py: Change mp_const_* objects to macros. 2014-03-29 13:15:08 +00:00
objobject.c py: Add 'object' object. 2014-03-22 21:31:28 +00:00
objrange.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
objset.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objslice.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objstr.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objtuple.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objtuple.h namedtuple: Inherit unary/binary ops from tuple base class. 2014-03-03 11:42:53 +08:00
objtype.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
objzip.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
parse.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
parse.h py: Put number parsing code together in parsenum.c. 2014-02-22 18:12:43 +00:00
parsehelper.c Implement proper exception type hierarchy. 2014-02-15 16:10:44 +00:00
parsehelper.h Implement proper exception type hierarchy. 2014-02-15 16:10:44 +00:00
parsenum.c py: Put back proper ValueError for badly parsed integers. 2014-03-21 20:46:38 +00:00
parsenum.h py: Allow 'complex()' to take a string as first argument. 2014-03-21 11:45:46 +00:00
parsenumbase.c py: Implement bit-shift and not operations for mpz. 2014-03-01 19:50:50 +00:00
parsenumbase.h py: Implement bit-shift and not operations for mpz. 2014-03-01 19:50:50 +00:00
py.mk py: Factor out code from runtime.c to emitglue.c. 2014-03-27 23:26:35 +00:00
qstr.c py: Replace naive and teribble hash function with djb2. 2014-03-25 15:27:15 +00:00
qstr.h Add qstr_info() function and bindings for unix port. 2014-01-29 18:56:46 +00:00
qstrdefs.h vm: Implement "with" statement (SETUP_WITH and WITH_CLEANUP bytecodes). 2014-03-29 04:39:24 +02:00
repl.c mp_repl_is_compound_stmt(): Thinko fix s/true/try/. 2014-01-11 00:12:06 +02:00
repl.h Merge remote-tracking branch 'upstream/master' into dict_feats 2014-01-07 23:06:46 +00:00
runtime0.h py: Factor out code from runtime.c to emitglue.c. 2014-03-27 23:26:35 +00:00
runtime.c py: Rename old const type objects to mp_type_* for consistency. 2014-03-29 13:43:38 +00:00
runtime.h py: Free unique_code slot for outer module. 2014-03-29 11:39:36 +00:00
scope.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
scope.h py: Calculate maximum exception stack size in compiler. 2014-03-27 10:55:21 +00:00
sequence.c py: Clean up includes. 2014-03-17 02:43:40 -07:00
showbc.c py: Fix bugs with debugging output. 2014-03-28 18:38:20 +00:00
stream.c py: Replace mp_const_stop_iteration object with MP_OBJ_NULL. 2014-03-26 19:27:58 +00:00
stream.h stream: Add generic unbuffered iternext method. 2014-01-20 18:42:08 +02:00
unicode.c Replace global "static" -> "STATIC", to allow "analysis builds". Part 2. 2014-02-12 18:31:30 +02:00
vm.c vm: Save current active exception on opening new try block. 2014-03-30 01:01:35 +02:00
vstr.c py: Clean up includes. 2014-03-17 02:43:40 -07:00