diff options
| -rw-r--r-- | kconfiglib.py | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index 274f0fd..ffb3ce6 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -486,11 +486,10 @@ class Config(object): sym._set_user_value_no_invalidate(val, True) else: - if self._print_undef_assign: - _stderr_msg('note: attempt to assign the value "{}" ' - "to the undefined symbol {}." - .format(val, name), - line_feeder.filename, line_feeder.linenr) + self._warn_undef_assign( + 'attempt to assign the value "{}" to the undefined ' + "symbol {}".format(val, name), + line_feeder.filename, line_feeder.linenr) else: unset_match = unset_re_match(line) if unset_match: @@ -1909,10 +1908,17 @@ class Config(object): "Locations: " + locations_str) def _warn(self, msg, filename=None, linenr=None): - """For printing warnings to stderr.""" + """For printing general warnings.""" if self._print_warnings: _stderr_msg("warning: " + msg, filename, linenr) + def _warn_undef_assign(self, msg, filename=None, linenr=None): + """For printing warnings for assignments to undefined variables. We + treat this is a separate category of warnings to avoid spamming lots of + warnings.""" + if self._print_undef_assign: + _stderr_msg("warning: " + msg, filename, linenr) + class Item(object): """Base class for symbols and other Kconfig constructs. Subclasses are @@ -2568,11 +2574,10 @@ class Symbol(Item): if not self._is_defined: filename, linenr = self._ref_locations[0] - if self._config._print_undef_assign: - _stderr_msg('note: attempt to assign the value "{}" to {}, ' - "which is referenced at {}:{} but never defined. " - "Assignment ignored." - .format(v, self._name, filename, linenr)) + self._config._warn_undef_assign( + 'attempt to assign the value "{}" to {}, which is referenced ' + "at {}:{} but never defined. Assignment ignored." + .format(v, self._name, filename, linenr)) return # Check if the value is valid for our type |
