- 11 Oct, 2015 1 commit
-
-
Damien George authored
Use CTRL-E to enter paste mode. Prompt starts with "===" and accepts all characters verbatim, echoing them back. Only control characters are CTRL-C which cancels the input and returns to normal REPL, and CTRL-D which ends the input and executes it. The input is executed as though it were a file. The input is not added to the prompt history.
-
- 01 Oct, 2015 1 commit
-
-
Damien George authored
With this patch parse nodes are allocated sequentially in chunks. This reduces fragmentation of the heap and prevents waste at the end of individually allocated parse nodes. Saves roughly 20% of RAM during parse stage.
-
- 19 Sep, 2015 1 commit
-
-
Alex March authored
Follow the same format as other ports using the macro to include the HAL header.
-
- 12 Sep, 2015 1 commit
-
-
Damien George authored
-
- 22 Aug, 2015 1 commit
-
-
Paul Sokolovsky authored
-
- 04 Jun, 2015 1 commit
-
-
Damien George authored
See issue #1306.
-
- 29 May, 2015 1 commit
-
-
Paul Sokolovsky authored
Using MICROPY_PY_SYS_PATH_DEFAULT macro define. A usecase is building a distribution package, which should not have user home path by default in sys.path. In such case, MICROPY_PY_SYS_PATH_DEFAULT can be defined on make command-line (using CFLAGS_EXTRA).
-
- 27 May, 2015 2 commits
-
-
Damien George authored
This gets uPy readline working with unix port, with tab completion and history. GNU readline is still supported, configure using MICROPY_USE_READLINE variable.
-
Damien George authored
-
- 09 May, 2015 1 commit
-
-
Paul Sokolovsky authored
-
- 08 May, 2015 1 commit
-
-
Damien George authored
This allows the output of the extra-coverage tests to be checked using the normal run-tests script.
-
- 07 May, 2015 1 commit
-
-
Damien George authored
The function and corresponding command-line option are only enabled for the coverage build. They are used to exercise uPy features that can't be properly tested by Python scripts.
-
- 28 Apr, 2015 1 commit
-
-
Damien George authored
Also rename py-version.h to mpversion.h for consistency with mpconfig.h.
-
- 16 Apr, 2015 1 commit
-
-
Damien George authored
Previous to this patch the printing mechanism was a bit of a tangled mess. This patch attempts to consolidate printing into one interface. All (non-debug) printing now uses the mp_print* family of functions, mainly mp_printf. All these functions take an mp_print_t structure as their first argument, and this structure defines the printing backend through the "print_strn" function of said structure. Printing from the uPy core can reach the platform-defined print code via two paths: either through mp_sys_stdout_obj (defined pert port) in conjunction with mp_stream_write; or through the mp_plat_print structure which uses the MP_PLAT_PRINT_STRN macro to define how string are printed on the platform. The former is only used when MICROPY_PY_IO is defined. With this new scheme printing is generally more efficient (less layers to go through, less arguments to pass), and, given an mp_print_t* structure, one can call mp_print_str for efficiency instead of mp_printf("%s", ...). Code size is also reduced by around 200 bytes on Thumb2 archs.
-
- 21 Mar, 2015 1 commit
-
-
Paul Sokolovsky authored
Without that, "import http.client" failed due to max recursion.
-
- 13 Mar, 2015 1 commit
-
-
Paul Sokolovsky authored
-
- 07 Feb, 2015 1 commit
-
-
Damien George authored
To enable parsing constants more efficiently, mp_parse should be allowed to raise an exception, and mp_compile can already raise a MemoryError. So these functions need to be protected by an nlr push/pop block. This patch adds that feature in all places. This allows to simplify how mp_parse and mp_compile are called: they now raise an exception if they have an error and so explicit checking is not needed anymore.
-
- 20 Jan, 2015 1 commit
-
-
Damien George authored
See issue #699.
-
- 16 Jan, 2015 2 commits
-
-
Damien George authored
-
Damien George authored
See issue #699.
-
- 12 Jan, 2015 1 commit
-
-
Damien George authored
-
- 07 Jan, 2015 1 commit
-
-
Damien George authored
This patch consolidates all global variables in py/ core into one place, in a global structure. Root pointers are all located together to make GC tracing easier and more efficient.
-
- 01 Jan, 2015 1 commit
-
-
Damien George authored
-
- 29 Dec, 2014 1 commit
-
-
Damien George authored
-
- 18 Dec, 2014 1 commit
-
-
Paul Sokolovsky authored
This fixes FORCED_EXIT internal flag leaking into Windows exit code.
-
- 10 Dec, 2014 1 commit
-
-
Damien George authored
-
- 08 Dec, 2014 1 commit
-
-
Paul Sokolovsky authored
The function is modeled after traceback.print_exception(), but unbloated, and put into existing module to save overhead on adding another module. Compliant traceback.print_exception() is intended to be implemented in micropython-lib in terms of sys.print_exception(). This change required refactoring mp_obj_print_exception() to take pfenv_t interface arguments. Addresses #751.
-
- 05 Dec, 2014 1 commit
-
-
Damien George authored
mp_lexer_t type is exposed, mp_token_t type is removed, and simple lexer functions (like checking current token kind) are now inlined. This saves 784 bytes ROM on 32-bit unix, 348 bytes on stmhal, and 460 bytes on bare-arm. It also saves a tiny bit of RAM since mp_lexer_t is a bit smaller. Also will run a bit more efficiently.
-
- 01 Dec, 2014 1 commit
-
-
Paul Sokolovsky authored
TODO: Merge useful functionality from modpyb too.
-
- 05 Nov, 2014 1 commit
-
-
Paul Sokolovsky authored
The specifier should go after the number, before size suffix like 'k' or 'm'. E.g.: "-X heapsize=100wk" will use 100K heap on 32-bit system and 200K - on 64-bit.
-
- 26 Oct, 2014 2 commits
-
-
Paul Sokolovsky authored
Also, move bytecode dumps to -v -v, because they're too verbose for just -v.
-
Paul Sokolovsky authored
Support for packages as argument not implemented, but otherwise error and exit handling should be correct. This for example will allow to do: pip-micropython install micropython-test.pystone micropython -m test.pystone
-
- 25 Oct, 2014 3 commits
-
-
Damien George authored
-
Damien George authored
This allows to implement KeyboardInterrupt on unix, and a much safer ctrl-C in stmhal port. First ctrl-C is a soft one, with hope that VM will notice it; second ctrl-C is a hard one that kills anything (for both unix and stmhal). One needs to check for a pending exception in the VM only for jump opcodes. Others can't produce an infinite loop (infinite recursion is caught by stack check).
-
Paul Sokolovsky authored
For kilobytes and megabytes respectively.
-
- 24 Oct, 2014 1 commit
-
-
Damien George authored
In unix port, mem_info(1) now prints pretty GC alloc table.
-
- 17 Oct, 2014 1 commit
-
-
Damien George authored
Addresses issue #915.
-
- 09 Oct, 2014 1 commit
-
-
Paul Sokolovsky authored
Per new conventions, we'd like to consistently use "u*" naming conventions for modules which don't offer complete CPython compatibility, while offer subset or similar API.
-
- 05 Oct, 2014 1 commit
-
-
Damien George authored
-
- 03 Oct, 2014 1 commit
-
-
Damien George authored
This should pretty much resolve issue #50.
-