aboutsummaryrefslogtreecommitdiff
path: root/py/obj.h
AgeCommit message (Collapse)Author
2014-09-07py: Add ioctl method to stream protocol; add initial modselect.Damien George
2014-08-30py: Remove use of int type in obj.h.Damien George
Part of code cleanup, working towards resolving issue #50.
2014-08-30py: Change all uint to mp_uint_t in obj.h.Damien George
Part of code cleanup, working towards resolving issue #50.
2014-08-30py: Make tuple and list use mp_int_t/mp_uint_t.Damien George
Part of code cleanup, to resolve issue #50.
2014-08-30py: Make map, dict, set use mp_int_t/mp_uint_t exclusively.Damien George
Part of code cleanup, towards resolving issue #50.
2014-08-30Change some parts of the core API to use mp_uint_t instead of uint/int.Damien George
Addressing issue #50, still some way to go yet.
2014-08-29py: Use memmove instead of memcpy when appropriate.Damien George
Found this bug by running unix/ tests with DEBUG=1 enabled when compiling.
2014-08-27py: Improve efficiency of MP_OBJ_IS_STR_OR_BYTES.Damien George
Saves ROM (16 on stmhal, 240 on 64-bit unix) and should be quicker since there is 1 less branch.
2014-08-26Make int(b'123') work properly.Dave Hylands
2014-08-24py: Fix bug where GC collected native/viper/asm function data.Damien George
Because (for Thumb) a function pointer has the LSB set, pointers to dynamic functions in RAM (eg native, viper or asm functions) were not being traced by the GC. This patch is a comprehensive fix for this. Addresses issue #820.
2014-08-15py: Allow viper to have type annotations.Damien George
Viper functions can now be annotated with the type of their arguments and return value. Eg: @micropython.viper def f(x:int) -> int: return x + 1
2014-08-12py: Implement builtin reversed() function.Damien George
reversed function now implemented, and works for tuple, list, str, bytes and user objects with __len__ and __getitem__. Renamed mp_builtin_len to mp_obj_len to make it publically available (eg for reversed).
2014-08-10py: mp_buffer_info_t::buf may be valid, but NULL for empty objects.Paul Sokolovsky
This happens for example for zero-size arrays. As .get_buffer() method now has explicit return value, it's enough to distinguish success vs failure of getting buffer.
2014-07-31py: Make MP_OBJ_NEW_SMALL_INT cast arg to mp_int_t itself.Damien George
Addresses issue #724.
2014-07-31py: Add mp_obj_str_builder_end_with_len.Damien George
This allows to create str's with a smaller length than initially asked for.
2014-07-29Merge pull request #738 from dhylands/except-argsDamien George
Add support for storing args during an exception raised by an irq.
2014-07-27py: Change stream protocol API: fns return uint; is_text for text.Damien George
2014-07-25Add support for storing args during an exception raised by an irq.Dave Hylands
The user code should call micropython.alloc_emergency_exception_buf(size) where size is the size of the buffer used to print the argument passed to the exception. With the test code from #732, and a call to micropython.alloc_emergenncy_exception_buf(100) the following error is now printed: ```python >>> import heartbeat_irq Uncaught exception in Timer(4) interrupt handler Traceback (most recent call last): File "0://heartbeat_irq.py", line 14, in heartbeat_cb NameError: name 'led' is not defined ```
2014-07-03Rename machine_(u)int_t to mp_(u)int_t.Damien George
See discussion in issue #50.
2014-06-14objstr: Be 8-bit clean even for repr().Paul Sokolovsky
This will allow roughly the same behavior as Python3 for non-ASCII strings, for example, print("<phrase in non-Latin script>".split()) will print list of words, not weird hex dump (like Python2 behaves). (Of course, that it will print list of words, if there're "words" in that phrase at all, separated by ASCII-compatible whitespace; that surely won't apply to every human language in existence).
2014-06-11objfun: Remove no longer used mp_obj_fun_prepare_simple_args().Paul Sokolovsky
2014-06-08py: Make sure getattr() works with non-interned strings (by interning them).Paul Sokolovsky
2014-06-07py: Implement default keyword only args.Damien George
Should finish addressing issue #524.
2014-06-05objstr: Implement "%(key)s" % {} formatting for strings and dicts.Paul Sokolovsky
Also, make sure that args to "*" format specifiers are bounds-checked properly and don't lead for segfaults in case of mismatch.
2014-06-01py: Fix configurability of builtin slice.Damien George
2014-06-01Rename bultins config variables to MICROPY_PY_BUILTINS_*.Damien George
This renames: MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT See issue #35 for discussion.
2014-05-28py: Fix check of small-int overflow when parsing ints.Damien George
Also unifies use of SMALL_INT_FITS macro across parser and runtime.
2014-05-28py: Implement long int parsing in int(...).Damien George
Addresses issue #627.
2014-05-25Change const byte* to const char* where sensible.Damien George
This removes need for some casts (at least, more than it adds need for new casts!).
2014-05-25objlist: Implement support for arbitrary (3-arg) slices.Paul Sokolovsky
2014-05-25py: Refactor slice helpers, preparing to support arbitrary slicing.Paul Sokolovsky
2014-05-25objlist: Implement growing slice assignment.Paul Sokolovsky
This means that complete slice operations are supported for lists (but not for bytearray's and array.array's).
2014-05-25objslice: Support arbitrary objects start, stop, and step.Paul Sokolovsky
Older int-only encoding is not expressive enough to support arbitrary slice assignment operations.
2014-05-24Add SystemExit exception and use it in unix/ and stmhal/ ports.Damien George
Addresses issue #598.
2014-05-21py: Rename MP_OBJ_NOT_SUPPORTED to MP_OBJ_NULL.Damien George
See issue #608 for justification.
2014-05-17py: More const usage.Paul Sokolovsky
2014-05-15objstringio: Implement io.BytesIO.Paul Sokolovsky
Done in generalized manner, allowing any stream class to be specified as working with bytes.
2014-05-11py: Rename globally-accessible tuple functions, prefix with mp_obj_.Damien George
Likely there are other functions that should be renamed, but this is a start.
2014-05-11objtuple: Go out of the way to support comparison of subclasses.Paul Sokolovsky
Two things are handled here: allow to compare native subtypes of tuple, e.g. namedtuple (TODO: should compare type too, currently compared duck-typedly by content). Secondly, allow user sunclasses of tuples (and its subtypes) be compared either. "Magic" I did previously in objtype.c covers only one argument (lhs is many), so we're in trouble when lhs is native type - there's no other option besides handling rhs in special manner. Fortunately, this patch outlines approach with fast path for native types.
2014-05-11py: Start making good use of mp_const_obj_t.Paul Sokolovsky
2014-05-10objlist: Implement non-growing slice assignment.Paul Sokolovsky
Slice value to assign can be only a list so far too.
2014-05-10py: Fix prefix on few sequence helpers, was incorrectly "mp_".Paul Sokolovsky
2014-05-10objset: Give up and implement frozenset.Paul Sokolovsky
Tired of patching CPython stdlib for it.
2014-05-10py: Tidy up returning NULL which should be MP_OBJ_NOT_SUPPORTED.Damien George
2014-05-07py: Improve native emitter; now supports more opcodes.Damien George
2014-05-03Add license header to (almost) all files.Damien George
Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
2014-05-03objclosure, objcell: Print detailed representation if was requested.Paul Sokolovsky
Well, it is bound to "detailed error reporting", but that's closest what we have now without creating new entities.
2014-05-02objtype: .print() Exception instances in adhoc way.Paul Sokolovsky
This is ugly, just as expected.
2014-05-01objgenerator: .print(): Output real underlying function name.Paul Sokolovsky
2014-04-28py: Clear allocated, but unused memory in containers.Paul Sokolovsky
Also, clear up freed slots in containers. As a follow up to 32bef315be8e56ad2d7f69223fe7b9606893b6ab.