Damien George
26cf55ae05
Add a check for NULL nlr_top in nlr_jump.
...
If no nlr_buf has been pushed, and an nlr_jump is called, then control
is transferred to nlr_jump_fail (which should bail out with a fatal
error).
2014-04-08 14:08:14 +00:00
Damien George
094ebef259
windows: Use most of the source files from unix/ port.
...
To keep it maintainable, windows port now uses as much as possible from
unix port. Maybe could even use mpconfigport.h.
2014-04-08 13:25:47 +00:00
Damien George
73c79b9925
py: Continue line if last character is backslash.
2014-04-08 11:33:28 +00:00
Damien George
443e018a3f
py: Improve GC locking/unlocking, and make it part of the API.
2014-04-08 11:31:21 +00:00
Damien George
ff5639fd42
Merge pull request #451 from lurch/repr-fixes
...
Display \r and \t escape codes in string repr
2014-04-08 12:11:40 +01:00
Damien George
97790455fe
Improve REPL detecting when input needs to continue.
...
Full CPython compatibility with this requires actually parsing the
input so far collected, and if it fails parsing due to lack of tokens,
then continue collecting input. It's not worth doing it this way. Not
having compatibility at this level does not hurt the goals of Micro
Python.
2014-04-08 11:04:29 +00:00
Andrew Scheller
12968fb6b2
Display \r and \t escape codes in string repr
2014-04-08 02:42:50 +01:00
Paul Sokolovsky
72d70cb045
unix, stmhal: Consistently use "FileIO" as class name for file objects.
...
They correspond to io.FileIO in io module hierarchy (with small caveat
that io.FileIO is raw file and works with bytes, not strings).
2014-04-08 04:08:16 +03:00
Paul Sokolovsky
b8cf948550
unix, windows: There's no "help" builtin.
2014-04-08 04:07:02 +03:00
Damien George
a12a0f78b0
py: Rename pfenv_print_int to pfenv_print_mp_int, and add back former.
...
stmhal relies on pfenv_* to implement its printf. Thus, it needs a
pfenv_print_int which prints a proper 32-bit integer. With latest
change to pfenv, this function became one that took mp_obj_t, and
extracted the integer value from that object.
To fix temporarily, pfenv_print_int has been renamed to
pfenv_print_mp_int (to indicate it takes a mp_obj_t for the int), and
pfenv_print_int has been added (which takes a normal C int). Currently,
pfenv_print_int proxies to pfenv_print_mp_int, but this means it looses
the MSB. Need to find a way to fix this, but the only way I can think
of will duplicate lots of code.
2014-04-08 01:29:53 +01:00
Damien George
97543c5285
Merge pull request #447 from dhylands/str-format-mpz
...
Add string formatting support for longlong and mpz.
2014-04-07 21:50:22 +01:00
Dave Hylands
23dc6d0ace
Fix truncation problem when using longlong implementation.
2014-04-07 13:47:04 -07:00
Paul Sokolovsky
98dd6d7712
README: Be specific that ARMv7 Linux is supported.
2014-04-07 23:46:08 +03:00
Dave Hylands
c4029e5079
Add string formatting support for longlong and mpz.
2014-04-07 11:38:45 -07:00
Damien George
6827f9fc55
Add uPy welcome message to UNIX and Windows ports; update Teensy port.
...
Partly addresses issue #154 .
2014-04-07 13:27:50 +01:00
Damien George
6c6f9d6782
windows: Make it compile with latest changes to py core.
2014-04-07 13:20:06 +01:00
Damien George
10072b72a5
Merge pull request #439 from lurch/makefile-tweaks
...
Makefile tweaks
2014-04-07 13:17:31 +01:00
Damien George
1422865c99
Merge pull request #445 from lurch/test-sorted-sets
...
Modify set tests to print sorted sets directly
2014-04-07 13:15:33 +01:00
Damien George
a28507ab2b
py: Detect unmatched tripple quote in repl helper.
2014-04-07 13:01:30 +01:00
Damien George
34ba06b076
Merge pull request #444 from lurch/test-sorted
...
Add tests for sorted() function
2014-04-07 12:52:28 +01:00
Andrew Scheller
1ff6011abc
Modify set tests to print sorted sets directly
...
instead of creating temporary lists and sorting those in-place
2014-04-07 05:00:03 +01:00
Andrew Scheller
a1a9ab2b2c
Add tests for sorted() function
...
and check that sorted(list) produces same output as list.sort()
2014-04-07 04:41:54 +01:00
Andrew Scheller
5e443f4b70
Merge remote-tracking branch 'upstream/master' into makefile-tweaks
2014-04-07 01:41:24 +01:00
Andrew Scheller
902d9552c5
Replace some Makefile commands with variables in py/mkenv.mk
2014-04-07 01:35:45 +01:00
Damien George
2bfd2dc770
py: Revert revert for allocation policy of set hash table.
2014-04-07 01:16:17 +01:00
Paul Sokolovsky
46bd12d57e
objset: Fix incorrect workaround against mp_set_init() munging alloc size.
...
No longer needed after recent change which guarantees that mp_set_init()
will allocate exact number of slots requested.
2014-04-07 03:08:46 +03:00
Paul Sokolovsky
4d2238d2ce
tests: Fix more tests which depend on order of elements in set.
2014-04-07 03:08:46 +03:00
Damien George
3bb8663282
Merge branch 'master' of github.com:micropython/micropython
2014-04-07 00:54:53 +01:00
Paul Sokolovsky
bd6f3d31d2
tests: Fix few tests which depend on order of elements in set.
2014-04-07 02:54:16 +03:00
Damien George
c75427baaa
py: Revert change to allocation policy for mp_set_t.
...
Seems that this fixes all set tests.
2014-04-07 00:54:04 +01:00
Paul Sokolovsky
9f043da5c3
pip-micropython: Require command verb, but restrict to "install" only.
...
So, pip-micropython can/should be run as normal pip:
pip-micropython install micropython-unittest
2014-04-07 02:53:41 +03:00
Damien George
07e24a6294
tests: Fix tests with sets to print sorted set.
2014-04-07 00:42:09 +01:00
Damien George
ff715429ea
py: Fix str.replace for case when arg 0 or 1 is empty string.
2014-04-07 00:39:13 +01:00
Damien George
36e75aef38
unix-cpy: Pass emit opt to mp_compile.
2014-04-06 19:48:43 +01:00
Paul Sokolovsky
b4dea46d8b
tests: Fix few tests which depend on order of elements in dict.
...
With dict being unordered of course.
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
e2adff3608
tests/dict2.py: Add combined test for dict(dict) and dict equality.
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
7cf057aeeb
objdict: Implement equality operator.
...
Sure, it's O(n^2).
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
5fedd0c3b7
py: Fix dict.copy() and low-level map/set allocation.
...
Two things: 1) set flags in copy properly; make mp_map_init() not be too
smart and do something with requested alloc size. Policy of using prime
numbers for alloc size is high-level policy which should be applied at
corresponding high levels. Low-level functions should just do what they're
asked to, because they don't have enough context to be smarter than that.
For example, munging with alloc size of course breaks dict copying (as
changing sizes requires rehashing).
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
ea85a121f2
objdict: Support creating dict from another dict.
2014-04-06 20:08:56 +03:00
Damien George
cdd96dff2c
py: Implement more features in native emitter.
...
On x64, native emitter now passes 70 of the tests.
2014-04-06 12:58:40 +01:00
Damien George
65cad12d38
py: Add option to compiler to specify default code emitter.
...
Also add command line option to unix port to select emitter.
2014-04-06 11:48:15 +01:00
Damien George
deed087e2c
py: str.split: handle non-default separator.
2014-04-06 11:11:15 +01:00
Paul Sokolovsky
36dd19ae27
py: Revert mp_load_attr() to its previous state (not supporting default val).
...
Based on the discussion in #433 . mp_load_attr() is critical-path function,
so any extra check will slowdown any script. As supporting default val
required only for getattr() builtin, move correspending implementation
there (still as a separate function due to concerns of maintainability
of such almost-duplicated code instances).
2014-04-06 02:15:23 +03:00
Damien George
4e1ed82583
Merge branch 'master' of github.com:micropython/micropython
2014-04-05 23:33:37 +01:00
Damien George
d0e824387e
py: Make mp_map_lookup not allocate memory on removal.
2014-04-05 23:33:12 +01:00
Paul Sokolovsky
080d99b7a8
py: Optimize locals()/globals() implementation.
2014-04-06 01:18:58 +03:00
Damien George
09af5364d4
Merge branch 'master' of github.com:micropython/micropython
2014-04-05 23:04:22 +01:00
Damien George
27e735fd18
py: Replace stream_p with *stream_p in mp_obj_type_t.
...
This is to reduce ROM usage. stream_p is used in file and socket types
only (at the moment), so seems a good idea to make the protocol
functions a pointer instead of the actual structure.
It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
2014-04-05 23:02:23 +01:00
Paul Sokolovsky
cc0af3d727
py: Implement globals() and locals() builtins.
2014-04-06 01:01:36 +03:00
Damien George
17520224fa
py: Make all objects and instances derive from object.
...
This makes isinstance(X, object) and issubclass(X, object) true for all
X.
2014-04-05 22:45:23 +01:00