From c0f0a8ee0cac5b6dd7c7a7e584309f862e49f536 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 22 Feb 2011 21:45:26 +0000 Subject: bitbake/BBHandler: Improve handling of multiline comments and warn users of the change Signed-off-by: Richard Purdie --- bitbake/lib/bb/parse/parse_py/BBHandler.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/bb/parse') diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index 31d1e21c67..402cd07e2a 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -193,9 +193,14 @@ def feeder(lineno, s, fn, root, statements): if lineno == IN_PYTHON_EOF: return -# fall through - if s == '' or s[0] == '#': return # skip comments and empty lines + # Skip empty lines + if s == '': + return + + if s[0] == '#': + if len(__residue__) != 0 and __residue__[0][0] != "#": + bb.error("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s)) if s[-1] == '\\': __residue__.append(s[:-1]) @@ -204,6 +209,10 @@ def feeder(lineno, s, fn, root, statements): s = "".join(__residue__) + s __residue__ = [] + # Skip comments + if s[0] == '#': + return + m = __func_start_regexp__.match(s) if m: __infunc__ = m.group("func") or "__anonymous" -- cgit v1.2.3-54-g00ecf