<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git/tests, branch v13.0.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v13.0.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v13.0.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2019-09-26T10:11:23Z</updated>
<entry>
<title>Make preprocessor nested parens test slightly trickier</title>
<updated>2019-09-26T10:11:23Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-09-26T10:11:23Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4185b0b3193345f793ca7a5268fb67ab65e57655'/>
<id>urn:sha1:4185b0b3193345f793ca7a5268fb67ab65e57655</id>
<content type='text'>
Macros should still be expanded within nested parentheses. Test it.
</content>
</entry>
<entry>
<title>Fix handling of parentheses in macro argument values</title>
<updated>2019-09-26T09:52:22Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-09-25T18:25:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=720ce88a839cc9966d4b5dfbcdbe868c33cb5965'/>
<id>urn:sha1:720ce88a839cc9966d4b5dfbcdbe868c33cb5965</id>
<content type='text'>
As an oversight, there was no check for nested parentheses in macro
arguments, making the preprocessor think the call ended after 'void)' in

    def_bool $(success,echo 'void foo(void) { asm inline (""); }' | $(CC) -x c - -c -o /dev/null)

This broke the latest linux-next kernels, starting with commit
eb111869301e1 ("compiler-types.h: add asm_inline definition").

I remember seeing this when going through the C code, but somehow forgot
to put it in. Fix it, and clean up _expand_macro() a bit at the same
time.

Fixes: #76
</content>
</entry>
<entry>
<title>Allow preprocessor user functions to access the parsing location</title>
<updated>2019-09-04T19:14:12Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-09-04T18:44:24Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=26e1db651e18fd65fe7374b404a30e20f601969f'/>
<id>urn:sha1:26e1db651e18fd65fe7374b404a30e20f601969f</id>
<content type='text'>
Just requires making Kconfig.filename/linenr public.

'lineno' would be a more standard name, but be consistent with
MenuNode.linenr.
</content>
</entry>
<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>Shorten __repr__() functions a bit</title>
<updated>2019-06-23T00:52:26Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-23T00:29:14Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=7b97da6821a45ce34e731df68980dea0983cf18c'/>
<id>urn:sha1:7b97da6821a45ce34e731df68980dea0983cf18c</id>
<content type='text'>
Do 'add = fields.append'. Pointless as an optimization, but shaves some
lines, and obvious in context.

Also add test coverage for __repr__() for string symbols with user
values.
</content>
</entry>
<entry>
<title>Get test coverage for --help---- and the like</title>
<updated>2019-06-09T12:00:50Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-09T11:35:33Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8453c52291eda9b9d954ac480fd062010f836a3f'/>
<id>urn:sha1:8453c52291eda9b9d954ac480fd062010f836a3f</id>
<content type='text'>
Weirdly formatted _T_HELP tokens are supported for compatibility with
old versions of the C tools.

Also add a lone '#' after the tricky help text. Some reconsidered
refactoring choked on that.
</content>
</entry>
<entry>
<title>Remove reference to Kconfiglib 1 API</title>
<updated>2019-06-03T23:51:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-03T23:51:58Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9d37b21392fb5aa732a2692c5aaa3836777cdd28'/>
<id>urn:sha1:9d37b21392fb5aa732a2692c5aaa3836777cdd28</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix obscure crash with rsource and $srctree pointing to a symlink</title>
<updated>2019-06-01T04:21:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2019-06-01T02:15:04Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=92791a3fe15bb2d5c14039fbd531be73255f0c6d'/>
<id>urn:sha1:92791a3fe15bb2d5c14039fbd531be73255f0c6d</id>
<content type='text'>
Sourcing a file with an absolute path and using rsource in it triggered
a relpath() between the absolute path and $srctree. Since e.g.
symlink/../bar/ = bar/ is not guaranteed for symlinks, this could lead
to the rsource'd file not being found if $srctree pointed to a symlink.

Switch to a simpler, more textual method for stripping $srctree from
glob results, which should be robust against symlink shenanigans. This
also makes the code a bit easier to follow.

Discovered by Marc Herbert.

Piggyback some minor cleanup.
</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>
</feed>
