<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/kconfiglib.py, 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-22T05:58:06Z</updated>
<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>
<entry>
<title>Use non-numbered {} with format()</title>
<updated>2017-09-21T03:58:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-21T03:49:39Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8a9da508b1c1e8abe5437de4bb420972fe8ddc71'/>
<id>urn:sha1:8a9da508b1c1e8abe5437de4bb420972fe8ddc71</id>
<content type='text'>
Supported since Python 2.7, which is seven years old, plus it was
already used in a few spots.

Do some minor cleanup in the printing routines at the same time.

Also remove dubious string append performance note, where it's more
about wanting to pass something mutable anyway.
</content>
</entry>
<entry>
<title>_parse_properties() nit</title>
<updated>2017-09-20T21:55:27Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-20T21:55:27Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=f56947b125c5a938b61d78532e689aeb8bc39bea'/>
<id>urn:sha1:f56947b125c5a938b61d78532e689aeb8bc39bea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify 'end_line' handling</title>
<updated>2017-09-20T11:54:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-20T11:50:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=18fcfa8d29efb02a0cfac39a42334caedc2efc57'/>
<id>urn:sha1:18fcfa8d29efb02a0cfac39a42334caedc2efc57</id>
<content type='text'>
No need to set 'end_line_tokens' to None if we use 'end_line' as a flag.
Also clarify the comments to make it clear that end_line* is only used
for the first line after a block of properties.

Also fix comment typo: s/nested functions/nested menus/
</content>
</entry>
<entry>
<title>Merge T_DEF_BOOL and T_DEF_TRISTATE cases</title>
<updated>2017-09-20T08:51:14Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-20T08:42:26Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a06385c5130f7477530732896a8b2830b40e85b6'/>
<id>urn:sha1:a06385c5130f7477530732896a8b2830b40e85b6</id>
<content type='text'>
Extend TOKEN_TO_TYPE to map T_DEF_BOOL and T_DEF_TRISTATE to BOOL and
TRISTATE as a convenience.
</content>
</entry>
<entry>
<title>Use tri_greater() where applicable</title>
<updated>2017-09-20T06:10:16Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-20T05:58:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9f404313e8d81344157494d33e0897cf9e5e1ca5'/>
<id>urn:sha1:9f404313e8d81344157494d33e0897cf9e5e1ca5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for less/greater than comparisons</title>
<updated>2017-09-20T03:38:19Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-09-19T21:03:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c8df7316d1ed151b93566a61ed9d95da67e17974'/>
<id>urn:sha1:c8df7316d1ed151b93566a61ed9d95da67e17974</id>
<content type='text'>
Was added upstream in 31847b67 (kconfig: allow use of relations other
than (in)equality). Completely unused (and undocumented) in the kernel
except for in DEBUG_UART_8250_WORD in arch/arm/Kconfig.debug:

   depends on DEBUG_UART_8250_SHIFT &gt;= 2

(That line was added before lt/gt support by the way, and assumed a
feature that wasn't there.)

This change (and the upstream one) also slightly changes how
(in)equality comparisons work, making e.g.

  MY_HEX = 0x00037

evaluate to 'y' if MY_HEX is 0x37. Prior to this change, the strings
needed to match exactly.
</content>
</entry>
</feed>
