<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/modsys.c, branch v1.4.5</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.5</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.4.5'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-04-28T22:52:36+00:00</updated>
<entry>
<title>py: Replace py-version.sh with makeversionhdr.py, written in Python.</title>
<updated>2015-04-28T22:52:36+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-22T16:38:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=95f53461c2c42490d12acd41463b86f0056e6f40'/>
<id>urn:sha1:95f53461c2c42490d12acd41463b86f0056e6f40</id>
<content type='text'>
Also rename py-version.h to mpversion.h for consistency with mpconfig.h.
</content>
</entry>
<entry>
<title>modsys: Add basic sys.exc_info() implementation.</title>
<updated>2015-04-25T00:49:23+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-04-25T00:17:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=8b85d14b92a65e92862861038c0fe96e6c616c3e'/>
<id>urn:sha1:8b85d14b92a65e92862861038c0fe96e6c616c3e</id>
<content type='text'>
The implementation is very basic and non-compliant and provided solely for
CPython compatibility. The function itself is bad Python2 heritage, its
usage is discouraged.
</content>
</entry>
<entry>
<title>py: Add sys.implementation, containing uPy name and version number.</title>
<updated>2015-04-21T14:45:04+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-21T14:45:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c3184aea63b6eaf0a0037f691927028ca4be84c2'/>
<id>urn:sha1:c3184aea63b6eaf0a0037f691927028ca4be84c2</id>
<content type='text'>
Uses attrtuple if it's enabled, otherwise just a normal tuple.
</content>
</entry>
<entry>
<title>py: Make mp_sys_stdout_print object, wrapping sys.stdout for mp_print*.</title>
<updated>2015-04-16T14:30:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-11T11:01:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5ae5ec986ea5e14321f6c8091454c165c23b40c5'/>
<id>urn:sha1:5ae5ec986ea5e14321f6c8091454c165c23b40c5</id>
<content type='text'>
So now all printing should go via either mp_plat_print or
mp_sys_stdout_print.
</content>
</entry>
<entry>
<title>py: Overhaul and simplify printf/pfenv mechanism.</title>
<updated>2015-04-16T14:30:16+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-04-09T22:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=7f9d1d6ab923096582622b700bedb6a571518eac'/>
<id>urn:sha1:7f9d1d6ab923096582622b700bedb6a571518eac</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>py: Use a dummy type for referring to extern structs</title>
<updated>2015-04-09T13:03:22+00:00</updated>
<author>
<name>stijn</name>
<email>stinos@zoho.com</email>
</author>
<published>2015-04-09T10:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e50cff69bb0dbca8ed363b5c7c459e01cb7f00ac'/>
<id>urn:sha1:e50cff69bb0dbca8ed363b5c7c459e01cb7f00ac</id>
<content type='text'>
Fixes msvc linker warnings about mismatching sizes between the mp_obj_fdfile_t
struct defined in file.c and the mp_uint_t declarations found in modsys.c and modbuiltins.c
</content>
</entry>
<entry>
<title>py: Put mp_sys_path, mp_sys_argv and gc_collected in mp_state_ctx_t.</title>
<updated>2015-02-07T17:24:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-07T17:24:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=e1e359ff59d6bbf09441cc1f3965be63f1046182'/>
<id>urn:sha1:e1e359ff59d6bbf09441cc1f3965be63f1046182</id>
<content type='text'>
Without mp_sys_path and mp_sys_argv in the root pointer section of the
state, their memory was being incorrectly collected by GC.
</content>
</entry>
<entry>
<title>py: Can compile with -Wmissing-declarations and -Wmissing-prototypes.</title>
<updated>2015-01-12T22:30:49+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-12T22:30:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=cd3420740909b3b6a2140b613b591b7556b417a2'/>
<id>urn:sha1:cd3420740909b3b6a2140b613b591b7556b417a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Move to guarded includes, everywhere in py/ core.</title>
<updated>2015-01-01T20:32:09+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T20:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=51dfcb4bb7613ed164952712d9a5235a7b833cde'/>
<id>urn:sha1:51dfcb4bb7613ed164952712d9a5235a7b833cde</id>
<content type='text'>
Addresses issue #1022.
</content>
</entry>
<entry>
<title>modsys: Add sys.print_exception(exc, file=sys.stdout) function.</title>
<updated>2014-12-08T20:25:49+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-12-06T12:29:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=46c3ab20049af16e97863e90e5761fae329f872a'/>
<id>urn:sha1:46c3ab20049af16e97863e90e5761fae329f872a</id>
<content type='text'>
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.
</content>
</entry>
</feed>
