summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase
diff options
context:
space:
mode:
authorCharles Brunet <charles.brunet@optelgroup.com>2024-02-14 08:57:35 -0500
committerEli Schwartz <eschwartz93@gmail.com>2024-02-23 15:00:39 -0500
commit715dc27b2b8432d9749df985f262de8a8347c59b (patch)
tree17acc9cf96161b31fd403d0062bedc72c80fc7b2 /mesonbuild/interpreterbase
parent138e0fe9841b44a6d0402b66bbd0c10966cfe87b (diff)
downloadmeson-715dc27b2b8432d9749df985f262de8a8347c59b.tar.gz
Detect utf8 bom from meson build files
Some text editors on Windows may use utf8bom encoding by default. Prevent crash and properly report misencoded files. Fixes #12766.
Diffstat (limited to 'mesonbuild/interpreterbase')
-rw-r--r--mesonbuild/interpreterbase/interpreterbase.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/interpreterbase/interpreterbase.py b/mesonbuild/interpreterbase/interpreterbase.py
index 365e2fd4b..47dd46f32 100644
--- a/mesonbuild/interpreterbase/interpreterbase.py
+++ b/mesonbuild/interpreterbase/interpreterbase.py
@@ -107,10 +107,11 @@ class InterpreterBase:
self.handle_meson_version_from_ast()
except mparser.ParseException as me:
me.file = mesonfile
- # try to detect parser errors from new syntax added by future
- # meson versions, and just tell the user to update meson
- self.ast = me.ast
- self.handle_meson_version_from_ast()
+ if me.ast:
+ # try to detect parser errors from new syntax added by future
+ # meson versions, and just tell the user to update meson
+ self.ast = me.ast
+ self.handle_meson_version_from_ast()
raise me
def parse_project(self) -> None: