Paul Sokolovsky
94d8246272
objlist: Implement non-growing slice assignment.
...
Slice value to assign can be only a list so far too.
2014-05-10 22:24:31 +03:00
Paul Sokolovsky
d915a52eb6
py: Fix prefix on few sequence helpers, was incorrectly "mp_".
2014-05-10 21:36:33 +03:00
Paul Sokolovsky
aa4d19a05c
objtype: Comments for duplicating code in runtime.c.
2014-05-10 21:26:08 +03:00
Paul Sokolovsky
1a7403bb74
objtype: Implement ->getiter() method for instances.
...
Includes support for native bases.
2014-05-10 21:26:08 +03:00
Paul Sokolovsky
0bc15941c2
py: Make mp_obj_print() handle null object w/o segfault if debug build.
...
Happens regularly when used for debugging.
2014-05-10 21:26:07 +03:00
Paul Sokolovsky
7067d69bcc
objnamedtuple: Support iteration.
2014-05-10 21:26:07 +03:00
Damien George
3793830ed9
tools: Move gendoc.py to tools, and make it a little more generic.
2014-05-10 19:12:47 +01:00
Damien George
09bbe7215a
stmhal: Fix USB CDC not flushing packets when an exact multiple of 64.
...
Need to send a zero-sized packet after sending an exact multiple of 64
bytes (not just after sending 64 bytes exactly).
Addresses issue #494 , part 2.
2014-05-10 18:56:16 +01:00
Damien George
0fb80c303a
py: Compress a little the bytecode emitter structure.
2014-05-10 18:16:21 +01:00
Damien George
9597771fe4
py, emitters: Fix dummy_data size for bytecode and thumb.
...
Thumb uses a bit less RAM, bytecode uses a tiny bit more, to avoid
overflow of the dummy buffer in certain cases.
Addresses issue #599 .
2014-05-10 18:07:08 +01:00
Damien George
7db57bf6b2
Merge branch 'master' of github.com:micropython/micropython
2014-05-10 17:50:05 +01:00
Paul Sokolovsky
6913521911
objstr: Implement .lower() and .upper().
2014-05-10 19:49:07 +03:00
Damien George
b0edec61ac
stmhal: Improve handling of out-of-memory in REPL.
...
Addresses issue #558 , but it's likely that other out-of-memory errors
could crash the pyboard. Reason is that qstrs use m_new and can raise
an exception within the parser.
2014-05-10 17:48:46 +01:00
Damien George
e1199ecf10
py, lexer: Add allocation policy config; return NULL if can't allocate.
2014-05-10 17:48:01 +01:00
Damien George
1b82e9af5c
py: Improve handling of memory error in parser.
...
Parser shouldn't raise exceptions, so needs to check when memory
allocation fails. This patch does that for the initial set up of the
parser state.
Also, we now put the parser object on the stack. It's small enough to
go there instead of on the heap.
This partially addresses issue #558 .
2014-05-10 17:36:41 +01:00
Paul Sokolovsky
ad6178bb08
builtinimport: Fix broken namespace imports due to dup vstr_cut_tail_bytes().
2014-05-10 19:00:03 +03:00
Paul Sokolovsky
f9589d2f23
builtinimport: Fix comment orphaned by one of previous commits.
2014-05-10 18:46:02 +03:00
Paul Sokolovsky
deaeaac469
modsys: Enable sys.exit() per port after all.
2014-05-10 17:26:47 +03:00
Paul Sokolovsky
37b0f33545
objset: Add frozenset tests, skippable if frozenset not available.
2014-05-10 16:56:21 +03:00
Paul Sokolovsky
43d4a6fa31
run-tests: Add support for skipping tests.
...
MicrpPython test should print single "SKIP" line for test to be skipped.
2014-05-10 16:56:21 +03:00
Paul Sokolovsky
0f14fdea0c
stmhal: Implement draft version of sys.exit().
2014-05-10 16:56:21 +03:00
Paul Sokolovsky
d99e9083cb
modsys, unix: Add sys.exit(), should be implemented by a port.
2014-05-10 16:56:21 +03:00
Paul Sokolovsky
d80e2476c7
py: Disable frozenset by default, enable on unix.
...
Takes 416 text bytes on x86.
2014-05-10 16:56:20 +03:00
Paul Sokolovsky
b181b581aa
objset: Give up and implement frozenset.
...
Tired of patching CPython stdlib for it.
2014-05-10 16:56:20 +03:00
Paul Sokolovsky
d86020ac4f
objtype: Don't treat inheritance from "object" as from native type.
...
"object" type in MicroPython currently doesn't implement any methods, and
hopefully, we'll try to stay like that for as long as possible. Even if we
have to add something eventually, look up from there might be handled in
adhoc manner, as last resort (that's not compliant with Python3 MRO, but
we're already non-compliant). Hence: 1) no need to spend type trying to
lookup anything in object; 2) no need to allocate subobject when explicitly
inheriting from object; 3) and having multiple bases inheriting from object
is not a case of incompatible multiple inheritance.
2014-05-10 16:56:20 +03:00