<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/stmhal/pyexec.c, branch v1.3.10</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.10</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=v1.3.10'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2015-02-08T13:41:28+00:00</updated>
<entry>
<title>stmhal: Change type of received chr from char to int.</title>
<updated>2015-02-08T13:41:28+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-08T13:41:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=5351a48185bef5abd935eb8ab06c2e12e9114d2f'/>
<id>urn:sha1:5351a48185bef5abd935eb8ab06c2e12e9114d2f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Protect mp_parse and mp_compile with nlr push/pop block.</title>
<updated>2015-02-07T18:33:58+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-02-07T18:33:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0bfc7638baa4c5a4a2351364ab770a188dcab302'/>
<id>urn:sha1:0bfc7638baa4c5a4a2351364ab770a188dcab302</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>py: Change vstr_null_terminate -&gt; vstr_null_terminated_str, returns str.</title>
<updated>2015-01-29T13:57:23+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-29T13:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=827b0f747b2aa4870ef8de90cb0c3a4151e5ce71'/>
<id>urn:sha1:827b0f747b2aa4870ef8de90cb0c3a4151e5ce71</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Change vstr so that it doesn't null terminate buffer by default.</title>
<updated>2015-01-28T23:43:01+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-28T23:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2'/>
<id>urn:sha1:0d3cb6726ddc1bab9fdd11a0aaa259fb436da4b2</id>
<content type='text'>
This cleans up vstr so that it's a pure "variable buffer", and the user
can decide whether they need to add a terminating null byte.  In most
places where vstr is used, the vstr did not need to be null terminated
and so this patch saves code size, a tiny bit of RAM, and makes vstr
usage more efficient.  When null termination is needed it must be
done explicitly using vstr_null_terminate.
</content>
</entry>
<entry>
<title>stmhal: Remove unnecessary #include "systick.h" from pyexec.c.</title>
<updated>2015-01-28T00:59:27+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-28T00:59:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=0ecd5988a24aaa72415d83961327fc034cfe64a2'/>
<id>urn:sha1:0ecd5988a24aaa72415d83961327fc034cfe64a2</id>
<content type='text'>
Makes pyexec.c more re-usable for other ports.
</content>
</entry>
<entry>
<title>py, unix, stmhal: Allow to compile with -Wshadow.</title>
<updated>2015-01-20T11:55:10+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-20T11:55:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=50912e7f5dc579fd2917537046793dfa30decadf'/>
<id>urn:sha1:50912e7f5dc579fd2917537046793dfa30decadf</id>
<content type='text'>
See issue #699.
</content>
</entry>
<entry>
<title>pyexec: Add event-driven variant pyexec_friendly_repl().</title>
<updated>2015-01-15T23:30:42+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2015-01-15T08:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=87bc8e2b3d66d3e87c2d01a7b3107a8ecce2a07f'/>
<id>urn:sha1:87bc8e2b3d66d3e87c2d01a7b3107a8ecce2a07f</id>
<content type='text'>
pyexec_friendly_repl_process_char() and friends, useful for ports which
integrate into existing cooperative multitasking system.

Unlike readline() refactor before, this was implemented in less formal,
trial&amp;error process, minor functionality regressions are still known
(like soft&amp;hard reset support). So, original loop-based pyexec_friendly_repl()
is left intact, specific implementation selectable by config setting.
</content>
</entry>
<entry>
<title>stmhal: Prefix includes with py/; remove need for -I../py.</title>
<updated>2015-01-01T21:06:20+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2015-01-01T21:06:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=2cf6dfa280a8149941aafc852fbaae8bdfc4999e'/>
<id>urn:sha1:2cf6dfa280a8149941aafc852fbaae8bdfc4999e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>py: Add include guards to mpconfig,misc,qstr,obj,runtime,parsehelper.</title>
<updated>2014-12-29T01:02:19+00:00</updated>
<author>
<name>Damien George</name>
<email>damien.p.george@gmail.com</email>
</author>
<published>2014-12-29T01:02:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=9ddbe291c4217873b7f50dc03c025aa0c9ffee3d'/>
<id>urn:sha1:9ddbe291c4217873b7f50dc03c025aa0c9ffee3d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stmhal: gccollect.h is superfluous in many places.</title>
<updated>2014-12-20T22:58:06+00:00</updated>
<author>
<name>Paul Sokolovsky</name>
<email>pfalcon@users.sourceforge.net</email>
</author>
<published>2014-12-20T22:56:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=4b60b45bfc363a222c02feaca56011801fc996dd'/>
<id>urn:sha1:4b60b45bfc363a222c02feaca56011801fc996dd</id>
<content type='text'>
</content>
</entry>
</feed>
