summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-02-14Add support for the CONFIG_ environment variableChris Dornsife
Makes the prefix used in .config files configurable. Also add pip installation note to README.
2016-08-07Micro-optimize conditional in get_value()Ulf Magnusson
Saves a few source lines as well as bytes of bytecode.
2016-08-06Micro-optimize parse_val_and_cond()Ulf Magnusson
Saves a source line as well as some bytecode. Tuple evaluation is guaranteed to be from left to right: https://docs.python.org/2/reference/expressions.html#evaluation-order
2016-08-06Update yearUlf Magnusson
2016-08-06Micro-optimize some conditionalsUlf Magnusson
Saves a few source lines as well as bytes of bytecode.
2015-12-30Mention the SConf configuration interfaceUlf Magnusson
2015-08-06Fix _parse_block() 'parent' documentation re. ifs.Ulf Magnusson
Ifs do not have an object representation, so 'parent' can never be an if.
2015-07-25Symbol.get_value() style nit.Ulf Magnusson
2015-07-23Add .config header continuation line test.Ulf Magnusson
Mostly to get coverage for _FileFeed.peek_next(), which is only used while reading the header. The tested behavior probably doesn't make much sense for .config files and stems from _FileFeed reuse. It's fairly obscure at least.
2015-07-23Simplify .config header reading tests.Ulf Magnusson
2015-07-23Fix _FileFeed.peek_next() continuation line handling.André Erdmann
Typo - 'res' should be 'line'. Only affected .config header reading.
2015-06-23load_config() only expands existing env. variables.Ulf Magnusson
2015-06-23Be safe against empty .config values.Ulf Magnusson
2015-06-23Ignore '-style quotes in .config files.Ulf Magnusson
This is what the C implementation does, and it simplifies the code a bit.
2015-06-23Add docstring to _expr_val_str().Ulf Magnusson
2015-06-23Remove unused _parse_block() default parameter value.Ulf Magnusson
2015-06-22Access _FileFeed's 'filename' and 'linenr' directly.Ulf Magnusson
Don't bother with the accessors internally as they're unlikely to do anything but return a variable. Direct access shaves a percent or two off parsing.
2015-06-20Make all examples Python 3-friendly.Ulf Magnusson
print -> print(). Skip 'from __future__ import print_function' by only having a single argument (to avoid interpretation as tuples in Python 2). Keeps the examples simple.
2015-06-20Make Config.get_symbols(True) return a list for Python 3.Ulf Magnusson
Was returning a dict_values.
2015-06-20Explain line_feeder in _parse_block()'s docstring.Ulf Magnusson
2015-06-20Rename is_choice_symbol_ to is_choice_sym.Ulf Magnusson
Consistent with other internal names and avoids the collision with the function in a neater way.
2015-06-20Simplify _get_dependent().Ulf Magnusson
- Inline _add_dependent_ignore_siblings(). - Copy the original 'dep' set and add the recursive dependencies to it instead of creating an initially empty set. No discernible performance improvement, but bit neater.
2015-06-20Clean up Comment method ordering.Ulf Magnusson
Make somewhat consistent with the other classes.
2015-06-20Clean up Menu method ordering.Ulf Magnusson
Make somewhat consistent with the other classes.
2015-06-20Clean up Choice method ordering.Ulf Magnusson
Put getters together and make consistent with Symbol.
2015-06-20Clean up Symbol method ordering.Ulf Magnusson
Put getters together.
2015-06-20Clean up Config method ordering.Ulf Magnusson
Split into logical sections and put more related methods closer to one another.
2015-06-19Optimize .config writing.Ulf Magnusson
The old note no longer seems to apply. Going through the defconfig part of the test suite without verification in PyPy drops from ~5:50 to ~5:30, and line_prof shows some improvement for CPython too. Passing the 'write' method around instead was a bit slower.
2015-06-19Make the _parse_expr() docstring more informative.Ulf Magnusson
2015-06-19Get rid of _Feed.__len__().Ulf Magnusson
Cleaner to just check for more tokens in the few spots that used it. Seems slightly faster too, though it might be in the noise.
2015-06-19Avoid creating redundant lists when parsing expressions.Ulf Magnusson
The most common case by far (> 85% for both && and || with the x86 Kconfigs) is a single operand (i.e., no && or ||). Sticking it in a list and then immediately throwing the list away is wasteful. Makes _parse_expr() at least 10% faster during testing.
2015-06-19Use consistent capitalization.Ulf Magnusson
2015-06-18Rename the *_2() methods to *_rec().Ulf Magnusson
Matches their function.
2015-06-18Optimize _get_expr_syms().Ulf Magnusson
Instantiating that nested function with free variables turned out to be quite expensive in cProfile. For the _build_dep() case, it would be even neater to have a function like _add_sym_deps(sym, expr) that adds 'sym' to each 'deps' set in 'expr', removing the need for a temporary set. Unfortunately, _get_expr_syms() is used elsewhere too, and it's probably not worthwhile having another very similar function just as a small optimization.
2015-06-17Do not unset user values before the first test.Ulf Magnusson
Redundant, plus we get more coverage for the default state.
2015-06-17Make sure scripts/kconfig/conf is built ourselves.Ulf Magnusson
Bit friendlier.
2015-06-17Remove env. variables in a neater way.Ulf Magnusson
2015-06-17Nit.Ulf Magnusson
2015-06-17Add note re. speedy mode in a fresh kernel tree.Ulf Magnusson
2015-06-17Remove unused _tokenize() default parameter value.Ulf Magnusson
2015-06-17Comment consistency nit.Ulf Magnusson
2015-06-17_sym_lookup() docstring nit.Ulf Magnusson
2015-06-17Invert _sym_lookup()'s register-new-symbols flag.Ulf Magnusson
Simpler.
2015-06-17_tokenize() comment nit.Ulf Magnusson
2015-06-17_tokenize() comment nits.Ulf Magnusson
2015-06-17Add __slots__ to internal classes.Ulf Magnusson
Speeds _Feed creation up a bit during tokenization. Keep public classes slotless for flexibility.
2015-06-17Check for T_HELP before None during tokenization.Ulf Magnusson
Optimization. Saves an 'if None' check for each 'help'.
2015-06-17Set the initial index later in _tokenize().Ulf Magnusson
Small optimization. No need to fetch it for 'help' tokens, which return early.
2015-06-17Remove probably unhelpful tokenization comment.Ulf Magnusson
The regexes handle most stripping of trailing space now too.
2015-06-17Docstring nit.Ulf Magnusson