<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/testsuite.py, 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:51:52Z</updated>
<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>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>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 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>
<entry>
<title>Look up the top-level Kconfig file relative to $srctree</title>
<updated>2018-08-18T01:15:46Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-17T19:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=f247ddf618ad29718e5efd3e69f8baf75d4d347b'/>
<id>urn:sha1:f247ddf618ad29718e5efd3e69f8baf75d4d347b</id>
<content type='text'>
Due to an old design braino, the top-level Kconfig filename passed to
Kconfig.__init__() wasn't looked up relative to $srctree, breaking
out-of-tree usage for e.g. menuconfig. Fixing it required ugliness like

  srctree = os.environ.get("srctree", "")
  kconfiglib.Kconfig(os.path.join(srctree, "Kconfig"))

Change the behavior of Kconfig.__init__() to look up the top-level
Kconfig file relative to $srctree. This means that all Kconfig files
(both the top-level file and any source'd files) now use $srctree, which
makes the vast majority of scripts just work when running out-of-tree.

Also remove the note re. loading a subset of Kconfig files. Saying that
the top-level file and all source'd Kconfig files are looked up relative
to $srctree should make the behavior clear enough.

Print a note about the new behavior whenever the top-level Kconfig file
can't be opened, as this change could be breaking for some scripts.

This is a slight backwards-compatiblity break, so the major version will
be bumped.
</content>
</entry>
<entry>
<title>Revert "Fix $srctree logic for the top-level Kconfig file"</title>
<updated>2018-08-17T23:10:41Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-17T23:07:23Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=df97bcaea2d6c24ddd62c4e9685d0db54aade092'/>
<id>urn:sha1:df97bcaea2d6c24ddd62c4e9685d0db54aade092</id>
<content type='text'>
This reverts commit 8a3999bc708e8468ff79665e3cbdfccd603160e1.

I realized that this should go in a major release at least, because it
has the potential to break scripts that rely on the old behavior of
ignoring $srctree for the filename passed to Kconfig.__init__().

A dummy release will bump the version to 9.4.2. Any future release with
the change will be 10.0.0.
</content>
</entry>
<entry>
<title>Fix $srctree logic for the top-level Kconfig file</title>
<updated>2018-08-17T19:35:42Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-17T19:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8a3999bc708e8468ff79665e3cbdfccd603160e1'/>
<id>urn:sha1:8a3999bc708e8468ff79665e3cbdfccd603160e1</id>
<content type='text'>
Due to a major design braino, the top-level Kconfig file passed to
Kconfig.__init__() wasn't looked up relative to $srctree, breaking
out-of-tree usage for e.g. menuconfig.

With this change, Kconfig files are consistently looked up relative to
$srctree, which makes a lot more sense.

Also remove note re. loading a subset of Kconfig files. Saying that the
top-level file and all source'd Kconfig files are looked up relative to
$srctree should make the behavior clear enough.
</content>
</entry>
<entry>
<title>Support custom printing of symbols/choices in expressions</title>
<updated>2018-08-10T02:57:13Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-09T22:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=1f864b104a1f64b1c72ab13422070f6ad7cad225'/>
<id>urn:sha1:1f864b104a1f64b1c72ab13422070f6ad7cad225</id>
<content type='text'>
Allow custom output formats for symbols/choices when turning expressions
into strings, via a user-supplied callback function (sc_str_fn).

This makes things like turning symbols into links in generated
documentation and displaying symbol values in the menuconfig interface
less hacky to implement.

Two new Symbol/Choice.custom_str() functions were added, as passing
extra arguments to __str__() is awkward.
</content>
</entry>
</feed>
