ninja: no work to do. --- (command.CommandList children:[ (ShFunction name_tok: name:argv body:(BraceGroup left: children:[ (command.Sentence child:(C (w ) (w (DQ ($ VSub_At))) ) terminator: ) ] right: ) code_str:"argv() { spec/bin/argv.py \"$@\"; }" ) (command.ShAssignment left: arms:[ (IfArm keyword:...0x1a6e cond:[ (command.Sentence child:(C (w ) (w ) (w (DQ (${ VSub_Name CONFIG_HAVE_FOO))) (w ) ) terminator: ) ] then_kw: action:[ (command.ShAssignment left:) (w ) (w (DQ (${ VSub_Name CONFIG_HAVE_BAR))) (w ) ) terminator: ) ] then_kw: action:[ (command.ShAssignment left:)) ) ] ) ] then_tok:...0x18c6 ) ] else_action:[] fi_kw: ) (C (w ) (w (${ VSub_Name flags))) (C (w ) (w ) (w )) (C (w ) (w ) (w ) (w ) ) (Mutation keyword: lhs:[] op: rhs:(DQ ) ) (Mutation keyword: lhs:[] op: words:[] right: ) ) (command.If if_kw: arms:[ (IfArm keyword:...0x1e9e cond:[ (command.Sentence child:(C (w ) (w ) (w ($ CONFIG_HAVE_FOO)) ) terminator: ) ] then_kw: action:[ (command.Simple blame_tok: more_env:[] words:[ (w ) (w ) (w pos_args:[(Var flags)] named_args:[] right: ) is_last_cmd:F ) ] then_tok:...0x1e42 ) ] else_action:[] fi_kw: ) (command.If if_kw: arms:[ (IfArm keyword:...0x1d3e cond:[ (command.Sentence child:(C (w ) (w ) (w ($ CONFIG_HAVE_BAR)) ) terminator: ) ] then_kw: action:[ (command.Simple blame_tok: more_env:[] words:[ (w ) (w ) (w ) ] typed_args:(ArgList left: pos_args:[(Var flags)] named_args:[] right: ) is_last_cmd:F ) ] then_tok:...0x1ce2 ) ] else_action:[] fi_kw: ) (C (w ) (w )) ] ) --- (command.CommandList children:[ (ShFunction name_tok: name:argv body:(BraceGroup left: children:[ (command.Sentence child:(C (w ) (w (DQ ($ VSub_At))) ) terminator: ) ] right: ) code_str:"argv() { spec/bin/argv.py \"$@\"; }" ) (command.ShAssignment left: pairs:[ (InitializerWord.ArrayWord w:(w )) (InitializerWord.ArrayWord w:(w )) ] right: ) ) ) ] ) (command.ShAssignment left: pairs:[] right: ) ) ) ] ) (command.ForEach keyword: iter_names:[r] iterable:(for_iter.Words words:[ (w (DQ (BracedVarSub left: name_tok: var_name:regex bracket_op:(bracket_op.WholeArray op_id:Lit_At) right: ) ) ) ] ) semi_tok: body:(command.DoGroup left: children:[ (command.ShAssignment left: pairs:[ (AssignPair left:...0x1a36 lhs:(sh_lhs.IndexedName left:...0x1a36 name:flags index:(w (BracedVarSub left: name_tok: var_name:flags prefix_op: bracket_op:(bracket_op.WholeArray op_id:Lit_At) right: ) ) ) op:assign_op.Equal rhs:(w (DQ name_tok: var_name:flags bracket_op:(bracket_op.WholeArray op_id:Lit_At) right: ) ) ) ) (C (w ) (w ) (w ) (w ) ) (VarDecl keyword: lhs:[(NameType left: name:regex2)] rhs:(YshArrayLiteral left: words:[(w ) (w )] right: ) ) (VarDecl keyword: lhs:[(NameType left: name:flags2)] rhs:(YshArrayLiteral left: words:[] right: ) ) (command.ForEach keyword: iter_names:[r] iterable:(for_iter.Words words:[(w )]) semi_tok: body:(command.DoGroup left: children:[ (command.Simple blame_tok: more_env:[] words:[(w ) (w (DQ pos_args:[(Var flags2)] named_args:[] right: ) is_last_cmd:F ) ] right: ) ) (C (w ) (w )) ] ) --- echo len=$[len(myarray)] ^ ysh/testdata/array-splice-demo.osh:10: Unexpected token after arithmetic expression (Id.Arith_LParen != Id.Arith_RBracket) xargs: ysh/run.sh: exited with status 255; aborting