<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Kconfiglib.git, branch v8.0.0</title>
<subtitle>Fork of https://github.com/zephyrproject-rtos/Kconfiglib.git</subtitle>
<id>https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.0.0</id>
<link rel='self' href='https://git.mcdonnell.dev/Kconfiglib.git/atom?h=v8.0.0'/>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/'/>
<updated>2018-07-10T07:13:54Z</updated>
<entry>
<title>Make 8.0.0 release</title>
<updated>2018-07-10T07:13:54Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T07:13:07Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=8ff1be9dcf7d7d30fce553b0ed21b40bbc26cae7'/>
<id>urn:sha1:8ff1be9dcf7d7d30fce553b0ed21b40bbc26cae7</id>
<content type='text'>
New features:

  - 2433deb ("Add Kconfig preprocessor") implements a new Kconfig
    preprocessor, documented in
    https://github.com/torvalds/linux/blob/master/Documentation/kbuild/kconfig-macro-language.txt.
    It is required to parse the linux-next Kconfigs now, and will appear
    in Linux 4.18.

    'option env=...' symbols and the $FOO syntax for expanding
    environment variables will be supported for backwards compatibility
    for a while. Consider switching to $(FOO) though, which is the new
    syntax (and removing 'option env=...' symbols).

Changed behavior:

  - c19fc11 ("Drop some compatibility and tighten up lexing") makes
    Kconfiglib flag invalid characters in Kconfig files as a syntax
    error in all context. They were previously ignored in some places
    for compatibility with old sloppy versions of the C tools.

    The C tools fixed it with commit c2264564 ("kconfig: warn of
    unhandled characters in Kconfig commands") in July 2015. Older
    kernels might require fixing up the Kconfig files a bit now.

New warnings:

  - 4200e25 ("Generalize select-with-unsatisfied-deps warning") makes
    the select-with-unsatisfied-dependencies warning trigger when a
    symbol with m-valued direct dependencies is y-selected.
</content>
</entry>
<entry>
<title>Remove reference to "speedy" test suite option in README</title>
<updated>2018-07-10T06:54:08Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T06:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=9ae09d5a5c6c69c089f76eb0b7ce3bbcb690257d'/>
<id>urn:sha1:9ae09d5a5c6c69c089f76eb0b7ce3bbcb690257d</id>
<content type='text'>
Has been removed (and is now always on).
</content>
</entry>
<entry>
<title>Add Kconfig preprocessor</title>
<updated>2018-07-10T05:56:37Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-03T16:30:06Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=2433deba7889931c4bae679f116887fe49a2ce04'/>
<id>urn:sha1:2433deba7889931c4bae679f116887fe49a2ce04</id>
<content type='text'>
Implement the Kconfig preprocessor described in
https://github.com/torvalds/linux/blob/master/Documentation/kbuild/kconfig-macro-language.txt
(which is now in linux-next and will appear in Linux 4.18).

A new Kconfig.variables property holds all the preprocessor variables so
that they can be inspected programmatically. Preprocessor variables are
represented by a new Variable class.

With the preprocessor, environment variables are referenced with $(FOO)
instead of $FOO. For backwards compatibility, $FOO is accepted as well
for now (and leaves "$FOO" as-is if FOO doesn't exist). The $FOO syntax
might be dropped at some point in the future (together with a major
version increase). It should be supported for a few months at least.

Some internals were cleaned up too, mostly related to parsing. Some
outdated documentation was fixed as well.
</content>
</entry>
<entry>
<title>Generalize select-with-unsatisfied-deps warning</title>
<updated>2018-07-10T05:55:56Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-10T05:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=4200e25c24a4441b36d6ac2d3d30987d88515eb2'/>
<id>urn:sha1:4200e25c24a4441b36d6ac2d3d30987d88515eb2</id>
<content type='text'>
y-selecting a symbol with direct dependencies m should be flagged as
well. Mirrors a change to the C tools.
</content>
</entry>
<entry>
<title>Refactor tokenization a bit</title>
<updated>2018-07-02T02:36:17Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-02T02:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=86a3c2da10491f7cec96a9c2720a5cd92b8aad67'/>
<id>urn:sha1:86a3c2da10491f7cec96a9c2720a5cd92b8aad67</id>
<content type='text'>
Have _tokenize() take the string to tokenize and return a list of
tokens, and handle all the token list management outside.

Simplifies the internal logic a bit. Likely faster too.
</content>
</entry>
<entry>
<title>Simplify some dict.get() calls by passing defaults</title>
<updated>2018-07-02T01:25:58Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-02T01:25:58Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=db90cb85094a2cab19a524ad30b603e26cbb76fe'/>
<id>urn:sha1:db90cb85094a2cab19a524ad30b603e26cbb76fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplify some _warn() calls</title>
<updated>2018-07-02T00:05:13Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-02T00:05:13Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=b487258624b26eef061938827a9e1e700ce04858'/>
<id>urn:sha1:b487258624b26eef061938827a9e1e700ce04858</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Tighten up named choice parsing</title>
<updated>2018-07-01T23:46:52Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-01T22:48:45Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=b5c719b72320b655b448cfd91feb5eee5eadebd7'/>
<id>urn:sha1:b5c719b72320b655b448cfd91feb5eee5eadebd7</id>
<content type='text'>
Things like 'choice NAMED_CHOICE oops extra tokens' and 'choice &amp;&amp;' are
now detected as syntax errors.

Bit faster too, though it doesn't matter here.
</content>
</entry>
<entry>
<title>Number tokens from 1 to simplify some checks</title>
<updated>2018-07-01T22:31:20Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-01T21:40:15Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=0c28974bedd21e5c992ae9667e75f800dc04fe32'/>
<id>urn:sha1:0c28974bedd21e5c992ae9667e75f800dc04fe32</id>
<content type='text'>
This makes all tokens except empty strings truthy, getting rid of some
'is (not) None' checks.
</content>
</entry>
<entry>
<title>Drop some compatibility and tighten up lexing</title>
<updated>2018-07-01T21:14:14Z</updated>
<author>
<name>Ulf Magnusson</name>
<email>ulfalizer@gmail.com</email>
</author>
<published>2018-07-01T20:38:13Z</published>
<link rel='alternate' type='text/html' href='https://git.mcdonnell.dev/Kconfiglib.git/commit/?id=c19fc11355b13d75d97286402c7a933fb23d3b70'/>
<id>urn:sha1:c19fc11355b13d75d97286402c7a933fb23d3b70</id>
<content type='text'>
Old versions of the C tools used to ignore unhandled characters in some
contexts due to sloppy lexing, which Kconfiglib emulated for
compatibility (things like "---help---" used to depend on it).

This was improved in the C tools by commit c2264564 ("kconfig: warn of
unhandled characters in Kconfig commands"), committed in July 2015.

Remove the compatibility hack and tighten up the lexing in Kconfiglib as
well. It will make implementing the new preprocessor stuff smoother.

The major version will be bumped.
</content>
</entry>
</feed>
