<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v10.1.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.1.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.1.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-08-22T22:55:16Z</updated>
<entry>
<title>Make 10.1.0 release</title>
<updated>2018-08-22T22:55:16Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T22:55:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ed3fb61cea1c3c33c423690b768adbde7a0fad8c'/>
<id>urn:sha1:ed3fb61cea1c3c33c423690b768adbde7a0fad8c</id>
<content type='text'>
New features:

 - Commit 7dae988 ("Add a generic node iterator") adds a
   Kconfig.node_iter() helper generator for iterating through all menu
   nodes in the menu tree, in definition order. Optionally, symbols
   defined in multiple locations are only generated once. This generator
   is now used internally by write_config() as well.

   Suggested by Mitja Horvat (pinkfluid).

 - Commit d2c1430 ("Introduce Kconfig.unique_defined_syms and
   Kconfig.unique_choices") adds versions of
   Kconfig.defined_syms/choices that only include symbols and choices
   defined in multiple locations once, while still preserving definition
   order.

   This is almost always what you want when iterating through (just)
   symbols and choices. It removes set() hackery (where it's easy to
   accidentally mess up the order) and the like.

Fixes:

 - Commit 4ebc2aa ("Flag extra tokens after 'if'/'depends on'/'visible
   if' expressions") tightens up syntax checking so that extra trailing
   tokens after 'if', 'depends on', and 'visible if' expressions raise a
   syntax error, instead of being silently ignored. Oversight.
</content>
</entry>
<entry>
<title>Flag extra tokens after 'if'/'depends on'/'visible if' expressions</title>
<updated>2018-08-22T22:51:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T22:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4ebc2aa72f41a9c5739ee8a8ad89bdfa0a489a2d'/>
<id>urn:sha1:4ebc2aa72f41a9c5739ee8a8ad89bdfa0a489a2d</id>
<content type='text'>
Extra trailing tokens after 'if &lt;expr&gt;', 'depends on &lt;expr&gt;', and
'visible if &lt;expr&gt;' now trigger syntax errors instead of being ignored.
Oversight.

This indirectly makes Kconfig.eval_expr() detect extra trailing tokens
as well.
</content>
</entry>
<entry>
<title>Add a generic node iterator</title>
<updated>2018-08-22T21:57:17Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T20:08:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7dae98803a6fc5d08041d1387e2e0d83fc0eb0ed'/>
<id>urn:sha1:7dae98803a6fc5d08041d1387e2e0d83fc0eb0ed</id>
<content type='text'>
Suggested by Mitja Horvat (pinkfluid) in
https://github.com/ulfalizer/Kconfiglib/pull/50.

Kconfig.node_iter() iterates through all menu nodes in the menu tree in
Kconfig order. This saves scripts the trouble of implementing their own
tree walking code.

Have node_iter() take a 'unique_syms' flag that can be enabled to only
include symbols defined in multiple locations once. This is often what
you want when generating output (and is used by write_config()). Order
is still preserved.

Piggyback a fix to a syntax error test comment. Parsing has been
tightened up now.
</content>
</entry>
<entry>
<title>Introduce Kconfig.unique_defined_syms and Kconfig.unique_choices</title>
<updated>2018-08-22T18:05:11Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-22T00:25:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d2c1430c91c574dc0dfd84f3652c8d9af8c77568'/>
<id>urn:sha1:d2c1430c91c574dc0dfd84f3652c8d9af8c77568</id>
<content type='text'>
These are the same as Kconfig.defined_syms and Kconfig.choices, except
duplicates are removed. Kconfig order is still preserved.

This is almost always what you want when iterating through symbols and
choices, as it potentially saves work, avoids generating duplicates when
writing output, and still preserves Kconfig order for readability.

The old attributes will be kept for backwards compatibility (maybe
there's some rare cases where they could be useful too). They're created
internally anyway.
</content>
</entry>
<entry>
<title>Merge Symbol._checked and Symbol._written</title>
<updated>2018-08-21T19:17:45Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T18:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a3252f620fad970bbe8b7470401a04ee4225193e'/>
<id>urn:sha1:a3252f620fad970bbe8b7470401a04ee4225193e</id>
<content type='text'>
These are never used at the same time, and Symbol._visited is a good
name for both.

Gets rid of an internal attribute.
</content>
</entry>
<entry>
<title>Handle multiple definition locations in a nicer way</title>
<updated>2018-08-21T18:45:27Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T17:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=67e890cc9d926213fbec93afb3ee14e6c24f9a50'/>
<id>urn:sha1:67e890cc9d926213fbec93afb3ee14e6c24f9a50</id>
<content type='text'>
Instead of precalculating a set() to get unique symbols, precalculate a
list with any duplicates from multiple definition locations removed, and
preserve the order of the symbols within it.

This makes it possible to get rid of the Symbol._written shenanigans in
functions that only need to iterate through unique symbols in sorted
order, which is all of them except write_config() (because it needs to
walk the entire menu tree).
</content>
</entry>
<entry>
<title>Make auto.conf symbol order match .config symbol order</title>
<updated>2018-08-21T14:36:28Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T14:31:37Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=5a9c3573460e4003bde46efa0edc2e0fb627a1fe'/>
<id>urn:sha1:5a9c3573460e4003bde46efa0edc2e0fb627a1fe</id>
<content type='text'>
Not likely that you'd need to inspect it, since it's more of an
implementation detail of incremental builds, but it doesn't hurt.
</content>
</entry>
<entry>
<title>Fix header/minimal configuration ordering test</title>
<updated>2018-08-21T13:40:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T13:40:53Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c16d3f5a2c956e27a398b16f09dc18ead2b27b05'/>
<id>urn:sha1:c16d3f5a2c956e27a398b16f09dc18ead2b27b05</id>
<content type='text'>
Should test write_autoconf(), not write_config().
</content>
</entry>
<entry>
<title>Make 10.0.1 release</title>
<updated>2018-08-21T13:19:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T13:10:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=193c136104f83c22a2156340940befb2a835c590'/>
<id>urn:sha1:193c136104f83c22a2156340940befb2a835c590</id>
<content type='text'>
Adds commit 7f3844f ("Make symbol order match between headers and
.config files"), which fixes a bug introduced by commit 71872a8
("Massively speed up U-Boot parsing").

The ordering of symbols in header files now matches the order in .config
files again, which was always the intent. It makes things more readable,
and is nice for version control too.
</content>
</entry>
<entry>
<title>Make header symbol order match .config symbol order again</title>
<updated>2018-08-21T13:19:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-21T12:08:55Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d78c293c41351256f76fb2fa27e72e399b130e4f'/>
<id>urn:sha1:d78c293c41351256f76fb2fa27e72e399b130e4f</id>
<content type='text'>
I accidentally broke this when I added the _defined_syms_set
optimization. No semantic difference, but having the order match is more
readable.
</content>
</entry>
</feed>
