From 0d8b90aec6eae8b6b00addb0217f663a3146a09e Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Wed, 19 Apr 2023 12:20:36 +0330 Subject: [PATCH] Shell: Allow newlines before `do` in POSIX for loops --- Userland/Shell/PosixParser.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Userland/Shell/PosixParser.cpp b/Userland/Shell/PosixParser.cpp index 67b07e2670..59923fb4e7 100644 --- a/Userland/Shell/PosixParser.cpp +++ b/Userland/Shell/PosixParser.cpp @@ -1365,12 +1365,15 @@ ErrorOr> Parser::parse_for_clause() iterated_expression = parse_word_list(); if (saw_in) { - if (peek().type == Token::Type::Semicolon) + if (peek().type == Token::Type::Semicolon || peek().type == Token::Type::Newline) skip(); else error(peek(), "Expected a semicolon, not {}", peek().type_name()); } + while (peek().type == Token::Type::Newline) + skip(); + auto body = TRY(parse_do_group()); return AST::make_ref_counted( start_position.with_end(peek().position.value_or(empty_position())),