<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/tests/Kstr, branch v13.2.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v13.2.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v13.2.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2019-06-24T06:57:38Z</updated>
<entry>
<title>Add {Symbol,Choice}.orig_*, corresponding to the MenuNode fields</title>
<updated>2019-06-24T06:57:38Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-24T06:18:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0ca8e78ebaed9ded586162753e8224f8ce7ef4a2'/>
<id>urn:sha1:0ca8e78ebaed9ded586162753e8224f8ce7ef4a2</id>
<content type='text'>
Getting defaults, select, implies, and ranges without dependencies
propagated to conditions can be useful for symbols and choices as well,
e.g. when generating standalone documentation for properties.
</content>
</entry>
<entry>
<title>Use the '&lt;type&gt; "prompt"' shorthand in __str__()</title>
<updated>2019-05-25T16:04:15Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-25T15:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9f57bf933508901f07d22c75fca42e62145f5512'/>
<id>urn:sha1:9f57bf933508901f07d22c75fca42e62145f5512</id>
<content type='text'>
Pro: Looks cleaner and matches how definitions are usually written.

Con: Makes it harder to discover that 'bool "foo"' is just shorthand for
'bool' + 'prompt "foo"' (though it's documented).

The pros probably win.
</content>
</entry>
<entry>
<title>Strip direct deps. from property conditions in Symbol/Choice/MenuNode.__str__()</title>
<updated>2019-05-25T14:18:29Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-25T11:52:09Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=bb33eed5cc6bdce2b65aa570ecd9a400bcd9c180'/>
<id>urn:sha1:bb33eed5cc6bdce2b65aa570ecd9a400bcd9c180</id>
<content type='text'>
Commit e81a77b ("Consistently put direct deps. last when propagating")
makes the position of the direct deps. in property conditions
predictable after dependency propagation, making it easy to strip them
as needed.

Use this to implement MenuNode.orig_{prompt,defaults,selects,implies,ranges},
which work like the non-orig_* versions but omit the direct deps. Use
those in turn to omit the direct deps in Symbol/Choice.__str__().

The direct deps. (with propagated parent deps.) can still be seen after
'depends on ...', so there is no loss of information.

This unclutters Kconfig definitions shown in menuconfig/guiconfig and in
any generated documentation. The old output also had duplicated
dependencies, though it doesn't matter for evaluation.

Before:

  config A
  	bool
  	prompt "A" if DEP
  	default y if FOO &amp;&amp; DEP
  	depends on DEP

After:

  config A
  	bool
  	prompt "A"
  	default y if FOO
  	depends on DEP
</content>
</entry>
<entry>
<title>Consistently put direct deps. last when propagating</title>
<updated>2019-05-24T11:08:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-05-24T10:14:31Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e81a77bdb0687b62f91d7dc4d5b84b443808c0a7'/>
<id>urn:sha1:e81a77bdb0687b62f91d7dc4d5b84b443808c0a7</id>
<content type='text'>
Preparation for some later additions. Previously, the 'visible if' deps
appeared to the right of the 'depends on' deps. Now, the direct deps
always appear last.

With this change, the prompt tuple is only updated once for any given
menu node too, which should be a tiny bit faster.
</content>
</entry>
<entry>
<title>Add def_int, def_hex, and def_string keywords</title>
<updated>2018-07-18T01:23:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-18T01:05:37Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e08b6957ca935fc97eddd1afda933715016b9b11'/>
<id>urn:sha1:e08b6957ca935fc97eddd1afda933715016b9b11</id>
<content type='text'>
Analogous to def_bool and def_tristate, setting the type and adding a
default at the same time.

This is a Kconfiglib extension. These keywords can be useful in projects
that make use of symbols defined in multiple locations, and remove some
Kconfig inconsistency.
</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>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>Include direct deps. in Symbol/Choice.__str__()</title>
<updated>2018-02-16T09:10:34Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-02-16T09:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2a88c0cc5707eb0761d87cfd2ca171ce687258fc'/>
<id>urn:sha1:2a88c0cc5707eb0761d87cfd2ca171ce687258fc</id>
<content type='text'>
Direct dependencies are significant for 'imply' even if the symbol has
no properties, so they need to be included to get semantically
equivalent output.

Making the direct dependencies clear is helpful in general too, even if
you can usually infer them from the properties they get propagated to.
</content>
</entry>
<entry>
<title>Get rid of separate is_optional test</title>
<updated>2017-11-02T18:46:11Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2017-11-02T18:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e388f85764dcc6ab87b256e4088b4be918e02c1f'/>
<id>urn:sha1:e388f85764dcc6ab87b256e4088b4be918e02c1f</id>
<content type='text'>
The choice semantics tests already verify the behavior of optional
choices. Just print an optional choice instead to get some coverage for
querying it.

Do minor cleanup elsewhere.
</content>
</entry>
</feed>
