diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-25 01:39:27 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-05-25 01:42:24 +0300 |
commit | afaaf535e6cfaf599432b13a2fbe9373e6a2c4b8 (patch) | |
tree | 34ffa8efb2b5f06a128edc983d40025f703b5c26 /py/vm.c | |
parent | 7a4ddd24281a7e21eeaa697644418015cf4dd650 (diff) | |
download | micropython-afaaf535e6cfaf599432b13a2fbe9373e6a2c4b8.tar.gz micropython-afaaf535e6cfaf599432b13a2fbe9373e6a2c4b8.zip |
objslice: Support arbitrary objects start, stop, and step.
Older int-only encoding is not expressive enough to support arbitrary slice
assignment operations.
Diffstat (limited to 'py/vm.c')
-rw-r--r-- | py/vm.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -768,12 +768,12 @@ unwind_jump: if (unum == 2) { obj2 = POP(); obj1 = TOP(); - SET_TOP(mp_obj_new_slice(obj1, obj2, NULL)); + SET_TOP(mp_obj_new_slice(obj1, obj2, mp_const_none)); } else { - obj1 = mp_obj_new_exception_msg(&mp_type_NotImplementedError, "3-argument slice is not supported"); - nlr_pop(); - fastn[0] = obj1; - return MP_VM_RETURN_EXCEPTION; + mp_obj_t obj3 = POP(); + obj2 = POP(); + obj1 = TOP(); + SET_TOP(mp_obj_new_slice(obj1, obj2, obj3)); } DISPATCH(); #endif |