<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v10.19.1</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.19.1</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v10.19.1'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-11-02T02:53:49Z</updated>
<entry>
<title>Make 10.19.1 release</title>
<updated>2018-11-02T02:53:49Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-02T02:34:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=59edb3850575db74fb663942df37b8d87fe0cac8'/>
<id>urn:sha1:59edb3850575db74fb663942df37b8d87fe0cac8</id>
<content type='text'>
Adds fixes for two obscure crashes, related to consecutive empty if's
and toggling symbols without a type in the menuconfig:

  - Commit 0e6cd82 ("Fix removal of multiple consecutive 'if' nodes")

  - Commit db60270 ("menuconfig: Fix crash when toggling symbols without
    a type")
</content>
</entry>
<entry>
<title>menuconfig: Fix crash when toggling symbols without a type</title>
<updated>2018-11-02T02:53:02Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-11-02T02:18:28Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=db60270a2d498e59d76f072298aa9d45a03136f2'/>
<id>urn:sha1:db60270a2d498e59d76f072298aa9d45a03136f2</id>
<content type='text'>
Trying to toggle the following symbol crashed the menuconfig:

  config FOO
  	prompt "foo"

Symbols defined without a type are pointless and generate a warning
(particular definition locations can omit the type, but some definition
location should give a type if the symbol is defined in multiple
locations). We should never crash for them though.

Fix the crash. The code assumed that the symbol's current value would
appear in Symbol.assignable, like for a visible bool/tristate, but
symbols without types get their name as their value.

Also skip printing "(NEW)" next to symbols without a type.
</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>Make 10.19.0 release</title>
<updated>2018-11-01T02:59:18Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>foo@bar.com</email>
</author>
<published>2018-11-01T02:53:34Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=b0e4a4fda7d623284ac1949d6797b9f0a1995d88'/>
<id>urn:sha1:b0e4a4fda7d623284ac1949d6797b9f0a1995d88</id>
<content type='text'>
Adds commit 8be38f2 ("Don't show backtraces for expected exceptions in
tools"), which hides backtraces for expected errors from tools (like
Kconfig syntax errors and missing files).
</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>menuconfig: Add quotes around filename for .config loading errors</title>
<updated>2018-11-01T00:02:32Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-31T02:18:33Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=dbd07bb85db0448502ee51aa43ea6ca27b84ed45'/>
<id>urn:sha1:dbd07bb85db0448502ee51aa43ea6ca27b84ed45</id>
<content type='text'>
Turns into a weird-looking 'Error loading ' otherwise.

Maybe Enter should be ignored for empty filenames instead...
</content>
</entry>
<entry>
<title>Make 10.18.0 release</title>
<updated>2018-10-31T00:31:32Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-10-31T00:25:40Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=a3c162b6cb8b7ae43824fabf7ea727b837cc7584'/>
<id>urn:sha1:a3c162b6cb8b7ae43824fabf7ea727b837cc7584</id>
<content type='text'>
Commit 14603c0 ("Make errno/strerror/filename available on IOError")
makes IOError/OSError.errno/strerror/filename available to scripts, when
it is raised from e.g. Kconfig.load_config().

Previously, some implementation trickery related to custom exception
messages meant that they weren't available.
</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>
</feed>
