| Age | Commit message (Collapse) | Author |
|
Adds a helper that's handy for messages involving symbols/choices, and a
small documentation fix.
- Commit e1ccf19 ("Add public helpers for generating "<name> (defined
at ...)" strings").
- Commit 2d1cb7e ("Add missing Choice.str_value documentation")
|
|
Have Symbol/Choice.name_and_loc return strings like
"MY_SYM (defined at foo:1, bar:2)"
"<choice> (defined at foo:4)"
I've added a function like that in at least four different scripts now,
so that's probably a sign that it's a worthwhile helper.
Clean up the tests/Klocation tests a bit while adding tests.
|
|
Oversight. It's just a string version of Choice.tri_value, like for
Symbol.tri_value vs. Symbol.str_value.
Also rearrange the property documentation to put user_value next to
tri_value and str_value in the Symbol and Choice docstrings.
|
|
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
|
|
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!
|
|
Get rid of the 'else'.
|
|
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.
|
|
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").
|
|
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.
|
|
- 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.
|
|
Be more consistent re. continuation line indents.
|
|
An absolute path to within $srctree is turned into a relative path, and
a relative path with '..' in it might be turned into an absolute path.
Only whether the path is within $srctree matters.
|
|
Was meant as not-a-literal-if, but it looks confusing.
Piggyback a comment nit.
|
|
Syntax checking has been strict for a long time, so say "if there are
syntax errors" instead of "if syntax errors are detected".
|
|
|
|
Consistent with the other functions.
|
|
20% faster lookup in line_profiler in _tokenize(). The test usually
fails.
|
|
|
|
Symbol is the most common case by far.
Also rename _finalize_tree() to _finalize_node(), and make the
explanation for what it does more specific. The recursion gets a bit
tricky.
|
|
|
|
Adds commit 7403203 ("Make choice.set_value() no-change check work for
"n"/"m"/"y" strings").
|
|
Same deal as in commit f2ac5e3 ("Make set_value() no-change check work
for "n"/"m"/"y" strings"). Overlooked the similar logic for choices.
|
|
Adds commit a7302a6 ("menuconfig/guiconfig: Use orig_defaults in symbol
info").
|
|
Adds commit 0ca8e78 ("Add {Symbol,Choice}.orig_*, corresponding to the
MenuNode fields").
|
|
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.
|
|
|
|
|
|
Adds commit 58c65e0 ("Make REL_TO_STR public").
|
|
Generally useful, and not likely to need any internal hackery.
|
|
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.
|