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:...0x7f86b5efa890)\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:...0x7f86b5efa890\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f86b5efa890)\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:...0x7f86b5e951e0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f86b5e94328])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f86b5efa9f0\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f86b5efa9f0)\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:...0x7f86b5e951e0)\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:...0x7f86b5efaa48)\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.7505/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.7505/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:7511))\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:80b14ec5b348))\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:...0x7f86b5ef20e0\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f86b5efa050)\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:...0x7f86b5ef20e0\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f86b5efa0a8\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f86b5efa0a8)\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:...0x7f86b5ef20e0\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:...0x7f86b5efa208\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f86b5efa208\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:...0x7f86b5efa208\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:...0x7f86b5ef20e0\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f86b5efa260\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f86b5efa260\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:...0x7f86b5ef20e0\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f86b5efa2b8\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f86b5efa2b8\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:...0x7f86b5ef20e0\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f86b5efa310\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f86b5efa310\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f86b5efa310\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f86b5efa310\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:...0x7f86b5ef20e0\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:...0x7f86b5ef20e0\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f86b5efa520\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f86b5efa520\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:...0x7f86b5efa520\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f86b5f0b3f8\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f86b5efa520\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f86b5efa520\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:...0x7f86b5ef20e0\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f86b61dbef0])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f86b5efa628\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:...0x7f86b5efa628\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f86b5efa628\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f86b5efa628\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:...0x7f86b5ef20e0\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:...0x7f86b5efa730\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f86b5efa730\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f86b5efa730\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:...0x7f86b5efa730\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f86b5efa730\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f86b5efa730\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:...0x7f86b5ef20e0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f86b5f0b808])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f86b5efa7e0\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:...0x7f86b5ef20e0\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:...0x7f86b5ef20e0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f86b61dbc18])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f86b5efa8e8)\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:...0x7f86b5ef20e0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f86b5f0bce8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f86b5efa940)\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:...0x7f86b5ef20e0)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f86b624dd10\n ENV\n ...0x7f86b624ddd0\n UID\n ...0x7f86b624de30\n EUID\n ...0x7f86b624de90\n PPID\n ...0x7f86b624def0\n OPTIND\n ...0x7f86b624df50\n IFS\n ...0x7f86b624dfb0\n HOSTNAME\n ...0x7f86b620a050\n OSTYPE\n ...0x7f86b620a0b0\n PS4\n ...0x7f86b620a110\n COMP_WORDBREAKS\n ...0x7f86b620a170\n p\n ...0x7f86b620a2f0\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:...0x7f86b5efa890) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7f86b5efa890 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f86b5efa890) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7f86b5e951e0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f86b5e94328]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7f86b5efa9f0 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f86b5efa9f0) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7f86b5e951e0) ) ) ) ) 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:...0x7f86b5efaa48) } 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.7505/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.7505/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:7511)) 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:80b14ec5b348)) 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:...0x7f86b5ef20e0 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f86b5efa050) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7f86b5ef20e0 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7f86b5efa0a8 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7f86b5efa0a8) 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:...0x7f86b5ef20e0 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f86b5efa208 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f86b5efa208 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7f86b5efa208 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7f86b5ef20e0 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7f86b5efa260 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7f86b5efa260 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7f86b5ef20e0 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7f86b5efa2b8 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7f86b5efa2b8 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7f86b5ef20e0 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7f86b5efa310 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7f86b5efa310 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7f86b5efa310 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7f86b5efa310 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7f86b5ef20e0 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7f86b5ef20e0 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7f86b5efa520 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7f86b5efa520 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7f86b5efa520 ) name:parseCommand ) args:(ArgList left:...0x7f86b5f0b3f8 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7f86b5efa520 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7f86b5efa520 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7f86b5ef20e0 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7f86b61dbef0]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7f86b5efa628 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7f86b5efa628 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7f86b5efa628 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7f86b5efa628 ) ) 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:...0x7f86b5ef20e0 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7f86b5efa730 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7f86b5efa730 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7f86b5efa730 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7f86b5efa730 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7f86b5efa730 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7f86b5efa730 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7f86b5ef20e0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f86b5f0b808]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7f86b5efa7e0 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7f86b5ef20e0 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7f86b5ef20e0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f86b61dbc18]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f86b5efa8e8) ] ) ] 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:...0x7f86b5ef20e0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f86b5f0bce8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f86b5efa940) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7f86b5ef20e0) ) ) sh_compat:F module_frame:{ ARGV ...0x7f86b624dd10 ENV ...0x7f86b624ddd0 UID ...0x7f86b624de30 EUID ...0x7f86b624de90 PPID ...0x7f86b624def0 OPTIND ...0x7f86b624df50 IFS ...0x7f86b624dfb0 HOSTNAME ...0x7f86b620a050 OSTYPE ...0x7f86b620a0b0 PS4 ...0x7f86b620a110 COMP_WORDBREAKS ...0x7f86b620a170 p ...0x7f86b620a2f0 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7524: 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:...0x7f9e18445a48)\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:...0x7f9e18445a48\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f9e18445a48)\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:...0x7f9e18077bd0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f9e180af0a8])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f9e18445b88\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f9e18445b88)\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:...0x7f9e18077bd0)\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:...0x7f9e18445bd8)\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.7505/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.25.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:7511))\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:80b14ec5b348))\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:...0x7f9e18096288\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f9e18445228)\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:...0x7f9e18096288\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f9e18445188\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f9e18445188)\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:...0x7f9e18096288\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:...0x7f9e18445458\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f9e18445458\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:...0x7f9e18445458\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:...0x7f9e18096288\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f9e184454a8\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f9e184454a8\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:...0x7f9e18096288\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f9e184454f8\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f9e184454f8\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:...0x7f9e18096288\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f9e18445548\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f9e18445548\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f9e18445548\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f9e18445548\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:...0x7f9e18096288\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:...0x7f9e18096288\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f9e18445728\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f9e18445728\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:...0x7f9e18445728\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f9e180a22e8\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f9e18445728\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f9e18445728\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:...0x7f9e18096288\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f9e1842ae88])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f9e18445818\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:...0x7f9e18445818\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f9e18445818\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f9e18445818\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:...0x7f9e18096288\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:...0x7f9e18445908\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f9e18445908\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f9e18445908\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:...0x7f9e18445908\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f9e18445908\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f9e18445908\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:...0x7f9e18096288\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f9e180a26a8])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f9e184459a8\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:...0x7f9e18096288\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:...0x7f9e18096288\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f9e1842abe8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f9e18445a98)\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:...0x7f9e18096288\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f9e180a2b28])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f9e18445ae8)\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:...0x7f9e18096288)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f9e18a9a0f8\n ENV\n ...0x7f9e18a9a938\n UID\n ...0x7f9e18436308\n EUID\n ...0x7f9e18436360\n PPID\n ...0x7f9e184363b8\n OPTIND\n ...0x7f9e18436410\n IFS\n ...0x7f9e18436468\n HOSTNAME\n ...0x7f9e184364c0\n OSTYPE\n ...0x7f9e18436518\n PS4\n ...0x7f9e18436570\n COMP_WORDBREAKS\n ...0x7f9e184365c8\n p\n ...0x7f9e18436728\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:...0x7f9e18445a48) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7f9e18445a48 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f9e18445a48) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7f9e18077bd0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f9e180af0a8]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7f9e18445b88 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f9e18445b88) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7f9e18077bd0) ) ) ) ) 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:...0x7f9e18445bd8) } 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.7505/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.25.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:7511)) 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:80b14ec5b348)) 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:...0x7f9e18096288 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f9e18445228) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7f9e18096288 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7f9e18445188 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7f9e18445188) 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:...0x7f9e18096288 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f9e18445458 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f9e18445458 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7f9e18445458 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7f9e18096288 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7f9e184454a8 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7f9e184454a8 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7f9e18096288 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7f9e184454f8 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7f9e184454f8 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7f9e18096288 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7f9e18445548 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7f9e18445548 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7f9e18445548 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7f9e18445548 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7f9e18096288 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7f9e18096288 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7f9e18445728 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7f9e18445728 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7f9e18445728 ) name:parseCommand ) args:(ArgList left:...0x7f9e180a22e8 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7f9e18445728 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7f9e18445728 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7f9e18096288 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7f9e1842ae88]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7f9e18445818 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7f9e18445818 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7f9e18445818 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7f9e18445818 ) ) 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:...0x7f9e18096288 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7f9e18445908 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7f9e18445908 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7f9e18445908 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7f9e18445908 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7f9e18445908 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7f9e18445908 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7f9e18096288 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f9e180a26a8]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7f9e184459a8 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7f9e18096288 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7f9e18096288 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f9e1842abe8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f9e18445a98) ] ) ] 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:...0x7f9e18096288 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f9e180a2b28]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f9e18445ae8) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7f9e18096288) ) ) sh_compat:F module_frame:{ ARGV ...0x7f9e18a9a0f8 ENV ...0x7f9e18a9a938 UID ...0x7f9e18436308 EUID ...0x7f9e18436360 PPID ...0x7f9e184363b8 OPTIND ...0x7f9e18436410 IFS ...0x7f9e18436468 HOSTNAME ...0x7f9e184364c0 OSTYPE ...0x7f9e18436518 PS4 ...0x7f9e18436570 COMP_WORDBREAKS ...0x7f9e184365c8 p ...0x7f9e18436728 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7527: command.Simple failed with status 127 |