<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/kconfiglib.py, branch v5.0.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v5.0.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v5.0.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-05-01T05:53:08Z</updated>
<entry>
<title>Make warnings available in a list</title>
<updated>2018-05-01T05:53:08Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-01T04:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ed3ceaa05626fb62f50508843fdbf738bf6c2c64'/>
<id>urn:sha1:ed3ceaa05626fb62f50508843fdbf738bf6c2c64</id>
<content type='text'>
Also make printing of warnings to stderr optional. It's on by default,
since it's almost always what you want.

This makes printing and processing of warnings more flexible, compared
to always printing warnings to stderr as soon as they're generated. It
was inspired by wanting to promote certain warnings to errors in Zephyr,
which previously required capturing stderr.
</content>
</entry>
<entry>
<title>Make disable_warnings() disable all warnings</title>
<updated>2018-05-01T04:22:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-01T03:10:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8983f7eb297dd614faf0beee3129559bc8ba338e'/>
<id>urn:sha1:8983f7eb297dd614faf0beee3129559bc8ba338e</id>
<content type='text'>
...including the optional ones. Previously, those were independent.

This is more intuitive, and it seems unlikely that you'd want some of
the optional warnings printed without having general warnings printed.

This is a small API behavior change, so the major version will be bumped
to 5 at the next release. Programs that enabled optional warnings
without enabling general warnings will be affected.

This means that all warnings now go through the same code path, which
will come in handy for later changes (making the warnings available in a
list, though with stderr printing still enabled by default).

Add some more documentation for the Kconfig.__init__() 'warn' parameter
and the enable_redun_warnings() function as well, and clean up the
variable naming a bit.
</content>
</entry>
<entry>
<title>Give filename and context for UnicodeDecodeError</title>
<updated>2018-04-25T18:26:39Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-25T18:19:17Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=09b8c589681b1141e7b36a6e487c953c7e6e3c18'/>
<id>urn:sha1:09b8c589681b1141e7b36a6e487c953c7e6e3c18</id>
<content type='text'>
These errors are a pain to debug otherwise, and might look like
Kconfiglib brokenness.

Another option would be ignore decoding errors, or do the
'surrogateescape' thing on reading and writing, but keep it simple for
now. Pointing out the problem might be more helpful.
</content>
</entry>
<entry>
<title>Print a warning for malformed .config lines</title>
<updated>2018-04-25T12:41:21Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-25T12:30:25Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c1c5ef2eb1009bacb6f7278e7d73335ec6223cba'/>
<id>urn:sha1:c1c5ef2eb1009bacb6f7278e7d73335ec6223cba</id>
<content type='text'>
Flag lines matching neither 'CONFIG_FOO=...' nor
'# CONFIG_FOO is not set' that aren't blank or comments.
</content>
</entry>
<entry>
<title>Add Choice.direct_dep field</title>
<updated>2018-04-19T06:38:44Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-19T06:29:59Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=509e374dfcadbe04ba30fe8aeea372101e0b5502'/>
<id>urn:sha1:509e374dfcadbe04ba30fe8aeea372101e0b5502</id>
<content type='text'>
Same as Symbol.direct_dep (OR of node dependencies from all definition
locations). It's handy to have available when generating information
about choices.
</content>
</entry>
<entry>
<title>Add helper for splitting expressions</title>
<updated>2018-04-11T19:40:14Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-11T18:35:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=105c835e70a5bb80a256b3d10d1d03dee7bb23db'/>
<id>urn:sha1:105c835e70a5bb80a256b3d10d1d03dee7bb23db</id>
<content type='text'>
I've had to implement the logic for walking reverse dependencies (from
select) a couple of times now, and it's always a bit tricky to get
right. Reduce code duplication and simplify things by adding a helper
function split_expr() that splits an expression into a list of either
its AND or OR operands.

A nice side effect is that e.g. the warning generated for selecting a
symbol with unsatisfied direct dependencies now lists the selecting
symbols in the order that they appear in the Kconfig files.

split_expr() might be helpful for splitting other types of expressions
as well, e.g. to put operands on separate lines when generating
documentation.
</content>
</entry>
<entry>
<title>Move sanity checking to after _finalize_tree()</title>
<updated>2018-04-06T14:59:24Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-06T14:41:01Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e8408a06c68d87485a9d45817dfdd60e722a6f1c'/>
<id>urn:sha1:e8408a06c68d87485a9d45817dfdd60e722a6f1c</id>
<content type='text'>
Previously, the warnings

	warning: FOO (defined at Kconfig:1, Kconfig:6) defined with type unknown
	warning: the default selection BAR (defined at Kconfig:9) of FOO (defined at Kconfig:1, Kconfig:6) is not contained in the choice

were printed for this (obscure, but okay) pair of definitions:

	choice FOO
		default BAR

	endchoice

	choice FOO
		prompt "foo"

	config BAR
		bool "bar"

	endchoice

The problem is that BAR is not known to be a choice symbol by the time
the first choice definition is encountered in _finalize_tree(), since
that's determined only when the second definition is encountered (it
needs to happen there, because implicit submenus can influence whether a
symbol is a choice symbol or not, and implicit submenus are determined
in _finalize_tree()).

Fix it by moving the sanity checks out of _finalize_tree() and into a
separate pass over all symbols and choices that runs after
_finalize_tree(). That might avoid other gotchas too.
</content>
</entry>
<entry>
<title>Set is_menuconfig True on the top menu</title>
<updated>2018-04-05T07:03:15Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-05T07:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=981d24aff765794f4ab440f29b1543a118222357'/>
<id>urn:sha1:981d24aff765794f4ab440f29b1543a118222357</id>
<content type='text'>
Oversight
</content>
</entry>
<entry>
<title>Code consistency nit</title>
<updated>2018-04-04T15:30:02Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-04T15:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9c86dfd60273dc894da1db89220aff8d4de4716e'/>
<id>urn:sha1:9c86dfd60273dc894da1db89220aff8d4de4716e</id>
<content type='text'>
'is_menuconfig' is set after 'item' in the other cases.
</content>
</entry>
<entry>
<title>Generalize is_menuconfig to non-symbol items</title>
<updated>2018-04-04T14:44:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-04T14:20:58Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2259d353426f12d5fa807075fb4727e64331ac8a'/>
<id>urn:sha1:2259d353426f12d5fa807075fb4727e64331ac8a</id>
<content type='text'>
Extending the scope of is_menuconfig so that it's True for all items
whose children should be displayed in a separate menu turns out to be
handy when implementing menuconfig-like functionality.

Keep the old name for backwards compatibility. It's good enough.
</content>
</entry>
</feed>
