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: \n (cmd_frag.Expr\n c: \n (Proc\n keyword: \n (Token\n id: Id.KW_Proc\n length: 4\n col: 0\n line: \n (SourceLine\n line_num: 1\n content: "proc echo_a(prefix) {\\n"\n src: \n (source.Dynamic\n what: "parseCommand()"\n location: \n (Token\n id: Id.Op_LParen\n length: 1\n col: 26\n line: \n (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:Id.Lit_Chars length:6 col:5 line:...0x7fb3406bccb0)\n sig: \n (proc_sig.Closed\n word: \n (ParamGroup\n params: [\n (Param\n blame_tok: (Token id:Id.Expr_Name length:6 col:12 line:...0x7fb3406bccb0)\n name: prefix\n )\n ]\n )\n )\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:20 line:...0x7fb3406bccb0)\n children: [\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 4\n col: 2\n line: \n (SourceLine\n line_num: 2\n content: " echo $prefix a\\n"\n src: ...0x7fb3403546e0\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7fb340352668])\n (CompoundWord\n parts: [\n (SimpleVarSub\n tok: (Token id:Id.VSub_DollarName length:7 col:7 line:...0x7fb3406bce10)\n )\n ]\n )\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:1 col:15 line:...0x7fb3406bce10)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 0\n line: (SourceLine line_num:3 content:"}\\n" src:...0x7fb3403546e0)\n )\n )\n )\n )\n captured_frame: [\n Dict\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:[Dict]))\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:...0x7fb3406bce68)\n ]\n module_frame: [\n Dict\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\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:43171))\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:ed3a41553e49))\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 TMP\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh)\n )\n REPO_ROOT\n (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil))\n PYTHONPATH\n (Cell exported:T readonly:F nameref:F val:(value.Str s:"/home/uke/oil:/home/uke/oil/vendor"))\n PWD\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh)\n )\n SH\n (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil/bin/ysh))\n LC_ALL\n (Cell exported:T readonly:F nameref:F val:(value.Str s:C.UTF-8))\n PATH\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: \n (value.Str\n s: \n"/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 )\n LOCALE_ARCHIVE\n (Cell exported:T readonly:F nameref:F val:(value.Str s:""))\n OILS_GC_ON_EXIT\n (Cell exported:T readonly:F nameref:F val:(value.Str s:""))\n SHELLOPTS\n (Cell exported:F readonly:T nameref:F val:(value.Str s:""))\n YSH_HISTFILE\n (Cell\n exported: F\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/.local/share/oils/ysh_history)\n )\n p\n (Cell\n exported: F\n readonly: F\n nameref: F\n val: \n (value.Proc\n name: p\n name_tok: \n (Token\n id: Id.Lit_Chars\n length: 1\n col: 5\n line: (SourceLine line_num:1 content:"proc p {\\n" src:...0x7fb3403b1c20)\n )\n sig: (proc_sig__Open)\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:7 line:...0x7fb3406bc470)\n children: [\n (command.VarDecl\n keyword: \n (Token\n id: Id.KW_Var\n length: 3\n col: 2\n line: \n (SourceLine\n line_num: 2\n content: " var result = {}\\n"\n src: ...0x7fb3403b1c20\n )\n )\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:6 col:6 line:...0x7fb3406bc4c8)\n name: result\n )\n ]\n rhs: \n (expr.Dict\n left: (Token id:Id.Op_LBrace length:1 col:15 line:...0x7fb3406bc4c8)\n keys: []\n values: []\n )\n )\n (command.ForEach\n keyword: \n (Token\n id: Id.KW_For\n length: 3\n col: 2\n line: \n (SourceLine\n line_num: 3\n content: " for param in a b {\\n"\n src: ...0x7fb3403b1c20\n )\n )\n iter_names: [param]\n iterable: \n (for_iter.Words\n words: [\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 15\n line: ...0x7fb3406bc628\n tval: a\n )\n ]\n )\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 17\n line: ...0x7fb3406bc628\n tval: b\n )\n ]\n )\n ]\n )\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:19 line:...0x7fb3406bc628)\n children: [\n (command.VarDecl\n keyword: \n (Token\n id: Id.KW_Var\n length: 3\n col: 4\n line: \n (SourceLine\n line_num: 4\n content: " var s = \\"\\"\\"\\n"\n src: ...0x7fb3403b1c20\n )\n )\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:1 col:8 line:...0x7fb3406bc680)\n name: s\n )\n ]\n rhs: \n (DoubleQuoted\n left: \n (Token\n id: Id.Left_TDoubleQuote\n length: 3\n col: 12\n line: ...0x7fb3406bc680\n )\n parts: [\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 10\n col: 4\n line: \n (SourceLine\n line_num: 5\n content: " proc echo_$param(prefix) {\\n"\n src: ...0x7fb3403b1c20\n )\n tval: "proc echo_"\n )\n (SimpleVarSub\n tok: \n (Token\n id: Id.VSub_DollarName\n length: 6\n col: 14\n line: ...0x7fb3406bc6d8\n tval: param\n )\n )\n (Token\n id: Id.Lit_Chars\n length: 11\n col: 20\n line: ...0x7fb3406bc6d8\n tval: "(prefix) {\\n"\n )\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 7\n col: 4\n line: \n (SourceLine\n line_num: 6\n content: " echo \\\\$prefix $param\\n"\n src: ...0x7fb3403b1c20\n )\n tval: " echo "\n )\n (word_part.EscapedLiteral\n token: \n (Token\n id: Id.Lit_EscapedChar\n length: 2\n col: 11\n line: ...0x7fb3406bc730\n )\n ch: "$"\n )\n (Token\n id: Id.Lit_Chars\n length: 7\n col: 13\n line: ...0x7fb3406bc730\n tval: "prefix "\n )\n (SimpleVarSub\n tok: \n (Token\n id: Id.VSub_DollarName\n length: 6\n col: 20\n line: ...0x7fb3406bc730\n tval: param\n )\n )\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 26\n line: ...0x7fb3406bc730\n tval: "\\n"\n )\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 2\n col: 4\n line: \n (SourceLine\n line_num: 7\n content: " }\\n"\n src: ...0x7fb3403b1c20\n )\n tval: "}\\n"\n )\n ]\n right: \n (Token\n id: Id.Right_DoubleQuote\n length: 1\n col: 6\n line: \n (SourceLine\n line_num: 8\n content: " \\"\\"\\"\\n"\n src: ...0x7fb3403b1c20\n )\n )\n )\n )\n (command.VarDecl\n keyword: (Token id:Id.KW_Var length:3 col:4 line:...0x7fb3406bc940)\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:3 col:8 line:...0x7fb3406bc940)\n name: cmd\n )\n ]\n rhs: \n (expr.FuncCall\n func: \n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 12\n col: 14\n line: ...0x7fb3406bc940\n )\n name: parseCommand\n )\n args: \n (ArgList\n left: ...0x7fb340348258\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 1\n col: 27\n line: ...0x7fb3406bc940\n )\n name: s\n )\n ]\n named_args: []\n right: \n (Token\n id: Id.Op_RParen\n length: 1\n col: 28\n line: ...0x7fb3406bc940\n )\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 2\n col: 4\n line: \n (SourceLine\n line_num: 10\n content: " pp asdl_ (cmd)\\n"\n src: ...0x7fb3403b1c20\n )\n tval: pp\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7fb3403482c0])\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 5\n col: 7\n line: ...0x7fb3406bca48\n tval: asdl_\n )\n ]\n )\n ]\n typed_args: \n (ArgList\n left: (Token id:Id.Op_LParen length:1 col:13 line:...0x7fb3406bca48)\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 3\n col: 14\n line: ...0x7fb3406bca48\n )\n name: cmd\n )\n ]\n named_args: []\n right: (Token id:Id.Op_RParen length:1 col:17 line:...0x7fb3406bca48)\n )\n is_last_cmd: F\n )\n (command.Expr\n keyword: \n (Token\n id: Id.KW_Call\n length: 4\n col: 4\n line: \n (SourceLine\n line_num: 13\n content: " call io->eval(cmd)\\n"\n src: ...0x7fb3403b1c20\n )\n )\n e: \n (expr.FuncCall\n func: \n (Attribute\n obj: \n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 2\n col: 9\n line: ...0x7fb3406bcb50\n )\n name: io\n )\n op: \n (Token\n id: Id.Expr_RArrow\n length: 2\n col: 11\n line: ...0x7fb3406bcb50\n )\n attr: \n (Token\n id: Id.Expr_Name\n length: 4\n col: 13\n line: ...0x7fb3406bcb50\n )\n attr_name: eval\n ctx: expr_context.Store\n )\n args: \n (ArgList\n left: \n (Token\n id: Id.Op_LParen\n length: 1\n col: 17\n line: ...0x7fb3406bcb50\n )\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 3\n col: 18\n line: ...0x7fb3406bcb50\n )\n name: cmd\n )\n ]\n named_args: []\n right: \n (Token\n id: Id.Op_RParen\n length: 1\n col: 21\n line: ...0x7fb3406bcb50\n )\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 4\n line: \n (SourceLine\n line_num: 15\n content: " echo_a zz\\n"\n src: ...0x7fb3403b1c20\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7fb340348b48])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:2 col:11 line:...0x7fb3406bcc00)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 2\n line: (SourceLine line_num:16 content:" }\\n" src:...0x7fb3403b1c20)\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 2\n line: \n (SourceLine\n line_num: 18\n content: " echo_a prefix\\n"\n src: ...0x7fb3403b1c20\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7fb34068df58])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7fb3406bcd08)]\n )\n ]\n is_last_cmd: F\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 2\n line: \n (SourceLine\n line_num: 19\n content: " echo_b prefix\\n"\n src: ...0x7fb3403b1c20\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7fb3403520b8])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7fb3406bcd60)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 0\n line: (SourceLine line_num:20 content:"}\\n" src:...0x7fb3403b1c20)\n )\n )\n sh_compat: F\n module_frame: [\n Dict\n ARGV\n ...0x7fb3406ac8f0\n UID\n ...0x7fb3406ac950\n EUID\n ...0x7fb3406ac9b0\n PPID\n ...0x7fb3406aca10\n OPTIND\n ...0x7fb3406aca70\n IFS\n ...0x7fb3406acad0\n HOSTNAME\n ...0x7fb3406acb30\n OSTYPE\n ...0x7fb3406acb90\n PS4\n ...0x7fb3406acbf0\n COMP_WORDBREAKS\n ...0x7fb3406acc50\n TMP\n ...0x7fb3406accb0\n REPO_ROOT\n ...0x7fb3406acd10\n PYTHONPATH\n ...0x7fb3406acd70\n PWD\n ...0x7fb3406acdd0\n SH\n ...0x7fb3406ace30\n LC_ALL\n ...0x7fb3406ace90\n PATH\n ...0x7fb3406acef0\n LOCALE_ARCHIVE\n ...0x7fb3406acf50\n OILS_GC_ON_EXIT\n ...0x7fb3406acfb0\n SHELLOPTS\n ...0x7fb340655050\n YSH_HISTFILE\n ...0x7fb3406550b0\n p\n ...0x7fb340655230\n ]\n )\n )\n ]\n)\n' stdout: (value.Command frag: (cmd_frag.Expr c: (Proc keyword: (Token id: 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: 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:Id.Lit_Chars length:6 col:5 line:...0x7fb3406bccb0) sig: (proc_sig.Closed word: (ParamGroup params: [ (Param blame_tok: (Token id:Id.Expr_Name length:6 col:12 line:...0x7fb3406bccb0) name: prefix ) ] ) ) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:20 line:...0x7fb3406bccb0) children: [ (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 4 col: 2 line: (SourceLine line_num: 2 content: " echo $prefix a\n" src: ...0x7fb3403546e0 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7fb340352668]) (CompoundWord parts: [ (SimpleVarSub tok: (Token id:Id.VSub_DollarName length:7 col:7 line:...0x7fb3406bce10) ) ] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:15 line:...0x7fb3406bce10)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 0 line: (SourceLine line_num:3 content:"}\n" src:...0x7fb3403546e0) ) ) ) ) captured_frame: [ Dict ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) result (Cell exported:F readonly:F nameref:F val:(value.Dict d:[Dict])) 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:...0x7fb3406bce68) ] module_frame: [ Dict ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) 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:43171)) 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:ed3a41553e49)) 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\"'><=;|&(:")) TMP (Cell exported: T readonly: F nameref: F val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh) ) REPO_ROOT (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil)) PYTHONPATH (Cell exported:T readonly:F nameref:F val:(value.Str s:"/home/uke/oil:/home/uke/oil/vendor")) PWD (Cell exported: T readonly: F nameref: F val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh) ) SH (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil/bin/ysh)) LC_ALL (Cell exported:T readonly:F nameref:F val:(value.Str s:C.UTF-8)) PATH (Cell exported: T readonly: F nameref: F val: (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 (Cell exported:T readonly:F nameref:F val:(value.Str s:"")) OILS_GC_ON_EXIT (Cell exported:T readonly:F nameref:F val:(value.Str s:"")) SHELLOPTS (Cell exported:F readonly:T nameref:F val:(value.Str s:"")) YSH_HISTFILE (Cell exported: F readonly: F nameref: F val: (value.Str s:/home/uke/.local/share/oils/ysh_history) ) p (Cell exported: F readonly: F nameref: F val: (value.Proc name: p name_tok: (Token id: Id.Lit_Chars length: 1 col: 5 line: (SourceLine line_num:1 content:"proc p {\n" src:...0x7fb3403b1c20) ) sig: (proc_sig__Open) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:7 line:...0x7fb3406bc470) children: [ (command.VarDecl keyword: (Token id: Id.KW_Var length: 3 col: 2 line: (SourceLine line_num: 2 content: " var result = {}\n" src: ...0x7fb3403b1c20 ) ) lhs: [ (NameType left: (Token id:Id.Expr_Name length:6 col:6 line:...0x7fb3406bc4c8) name: result ) ] rhs: (expr.Dict left: (Token id:Id.Op_LBrace length:1 col:15 line:...0x7fb3406bc4c8) keys: [] values: [] ) ) (command.ForEach keyword: (Token id: Id.KW_For length: 3 col: 2 line: (SourceLine line_num: 3 content: " for param in a b {\n" src: ...0x7fb3403b1c20 ) ) iter_names: [param] iterable: (for_iter.Words words: [ (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 15 line: ...0x7fb3406bc628 tval: a ) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 17 line: ...0x7fb3406bc628 tval: b ) ] ) ] ) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:19 line:...0x7fb3406bc628) children: [ (command.VarDecl keyword: (Token id: Id.KW_Var length: 3 col: 4 line: (SourceLine line_num: 4 content: " var s = \"\"\"\n" src: ...0x7fb3403b1c20 ) ) lhs: [ (NameType left: (Token id:Id.Expr_Name length:1 col:8 line:...0x7fb3406bc680) name: s ) ] rhs: (DoubleQuoted left: (Token id: Id.Left_TDoubleQuote length: 3 col: 12 line: ...0x7fb3406bc680 ) parts: [ (Token id: Id.Lit_CharsWithoutPrefix length: 10 col: 4 line: (SourceLine line_num: 5 content: " proc echo_$param(prefix) {\n" src: ...0x7fb3403b1c20 ) tval: "proc echo_" ) (SimpleVarSub tok: (Token id: Id.VSub_DollarName length: 6 col: 14 line: ...0x7fb3406bc6d8 tval: param ) ) (Token id: Id.Lit_Chars length: 11 col: 20 line: ...0x7fb3406bc6d8 tval: "(prefix) {\n" ) (Token id: Id.Lit_CharsWithoutPrefix length: 7 col: 4 line: (SourceLine line_num: 6 content: " echo \\$prefix $param\n" src: ...0x7fb3403b1c20 ) tval: " echo " ) (word_part.EscapedLiteral token: (Token id: Id.Lit_EscapedChar length: 2 col: 11 line: ...0x7fb3406bc730 ) ch: "$" ) (Token id: Id.Lit_Chars length: 7 col: 13 line: ...0x7fb3406bc730 tval: "prefix " ) (SimpleVarSub tok: (Token id: Id.VSub_DollarName length: 6 col: 20 line: ...0x7fb3406bc730 tval: param ) ) (Token id: Id.Lit_Chars length: 1 col: 26 line: ...0x7fb3406bc730 tval: "\n" ) (Token id: Id.Lit_CharsWithoutPrefix length: 2 col: 4 line: (SourceLine line_num: 7 content: " }\n" src: ...0x7fb3403b1c20 ) tval: "}\n" ) ] right: (Token id: Id.Right_DoubleQuote length: 1 col: 6 line: (SourceLine line_num: 8 content: " \"\"\"\n" src: ...0x7fb3403b1c20 ) ) ) ) (command.VarDecl keyword: (Token id:Id.KW_Var length:3 col:4 line:...0x7fb3406bc940) lhs: [ (NameType left: (Token id:Id.Expr_Name length:3 col:8 line:...0x7fb3406bc940) name: cmd ) ] rhs: (expr.FuncCall func: (expr.Var left: (Token id: Id.Expr_Name length: 12 col: 14 line: ...0x7fb3406bc940 ) name: parseCommand ) args: (ArgList left: ...0x7fb340348258 pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 1 col: 27 line: ...0x7fb3406bc940 ) name: s ) ] named_args: [] right: (Token id: Id.Op_RParen length: 1 col: 28 line: ...0x7fb3406bc940 ) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 2 col: 4 line: (SourceLine line_num: 10 content: " pp asdl_ (cmd)\n" src: ...0x7fb3403b1c20 ) tval: pp ) more_env: [] words: [ (CompoundWord parts:[...0x7fb3403482c0]) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 5 col: 7 line: ...0x7fb3406bca48 tval: asdl_ ) ] ) ] typed_args: (ArgList left: (Token id:Id.Op_LParen length:1 col:13 line:...0x7fb3406bca48) pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 3 col: 14 line: ...0x7fb3406bca48 ) name: cmd ) ] named_args: [] right: (Token id:Id.Op_RParen length:1 col:17 line:...0x7fb3406bca48) ) is_last_cmd: F ) (command.Expr keyword: (Token id: Id.KW_Call length: 4 col: 4 line: (SourceLine line_num: 13 content: " call io->eval(cmd)\n" src: ...0x7fb3403b1c20 ) ) e: (expr.FuncCall func: (Attribute obj: (expr.Var left: (Token id: Id.Expr_Name length: 2 col: 9 line: ...0x7fb3406bcb50 ) name: io ) op: (Token id: Id.Expr_RArrow length: 2 col: 11 line: ...0x7fb3406bcb50 ) attr: (Token id: Id.Expr_Name length: 4 col: 13 line: ...0x7fb3406bcb50 ) attr_name: eval ctx: expr_context.Store ) args: (ArgList left: (Token id: Id.Op_LParen length: 1 col: 17 line: ...0x7fb3406bcb50 ) pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 3 col: 18 line: ...0x7fb3406bcb50 ) name: cmd ) ] named_args: [] right: (Token id: Id.Op_RParen length: 1 col: 21 line: ...0x7fb3406bcb50 ) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 4 line: (SourceLine line_num: 15 content: " echo_a zz\n" src: ...0x7fb3403b1c20 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7fb340348b48]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:2 col:11 line:...0x7fb3406bcc00)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 2 line: (SourceLine line_num:16 content:" }\n" src:...0x7fb3403b1c20) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 2 line: (SourceLine line_num: 18 content: " echo_a prefix\n" src: ...0x7fb3403b1c20 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7fb34068df58]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7fb3406bcd08)] ) ] is_last_cmd: F ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 2 line: (SourceLine line_num: 19 content: " echo_b prefix\n" src: ...0x7fb3403b1c20 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7fb3403520b8]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7fb3406bcd60)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 0 line: (SourceLine line_num:20 content:"}\n" src:...0x7fb3403b1c20) ) ) sh_compat: F module_frame: [ Dict ARGV ...0x7fb3406ac8f0 UID ...0x7fb3406ac950 EUID ...0x7fb3406ac9b0 PPID ...0x7fb3406aca10 OPTIND ...0x7fb3406aca70 IFS ...0x7fb3406acad0 HOSTNAME ...0x7fb3406acb30 OSTYPE ...0x7fb3406acb90 PS4 ...0x7fb3406acbf0 COMP_WORDBREAKS ...0x7fb3406acc50 TMP ...0x7fb3406accb0 REPO_ROOT ...0x7fb3406acd10 PYTHONPATH ...0x7fb3406acd70 PWD ...0x7fb3406acdd0 SH ...0x7fb3406ace30 LC_ALL ...0x7fb3406ace90 PATH ...0x7fb3406acef0 LOCALE_ARCHIVE ...0x7fb3406acf50 OILS_GC_ON_EXIT ...0x7fb3406acfb0 SHELLOPTS ...0x7fb340655050 YSH_HISTFILE ...0x7fb3406550b0 p ...0x7fb340655230 ] ) ) ] )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 43184: 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: \n (cmd_frag.Expr\n c: \n (Proc\n keyword: \n (Token\n id: Id.KW_Proc\n length: 4\n col: 0\n line: \n (SourceLine\n line_num: 1\n content: "proc echo_a(prefix) {\\n"\n src: \n (source.Dynamic\n what: "parseCommand()"\n location: \n (Token\n id: Id.Op_LParen\n length: 1\n col: 26\n line: \n (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:Id.Lit_Chars length:6 col:5 line:...0x7f4c9f7103b8)\n sig: \n (proc_sig.Closed\n word: \n (ParamGroup\n params: [\n (Param\n blame_tok: (Token id:Id.Expr_Name length:6 col:12 line:...0x7f4c9f7103b8)\n name: prefix\n )\n ]\n )\n )\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:20 line:...0x7f4c9f7103b8)\n children: [\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 4\n col: 2\n line: \n (SourceLine\n line_num: 2\n content: " echo $prefix a\\n"\n src: ...0x7f4c9f754ee8\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7f4c9f714408])\n (CompoundWord\n parts: [\n (SimpleVarSub\n tok: (Token id:Id.VSub_DollarName length:7 col:7 line:...0x7f4c9f7104f8)\n )\n ]\n )\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:1 col:15 line:...0x7f4c9f7104f8)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 0\n line: (SourceLine line_num:3 content:"}\\n" src:...0x7f4c9f754ee8)\n )\n )\n )\n )\n captured_frame: [\n Dict\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:[Dict]))\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:...0x7f4c9f710548)\n ]\n module_frame: [\n Dict\n ARGV\n (Cell exported:F readonly:F nameref:F val:(value.List items:[]))\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:43171))\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:ed3a41553e49))\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 TMP\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh_ALT)\n )\n REPO_ROOT\n (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil/test/..))\n SH\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/oil/_tmp/oil-tar-test/oil-0.23.0/_bin/ysh)\n )\n PATH\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: \n (value.Str\n s: \n"/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 )\n LC_ALL\n (Cell exported:T readonly:F nameref:F val:(value.Str s:C.UTF-8))\n LOCALE_ARCHIVE\n (Cell exported:T readonly:F nameref:F val:(value.Str s:""))\n OILS_GC_ON_EXIT\n (Cell exported:T readonly:F nameref:F val:(value.Str s:""))\n SHELLOPTS\n (Cell exported:F readonly:T nameref:F val:(value.Str s:""))\n PWD\n (Cell\n exported: T\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh_ALT)\n )\n YSH_HISTFILE\n (Cell\n exported: F\n readonly: F\n nameref: F\n val: (value.Str s:/home/uke/.local/share/oils/ysh_history)\n )\n p\n (Cell\n exported: F\n readonly: F\n nameref: F\n val: \n (value.Proc\n name: p\n name_tok: \n (Token\n id: Id.Lit_Chars\n length: 1\n col: 5\n line: (SourceLine line_num:1 content:"proc p {\\n" src:...0x7f4c9f77d408)\n )\n sig: (proc_sig__Open)\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:7 line:...0x7f4c9faa4a48)\n children: [\n (command.VarDecl\n keyword: \n (Token\n id: Id.KW_Var\n length: 3\n col: 2\n line: \n (SourceLine\n line_num: 2\n content: " var result = {}\\n"\n src: ...0x7f4c9f77d408\n )\n )\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:6 col:6 line:...0x7f4c9faa4c28)\n name: result\n )\n ]\n rhs: \n (expr.Dict\n left: (Token id:Id.Op_LBrace length:1 col:15 line:...0x7f4c9faa4c28)\n keys: []\n values: []\n )\n )\n (command.ForEach\n keyword: \n (Token\n id: Id.KW_For\n length: 3\n col: 2\n line: \n (SourceLine\n line_num: 3\n content: " for param in a b {\\n"\n src: ...0x7f4c9f77d408\n )\n )\n iter_names: [param]\n iterable: \n (for_iter.Words\n words: [\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 15\n line: ...0x7f4c9faa4d68\n tval: a\n )\n ]\n )\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 17\n line: ...0x7f4c9faa4d68\n tval: b\n )\n ]\n )\n ]\n )\n body: \n (BraceGroup\n left: (Token id:Id.Lit_LBrace length:1 col:19 line:...0x7f4c9faa4d68)\n children: [\n (command.VarDecl\n keyword: \n (Token\n id: Id.KW_Var\n length: 3\n col: 4\n line: \n (SourceLine\n line_num: 4\n content: " var s = \\"\\"\\"\\n"\n src: ...0x7f4c9f77d408\n )\n )\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:1 col:8 line:...0x7f4c9faa4db8)\n name: s\n )\n ]\n rhs: \n (DoubleQuoted\n left: \n (Token\n id: Id.Left_TDoubleQuote\n length: 3\n col: 12\n line: ...0x7f4c9faa4db8\n )\n parts: [\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 10\n col: 4\n line: \n (SourceLine\n line_num: 5\n content: " proc echo_$param(prefix) {\\n"\n src: ...0x7f4c9f77d408\n )\n tval: "proc echo_"\n )\n (SimpleVarSub\n tok: \n (Token\n id: Id.VSub_DollarName\n length: 6\n col: 14\n line: ...0x7f4c9faa4e08\n tval: param\n )\n )\n (Token\n id: Id.Lit_Chars\n length: 11\n col: 20\n line: ...0x7f4c9faa4e08\n tval: "(prefix) {\\n"\n )\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 7\n col: 4\n line: \n (SourceLine\n line_num: 6\n content: " echo \\\\$prefix $param\\n"\n src: ...0x7f4c9f77d408\n )\n tval: " echo "\n )\n (word_part.EscapedLiteral\n token: \n (Token\n id: Id.Lit_EscapedChar\n length: 2\n col: 11\n line: ...0x7f4c9faa4e58\n )\n ch: "$"\n )\n (Token\n id: Id.Lit_Chars\n length: 7\n col: 13\n line: ...0x7f4c9faa4e58\n tval: "prefix "\n )\n (SimpleVarSub\n tok: \n (Token\n id: Id.VSub_DollarName\n length: 6\n col: 20\n line: ...0x7f4c9faa4e58\n tval: param\n )\n )\n (Token\n id: Id.Lit_Chars\n length: 1\n col: 26\n line: ...0x7f4c9faa4e58\n tval: "\\n"\n )\n (Token\n id: Id.Lit_CharsWithoutPrefix\n length: 2\n col: 4\n line: \n (SourceLine\n line_num: 7\n content: " }\\n"\n src: ...0x7f4c9f77d408\n )\n tval: "}\\n"\n )\n ]\n right: \n (Token\n id: Id.Right_DoubleQuote\n length: 1\n col: 6\n line: \n (SourceLine\n line_num: 8\n content: " \\"\\"\\"\\n"\n src: ...0x7f4c9f77d408\n )\n )\n )\n )\n (command.VarDecl\n keyword: (Token id:Id.KW_Var length:3 col:4 line:...0x7f4c9f710098)\n lhs: [\n (NameType\n left: (Token id:Id.Expr_Name length:3 col:8 line:...0x7f4c9f710098)\n name: cmd\n )\n ]\n rhs: \n (expr.FuncCall\n func: \n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 12\n col: 14\n line: ...0x7f4c9f710098\n )\n name: parseCommand\n )\n args: \n (ArgList\n left: ...0x7f4c9f70d1c8\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 1\n col: 27\n line: ...0x7f4c9f710098\n )\n name: s\n )\n ]\n named_args: []\n right: \n (Token\n id: Id.Op_RParen\n length: 1\n col: 28\n line: ...0x7f4c9f710098\n )\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 2\n col: 4\n line: \n (SourceLine\n line_num: 10\n content: " pp asdl_ (cmd)\\n"\n src: ...0x7f4c9f77d408\n )\n tval: pp\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7f4c9f70d228])\n (CompoundWord\n parts: [\n (Token\n id: Id.Lit_Chars\n length: 5\n col: 7\n line: ...0x7f4c9f710188\n tval: asdl_\n )\n ]\n )\n ]\n typed_args: \n (ArgList\n left: (Token id:Id.Op_LParen length:1 col:13 line:...0x7f4c9f710188)\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 3\n col: 14\n line: ...0x7f4c9f710188\n )\n name: cmd\n )\n ]\n named_args: []\n right: (Token id:Id.Op_RParen length:1 col:17 line:...0x7f4c9f710188)\n )\n is_last_cmd: F\n )\n (command.Expr\n keyword: \n (Token\n id: Id.KW_Call\n length: 4\n col: 4\n line: \n (SourceLine\n line_num: 13\n content: " call io->eval(cmd)\\n"\n src: ...0x7f4c9f77d408\n )\n )\n e: \n (expr.FuncCall\n func: \n (Attribute\n obj: \n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 2\n col: 9\n line: ...0x7f4c9f710278\n )\n name: io\n )\n op: \n (Token\n id: Id.Expr_RArrow\n length: 2\n col: 11\n line: ...0x7f4c9f710278\n )\n attr: \n (Token\n id: Id.Expr_Name\n length: 4\n col: 13\n line: ...0x7f4c9f710278\n )\n attr_name: eval\n ctx: expr_context.Store\n )\n args: \n (ArgList\n left: \n (Token\n id: Id.Op_LParen\n length: 1\n col: 17\n line: ...0x7f4c9f710278\n )\n pos_args: [\n (expr.Var\n left: \n (Token\n id: Id.Expr_Name\n length: 3\n col: 18\n line: ...0x7f4c9f710278\n )\n name: cmd\n )\n ]\n named_args: []\n right: \n (Token\n id: Id.Op_RParen\n length: 1\n col: 21\n line: ...0x7f4c9f710278\n )\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 4\n line: \n (SourceLine\n line_num: 15\n content: " echo_a zz\\n"\n src: ...0x7f4c9f77d408\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7f4c9f70da08])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:2 col:11 line:...0x7f4c9f710318)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 2\n line: (SourceLine line_num:16 content:" }\\n" src:...0x7f4c9f77d408)\n )\n )\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 2\n line: \n (SourceLine\n line_num: 18\n content: " echo_a prefix\\n"\n src: ...0x7f4c9f77d408\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7f4c9faf8f48])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7f4c9f710408)]\n )\n ]\n is_last_cmd: F\n )\n (command.Simple\n blame_tok: \n (Token\n id: Id.Lit_Chars\n length: 6\n col: 2\n line: \n (SourceLine\n line_num: 19\n content: " echo_b prefix\\n"\n src: ...0x7f4c9f77d408\n )\n )\n more_env: []\n words: [\n (CompoundWord parts:[...0x7f4c9f70de88])\n (CompoundWord\n parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7f4c9f710458)]\n )\n ]\n is_last_cmd: F\n )\n ]\n right: \n (Token\n id: Id.Lit_RBrace\n length: 1\n col: 0\n line: (SourceLine line_num:20 content:"}\\n" src:...0x7f4c9f77d408)\n )\n )\n sh_compat: F\n module_frame: [\n Dict\n ARGV\n ...0x7f4ca01170f8\n UID\n ...0x7f4ca0117a40\n EUID\n ...0x7f4c9fb18678\n PPID\n ...0x7f4c9fb186d0\n OPTIND\n ...0x7f4c9fb18728\n IFS\n ...0x7f4c9fb18780\n HOSTNAME\n ...0x7f4c9fb187d8\n OSTYPE\n ...0x7f4c9fb18830\n PS4\n ...0x7f4c9fb18888\n COMP_WORDBREAKS\n ...0x7f4c9fb188e0\n TMP\n ...0x7f4c9fb18938\n REPO_ROOT\n ...0x7f4c9fb18990\n SH\n ...0x7f4c9fb189e8\n PATH\n ...0x7f4c9fb18a40\n LC_ALL\n ...0x7f4c9fb18a98\n LOCALE_ARCHIVE\n ...0x7f4c9fb18af0\n OILS_GC_ON_EXIT\n ...0x7f4c9fb18b48\n SHELLOPTS\n ...0x7f4c9fb18ba0\n PWD\n ...0x7f4c9fb18bf8\n YSH_HISTFILE\n ...0x7f4c9fb18c50\n p\n ...0x7f4c9fb18db0\n ]\n )\n )\n ]\n)\n' stdout: (value.Command frag: (cmd_frag.Expr c: (Proc keyword: (Token id: 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: 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:Id.Lit_Chars length:6 col:5 line:...0x7f4c9f7103b8) sig: (proc_sig.Closed word: (ParamGroup params: [ (Param blame_tok: (Token id:Id.Expr_Name length:6 col:12 line:...0x7f4c9f7103b8) name: prefix ) ] ) ) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:20 line:...0x7f4c9f7103b8) children: [ (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 4 col: 2 line: (SourceLine line_num: 2 content: " echo $prefix a\n" src: ...0x7f4c9f754ee8 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7f4c9f714408]) (CompoundWord parts: [ (SimpleVarSub tok: (Token id:Id.VSub_DollarName length:7 col:7 line:...0x7f4c9f7104f8) ) ] ) (CompoundWord parts: [(Token id:Id.Lit_Chars length:1 col:15 line:...0x7f4c9f7104f8)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 0 line: (SourceLine line_num:3 content:"}\n" src:...0x7f4c9f754ee8) ) ) ) ) captured_frame: [ Dict ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) result (Cell exported:F readonly:F nameref:F val:(value.Dict d:[Dict])) 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:...0x7f4c9f710548) ] module_frame: [ Dict ARGV (Cell exported:F readonly:F nameref:F val:(value.List items:[])) 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:43171)) 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:ed3a41553e49)) 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\"'><=;|&(:")) TMP (Cell exported: T readonly: F nameref: F val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh_ALT) ) REPO_ROOT (Cell exported:T readonly:F nameref:F val:(value.Str s:/home/uke/oil/test/..)) SH (Cell exported: T readonly: F nameref: F val: (value.Str s:/home/uke/oil/_tmp/oil-tar-test/oil-0.23.0/_bin/ysh) ) PATH (Cell exported: T readonly: F nameref: F val: (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 (Cell exported:T readonly:F nameref:F val:(value.Str s:C.UTF-8)) LOCALE_ARCHIVE (Cell exported:T readonly:F nameref:F val:(value.Str s:"")) OILS_GC_ON_EXIT (Cell exported:T readonly:F nameref:F val:(value.Str s:"")) SHELLOPTS (Cell exported:F readonly:T nameref:F val:(value.Str s:"")) PWD (Cell exported: T readonly: F nameref: F val: (value.Str s:/home/uke/oil/_tmp/spec-tmp/ysh-proc-meta.test.sh.43165/03-ysh_ALT) ) YSH_HISTFILE (Cell exported: F readonly: F nameref: F val: (value.Str s:/home/uke/.local/share/oils/ysh_history) ) p (Cell exported: F readonly: F nameref: F val: (value.Proc name: p name_tok: (Token id: Id.Lit_Chars length: 1 col: 5 line: (SourceLine line_num:1 content:"proc p {\n" src:...0x7f4c9f77d408) ) sig: (proc_sig__Open) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:7 line:...0x7f4c9faa4a48) children: [ (command.VarDecl keyword: (Token id: Id.KW_Var length: 3 col: 2 line: (SourceLine line_num: 2 content: " var result = {}\n" src: ...0x7f4c9f77d408 ) ) lhs: [ (NameType left: (Token id:Id.Expr_Name length:6 col:6 line:...0x7f4c9faa4c28) name: result ) ] rhs: (expr.Dict left: (Token id:Id.Op_LBrace length:1 col:15 line:...0x7f4c9faa4c28) keys: [] values: [] ) ) (command.ForEach keyword: (Token id: Id.KW_For length: 3 col: 2 line: (SourceLine line_num: 3 content: " for param in a b {\n" src: ...0x7f4c9f77d408 ) ) iter_names: [param] iterable: (for_iter.Words words: [ (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 15 line: ...0x7f4c9faa4d68 tval: a ) ] ) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 1 col: 17 line: ...0x7f4c9faa4d68 tval: b ) ] ) ] ) body: (BraceGroup left: (Token id:Id.Lit_LBrace length:1 col:19 line:...0x7f4c9faa4d68) children: [ (command.VarDecl keyword: (Token id: Id.KW_Var length: 3 col: 4 line: (SourceLine line_num: 4 content: " var s = \"\"\"\n" src: ...0x7f4c9f77d408 ) ) lhs: [ (NameType left: (Token id:Id.Expr_Name length:1 col:8 line:...0x7f4c9faa4db8) name: s ) ] rhs: (DoubleQuoted left: (Token id: Id.Left_TDoubleQuote length: 3 col: 12 line: ...0x7f4c9faa4db8 ) parts: [ (Token id: Id.Lit_CharsWithoutPrefix length: 10 col: 4 line: (SourceLine line_num: 5 content: " proc echo_$param(prefix) {\n" src: ...0x7f4c9f77d408 ) tval: "proc echo_" ) (SimpleVarSub tok: (Token id: Id.VSub_DollarName length: 6 col: 14 line: ...0x7f4c9faa4e08 tval: param ) ) (Token id: Id.Lit_Chars length: 11 col: 20 line: ...0x7f4c9faa4e08 tval: "(prefix) {\n" ) (Token id: Id.Lit_CharsWithoutPrefix length: 7 col: 4 line: (SourceLine line_num: 6 content: " echo \\$prefix $param\n" src: ...0x7f4c9f77d408 ) tval: " echo " ) (word_part.EscapedLiteral token: (Token id: Id.Lit_EscapedChar length: 2 col: 11 line: ...0x7f4c9faa4e58 ) ch: "$" ) (Token id: Id.Lit_Chars length: 7 col: 13 line: ...0x7f4c9faa4e58 tval: "prefix " ) (SimpleVarSub tok: (Token id: Id.VSub_DollarName length: 6 col: 20 line: ...0x7f4c9faa4e58 tval: param ) ) (Token id: Id.Lit_Chars length: 1 col: 26 line: ...0x7f4c9faa4e58 tval: "\n" ) (Token id: Id.Lit_CharsWithoutPrefix length: 2 col: 4 line: (SourceLine line_num: 7 content: " }\n" src: ...0x7f4c9f77d408 ) tval: "}\n" ) ] right: (Token id: Id.Right_DoubleQuote length: 1 col: 6 line: (SourceLine line_num: 8 content: " \"\"\"\n" src: ...0x7f4c9f77d408 ) ) ) ) (command.VarDecl keyword: (Token id:Id.KW_Var length:3 col:4 line:...0x7f4c9f710098) lhs: [ (NameType left: (Token id:Id.Expr_Name length:3 col:8 line:...0x7f4c9f710098) name: cmd ) ] rhs: (expr.FuncCall func: (expr.Var left: (Token id: Id.Expr_Name length: 12 col: 14 line: ...0x7f4c9f710098 ) name: parseCommand ) args: (ArgList left: ...0x7f4c9f70d1c8 pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 1 col: 27 line: ...0x7f4c9f710098 ) name: s ) ] named_args: [] right: (Token id: Id.Op_RParen length: 1 col: 28 line: ...0x7f4c9f710098 ) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 2 col: 4 line: (SourceLine line_num: 10 content: " pp asdl_ (cmd)\n" src: ...0x7f4c9f77d408 ) tval: pp ) more_env: [] words: [ (CompoundWord parts:[...0x7f4c9f70d228]) (CompoundWord parts: [ (Token id: Id.Lit_Chars length: 5 col: 7 line: ...0x7f4c9f710188 tval: asdl_ ) ] ) ] typed_args: (ArgList left: (Token id:Id.Op_LParen length:1 col:13 line:...0x7f4c9f710188) pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 3 col: 14 line: ...0x7f4c9f710188 ) name: cmd ) ] named_args: [] right: (Token id:Id.Op_RParen length:1 col:17 line:...0x7f4c9f710188) ) is_last_cmd: F ) (command.Expr keyword: (Token id: Id.KW_Call length: 4 col: 4 line: (SourceLine line_num: 13 content: " call io->eval(cmd)\n" src: ...0x7f4c9f77d408 ) ) e: (expr.FuncCall func: (Attribute obj: (expr.Var left: (Token id: Id.Expr_Name length: 2 col: 9 line: ...0x7f4c9f710278 ) name: io ) op: (Token id: Id.Expr_RArrow length: 2 col: 11 line: ...0x7f4c9f710278 ) attr: (Token id: Id.Expr_Name length: 4 col: 13 line: ...0x7f4c9f710278 ) attr_name: eval ctx: expr_context.Store ) args: (ArgList left: (Token id: Id.Op_LParen length: 1 col: 17 line: ...0x7f4c9f710278 ) pos_args: [ (expr.Var left: (Token id: Id.Expr_Name length: 3 col: 18 line: ...0x7f4c9f710278 ) name: cmd ) ] named_args: [] right: (Token id: Id.Op_RParen length: 1 col: 21 line: ...0x7f4c9f710278 ) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 4 line: (SourceLine line_num: 15 content: " echo_a zz\n" src: ...0x7f4c9f77d408 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7f4c9f70da08]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:2 col:11 line:...0x7f4c9f710318)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 2 line: (SourceLine line_num:16 content:" }\n" src:...0x7f4c9f77d408) ) ) ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 2 line: (SourceLine line_num: 18 content: " echo_a prefix\n" src: ...0x7f4c9f77d408 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7f4c9faf8f48]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7f4c9f710408)] ) ] is_last_cmd: F ) (command.Simple blame_tok: (Token id: Id.Lit_Chars length: 6 col: 2 line: (SourceLine line_num: 19 content: " echo_b prefix\n" src: ...0x7f4c9f77d408 ) ) more_env: [] words: [ (CompoundWord parts:[...0x7f4c9f70de88]) (CompoundWord parts: [(Token id:Id.Lit_Chars length:6 col:9 line:...0x7f4c9f710458)] ) ] is_last_cmd: F ) ] right: (Token id: Id.Lit_RBrace length: 1 col: 0 line: (SourceLine line_num:20 content:"}\n" src:...0x7f4c9f77d408) ) ) sh_compat: F module_frame: [ Dict ARGV ...0x7f4ca01170f8 UID ...0x7f4ca0117a40 EUID ...0x7f4c9fb18678 PPID ...0x7f4c9fb186d0 OPTIND ...0x7f4c9fb18728 IFS ...0x7f4c9fb18780 HOSTNAME ...0x7f4c9fb187d8 OSTYPE ...0x7f4c9fb18830 PS4 ...0x7f4c9fb18888 COMP_WORDBREAKS ...0x7f4c9fb188e0 TMP ...0x7f4c9fb18938 REPO_ROOT ...0x7f4c9fb18990 SH ...0x7f4c9fb189e8 PATH ...0x7f4c9fb18a40 LC_ALL ...0x7f4c9fb18a98 LOCALE_ARCHIVE ...0x7f4c9fb18af0 OILS_GC_ON_EXIT ...0x7f4c9fb18b48 SHELLOPTS ...0x7f4c9fb18ba0 PWD ...0x7f4c9fb18bf8 YSH_HISTFILE ...0x7f4c9fb18c50 p ...0x7f4c9fb18db0 ] ) ) ] )stderr: echo_a zz ^~~~~~ [ stdin ]:15: 'echo_a' not found (OILS-ERR-100) [ stdin ]:15: errexit PID 43187: command.Simple failed with status 127 |