<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v10.3.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.3.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.3.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-08-26T01:47:58Z</updated>
<entry>
<title>Make 10.3.0 release</title>
<updated>2018-08-26T01:47:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-26T01:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=818478527ea811a85517cbf60d15342b37693321'/>
<id>urn:sha1:818478527ea811a85517cbf60d15342b37693321</id>
<content type='text'>
New features:

 - Commit 20de53b ("Add a Kconfig.kconfig_filenames attribute") and
   commit 932d0f7 ("Add a Kconfig.env_vars attribute that lists env.
   variables") make lists of all Kconfig files and referenced
   environment variables available.

   This could be used e.g. to implement alternative incremental build
   schemes. Note that the sync_deps() mechanism already indirectly
   catches any relevant changes to files and environment variables
   though (anything that changes the configuration output).

 - Commit 17d7c1e ("menuconfig: Show all symbols at each menu location
   for multi.def. choices") makes it so that if a named choice is
   defined in multiple locations, each of which adds options, you can
   select any of the options regardless of via menu entry you enter the
   choice.

   Previously, you could only select the options defined at that menu
   entry's location.

   Named choices with symbols in more than one location are completely
   broken in the C tools, so there's no reference for the behavior
   there. This seems less confusing at least.

   Suggested by Mitja Horvat (pinkfluid).

Fixes:

 - Commit 0b46af4 ("menuconfig: Don't return when selecting a choice
   symbol with children") improves menuconfig behavior in an extremely
   obscure case.

 - Commit 1c2c4ae ("oldconfig: Fix help display command for choices")
   makes '?' print the help for choices in oldconfig. The command was
   accidentally set to '??' there.

 - Commit ddfd5df ("Improve menu structure for promptless choices")
   fixes a menuconfig display issue for promptless choices (which
   can appear "legitimately" if a named choice is defined in multiple
   locations to add extra options).

Cleanup:

 - Commit 2320b7a ("oldconfig: Use Kconfig.node_iter() and clean up")

 - Some manual tree walking in other places has also been rewritten to
   use Kconfig.node_iter().
</content>
</entry>
<entry>
<title>Improve menu structure for promptless choices</title>
<updated>2018-08-26T01:04:30Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-26T00:34:23Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ddfd5df84b4b7871ea16d76e233c11c8b45738d9'/>
<id>urn:sha1:ddfd5df84b4b7871ea16d76e233c11c8b45738d9</id>
<content type='text'>
Promptless choices can appear "legitimately" if you define a named
choice in multiple locations to add on some symbols (which is broken in
the C tools though).

Prior to this fix, the promptless choice would get flattened, with the
choice symbols appearing in the same menu as the (invisible) choice.
This looks confusing.

Skip flattening promptless choices to fix it.
</content>
</entry>
<entry>
<title>oldconfig: Use Kconfig.node_iter() and clean up</title>
<updated>2018-08-25T23:51:09Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T21:22:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2320b7adb703c22e44ec9716a0d2605e80a02783'/>
<id>urn:sha1:2320b7adb703c22e44ec9716a0d2605e80a02783</id>
<content type='text'>
Some general cleanup:

 - Handle the iteration with the new Kconfig.node_iter() helper.

   This makes some function so short that they become pointless. Have
   just main() + oldconfig(node) + small helper functions.

 - Use _name_and_loc_str(sc) for choices too, so that all locations get
   reported for named choices defined in multiple locations

 - Rewrite the intro to be less wordy and remove the sample session
   (leftover from when oldconfig.py was in examples/, and not that
   exciting)

 - Print "Updated configuration written to..." instead of
   "Configuration saved to..."

 - Various other nits
</content>
</entry>
<entry>
<title>Add a Kconfig.env_vars attribute that lists env. variables</title>
<updated>2018-08-25T18:32:34Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T18:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=932d0f7b8a69bdcac5d945de600ce6be807aeff7'/>
<id>urn:sha1:932d0f7b8a69bdcac5d945de600ce6be807aeff7</id>
<content type='text'>
Kconfig.env_vars is a set() with the names of all environment variables
referenced in the configuration.

Can be used e.g. for custom incremental build implementations, though
sync_deps() already indirectly catches any relevant changes to
environment variables.
</content>
</entry>
<entry>
<title>Add a Kconfig.kconfig_filenames attribute</title>
<updated>2018-08-25T17:23:22Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T05:21:02Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=20de53b6a29fcfd2d91e815c5698b9b806a908f4'/>
<id>urn:sha1:20de53b6a29fcfd2d91e815c5698b9b806a908f4</id>
<content type='text'>
Kconfig.kconfig_filenames is an ordered list of all Kconfig files
included in the configuration, relative to $srctree.

Can be used e.g. for custom incremental build implementations, though
sync_deps() already indirectly catches any relevant changes to files.

Piggyback some ' -&gt; " quote style consistency cleanups.
</content>
</entry>
<entry>
<title>Simplify _check_undefined_syms() with node_iter()</title>
<updated>2018-08-25T02:29:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T02:23:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=dbd9c59a4de57089de9f39d38e451ce8e6a869ba'/>
<id>urn:sha1:dbd9c59a4de57089de9f39d38e451ce8e6a869ba</id>
<content type='text'>
Wasn't available when the original version was written.

Also rename _check_undefined_syms() to _check_undef_syms(). That
shortening is used elsewhere.
</content>
</entry>
<entry>
<title>Clean up expr_str() a bit</title>
<updated>2018-08-25T02:11:03Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T02:10:29Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2e0f51734a30441869280b1107471cae6e087981'/>
<id>urn:sha1:2e0f51734a30441869280b1107471cae6e087981</id>
<content type='text'>
 - Test in the order AND, OR, NOT, like in other places. This matches
   the frequency too.

 - Use 'not isinstance(expr, tuple)', which is a bit faster than
   isinstance(expr, (Symbol, Choice)).
</content>
</entry>
<entry>
<title>oldconfig: Fix help display command for choices</title>
<updated>2018-08-25T00:06:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T00:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=1c2c4ae83e78d3450e313aba53628497643adfb8'/>
<id>urn:sha1:1c2c4ae83e78d3450e313aba53628497643adfb8</id>
<content type='text'>
'?' should display the help, like for symbols, not '??'. Oversight when
the command was changed.
</content>
</entry>
<entry>
<title>menuconfig: Don't return when selecting a choice symbol with children</title>
<updated>2018-08-25T00:03:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-25T00:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0b46af4d03aa1935796d0ce474ad9bceb46b2aed'/>
<id>urn:sha1:0b46af4d03aa1935796d0ce474ad9bceb46b2aed</id>
<content type='text'>
If a symbol depends on a choice symbol that immediately precedes it,
it's put into an implicit submenu and not considered a choice symbol.
Don't immediately return to the parent menu when selecting such a
symbol. It makes the children hard to spot.

This is used (or was... not sure if it still is) in a single Kconfig
file in the kernel. It's completely undocumented.
</content>
</entry>
<entry>
<title>menuconfig: Show all symbols at each menu location for multi.def. choices</title>
<updated>2018-08-24T23:24:53Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-08-24T23:14:19Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=17d7c1e38f0380ea63784f438bd7ec2625f299b4'/>
<id>urn:sha1:17d7c1e38f0380ea63784f438bd7ec2625f299b4</id>
<content type='text'>
For named choices defined in multiple locations, show the symbols from
all locations, regardless of via which menu node the choice is entered.

Named choices with symbols in more than one location are broken in the C
tools, so there's no reference for the behavior here. This behavior
probably makes more sense than just showing the choice symbols at the
current location at least, which was the old behavior in Kconfiglib's
menuconfig.

Suggested by Mitja Horvat (pinkfluid).
</content>
</entry>
</feed>
