status | ysh | ysh_ALT | |
pass | 6 | 6 | |
FAIL | 1 | 1 | |
total | 7 | 7 | |
case | ysh | ysh_ALT | description |
0 | pass | pass | with eval builtin command, in global scope |
1 | pass | pass | with eval builtin command, in local scope |
2 | pass | pass | with eval builtin command, making them global with names() and setVar() |
3 | FAIL | FAIL | with parseCommand() then io->eval(), in local scope |
details | details | ||
4 | pass | pass | with parseCommand() then io->eval(cmd, vars={out_dict: {}}) |
5 | pass | pass | with evalToDict() |
6 | pass | pass | with runtime REFLECTION via __invoke__ - no parsing |
12 passed, 0 OK, 0 not implemented, 0 BUG, 2 failed, 0 timeouts, 0 cases skipped 1 failed under osh
ysh | 3 with parseCommand() then io->eval(), in local scope [ysh stdout] Expected 'prefix a\nprefix b\n', got '(value.Command\n frag:(cmd_frag.Expr\n c:(Proc\n keyword:(Token\n id:KW_Proc\n length:4\n col:0\n line:(SourceLine\n line_num:1\n content:"proc echo_a(prefix) {\\n"\n src:(source.Dynamic\n what:"parseCommand()"\n location:(Token\n id:Op_LParen\n length:1\n col:26\n line:(SourceLine\n line_num:9\n content:" var cmd = parseCommand(s)\\n"\n src:(source.Stdin comment:"")\n )\n )\n )\n )\n )\n name:(Token id:Lit_Chars length:6 col:5 line:...0x7f408b409998)\n sig:(proc_sig.Closed\n word:(ParamGroup\n params:[\n (Param\n blame_tok:(Token\n id:Expr_Name\n length:6\n col:12\n line:...0x7f408b409998\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f408b409998)\n children:[\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:4\n col:2\n line:(SourceLine\n line_num:2\n content:" echo $prefix a\\n"\n src:...0x7f408b0a8280\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f408b0a53f8])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f408b409af8\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f408b409af8)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:3 content:"}\\n" src:...0x7f408b0a8280)\n )\n )\n )\n )\n captured_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n result\n (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))\n param\n (Cell exported:F readonly:F nameref:F val:(value.Str s:a))\n s\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"proc echo_a(prefix) {\\n echo $prefix a\\n}\\n")\n )\n cmd\n (Cell exported:F readonly:F nameref:F val:...0x7f408b409b50)\n }\n module_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n ENV\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(Obj\n d:{\n TMP\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh\n )\n REPO_ROOT\n (value.Str s:/home/uke/oil)\n PYTHONPATH\n (value.Str s:"/home/uke/oil:/home/uke/oil/vendor")\n PWD\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh\n )\n SH\n (value.Str s:/home/uke/oil/bin/ysh)\n LC_ALL\n (value.Str s:C.UTF-8)\n PATH\n (value.Str\n s:"/home/uke/oil/test/../spec/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\n )\n LOCALE_ARCHIVE\n (value.Str s:"")\n OILS_GC_ON_EXIT\n (value.Str s:"")\n }\n )\n )\n UID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n EUID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n PPID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:7531))\n OPTIND\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1))\n IFS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n"))\n HOSTNAME\n (Cell exported:F readonly:F nameref:F val:(value.Str s:4ba7443d0b02))\n OSTYPE\n (Cell exported:F readonly:F nameref:F val:(value.Str s:linux))\n PS4\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")\n )\n COMP_WORDBREAKS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n\\"\'><=;|&(:"))\n p\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Proc\n name:p\n name_tok:(Token\n id:Lit_Chars\n length:1\n col:5\n line:(SourceLine\n line_num:1\n content:"proc p {\\n"\n src:...0x7f408b103440\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f408b409158)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:2\n line:(SourceLine\n line_num:2\n content:" var result = {}\\n"\n src:...0x7f408b103440\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f408b4091b0\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f408b4091b0)\n keys:[]\n values:[]\n )\n )\n (command.ForEach\n keyword:(Token\n id:KW_For\n length:3\n col:2\n line:(SourceLine\n line_num:3\n content:" for param in a b {\\n"\n src:...0x7f408b103440\n )\n )\n iter_names:[param]\n iterable:(for_iter.Words\n words:[\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:15\n line:...0x7f408b409310\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f408b409310\n tval:b\n )\n ]\n )\n ]\n )\n body:(BraceGroup\n left:(Token\n id:Lit_LBrace\n length:1\n col:19\n line:...0x7f408b409310\n )\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:(SourceLine\n line_num:4\n content:" var s = \\"\\"\\"\\n"\n src:...0x7f408b103440\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f408b409368\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f408b409368\n )\n parts:[\n (Token\n id:Lit_CharsWithoutPrefix\n length:10\n col:4\n line:(SourceLine\n line_num:5\n content:" proc echo_$param(prefix) {\\n"\n src:...0x7f408b103440\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f408b4093c0\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f408b4093c0\n tval:"(prefix) {\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:7\n col:4\n line:(SourceLine\n line_num:6\n content:" echo \\\\$prefix $param\\n"\n src:...0x7f408b103440\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f408b409418\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f408b409418\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f408b409418\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f408b409418\n tval:"\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:2\n col:4\n line:(SourceLine\n line_num:7\n content:" }\\n"\n src:...0x7f408b103440\n )\n tval:"}\\n"\n )\n ]\n right:(Token\n id:Right_DoubleQuote\n length:1\n col:6\n line:(SourceLine\n line_num:8\n content:" \\"\\"\\"\\n"\n src:...0x7f408b103440\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f408b409628\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f408b409628\n )\n name:cmd\n )\n ]\n rhs:(expr.FuncCall\n func:(expr.Var\n left:(Token\n id:Expr_Name\n length:12\n col:14\n line:...0x7f408b409628\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f408b11a4c8\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f408b409628\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f408b409628\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:2\n col:4\n line:(SourceLine\n line_num:10\n content:" pp asdl_ (cmd)\\n"\n src:...0x7f408b103440\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f408b11a050])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f408b409730\n tval:asdl_\n )\n ]\n )\n ]\n typed_args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:13\n line:...0x7f408b409730\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f408b409730\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f408b409730\n )\n )\n is_last_cmd:F\n )\n (command.Expr\n keyword:(Token\n id:KW_Call\n length:4\n col:4\n line:(SourceLine\n line_num:13\n content:" call io->eval(cmd)\\n"\n src:...0x7f408b103440\n )\n )\n e:(expr.FuncCall\n func:(Attribute\n obj:(expr.Var\n left:(Token\n id:Expr_Name\n length:2\n col:9\n line:...0x7f408b409838\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f408b409838\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f408b409838\n )\n attr_name:eval\n ctx:expr_context.Store\n )\n args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:17\n line:...0x7f408b409838\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f408b409838\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f408b409838\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:4\n line:(SourceLine\n line_num:15\n content:" echo_a zz\\n"\n src:...0x7f408b103440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f408b11a8d8])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f408b4098e8\n )\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:2\n line:(SourceLine\n line_num:16\n content:" }\\n"\n src:...0x7f408b103440\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:18\n content:" echo_a prefix\\n"\n src:...0x7f408b103440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f408b3dece8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f408b4099f0)\n ]\n )\n ]\n is_last_cmd:F\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:19\n content:" echo_b prefix\\n"\n src:...0x7f408b103440\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f408b11adb8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f408b409a48)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:20 content:"}\\n" src:...0x7f408b103440)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f408b45ae30\n ENV\n ...0x7f408b45aef0\n UID\n ...0x7f408b45af50\n EUID\n ...0x7f408b45afb0\n PPID\n ...0x7f408b41b050\n OPTIND\n ...0x7f408b41b0b0\n IFS\n ...0x7f408b41b110\n HOSTNAME\n ...0x7f408b41b170\n OSTYPE\n ...0x7f408b41b1d0\n PS4\n ...0x7f408b41b230\n COMP_WORDBREAKS\n ...0x7f408b41b290\n p\n ...0x7f408b41b410\n }\n )\n )\n }\n)\n' stdout: (value.Command frag:(cmd_frag.Expr c:(Proc keyword:(Token id:KW_Proc length:4 col:0 line:(SourceLine line_num:1 content:"proc echo_a(prefix) {\n" src:(source.Dynamic what:"parseCommand()" location:(Token id:Op_LParen length:1 col:26 line:(SourceLine line_num:9 content:" var cmd = parseCommand(s)\n" src:(source.Stdin comment:"") ) ) ) ) ) name:(Token id:Lit_Chars length:6 col:5 line:...0x7f408b409998) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7f408b409998 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f408b409998) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7f408b0a8280 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f408b0a53f8]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7f408b409af8 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f408b409af8) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7f408b0a8280) ) ) ) ) captured_frame:{ ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) result (Cell exported:F readonly:F nameref:F val:(value.Dict d:{})) param (Cell exported:F readonly:F nameref:F val:(value.Str s:a)) s (Cell exported:F readonly:F nameref:F val:(value.Str s:"proc echo_a(prefix) {\n echo $prefix a\n}\n") ) cmd (Cell exported:F readonly:F nameref:F val:...0x7f408b409b50) } module_frame:{ ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) ENV (Cell exported:F readonly:F nameref:F val:(Obj d:{ TMP (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh ) REPO_ROOT (value.Str s:/home/uke/oil) PYTHONPATH (value.Str s:"/home/uke/oil:/home/uke/oil/vendor") PWD (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh ) SH (value.Str s:/home/uke/oil/bin/ysh) LC_ALL (value.Str s:C.UTF-8) PATH (value.Str s:"/home/uke/oil/test/../spec/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ) LOCALE_ARCHIVE (value.Str s:"") OILS_GC_ON_EXIT (value.Str s:"") } ) ) UID (Cell exported:F readonly:F nameref:F val:(value.Str s:1000)) EUID (Cell exported:F readonly:F nameref:F val:(value.Str s:1000)) PPID (Cell exported:F readonly:F nameref:F val:(value.Str s:7531)) OPTIND (Cell exported:F readonly:F nameref:F val:(value.Str s:1)) IFS (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n")) HOSTNAME (Cell exported:F readonly:F nameref:F val:(value.Str s:4ba7443d0b02)) OSTYPE (Cell exported:F readonly:F nameref:F val:(value.Str s:linux)) PS4 (Cell exported:F readonly:F nameref:F val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ") ) COMP_WORDBREAKS (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n\"'><=;|&(:")) p (Cell exported:F readonly:F nameref:F val:(value.Proc name:p name_tok:(Token id:Lit_Chars length:1 col:5 line:(SourceLine line_num:1 content:"proc p {\n" src:...0x7f408b103440 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f408b409158) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7f408b103440 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7f408b4091b0 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7f408b4091b0) keys:[] values:[] ) ) (command.ForEach keyword:(Token id:KW_For length:3 col:2 line:(SourceLine line_num:3 content:" for param in a b {\n" src:...0x7f408b103440 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f408b409310 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f408b409310 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7f408b409310 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7f408b103440 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7f408b409368 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7f408b409368 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7f408b103440 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7f408b4093c0 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7f408b4093c0 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7f408b103440 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7f408b409418 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7f408b409418 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7f408b409418 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7f408b409418 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7f408b103440 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7f408b103440 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7f408b409628 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7f408b409628 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7f408b409628 ) name:parseCommand ) args:(ArgList left:...0x7f408b11a4c8 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7f408b409628 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7f408b409628 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7f408b103440 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7f408b11a050]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7f408b409730 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7f408b409730 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7f408b409730 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7f408b409730 ) ) is_last_cmd:F ) (command.Expr keyword:(Token id:KW_Call length:4 col:4 line:(SourceLine line_num:13 content:" call io->eval(cmd)\n" src:...0x7f408b103440 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7f408b409838 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7f408b409838 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7f408b409838 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7f408b409838 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7f408b409838 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7f408b409838 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7f408b103440 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f408b11a8d8]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7f408b4098e8 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7f408b103440 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7f408b103440 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f408b3dece8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f408b4099f0) ] ) ] is_last_cmd:F ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:19 content:" echo_b prefix\n" src:...0x7f408b103440 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f408b11adb8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f408b409a48) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7f408b103440) ) ) sh_compat:F module_frame:{ ARGV ...0x7f408b45ae30 ENV ...0x7f408b45aef0 UID ...0x7f408b45af50 EUID ...0x7f408b45afb0 PPID ...0x7f408b41b050 OPTIND ...0x7f408b41b0b0 IFS ...0x7f408b41b110 HOSTNAME ...0x7f408b41b170 OSTYPE ...0x7f408b41b1d0 PS4 ...0x7f408b41b230 COMP_WORDBREAKS ...0x7f408b41b290 p ...0x7f408b41b410 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7544: command.Simple failed with status 127 |
ysh_ALT | 3 with parseCommand() then io->eval(), in local scope [ysh_ALT stdout] Expected 'prefix a\nprefix b\n', got '(value.Command\n frag:(cmd_frag.Expr\n c:(Proc\n keyword:(Token\n id:KW_Proc\n length:4\n col:0\n line:(SourceLine\n line_num:1\n content:"proc echo_a(prefix) {\\n"\n src:(source.Dynamic\n what:"parseCommand()"\n location:(Token\n id:Op_LParen\n length:1\n col:26\n line:(SourceLine\n line_num:9\n content:" var cmd = parseCommand(s)\\n"\n src:(source.Stdin comment:"")\n )\n )\n )\n )\n )\n name:(Token id:Lit_Chars length:6 col:5 line:...0x7fabf9b219f8)\n sig:(proc_sig.Closed\n word:(ParamGroup\n params:[\n (Param\n blame_tok:(Token\n id:Expr_Name\n length:6\n col:12\n line:...0x7fabf9b219f8\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7fabf9b219f8)\n children:[\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:4\n col:2\n line:(SourceLine\n line_num:2\n content:" echo $prefix a\\n"\n src:...0x7fabf9754d38\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7fabf978b288])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7fabf9b21b38\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7fabf9b21b38)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:3 content:"}\\n" src:...0x7fabf9754d38)\n )\n )\n )\n )\n captured_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n result\n (Cell exported:F readonly:F nameref:F val:(value.Dict d:{}))\n param\n (Cell exported:F readonly:F nameref:F val:(value.Str s:a))\n s\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"proc echo_a(prefix) {\\n echo $prefix a\\n}\\n")\n )\n cmd\n (Cell exported:F readonly:F nameref:F val:...0x7fabf9b21b88)\n }\n module_frame:{\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\n ENV\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(Obj\n d:{\n TMP\n (value.Str\n s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh_ALT\n )\n REPO_ROOT\n (value.Str s:/home/uke/oil/test/..)\n SH\n (value.Str s:/home/uke/oil/_tmp/oil-tar-test/oil-0.26.0/_bin/ysh)\n PATH\n (value.Str\n s:"/home/uke/oil/test/../spec/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"\n )\n LC_ALL\n (value.Str s:C.UTF-8)\n LOCALE_ARCHIVE\n (value.Str s:"")\n OILS_GC_ON_EXIT\n (value.Str s:"")\n }\n )\n )\n UID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n EUID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1000))\n PPID\n (Cell exported:F readonly:F nameref:F val:(value.Str s:7531))\n OPTIND\n (Cell exported:F readonly:F nameref:F val:(value.Str s:1))\n IFS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n"))\n HOSTNAME\n (Cell exported:F readonly:F nameref:F val:(value.Str s:4ba7443d0b02))\n OSTYPE\n (Cell exported:F readonly:F nameref:F val:(value.Str s:linux))\n PS4\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ")\n )\n COMP_WORDBREAKS\n (Cell exported:F readonly:F nameref:F val:(value.Str s:" \\t\\n\\"\'><=;|&(:"))\n p\n (Cell\n exported:F\n readonly:F\n nameref:F\n val:(value.Proc\n name:p\n name_tok:(Token\n id:Lit_Chars\n length:1\n col:5\n line:(SourceLine\n line_num:1\n content:"proc p {\\n"\n src:...0x7fabf9773988\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7fabf9b211d8)\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:2\n line:(SourceLine\n line_num:2\n content:" var result = {}\\n"\n src:...0x7fabf9773988\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7fabf9b21138\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7fabf9b21138)\n keys:[]\n values:[]\n )\n )\n (command.ForEach\n keyword:(Token\n id:KW_For\n length:3\n col:2\n line:(SourceLine\n line_num:3\n content:" for param in a b {\\n"\n src:...0x7fabf9773988\n )\n )\n iter_names:[param]\n iterable:(for_iter.Words\n words:[\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:15\n line:...0x7fabf9b21408\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7fabf9b21408\n tval:b\n )\n ]\n )\n ]\n )\n body:(BraceGroup\n left:(Token\n id:Lit_LBrace\n length:1\n col:19\n line:...0x7fabf9b21408\n )\n children:[\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:(SourceLine\n line_num:4\n content:" var s = \\"\\"\\"\\n"\n src:...0x7fabf9773988\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7fabf9b21458\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7fabf9b21458\n )\n parts:[\n (Token\n id:Lit_CharsWithoutPrefix\n length:10\n col:4\n line:(SourceLine\n line_num:5\n content:" proc echo_$param(prefix) {\\n"\n src:...0x7fabf9773988\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7fabf9b214a8\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7fabf9b214a8\n tval:"(prefix) {\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:7\n col:4\n line:(SourceLine\n line_num:6\n content:" echo \\\\$prefix $param\\n"\n src:...0x7fabf9773988\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7fabf9b214f8\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7fabf9b214f8\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7fabf9b214f8\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7fabf9b214f8\n tval:"\\n"\n )\n (Token\n id:Lit_CharsWithoutPrefix\n length:2\n col:4\n line:(SourceLine\n line_num:7\n content:" }\\n"\n src:...0x7fabf9773988\n )\n tval:"}\\n"\n )\n ]\n right:(Token\n id:Right_DoubleQuote\n length:1\n col:6\n line:(SourceLine\n line_num:8\n content:" \\"\\"\\"\\n"\n src:...0x7fabf9773988\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7fabf9b216d8\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7fabf9b216d8\n )\n name:cmd\n )\n ]\n rhs:(expr.FuncCall\n func:(expr.Var\n left:(Token\n id:Expr_Name\n length:12\n col:14\n line:...0x7fabf9b216d8\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7fabf9782048\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7fabf9b216d8\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7fabf9b216d8\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:2\n col:4\n line:(SourceLine\n line_num:10\n content:" pp asdl_ (cmd)\\n"\n src:...0x7fabf9773988\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7fabf97820a8])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7fabf9b217c8\n tval:asdl_\n )\n ]\n )\n ]\n typed_args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:13\n line:...0x7fabf9b217c8\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7fabf9b217c8\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7fabf9b217c8\n )\n )\n is_last_cmd:F\n )\n (command.Expr\n keyword:(Token\n id:KW_Call\n length:4\n col:4\n line:(SourceLine\n line_num:13\n content:" call io->eval(cmd)\\n"\n src:...0x7fabf9773988\n )\n )\n e:(expr.FuncCall\n func:(Attribute\n obj:(expr.Var\n left:(Token\n id:Expr_Name\n length:2\n col:9\n line:...0x7fabf9b218b8\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7fabf9b218b8\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7fabf9b218b8\n )\n attr_name:eval\n ctx:expr_context.Store\n )\n args:(ArgList\n left:(Token\n id:Op_LParen\n length:1\n col:17\n line:...0x7fabf9b218b8\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7fabf9b218b8\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7fabf9b218b8\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:4\n line:(SourceLine\n line_num:15\n content:" echo_a zz\\n"\n src:...0x7fabf9773988\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7fabf9782888])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7fabf9b21958\n )\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:2\n line:(SourceLine\n line_num:16\n content:" }\\n"\n src:...0x7fabf9773988\n )\n )\n )\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:18\n content:" echo_a prefix\\n"\n src:...0x7fabf9773988\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7fabf9b07dc8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7fabf9b21a48)\n ]\n )\n ]\n is_last_cmd:F\n )\n (command.Simple\n blame_tok:(Token\n id:Lit_Chars\n length:6\n col:2\n line:(SourceLine\n line_num:19\n content:" echo_b prefix\\n"\n src:...0x7fabf9773988\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7fabf9782d08])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7fabf9b21a98)\n ]\n )\n ]\n is_last_cmd:F\n )\n ]\n right:(Token\n id:Lit_RBrace\n length:1\n col:0\n line:(SourceLine line_num:20 content:"}\\n" src:...0x7fabf9773988)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7fabfa1780f8\n ENV\n ...0x7fabfa178938\n UID\n ...0x7fabf9b097d8\n EUID\n ...0x7fabf9b09830\n PPID\n ...0x7fabf9b09888\n OPTIND\n ...0x7fabf9b098e0\n IFS\n ...0x7fabf9b09938\n HOSTNAME\n ...0x7fabf9b09990\n OSTYPE\n ...0x7fabf9b099e8\n PS4\n ...0x7fabf9b09a40\n COMP_WORDBREAKS\n ...0x7fabf9b09a98\n p\n ...0x7fabf9b09bf8\n }\n )\n )\n }\n)\n' stdout: (value.Command frag:(cmd_frag.Expr c:(Proc keyword:(Token id:KW_Proc length:4 col:0 line:(SourceLine line_num:1 content:"proc echo_a(prefix) {\n" src:(source.Dynamic what:"parseCommand()" location:(Token id:Op_LParen length:1 col:26 line:(SourceLine line_num:9 content:" var cmd = parseCommand(s)\n" src:(source.Stdin comment:"") ) ) ) ) ) name:(Token id:Lit_Chars length:6 col:5 line:...0x7fabf9b219f8) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7fabf9b219f8 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7fabf9b219f8) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7fabf9754d38 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7fabf978b288]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7fabf9b21b38 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7fabf9b21b38) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7fabf9754d38) ) ) ) ) captured_frame:{ ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) result (Cell exported:F readonly:F nameref:F val:(value.Dict d:{})) param (Cell exported:F readonly:F nameref:F val:(value.Str s:a)) s (Cell exported:F readonly:F nameref:F val:(value.Str s:"proc echo_a(prefix) {\n echo $prefix a\n}\n") ) cmd (Cell exported:F readonly:F nameref:F val:...0x7fabf9b21b88) } module_frame:{ ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) ENV (Cell exported:F readonly:F nameref:F val:(Obj d:{ TMP (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.7525/03-ysh_ALT ) REPO_ROOT (value.Str s:/home/uke/oil/test/..) SH (value.Str s:/home/uke/oil/_tmp/oil-tar-test/oil-0.26.0/_bin/ysh) PATH (value.Str s:"/home/uke/oil/test/../spec/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/home/uke/wedge/oils-for-unix.org/pkg/yash/2.49/bin:/home/uke/wedge/oils-for-unix.org/pkg/busybox/1.35.0:/home/uke/wedge/oils-for-unix.org/pkg/zsh/5.1.1/bin:/home/uke/wedge/oils-for-unix.org/pkg/mksh/R52c:/home/uke/wedge/oils-for-unix.org/pkg/dash/0.5.10.2/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/5.2.21/bin:/home/uke/wedge/oils-for-unix.org/pkg/bash/4.4/bin:/wedge/oils-for-unix.org/pkg/re2c/3.0/bin:/wedge/oils-for-unix.org/pkg/python3/3.10.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ) LC_ALL (value.Str s:C.UTF-8) LOCALE_ARCHIVE (value.Str s:"") OILS_GC_ON_EXIT (value.Str s:"") } ) ) UID (Cell exported:F readonly:F nameref:F val:(value.Str s:1000)) EUID (Cell exported:F readonly:F nameref:F val:(value.Str s:1000)) PPID (Cell exported:F readonly:F nameref:F val:(value.Str s:7531)) OPTIND (Cell exported:F readonly:F nameref:F val:(value.Str s:1)) IFS (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n")) HOSTNAME (Cell exported:F readonly:F nameref:F val:(value.Str s:4ba7443d0b02)) OSTYPE (Cell exported:F readonly:F nameref:F val:(value.Str s:linux)) PS4 (Cell exported:F readonly:F nameref:F val:(value.Str s:"${SHX_indent}${SHX_punct}${SHX_pid_str} ") ) COMP_WORDBREAKS (Cell exported:F readonly:F nameref:F val:(value.Str s:" \t\n\"'><=;|&(:")) p (Cell exported:F readonly:F nameref:F val:(value.Proc name:p name_tok:(Token id:Lit_Chars length:1 col:5 line:(SourceLine line_num:1 content:"proc p {\n" src:...0x7fabf9773988 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7fabf9b211d8) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7fabf9773988 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7fabf9b21138 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7fabf9b21138) keys:[] values:[] ) ) (command.ForEach keyword:(Token id:KW_For length:3 col:2 line:(SourceLine line_num:3 content:" for param in a b {\n" src:...0x7fabf9773988 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7fabf9b21408 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7fabf9b21408 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7fabf9b21408 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7fabf9773988 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7fabf9b21458 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7fabf9b21458 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7fabf9773988 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7fabf9b214a8 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7fabf9b214a8 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7fabf9773988 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7fabf9b214f8 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7fabf9b214f8 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7fabf9b214f8 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7fabf9b214f8 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7fabf9773988 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7fabf9773988 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7fabf9b216d8 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7fabf9b216d8 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7fabf9b216d8 ) name:parseCommand ) args:(ArgList left:...0x7fabf9782048 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7fabf9b216d8 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7fabf9b216d8 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7fabf9773988 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7fabf97820a8]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7fabf9b217c8 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7fabf9b217c8 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7fabf9b217c8 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7fabf9b217c8 ) ) is_last_cmd:F ) (command.Expr keyword:(Token id:KW_Call length:4 col:4 line:(SourceLine line_num:13 content:" call io->eval(cmd)\n" src:...0x7fabf9773988 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7fabf9b218b8 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7fabf9b218b8 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7fabf9b218b8 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7fabf9b218b8 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7fabf9b218b8 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7fabf9b218b8 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7fabf9773988 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7fabf9782888]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7fabf9b21958 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7fabf9773988 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7fabf9773988 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7fabf9b07dc8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7fabf9b21a48) ] ) ] is_last_cmd:F ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:19 content:" echo_b prefix\n" src:...0x7fabf9773988 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7fabf9782d08]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7fabf9b21a98) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7fabf9773988) ) ) sh_compat:F module_frame:{ ARGV ...0x7fabfa1780f8 ENV ...0x7fabfa178938 UID ...0x7fabf9b097d8 EUID ...0x7fabf9b09830 PPID ...0x7fabf9b09888 OPTIND ...0x7fabf9b098e0 IFS ...0x7fabf9b09938 HOSTNAME ...0x7fabf9b09990 OSTYPE ...0x7fabf9b099e8 PS4 ...0x7fabf9b09a40 COMP_WORDBREAKS ...0x7fabf9b09a98 p ...0x7fabf9b09bf8 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7547: command.Simple failed with status 127 |