From 3ae897e2a09c44cb6b3b4a1af3124ed03c8a9d9d Mon Sep 17 00:00:00 2001 From: Revar Desmera Date: Thu, 6 Aug 2026 13:17:22 -0700 Subject: [PATCH 1/2] Bump the parser submodule: StringLiteral source spans Picks up openscad_cpp_parser#3. A StringLiteral's position spanned only its closing quote, and so did any node wrapping one -- a PositionalArgument, a vector element -- because a string is matched by several lexer rules and YY_USER_ACTION resets tokenStart on each. parse_ast() consumers slicing source by those offsets could land inside string CONTENT. BelfrySCAD's reformatter rewrote a comma inside "h,l,height,length" in BOSL2's isosurface.scad, silently changing the string's value; it needed a guard skipping any argument list with an unbalanced quote span, which this makes unnecessary. a = "txt"; span was '"' now '"txt"' f("x,y", b); argument span '"' now '"x,y"' 1399/1399 tests pass. Verified through the Python API too, and against BelfrySCAD: its separator-spacing pass now covers 74 of 97 corpus files (up from 73, the extras being the ones its quote guard had to skip) with no structural changes. Minor bump: node positions change, which anything using them will see. --- external/openscad_cpp_parser | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/external/openscad_cpp_parser b/external/openscad_cpp_parser index 35d9957..0789702 160000 --- a/external/openscad_cpp_parser +++ b/external/openscad_cpp_parser @@ -1 +1 @@ -Subproject commit 35d9957e8e7e06838f3d2b102058b56e4bab57e6 +Subproject commit 0789702ee90854c78d703e8ae56271b3f3b15db7 diff --git a/pyproject.toml b/pyproject.toml index febabff..5afced5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build" [project] name = "openscad_cpp_evaluator" -version = "0.17.0" +version = "0.18.0" description = "C++ OpenSCAD evaluator with Python bindings" readme = "README.md" requires-python = ">=3.12" From 1f4684a0119c06022bcffd9671cd54194d03ebcd Mon Sep 17 00:00:00 2001 From: Revar Desmera Date: Thu, 6 Aug 2026 13:28:55 -0700 Subject: [PATCH 2/2] Re-trigger CI The push that opened #76 landed while GitHub Actions was still recovering from an outage and fired no workflow run at all.