spec test index / oilshell.org
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:...0x7f72475659f0)\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:...0x7f72475659f0\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f72475659f0)\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:...0x7f72472030a0\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f72472052c0])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f72475658e8\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f72475658e8)\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:...0x7f72472030a0)\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:...0x7f7247565ba8)\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.7497/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.7497/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:7503))\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:1047aa0028ce))\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:...0x7f7247261200\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f72475651b0)\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:...0x7f7247261200\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f7247565208\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f7247565208)\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:...0x7f7247261200\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:...0x7f7247565368\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f7247565368\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:...0x7f7247565368\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:...0x7f7247261200\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f72475653c0\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f72475653c0\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:...0x7f7247261200\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f7247565418\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f7247565418\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:...0x7f7247261200\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f7247565470\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f7247565470\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f7247565470\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f7247565470\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:...0x7f7247261200\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:...0x7f7247261200\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f7247565680\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f7247565680\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:...0x7f7247565680\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f7247279390\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f7247565680\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f7247565680\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:...0x7f7247261200\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f724754ae88])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f7247565788\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:...0x7f7247565788\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f7247565788\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f7247565788\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:...0x7f7247261200\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:...0x7f7247565890\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f7247565890\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f7247565890\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:...0x7f7247565890\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f7247565890\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f7247565890\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:...0x7f7247261200\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f72472797a0])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f7247565940\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:...0x7f7247261200\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:...0x7f7247261200\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f724754abb0])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f7247565a48)\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:...0x7f7247261200\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f7247279c80])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f7247565aa0)\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:...0x7f7247261200)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f72475b6e30\n ENV\n ...0x7f72475b6ef0\n UID\n ...0x7f72475b6f50\n EUID\n ...0x7f72475b6fb0\n PPID\n ...0x7f7247578050\n OPTIND\n ...0x7f72475780b0\n IFS\n ...0x7f7247578110\n HOSTNAME\n ...0x7f7247578170\n OSTYPE\n ...0x7f72475781d0\n PS4\n ...0x7f7247578230\n COMP_WORDBREAKS\n ...0x7f7247578290\n p\n ...0x7f7247578410\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:...0x7f72475659f0) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7f72475659f0 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f72475659f0) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7f72472030a0 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f72472052c0]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7f72475658e8 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f72475658e8) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7f72472030a0) ) ) ) ) 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:...0x7f7247565ba8) } 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.7497/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.7497/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:7503)) 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:1047aa0028ce)) 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:...0x7f7247261200 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f72475651b0) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7f7247261200 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7f7247565208 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7f7247565208) 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:...0x7f7247261200 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f7247565368 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f7247565368 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7f7247565368 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7f7247261200 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7f72475653c0 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7f72475653c0 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7f7247261200 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7f7247565418 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7f7247565418 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7f7247261200 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7f7247565470 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7f7247565470 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7f7247565470 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7f7247565470 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7f7247261200 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7f7247261200 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7f7247565680 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7f7247565680 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7f7247565680 ) name:parseCommand ) args:(ArgList left:...0x7f7247279390 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7f7247565680 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7f7247565680 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7f7247261200 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7f724754ae88]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7f7247565788 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7f7247565788 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7f7247565788 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7f7247565788 ) ) 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:...0x7f7247261200 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7f7247565890 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7f7247565890 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7f7247565890 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7f7247565890 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7f7247565890 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7f7247565890 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7f7247261200 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f72472797a0]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7f7247565940 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7f7247261200 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7f7247261200 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f724754abb0]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f7247565a48) ] ) ] 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:...0x7f7247261200 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f7247279c80]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f7247565aa0) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7f7247261200) ) ) sh_compat:F module_frame:{ ARGV ...0x7f72475b6e30 ENV ...0x7f72475b6ef0 UID ...0x7f72475b6f50 EUID ...0x7f72475b6fb0 PPID ...0x7f7247578050 OPTIND ...0x7f72475780b0 IFS ...0x7f7247578110 HOSTNAME ...0x7f7247578170 OSTYPE ...0x7f72475781d0 PS4 ...0x7f7247578230 COMP_WORDBREAKS ...0x7f7247578290 p ...0x7f7247578410 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7516: 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:...0x7f2711d7f9a8)\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:...0x7f2711d7f9a8\n )\n name:prefix\n )\n ]\n )\n )\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f2711d7f9a8)\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:...0x7f27119b0b40\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f27119e8048])\n (CompoundWord\n parts:[\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:7\n col:7\n line:...0x7f2711d7f8b8\n )\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:1 col:15 line:...0x7f2711d7f8b8)\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:...0x7f27119b0b40)\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:...0x7f2711d7fb38)\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.7497/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.24.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:7503))\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:1047aa0028ce))\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:...0x7f27119cf388\n )\n )\n sig:(proc_sig.Open)\n body:(BraceGroup\n left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f2711d7f188)\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:...0x7f27119cf388\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:6\n col:6\n line:...0x7f2711d7f0e8\n )\n name:result\n )\n ]\n rhs:(expr.Dict\n left:(Token id:Op_LBrace length:1 col:15 line:...0x7f2711d7f0e8)\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:...0x7f27119cf388\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:...0x7f2711d7f3b8\n tval:a\n )\n ]\n )\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:1\n col:17\n line:...0x7f2711d7f3b8\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:...0x7f2711d7f3b8\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:...0x7f27119cf388\n )\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:1\n col:8\n line:...0x7f2711d7f408\n )\n name:s\n )\n ]\n rhs:(DoubleQuoted\n left:(Token\n id:Left_TDoubleQuote\n length:3\n col:12\n line:...0x7f2711d7f408\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:...0x7f27119cf388\n )\n tval:"proc echo_"\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:14\n line:...0x7f2711d7f458\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:11\n col:20\n line:...0x7f2711d7f458\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:...0x7f27119cf388\n )\n tval:" echo "\n )\n (word_part.EscapedLiteral\n token:(Token\n id:Lit_EscapedChar\n length:2\n col:11\n line:...0x7f2711d7f4a8\n )\n ch:"$"\n )\n (Token\n id:Lit_Chars\n length:7\n col:13\n line:...0x7f2711d7f4a8\n tval:"prefix "\n )\n (SimpleVarSub\n tok:(Token\n id:VSub_DollarName\n length:6\n col:20\n line:...0x7f2711d7f4a8\n tval:param\n )\n )\n (Token\n id:Lit_Chars\n length:1\n col:26\n line:...0x7f2711d7f4a8\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:...0x7f27119cf388\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:...0x7f27119cf388\n )\n )\n )\n )\n (command.VarDecl\n keyword:(Token\n id:KW_Var\n length:3\n col:4\n line:...0x7f2711d7f688\n )\n lhs:[\n (NameType\n left:(Token\n id:Expr_Name\n length:3\n col:8\n line:...0x7f2711d7f688\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:...0x7f2711d7f688\n )\n name:parseCommand\n )\n args:(ArgList\n left:...0x7f27119db288\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:1\n col:27\n line:...0x7f2711d7f688\n )\n name:s\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:28\n line:...0x7f2711d7f688\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:...0x7f27119cf388\n )\n tval:pp\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f2711d68e28])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:5\n col:7\n line:...0x7f2711d7f778\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:...0x7f2711d7f778\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:14\n line:...0x7f2711d7f778\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:17\n line:...0x7f2711d7f778\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:...0x7f27119cf388\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:...0x7f2711d7f868\n )\n name:io\n )\n op:(Token\n id:Expr_RArrow\n length:2\n col:11\n line:...0x7f2711d7f868\n )\n attr:(Token\n id:Expr_Name\n length:4\n col:13\n line:...0x7f2711d7f868\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:...0x7f2711d7f868\n )\n pos_args:[\n (expr.Var\n left:(Token\n id:Expr_Name\n length:3\n col:18\n line:...0x7f2711d7f868\n )\n name:cmd\n )\n ]\n named_args:[]\n right:(Token\n id:Op_RParen\n length:1\n col:21\n line:...0x7f2711d7f868\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:...0x7f27119cf388\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f27119db648])\n (CompoundWord\n parts:[\n (Token\n id:Lit_Chars\n length:2\n col:11\n line:...0x7f2711d7f908\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:...0x7f27119cf388\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:...0x7f27119cf388\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f2711d68b88])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f2711d7f9f8)\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:...0x7f27119cf388\n )\n )\n more_env:[]\n words:[\n (CompoundWord parts:[...0x7f27119dbac8])\n (CompoundWord\n parts:[\n (Token id:Lit_Chars length:6 col:9 line:...0x7f2711d7fa48)\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:...0x7f27119cf388)\n )\n )\n sh_compat:F\n module_frame:{\n ARGV\n ...0x7f27123d30f8\n ENV\n ...0x7f27123d3938\n UID\n ...0x7f2711d6c518\n EUID\n ...0x7f2711d6c570\n PPID\n ...0x7f2711d6c5c8\n OPTIND\n ...0x7f2711d6c620\n IFS\n ...0x7f2711d6c678\n HOSTNAME\n ...0x7f2711d6c6d0\n OSTYPE\n ...0x7f2711d6c728\n PS4\n ...0x7f2711d6c780\n COMP_WORDBREAKS\n ...0x7f2711d6c7d8\n p\n ...0x7f2711d6c938\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:...0x7f2711d7f9a8) sig:(proc_sig.Closed word:(ParamGroup params:[ (Param blame_tok:(Token id:Expr_Name length:6 col:12 line:...0x7f2711d7f9a8 ) name:prefix ) ] ) ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:20 line:...0x7f2711d7f9a8) children:[ (command.Simple blame_tok:(Token id:Lit_Chars length:4 col:2 line:(SourceLine line_num:2 content:" echo $prefix a\n" src:...0x7f27119b0b40 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f27119e8048]) (CompoundWord parts:[ (SimpleVarSub tok:(Token id:VSub_DollarName length:7 col:7 line:...0x7f2711d7f8b8 ) ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f2711d7f8b8) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:3 content:"}\n" src:...0x7f27119b0b40) ) ) ) ) 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:...0x7f2711d7fb38) } 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.7497/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.24.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:7503)) 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:1047aa0028ce)) 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:...0x7f27119cf388 ) ) sig:(proc_sig.Open) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:7 line:...0x7f2711d7f188) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:2 line:(SourceLine line_num:2 content:" var result = {}\n" src:...0x7f27119cf388 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:6 col:6 line:...0x7f2711d7f0e8 ) name:result ) ] rhs:(expr.Dict left:(Token id:Op_LBrace length:1 col:15 line:...0x7f2711d7f0e8) 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:...0x7f27119cf388 ) ) iter_names:[param] iterable:(for_iter.Words words:[ (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:15 line:...0x7f2711d7f3b8 tval:a ) ] ) (CompoundWord parts:[ (Token id:Lit_Chars length:1 col:17 line:...0x7f2711d7f3b8 tval:b ) ] ) ] ) body:(BraceGroup left:(Token id:Lit_LBrace length:1 col:19 line:...0x7f2711d7f3b8 ) children:[ (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:(SourceLine line_num:4 content:" var s = \"\"\"\n" src:...0x7f27119cf388 ) ) lhs:[ (NameType left:(Token id:Expr_Name length:1 col:8 line:...0x7f2711d7f408 ) name:s ) ] rhs:(DoubleQuoted left:(Token id:Left_TDoubleQuote length:3 col:12 line:...0x7f2711d7f408 ) parts:[ (Token id:Lit_CharsWithoutPrefix length:10 col:4 line:(SourceLine line_num:5 content:" proc echo_$param(prefix) {\n" src:...0x7f27119cf388 ) tval:"proc echo_" ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:14 line:...0x7f2711d7f458 tval:param ) ) (Token id:Lit_Chars length:11 col:20 line:...0x7f2711d7f458 tval:"(prefix) {\n" ) (Token id:Lit_CharsWithoutPrefix length:7 col:4 line:(SourceLine line_num:6 content:" echo \\$prefix $param\n" src:...0x7f27119cf388 ) tval:" echo " ) (word_part.EscapedLiteral token:(Token id:Lit_EscapedChar length:2 col:11 line:...0x7f2711d7f4a8 ) ch:"$" ) (Token id:Lit_Chars length:7 col:13 line:...0x7f2711d7f4a8 tval:"prefix " ) (SimpleVarSub tok:(Token id:VSub_DollarName length:6 col:20 line:...0x7f2711d7f4a8 tval:param ) ) (Token id:Lit_Chars length:1 col:26 line:...0x7f2711d7f4a8 tval:"\n" ) (Token id:Lit_CharsWithoutPrefix length:2 col:4 line:(SourceLine line_num:7 content:" }\n" src:...0x7f27119cf388 ) tval:"}\n" ) ] right:(Token id:Right_DoubleQuote length:1 col:6 line:(SourceLine line_num:8 content:" \"\"\"\n" src:...0x7f27119cf388 ) ) ) ) (command.VarDecl keyword:(Token id:KW_Var length:3 col:4 line:...0x7f2711d7f688 ) lhs:[ (NameType left:(Token id:Expr_Name length:3 col:8 line:...0x7f2711d7f688 ) name:cmd ) ] rhs:(expr.FuncCall func:(expr.Var left:(Token id:Expr_Name length:12 col:14 line:...0x7f2711d7f688 ) name:parseCommand ) args:(ArgList left:...0x7f27119db288 pos_args:[ (expr.Var left:(Token id:Expr_Name length:1 col:27 line:...0x7f2711d7f688 ) name:s ) ] named_args:[] right:(Token id:Op_RParen length:1 col:28 line:...0x7f2711d7f688 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:2 col:4 line:(SourceLine line_num:10 content:" pp asdl_ (cmd)\n" src:...0x7f27119cf388 ) tval:pp ) more_env:[] words:[ (CompoundWord parts:[...0x7f2711d68e28]) (CompoundWord parts:[ (Token id:Lit_Chars length:5 col:7 line:...0x7f2711d7f778 tval:asdl_ ) ] ) ] typed_args:(ArgList left:(Token id:Op_LParen length:1 col:13 line:...0x7f2711d7f778 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:14 line:...0x7f2711d7f778 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:17 line:...0x7f2711d7f778 ) ) 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:...0x7f27119cf388 ) ) e:(expr.FuncCall func:(Attribute obj:(expr.Var left:(Token id:Expr_Name length:2 col:9 line:...0x7f2711d7f868 ) name:io ) op:(Token id:Expr_RArrow length:2 col:11 line:...0x7f2711d7f868 ) attr:(Token id:Expr_Name length:4 col:13 line:...0x7f2711d7f868 ) attr_name:eval ctx:expr_context.Store ) args:(ArgList left:(Token id:Op_LParen length:1 col:17 line:...0x7f2711d7f868 ) pos_args:[ (expr.Var left:(Token id:Expr_Name length:3 col:18 line:...0x7f2711d7f868 ) name:cmd ) ] named_args:[] right:(Token id:Op_RParen length:1 col:21 line:...0x7f2711d7f868 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:4 line:(SourceLine line_num:15 content:" echo_a zz\n" src:...0x7f27119cf388 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f27119db648]) (CompoundWord parts:[ (Token id:Lit_Chars length:2 col:11 line:...0x7f2711d7f908 ) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:2 line:(SourceLine line_num:16 content:" }\n" src:...0x7f27119cf388 ) ) ) ) (command.Simple blame_tok:(Token id:Lit_Chars length:6 col:2 line:(SourceLine line_num:18 content:" echo_a prefix\n" src:...0x7f27119cf388 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f2711d68b88]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f2711d7f9f8) ] ) ] 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:...0x7f27119cf388 ) ) more_env:[] words:[ (CompoundWord parts:[...0x7f27119dbac8]) (CompoundWord parts:[ (Token id:Lit_Chars length:6 col:9 line:...0x7f2711d7fa48) ] ) ] is_last_cmd:F ) ] right:(Token id:Lit_RBrace length:1 col:0 line:(SourceLine line_num:20 content:"}\n" src:...0x7f27119cf388) ) ) sh_compat:F module_frame:{ ARGV ...0x7f27123d30f8 ENV ...0x7f27123d3938 UID ...0x7f2711d6c518 EUID ...0x7f2711d6c570 PPID ...0x7f2711d6c5c8 OPTIND ...0x7f2711d6c620 IFS ...0x7f2711d6c678 HOSTNAME ...0x7f2711d6c6d0 OSTYPE ...0x7f2711d6c728 PS4 ...0x7f2711d6c780 COMP_WORDBREAKS ...0x7f2711d6c7d8 p ...0x7f2711d6c938 } ) ) } )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 7519: command.Simple failed with status 127 |