diff --git a/mesonbuild/mformat.py b/mesonbuild/mformat.py index 49ece4f034a4..a2b2df835343 100644 --- a/mesonbuild/mformat.py +++ b/mesonbuild/mformat.py @@ -458,10 +458,9 @@ def visit_IfClauseNode(self, node: mparser.IfClauseNode) -> None: super().visit_IfClauseNode(node) self.move_whitespaces(node.endif, node) + node.ifs[-1].whitespaces.value += node.condition_level * self.config.indent_by if isinstance(node.elseblock, mparser.ElseNode): node.elseblock.whitespaces.value += node.condition_level * self.config.indent_by - else: - node.ifs[-1].whitespaces.value += node.condition_level * self.config.indent_by def visit_IfNode(self, node: mparser.IfNode) -> None: super().visit_IfNode(node) diff --git a/test cases/format/1 default/indentation.meson b/test cases/format/1 default/indentation.meson index 31a809abff51..43b831b72075 100644 --- a/test cases/format/1 default/indentation.meson +++ b/test cases/format/1 default/indentation.meson @@ -69,5 +69,7 @@ if meson.project_version().version_compare('>1.2') ], } endforeach + else # ensure else is correctly indented (issue #13316) + k = 'k' endif endif