<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v1.0.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v1.0.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v1.0.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2017-09-23T16:32:03Z</updated>
<entry>
<title>Add installation instructions for PyPI</title>
<updated>2017-09-23T16:32:03Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-23T16:16:25Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=46378988f58ab363eb8eb3088d596a1a8f7a6bab'/>
<id>urn:sha1:46378988f58ab363eb8eb3088d596a1a8f7a6bab</id>
<content type='text'>
Along with the v1.0.0 tag. First version has been pushed to PyPI.
</content>
</entry>
<entry>
<title>Modernize and update installation files</title>
<updated>2017-09-23T15:09:03Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-23T15:00:36Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c91cf2edcd20ab29d5693003387a627210fe9f0e'/>
<id>urn:sha1:c91cf2edcd20ab29d5693003387a627210fe9f0e</id>
<content type='text'>
Preparation for adding to PyPI. Switch to setuptools and add a bunch
more metadata. Use semantic versioning (http://semver.org).
</content>
</entry>
<entry>
<title>Use a separate LICENSE.txt for the ISC license</title>
<updated>2017-09-23T12:55:06Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-23T12:51:52Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8ec310028e6ba4efeb794f4b28f625a525dec427'/>
<id>urn:sha1:8ec310028e6ba4efeb794f4b28f625a525dec427</id>
<content type='text'>
Packaging preparation.

Unspams the README a bit (but spams the tree...). Should make GitHub
display the license automatically.
</content>
</entry>
<entry>
<title>README formatting nit</title>
<updated>2017-09-23T12:37:11Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-23T12:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2c2dcecf03b32dd670fb83bed3d8bc0c7a4d4015'/>
<id>urn:sha1:2c2dcecf03b32dd670fb83bed3d8bc0c7a4d4015</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch README format to reStructuredText</title>
<updated>2017-09-23T12:34:35Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-23T12:24:35Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9f3de45f33688837a90a90261199519f817813cd'/>
<id>urn:sha1:9f3de45f33688837a90a90261199519f817813cd</id>
<content type='text'>
In preparation for creating a PyPI package. This is the documentation
format PyPI expects. Some automatic conversion workarounds can be found
on Google, but keep it simple and eliminate a step.

Add a fancy table of contents using ::contents too.
</content>
</entry>
<entry>
<title>Fix README typo</title>
<updated>2017-09-22T07:46:40Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-22T07:46:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e72f282758ca6b9d67b6981b318159dc38d7e600'/>
<id>urn:sha1:e72f282758ca6b9d67b6981b318159dc38d7e600</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Explain why _make_and() can return None</title>
<updated>2017-09-22T05:58:06Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-22T05:56:46Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e532c2a7d34cbde528c0c91c83594a0694c9256f'/>
<id>urn:sha1:e532c2a7d34cbde528c0c91c83594a0694c9256f</id>
<content type='text'>
Makes ANDs between nonexistent expressions yield a nonexistent
expression.
</content>
</entry>
<entry>
<title>Explain the expression structure clearer</title>
<updated>2017-09-22T05:11:56Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-22T05:10:42Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=240add8c97403fa77b38a89961becb3476a3c359'/>
<id>urn:sha1:240add8c97403fa77b38a89961becb3476a3c359</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify _expr_to_str()</title>
<updated>2017-09-22T05:02:05Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-22T03:59:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8f81cbdcc1d35eeb419c96968d4eedbfeee42e55'/>
<id>urn:sha1:8f81cbdcc1d35eeb419c96968d4eedbfeee42e55</id>
<content type='text'>
 - Get rid of _sym_str_string(), which was only used here.

 - Remove 'if expr is None' case that could never trigger

 - Add a test for printing string symbols, as they are a bit tricky:
   Default values should not be evaluated to tristate values.
</content>
</entry>
<entry>
<title>Simplify expression representation</title>
<updated>2017-09-21T18:21:00Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-21T17:07:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2de42031515a88d9847889e2d742b7066e33c26e'/>
<id>urn:sha1:2de42031515a88d9847889e2d742b7066e33c26e</id>
<content type='text'>
Store simple (&lt;operator&gt;, &lt;operand 1&gt;, &lt;operand 2&gt;) tuples instead of
(&lt;operator&gt;, [list of operands]) tuples.

The thought process behind the original representation was to avoid
creating lots of nodes for long X &amp;&amp; Y &amp;&amp; Z &amp;&amp; ... chains that sometimes
appear, and possibly speed up evaluation. In retrospect, it's pretty
bad, for the following reasons:

 1) _make_and() and _make_or() created lots of new merged lists instead
    of simply reusing the tuples already allocated for the
    subexpressions. This is slow and memory hungry.

 2) Any gain in evaluating long expressions would barely offset slower
    evaluation of short expressions.

 3) The code became more complex.

Most importantly, this change makes expressions more straightforward to
work with for people peeking into internals.
</content>
</entry>
</feed>
