diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2020-02-12 17:18:53 +0000 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2020-02-28 11:54:04 +0000 |
commit | 534a974da756c4b71b7ba10a6853c2be14a9b30e (patch) | |
tree | 7585e2faf0d8ef0ae84d3e533c89c2d25d455ddd /mesonbuild/optinterpreter.py | |
parent | 4895830c28dda6f009aeaec0663b5bba88b3d1b3 (diff) | |
download | meson-534a974da756c4b71b7ba10a6853c2be14a9b30e.zip meson-534a974da756c4b71b7ba10a6853c2be14a9b30e.tar.gz meson-534a974da756c4b71b7ba10a6853c2be14a9b30e.tar.bz2 |
Adjust all the other places MesonException file attribute is set
A MesonException has file, lineno and colno attributes, which get
formatted as a location in mlog.exception().
The file attribute got changed from a path relative to the root source
directory to a pathname (absolute or relative to cwd) in one place in
commit b8fbbf59. Adjust all the other places the file attribute is set
to match.
Also:
Setting MesonException.file seems to be missing in the case where Parser
returned a non-CodeBlockNode object. Fortunately, that looks like it's
unreachable, but add it just in case.
Diffstat (limited to 'mesonbuild/optinterpreter.py')
-rw-r--r-- | mesonbuild/optinterpreter.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mesonbuild/optinterpreter.py b/mesonbuild/optinterpreter.py index 1a8a04a..2632b31 100644 --- a/mesonbuild/optinterpreter.py +++ b/mesonbuild/optinterpreter.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os, re +import re import functools import typing as T @@ -147,6 +147,7 @@ class OptionInterpreter: if not isinstance(ast, mparser.CodeBlockNode): e = OptionException('Option file is malformed.') e.lineno = ast.lineno() + e.file = option_file raise e for cur in ast.lines: try: @@ -154,7 +155,7 @@ class OptionInterpreter: except Exception as e: e.lineno = cur.lineno e.colno = cur.colno - e.file = os.path.join('meson_options.txt') + e.file = option_file raise e def reduce_single(self, arg): |