From 5ebb0048d1b1321457754d3ae4e9bd5702d6c1e9 Mon Sep 17 00:00:00 2001 From: boolangery Date: Sun, 19 Jul 2026 15:06:42 +0200 Subject: [PATCH] fix: replace walrus operator with two-line assignment for Python 3.6 compatibility The walrus operator (:=) was introduced in Python 3.8. Replace it with a traditional two-line assignment to maintain compatibility with Python 3.6 and 3.7 as declared in setup.py classifiers. Fixes boolangery/py-lua-parser#77 --- luaparser/builder.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/luaparser/builder.py b/luaparser/builder.py index 4d94cfc..4d90132 100644 --- a/luaparser/builder.py +++ b/luaparser/builder.py @@ -681,9 +681,11 @@ def visitString(self, ctx: LuaParser.StringContext): lua_str = lua_str[1:-1] delimiter = StringDelimiter.SINGLE_QUOTE # double square brackets notation: - elif m := LUA_DOUBLE_SQUARE_RE.match(lua_str): - lua_str = m.group("body") - delimiter = StringDelimiter.DOUBLE_SQUARE + else: + m = LUA_DOUBLE_SQUARE_RE.match(lua_str) + if m: + lua_str = m.group("body") + delimiter = StringDelimiter.DOUBLE_SQUARE if delimiter == StringDelimiter.DOUBLE_QUOTE or delimiter == StringDelimiter.SINGLE_QUOTE: unescaped_str = unescape_lua_string(lua_str)