<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/tests, branch v6.0.1</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v6.0.1</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v6.0.1'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-05-27T21:58:47Z</updated>
<entry>
<title>Provide lists with all menus and comments</title>
<updated>2018-05-27T21:58:47Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-27T21:58:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=fc73c461f1a8acf3e09670e8f9429c7ef9d0b71f'/>
<id>urn:sha1:fc73c461f1a8acf3e09670e8f9429c7ef9d0b71f</id>
<content type='text'>
Handy e.g. when implementing advanced search features.
</content>
</entry>
<entry>
<title>Micro-optimize _parse_help() loop</title>
<updated>2018-05-26T13:04:35Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-26T12:53:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ab2431ca36139c6d450adfe275d1e14088633eed'/>
<id>urn:sha1:ab2431ca36139c6d450adfe275d1e14088633eed</id>
<content type='text'>
Shaves ~6% off the _parse_help() runtime for the x86 Kconfigs in
cProfile.
</content>
</entry>
<entry>
<title>Record which MenuNode has each property</title>
<updated>2018-05-16T17:58:22Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-14T12:48:22Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=63a44186137e2706afec0aef278cd5d123fc98dc'/>
<id>urn:sha1:63a44186137e2706afec0aef278cd5d123fc98dc</id>
<content type='text'>
This allows accurate documentation to be generated for symbols and
choices defined in multiple locations. There are now MenuNode.defaults,
MenuNode.selects, etc., lists that mirror the corresponding
Symbol/Choice lists.

Symbol/Choice.__str__() now correctly show property locations as well,
by simply concatenating the strings returned by MenuNode.__str__() for
each node.

_parse_properties() was modified to add all properties directly to the
menu node instead of adding them to the contained symbol or choice. The
properties are then copied up to symbols and choices in
_finalize_tree(). Dependency propagation is handled at the same time.

As a side effect, this cleans up the code a bit and de-bloats
_parse_properties().

Update the menuconfig implementation to use the new functionality. It
now lists the menu nodes for symbols and choices with the correct
properties for each node (previously, all defaults, selects, implies,
and ranges appeared on the first definition).
</content>
</entry>
<entry>
<title>Expand environment variables in strings directly</title>
<updated>2018-05-16T17:42:56Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-05-14T16:00:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=cbf32e29a130d22bc734b7778e6304ac9df2a3e8'/>
<id>urn:sha1:cbf32e29a130d22bc734b7778e6304ac9df2a3e8</id>
<content type='text'>
Make "$FOO" directly reference the environment variable $FOO in e.g.
'source' statements, instead of the symbol FOO. Use os.path.expandvars()
to expand strings (which preserves "$FOO" as-is if no environment
variable FOO exists).

This gets rid of the 'option env' "bounce" symbols, which are mostly
just spam and are buggy in the C tools (dependencies aren't always
respected, due to parsing and evaluation getting mixed up). The same
change will probably appear soon in the C tools as well.

Keep accepting 'option env' to preserve some backwards compatibility,
but ignore it when expanding strings. For compatibility with the C
tools, bounce symbols will need to be named the same as the environment
variables they reference (which is the case for the Linux kernel).

This is a compatibility break, so the major version will be bumped to 6
at the next release.

The main motivation for adding this now is to allow recording properties
on each MenuNode in a clean way. 'option env' symbols interact badly
with delayed dependency propagation.

Side note: I have a feeling that recording environment variable values
might be redundant to trigger rebuilds if sync_deps() is run at each
compile. It should detect all changes to symbol values due to
environment variables changing value.
</content>
</entry>
<entry>
<title>Rename examples/menuconfig.py to menuconfig_example.py</title>
<updated>2018-04-30T23:28:44Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-04-30T23:26:39Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4d0d74dc0a10e63e1372f925d0d2493cba351aa1'/>
<id>urn:sha1:4d0d74dc0a10e63e1372f925d0d2493cba351aa1</id>
<content type='text'>
To avoid confusing it with the new terminal menuconfig implementation.

Clean up the README a bit at the same time, removing some stuff that's
less essential now (e.g. the menuconfig_example.py "screenshot").
</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>
<entry>
<title>Parenthesize &amp;&amp; expressions within || expressions</title>
<updated>2018-03-28T18:29:20Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-28T18:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7245bad9ebb58fc8ce5a322081fc6c39d2dc59c6'/>
<id>urn:sha1:7245bad9ebb58fc8ce5a322081fc6c39d2dc59c6</id>
<content type='text'>
This is redundant from an evaluation perspective, as &amp;&amp; has higher
precedence than ||, but is easier to read.

A &amp;&amp; B || C &amp;&amp; D is now rendered as "(A &amp;&amp; B) || (C &amp;&amp; D)".
</content>
</entry>
<entry>
<title>Refactor expr_str() cases</title>
<updated>2018-03-26T13:15:07Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-26T13:12:09Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=6ef362c490bc2608c971eeabd5930ea0d8893dbe'/>
<id>urn:sha1:6ef362c490bc2608c971eeabd5930ea0d8893dbe</id>
<content type='text'>
 - Detect Symbol directly instead of as (not tuple) + (not choice)

 - Test explicitly for a tuple (non-Symbol) in NOT

 - Add some tests to get better coverage for NOT and parentheses
</content>
</entry>
<entry>
<title>Test grsource with nonexistent file</title>
<updated>2018-03-13T05:35:41Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-13T05:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=044310b6398b4e0e914deda00509ad86febc521b'/>
<id>urn:sha1:044310b6398b4e0e914deda00509ad86febc521b</id>
<content type='text'>
Just for completeness.
</content>
</entry>
<entry>
<title>Add a globbing source statement</title>
<updated>2018-03-13T04:04:44Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-03-13T02:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=daac69dc05217d024fbe021447629fa2b3d95b70'/>
<id>urn:sha1:daac69dc05217d024fbe021447629fa2b3d95b70</id>
<content type='text'>
'gsource' works like 'source', but takes a glob pattern and sources all
matching files. Works as a no-op if no files match, and hence doubles as
an include-if-exists function, similar to '-include' in 'make'.

Add a 'grsource' statement as well, mirroring 'rsource'.

Came up in https://github.com/ulfalizer/Kconfiglib/pull/40.
</content>
</entry>
</feed>
