<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/kconfiglib.py, branch v10.20.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.20.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.20.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-11-03T20:12:06Z</updated>
<entry>
<title>Make UNKNOWN falsy</title>
<updated>2018-11-03T20:12:06Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-03T19:42:19Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=041a3de1e2d2399f338ec9a5ea4d07736adb9ad3'/>
<id>urn:sha1:041a3de1e2d2399f338ec9a5ea4d07736adb9ad3</id>
<content type='text'>
Set UNKNOWN (representing 'no type') to 0, which is falsy, to simplify
some checks.

Also reorder some dictionary keys for consistency.
</content>
</entry>
<entry>
<title>Fix removal of multiple consecutive 'if' nodes</title>
<updated>2018-11-02T02:52:46Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-02T01:35:49Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0e6cd82908f5c649e15e6a63ad77a94f627449d2'/>
<id>urn:sha1:0e6cd82908f5c649e15e6a63ad77a94f627449d2</id>
<content type='text'>
Despite 'if' nodes being flattened before 'if' removal, consecutive 'if'
nodes can still show up for code like the following:

  ...

  if X
  endif

  if X
  endif

  ...

_remove_ifs() failed to remove the second 'if' node, leading to a crash
e.g. when turning on show-all mode in the menuconfig in a menu with such
code (due to the unexpected 'if' node).

Stuff like the above could potentially result from 'osource's with no
matches, though I just spotted the error while looking over the code.

Fix the 'if' removal logic to properly handle consecutive 'if' nodes.
</content>
</entry>
<entry>
<title>Don't show backtraces for expected exceptions in tools</title>
<updated>2018-11-01T02:21:09Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>foo@bar.com</email>
</author>
<published>2018-11-01T01:48:30Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8be38f27788239739619db86b6e5270ef7905511'/>
<id>urn:sha1:8be38f27788239739619db86b6e5270ef7905511</id>
<content type='text'>
KconfigError and IOError are part of normal operation and don't indicate
a problem with the library itself. Catch and print them in
standard_kconfig() and sys.exit(), to avoid spammy backtraces from e.g.
menuconfig.py when Kconfig files don't exist or have errors.
</content>
</entry>
<entry>
<title>Refactor _remove_ifs()</title>
<updated>2018-11-01T00:18:38Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-31T03:18:41Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d30b55043c4c771cdabf42847cf718a93cf86ab8'/>
<id>urn:sha1:d30b55043c4c771cdabf42847cf718a93cf86ab8</id>
<content type='text'>
Can get away with a single variable by assigning node.list earlier, and
save a tiny bit of work with a chained assignment.

Also clarify what the tricky Python chained assignments correspond to,
where it matters.
</content>
</entry>
<entry>
<title>Make errno/strerror/filename available on IOError</title>
<updated>2018-10-30T23:02:43Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-30T22:57:16Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=14603c0fed58ebbd137b39b1be2d645d5152716b'/>
<id>urn:sha1:14603c0fed58ebbd137b39b1be2d645d5152716b</id>
<content type='text'>
An error reporting flaw was that most raised IOErrors got their
errno/strerror/filename fields stripped, due to wanting to show a custom
messages. The problem was that adding back 'errno' and 'strerror' made
IOError.__str__() always return a fixed string
("[Errno &lt;errno&gt;] &lt;strerror&gt;"), ignoring any custom message.

This is friendly to users, but unfriendly to scripts (the menuconfig had
a workaround). Make things friendly to both by raising an internal
subclass of IOError instead, that preserves errno/strerror/filename but
prints a custom message. The exception can then still be caught as
IOError/OSError by scripts.
</content>
</entry>
<entry>
<title>Simplify _INIT_SRCTREE_NOTE definition</title>
<updated>2018-10-30T22:02:20Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-30T22:00:20Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=ac5ac5f8ada90e3b41b998bd715497be4109b3ab'/>
<id>urn:sha1:ac5ac5f8ada90e3b41b998bd715497be4109b3ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove no longer needed 'node.item is None' tests</title>
<updated>2018-10-30T22:02:13Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-30T21:56:43Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=81272be3cefa0c14de753542e3334841f09bc4a0'/>
<id>urn:sha1:81272be3cefa0c14de753542e3334841f09bc4a0</id>
<content type='text'>
After commit e0256b6 ("Have MENU and COMMENT match _T_MENU and
_T_COMMENT"), the only falsy value for node.item is None, since all
token constants are truthy (since they're never 0).
</content>
</entry>
<entry>
<title>Replace 'indent == 0' with 'not indent'</title>
<updated>2018-10-28T17:28:40Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-28T17:21:01Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c679105fd9d26b2266ed7f46b652ae27e9539bbc'/>
<id>urn:sha1:c679105fd9d26b2266ed7f46b652ae27e9539bbc</id>
<content type='text'>
Tiny bit faster and smaller. Clear in context.
</content>
</entry>
<entry>
<title>Have MENU and COMMENT match _T_MENU and _T_COMMENT</title>
<updated>2018-10-28T16:54:26Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-28T16:25:29Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=e0256b65a939732b768d594f466a3b380fc26515'/>
<id>urn:sha1:e0256b65a939732b768d594f466a3b380fc26515</id>
<content type='text'>
Same approach as for the expression type symbolic constants. Removes a
tiny bit of conversion and makes things a bit more consistent.
</content>
</entry>
<entry>
<title>Shorten exception class definitions a bit</title>
<updated>2018-10-28T15:54:50Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-28T15:54:50Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=d3e5d547da77124395a4fdc62f97655544d464b6'/>
<id>urn:sha1:d3e5d547da77124395a4fdc62f97655544d464b6</id>
<content type='text'>
</content>
</entry>
</feed>
