<feed xmlns='http://www.w3.org/2005/Atom'>
<title>suspect-devices/circuitpython/py/moduerrno.c, branch 6.1.x</title>
<subtitle>CircuitPython - a Python implementation for teaching coding with microcontrollers</subtitle>
<id>https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.1.x</id>
<link rel='self' href='https://git.suspectdevices.com/suspect-devices/circuitpython/atom?h=6.1.x'/>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/'/>
<updated>2020-07-06T18:16:25+00:00</updated>
<entry>
<title>Add license to some obvious files.</title>
<updated>2020-07-06T18:16:25+00:00</updated>
<author>
<name>Diego Elio Pettenò</name>
<email>flameeyes@flameeyes.com</email>
</author>
<published>2020-06-03T22:40:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=34b4993d63a6b576f29d624385c681f679b4124c'/>
<id>urn:sha1:34b4993d63a6b576f29d624385c681f679b4124c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>string compression: save a few bits per string</title>
<updated>2020-05-28T13:36:08+00:00</updated>
<author>
<name>Jeff Epler</name>
<email>jepler@gmail.com</email>
</author>
<published>2020-05-28T12:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=fe3e8d1589e54de999cccc775f269a39443c82d6'/>
<id>urn:sha1:fe3e8d1589e54de999cccc775f269a39443c82d6</id>
<content type='text'>
Length was stored as a 16-bit number always.  Most translations have
a max length far less.  For example, US English translation lengths
always fit in just 8 bits.  probably all languages fit in 9 bits.

This also has the side effect of reducing the alignment of
compressed_string_t from 2 bytes to 1.

testing performed: ran in german and english on pyruler, printed messages
looked right.

Firmware size, en_US
Before: 3044 bytes free in flash
After: 3408 bytes free in flash

Firmware size, de_DE (with #2967 merged to restore translations)
Before: 1236 bytes free in flash
After: 1600 bytes free in flash
</content>
</entry>
<entry>
<title>Add CIRCUITPY macro; rename u* only when CIRCUITPY=1</title>
<updated>2019-02-21T16:09:44+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-02-21T16:09:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=10d3a20f8a639ad8ef5555e2142052190e8a7e13'/>
<id>urn:sha1:10d3a20f8a639ad8ef5555e2142052190e8a7e13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rename ure, ujson, and uerrno to re, json, and errno</title>
<updated>2019-02-21T05:33:36+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2019-02-21T05:33:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c5dbdbe88c099494cd14790b8c645020538eed27'/>
<id>urn:sha1:c5dbdbe88c099494cd14790b8c645020538eed27</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add human readable text for ENOSPC.</title>
<updated>2019-02-06T20:59:01+00:00</updated>
<author>
<name>Craig Forbes</name>
<email>cpforbes@starlake.org</email>
</author>
<published>2019-02-06T20:59:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1662e02c1be05f7cfac888e0d8447d405a39e5e1'/>
<id>urn:sha1:1662e02c1be05f7cfac888e0d8447d405a39e5e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support OSError attributes</title>
<updated>2018-11-13T21:04:44+00:00</updated>
<author>
<name>Noralf Trønnes</name>
<email>noralf@tronnes.org</email>
</author>
<published>2018-11-12T15:16:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=c5aa2e93001436f6d63e3e9b7dff3c535397db1c'/>
<id>urn:sha1:c5aa2e93001436f6d63e3e9b7dff3c535397db1c</id>
<content type='text'>
This adds support for the OSError attributes : errno, strerror, filename and filename2.
CPython only sets errno if 2 arguments has been passed in. This has not been implemented here.

CPython OSError.args is capped at 2 items for backward compatibility reasons. This has not been
implemented here.

MICROPY_CPYTHON_COMPAT has to be enabled to get these attributes.

mp_common_errno_to_str() has been extended to check mp_errno_to_str() as well. This is done to ease
reuse for the strerror argument.
</content>
</entry>
<entry>
<title>Compress all translated strings with Huffman coding.</title>
<updated>2018-08-17T00:40:57+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-08-16T01:32:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=de5a9d72dcdaacdd5048195cd5bab007f4b2baef'/>
<id>urn:sha1:de5a9d72dcdaacdd5048195cd5bab007f4b2baef</id>
<content type='text'>
This saves code space in builds which use link-time optimization.
The optimization drops the untranslated strings and replaces them
with a compressed_string_t struct. It can then be decompressed to
a c string.

Builds without LTO work as well but include both untranslated
strings and compressed strings.

This work could be expanded to include QSTRs and loaded strings if
a compress method is added to C. Its tracked in #531.
</content>
</entry>
<entry>
<title>Two fixes and translate more strings.</title>
<updated>2018-08-09T20:29:30+00:00</updated>
<author>
<name>Scott Shawcroft</name>
<email>scott@tannewt.org</email>
</author>
<published>2018-08-09T01:24:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=96ebf5bc3fb455162286b9bc31e763f3c4f1c457'/>
<id>urn:sha1:96ebf5bc3fb455162286b9bc31e763f3c4f1c457</id>
<content type='text'>
* Fix finding translations with escaped characters.
* Add back \r to translations since its needed by screen.
</content>
</entry>
<entry>
<title>WIP: complete manual inspection of all significant changes</title>
<updated>2018-07-24T01:34:25+00:00</updated>
<author>
<name>Dan Halbert</name>
<email>halbert@halwitz.org</email>
</author>
<published>2018-07-24T01:34:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=bc760dd34100099c352a0f185ec54ceae23d036d'/>
<id>urn:sha1:bc760dd34100099c352a0f185ec54ceae23d036d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Provide mp_errno_to_str even without uerrno</title>
<updated>2018-06-01T23:03:51+00:00</updated>
<author>
<name>Matt Wozniski</name>
<email>mwozniski@bloomberg.net</email>
</author>
<published>2018-06-01T17:49:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.suspectdevices.com/suspect-devices/circuitpython/commit/?id=1c35dbfb5d43ed94108475e8cd17bcb81cda646f'/>
<id>urn:sha1:1c35dbfb5d43ed94108475e8cd17bcb81cda646f</id>
<content type='text'>
We can provide a basic version of mp_errno_to_str even if the uerrno
module won't be provided.  Rather than looking errno names up in the
uerrno module's globals dict, we'll just rely on a simple mapping in the
function itself.
</content>
</entry>
</feed>
