| Age | Commit message (Collapse) | Author |
|
Adds a small fix for some just-rewritten documentation, in commit
4de95f4 ("Mention that standard_kconfig() returns the Kconfig
instance").
|
|
Accidentally left out when the docstring was rewritten.
|
|
|
|
- Commit e016deb ("Convert standard_kconfig() to argparse for better
feedback") improves feedback from the tools and makes their help
texts easier to find
- Commit 0f56dd9 ("guiconfig: Check for visible nodes before turning
off show-all in full-tree mode") fixes an obscure bug in show-all
mode in guiconfig
|
|
Reported by pylint.
|
|
If there are no visible nodes in the entire tree, guiconfig
automatically starts in show-all mode. Previously, there was no check
for visible nodes when turning off show-all in full-tree mode in this
case, leading to errors.
Fix it by checking if there are any visible nodes in the top menu when
turning off show-all in full-tree mode. If there aren't, show-all stays
on.
|
|
Stuff like this is not the pinnacle of helpful design, and hides that
the commands actually have long help texts (that can be viewed with
pydoc):
$ ./menuconfig.py --help
[Errno 2] No such file or directory: '--help'
Fix it by converting standard_kconfig() to argparse, and add a
'description' argument to it for the command-specific help text. --help
now shows the same help text shown by pydoc, and some other error
messages are improved as well.
Also fix some copy-paste errors and outdated paths in the help texts for
the all*config commands.
|
|
|
|
|
|
Adds commit 21b4c1e ("Do not automatically install windows-curses on
Windows"), which fixes installation on MSYS2. See that commit for an
explanation, and this issue: https://github.com/ulfalizer/Kconfiglib/issues/77
Also adds commit 72e3d20 ("menuconfig: Give hint when 'curses' can't be
imported on Windows"), to make it easy for users to know what to do if
stuff breaks.
Sorry if this change caused problems!
|
|
Tell people to install something like windows-curses. Might help avoid
some trouble after commit 21b4c1e ("Do not automatically install
windows-curses on Windows").
|
|
It breaks installation with pip on MSYS2, and Kconfiglib can still be
useful without the terminal menuconfig.
Unfortunately, MSYS2 seems tricky to identify via environment markers
(https://www.python.org/dev/peps/pep-0508/#environment-markers).
This has breakage/annoyance potential, as windows-curses now needs to be
installed manually. The major Kconfiglib version will be increased.
Sorry if this change caused problems!
Fixes: #77
|
|
Handy to know.
|
|
Piggyback fixing a typo.
|
|
Sent upstream.
|
|
Get rid of the 'else'.
|
|
Macros should still be expanded within nested parentheses. Test it.
|
|
Fixes a preprocessor issue, in commit 720ce88 ("Fix handling of
parentheses in macro argument values").
|
|
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
|
|
Adds commit 26e1db6 ("Allow preprocessor user functions to access the
parsing location").
|
|
Just requires making Kconfig.filename/linenr public.
'lineno' would be a more standard name, but be consistent with
MenuNode.linenr.
|
|
Might come up if people run Kconfiglib from a submodule with
'python -O'.
|
|
Mostly to get some cleanups into a release, but adds a tiny improvement
in commit a4b5775 ("menuconfig/guiconfig: Print 'default:' with no 's'
if there's just one").
|
|
Made PyPI complain.
|
|
Most common case, and makes the symbol info read better.
|
|
I always run Git with status.showUntrackedFiles = no, but might be nice
for other people.
|
|
Might avoid some pain in projects that use Kconfiglib as a submodule.
Fixes https://github.com/ulfalizer/Kconfiglib/issues/74.
|
|
Causes a ConfigParser error when using setuptools with Python 2.
|
|
They were converted to RST. Link to rendered versions.
|
|
It's mostly to stay compatible with older Linux kernels. Hence why
Kconfiglib doesn't try to be more compatible than what's needed for
those.
|
|
|
|
This triggers a different set-to-set code path and makes some of them a
bit smaller, e.g. 480 instead of 736 bytes for _RELATIONS.
Probably no measurable performance difference, but might as well.
|
|
|
|
The test suite would fail anyway now due to (harmless) output format
changes.
|
|
Makes the top-level a bit less cluttered. The README still links to it.
|
|
- Move some assignments closer to related assignments
- Remove some blank lines between related assignments
- Remove double blank lines between sections. It's probably more
messy-looking than helpful.
|
|
Put $ after word characters, like in _command_match and
_id_keyword_match.
|
|
Not performance sensitive. Gets rid of a variable.
|
|
|
|
Makes it consistent with the other warn_assign_* variables.
Also move the initialization in Kconfig.__init__() next to the other
warn_assign_* variables.
|
|
Adds commit 29758ae ("setconfig: Use 'orig_type' instead of 'type' in
error message").
|
|
It's confusing to have tristate symbols show up as bool in the bad-value
error message when modules are disabled. set_value() validates the value
against 'orig_type' rather than 'type' as well.
Piggyback some quote consistency and make a comment in set_value() more
informative.
|
|
Adds commit e5e2fe5 ("Catch EnvironmentError instead of
OSError/IOError"), which fixes menuconfig.py crashes on I/O errors on
Python 2.
This might also improve error robustness elsewhere on Python 2 in
obscure cases.
|
|
menuconfig.py tended to crash on I/O errors on Python 2, due to
forgetting to update some 'except OSError's. Catch EnvironmentError
instead.
EnvironmentError is a common base class of IOError and OSError on Python
2, and an alias for OSError on Python 3. Use it elsewhere too, as it
might help catch obscure I/O errors on Python 2.
|
|
Shorter and still clear.
|
|
|
|
|
|
Things can be simplified a bit knowing that UNKNOWN is falsy.
|
|
Small optimization. We know that UNKNOWN == 0, and it's always tested
for by checking truthiness rather than identity within the library, so
there can't be trouble even without small integer optimization.
|
|
Adds some small documentation improvements:
- Commit b133331 ("Mention that passing subexpressions to expr_items()
works")
- Commit 6016156 ("Mention that the 'encoding' parameter is also used
for $(shell)")
- Commit 48ec584 ("Simplify eval_string() docstring re. syntax errors")
- Commit e44102a ("Make MenuNode.filename documentation more accurate
re. absolute paths")
Some minor optimizations are included as well.
|