Commit Graph

1577 Commits

Author SHA1 Message Date
Paul Sokolovsky 2ff3d9d0b2 builtinimport: Set __path__ attribute ASAP as it's clear we have a package.
This helps with handling "recursive" imports in sane manner, for example
when foo/__init__.py has something like "from foo import submod".
2014-04-12 02:55:18 +03:00
Paul Sokolovsky 69f1867da5 builtinimport: Fix thinko passing 0 vs NULL. 2014-04-12 02:55:18 +03:00
Damien George 8c63ef187d Merge pull request #465 from xbe/unix-gc
unix: Fix GC not tracing .data
2014-04-12 00:27:19 +01:00
Damien George 8f19317540 py: Remove useless implementations of NOT_EQUAL in binary_op's.
I'm pretty sure these are never reached, since NOT_EQUAL is always
converted into EQUAL in mp_binary_op.  No one should call
type.binary_op directly, they should always go through mp_binary_op
(or mp_obj_is_equal).
2014-04-12 00:20:39 +01:00
Damien George db049c2e00 py: Change inline to static inline for 2 functions. 2014-04-12 00:08:40 +01:00
Damien George 7b4330191f py, compiler: Fix up creation of default positionals tuple.
With new order of evaluation of defaults, creating the tuple was done in
the wrong spot.
2014-04-12 00:05:49 +01:00
Damien George c42e4b6c53 Merge branch 'master' of github.com:micropython/micropython 2014-04-11 23:26:18 +01:00
Damien George 8b19db00aa py, compiler: Fix compiling of keyword args following named star. 2014-04-11 23:25:34 +01:00
Paul Sokolovsky b9b1c00c8a showbs: Dump LOAD_CONST_BYTES. 2014-04-12 00:39:55 +03:00
Paul Sokolovsky 00a9d138b2 showbc: Dump LOAD_NULL. 2014-04-12 00:39:55 +03:00
Paul Sokolovsky af620abcb5 py: Implement "from pkg import mod" variant of import. 2014-04-12 00:39:55 +03:00
Paul Sokolovsky 13d52df4c5 builtinimport: Set __path__ attribute on packages.
Per https://docs.python.org/3.3/reference/import.html , this is the way to
tell module from package: "Specifically, any module that contains a __path__
attribute is considered a package." And it for sure will be needed to
implement relative imports.
2014-04-12 00:39:55 +03:00
Paul Sokolovsky e081329098 builtinimport: Elaborate debug output support. 2014-04-12 00:39:55 +03:00
Paul Sokolovsky a925cb54f1 py: Preprocess qstrdefs.h before feeding to makeqstrdata.py.
This is alternative implementation of supporting conditionals in qstrdefs.h,
hard to say if it's much cleaner than munging #ifdef's in Python code...
2014-04-12 00:39:55 +03:00
Paul Sokolovsky 6ea0e928d8 Revert "makeqstrdata.py: Add support for conditionally defined qstrs."
This reverts commit acb133d1b1.

Conditionals will be suported using C preprocessor.
2014-04-12 00:39:54 +03:00
Damien George 1184094839 py: Revert some inline functions back to macros, since they bloat stmhal. 2014-04-11 22:30:09 +01:00
xbe a36a55d2cf unix: Update comment in gccollect.c 2014-04-11 06:42:17 -07:00
Damien George 69b89d21b2 py: Change compile order for default positional and keyword args.
This simplifies the compiler a little, since now it can do 1 pass over
a function declaration, to determine default arguments.  I would have
done this originally, but CPython 3.3 somehow had the default keyword
args compiled before the default position args (even though they appear
in the other order in the text of the script), and I thought it was
important to have the same order of execution when evaluating default
arguments.  CPython 3.4 has changed the order to the more obvious one,
so we can also change.
2014-04-11 13:38:30 +00:00
Damien George 0e3329a6b8 py, compiler: Allow lambda's to yield. 2014-04-11 13:10:21 +00:00
Damien George 0288cf020e py: Implement compiling of *-expr within parenthesis. 2014-04-11 11:53:00 +00:00
Damien George a5c82a8187 py: Convert some macros to inline functions (in obj.h).
Also convert mp_obj_is_integer to an inline function.

Overall this decreased code size (at least on 32-bit x86 machine).
2014-04-11 11:16:53 +00:00
Damien George e22d76e73b py: Fix up object equality test.
It regressed a bit after implementing float/complex equality.  Now it
should be improved, and support more equality tests.
2014-04-11 10:52:06 +00:00
Damien George a9ddd6d9df py: Simplify and improve mp_get_index.
It has (again) a fast path for ints, and a simplified "slow" path for
everything else.

Also simplify the way str indexing is done (now matches tuple and list).
2014-04-11 10:40:38 +00:00
Damien George 5f3fe3aa14 Merge branch 'master' of github.com:micropython/micropython 2014-04-11 10:11:07 +01:00
Damien George b8a053aeb1 py: Implement float and complex == and !=.
Addresses issue #462.
2014-04-11 10:10:37 +01:00