(CommandList children: [ (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(set)} {(-o)} {(errexit)}) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:DASH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (SimpleCommand words: [{(which)} {(dash)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [40] ) ] ) (C {(echo)} {(/bin/sh)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub "$("> spids: [35 48] ) } spids: [34] ) ] spids: [32] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:BASH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(bash)})]) left_token: <Left_CommandSub "$("> spids: [53 57] ) } spids: [52] ) ] spids: [50] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:MKSH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(mksh)})]) left_token: <Left_CommandSub "$("> spids: [62 66] ) } spids: [61] ) ] spids: [59] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:ZSH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(which)} {(zsh)})]) left_token: <Left_CommandSub "$("> spids: [71 75] ) } spids: [70] ) ] spids: [68] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:BUSYBOX_ASH) op: Equal rhs: {(_tmp/shells/ash)} spids: [79] ) ] spids: [77] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-f)} {(_bin/osh)}) terminator:<Op_Semi ";">)] action: [ (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:OSH_BIN) op:Equal rhs:{(_bin/osh)} spids:[105])] spids: [103] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OSH) op: Equal rhs: {(DQ ("bin/osh ") ($ VSub_Name "$OSH_BIN"))} spids: [116] ) ] spids: [114] ) ] spids: [-1 92] ) ] else_action: [ (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:OSH) op:Equal rhs:{(DQ (bin/osh))} spids:[127])] spids: [125] ) ] spids: [122 132] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:REF_SHELLS) op: Equal rhs: { (ArrayLiteralPart words: [{($ VSub_Name "$DASH")} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")}] ) } spids: [144] ) ] spids: [142] ) (FuncDef name: install-shells body: (BraceGroup children: [ (C {(sudo)} {(apt-get)} {(install)} {(busybox-static)} {(mksh)} {(zsh)}) (C {(mkdir)} {(-p)} {(_tmp/shells)}) (C {(ln)} {(-s)} {(-f)} {(--verbose)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(which)} {(busybox)})]) left_token: <Left_CommandSub "$("> spids: [203 207] ) ) } {($ VSub_Name "$BUSYBOX_ASH")} ) ] spids: [171] ) spids: [167 170] ) (FuncDef name: check-shells body: (BraceGroup children: [ (ForEach iter_name: sh iter_words: [ { (DQ (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [232 237] ) ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(test)} {(-e)} {($ VSub_Name "$sh")}) (BraceGroup children: [ (Sentence child: (C {(echo)} {(DQ ("ERROR: ") ($ VSub_Name "$sh") (" does not exist"))}) terminator: <Op_Semi ";"> ) (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ";"> ) ] spids: [256] ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(test)} {(-x)} {($ VSub_Name "$sh")}) (BraceGroup children: [ (Sentence child: (C {(echo)} {(DQ ("ERROR: ") ($ VSub_Name "$sh") (" isn't executable"))}) terminator: <Op_Semi ";"> ) (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ";"> ) ] spids: [281] ) ] op_id: Op_DPipe ) ] spids: [245 298] ) spids: [230 243] ) ] spids: [222] ) spids: [218 221] ) (FuncDef name: _wget body: (BraceGroup children: [(C {(wget)} {(--no-clobber)} {(--directory)} {(_tmp/src)} {(DQ ($ VSub_At "$@"))})] spids: [307] ) spids: [303 306] ) (FuncDef name: download-shell-source body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(_tmp/src)}) (C {(_wget)} {(https) (Lit_Other ":") (//ftp.gnu.org/gnu/bash/bash-4.4.tar.gz)}) (C {(_wget)} {(https) (Lit_Other ":") (//www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R54.tgz)}) (C {(_wget)} {(https) (Lit_Other ":") (//downloads.sourceforge.net/project/zsh/zsh/5.3.1/zsh-5.3.1.tar.xz) } ) ] spids: [332] ) spids: [328 331] ) (FuncDef name: maybe-show body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path) op: Equal rhs: {($ VSub_Number "$1")} spids: [410] ) ] spids: [408] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-e)} {($ VSub_Name "$path")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("--- ") ($ VSub_Name "$path") (" ---"))}) (C {(cat)} {($ VSub_Name "$path")}) (C {(echo)}) ] spids: [-1 423] ) ] spids: [-1 443] ) ] spids: [405] ) spids: [401 404] ) (FuncDef name: version-text body: (BraceGroup children: [ (C {(date)}) (C {(echo)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:branch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--abbrev-ref)} {(HEAD)})] ) left_token: <Left_CommandSub "$("> spids: [465 473] ) } spids: [464] ) ] spids: [462] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:hash) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {($ VSub_Name "$branch")})] ) left_token: <Left_CommandSub "$("> spids: [479 485] ) } spids: [478] ) ] spids: [476] ) (C {(echo)} {(DQ ("oil version: ") ($ VSub_Name "$hash") (" on branch ") ($ VSub_Name "$branch"))} ) (C {(echo)}) (SimpleCommand words: [{(python3)} {(--version)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[506])] ) (C {(echo)}) (Pipeline children: [(C {($ VSub_Name "$BASH")} {(--version)}) (C {(head)} {(-n)} {(1)})] negated: False ) (C {(echo)}) (Pipeline children: [(C {($ VSub_Name "$ZSH")} {(--version)}) (C {(head)} {(-n)} {(1)})] negated: False ) (C {(echo)}) (Pipeline children: [(C {(dpkg)} {(-s)} {(dash)}) (C {(egrep)} {(SQ <"^Package|Version">)})] negated: False ) (C {(echo)}) (Pipeline children: [(C {(dpkg)} {(-s)} {(mksh)}) (C {(egrep)} {(SQ <"^Package|Version">)})] negated: False ) (C {(echo)}) (Pipeline children: [ (BraceGroup children: [ (Sentence child: (AndOr children:[(C {(busybox)})(C {(true)})] op_id:Op_DPipe) terminator: <Op_Semi ";"> ) ] spids: [594] ) (C {(head)} {(-n)} {(1)}) ] negated: False ) (C {(echo)}) (C {(maybe-show)} {(/etc/debian_version)}) (C {(maybe-show)} {(/etc/lsb-release)}) ] spids: [452] ) spids: [448 451] ) (FuncDef name: sh-spec body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:this_dir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(cd)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Number "$0")})] ) left_token: <Left_CommandSub "$("> spids: [653 657] ) } ) (C {(pwd)}) ] op_id: Op_DAmp ) ] ) left_token: <Left_CommandSub "$("> spids: [650 662] ) } spids: [649] ) ] spids: [647] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tmp_env) op: Equal rhs: {($ VSub_Name "$this_dir") (/../_tmp/spec-tmp)} spids: [668] ) ] spids: [666] ) (C {(mkdir)} {(-p)} {($ VSub_Name "$tmp_env")}) (C {(test/sh_spec.py)} {(--tmp-env)} {($ VSub_Name "$tmp_env")} {(--path-env)} {(DQ ($ VSub_Name "$this_dir") ("/../spec/bin:") ($ VSub_Name "$PATH"))} {(DQ ($ VSub_At "$@"))} ) ] spids: [644] ) spids: [640 643] ) (FuncDef name: trace-var-sub body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:out) op:Equal rhs:{(_tmp/coverage)} spids:[730])] spids: [728] ) (C {(mkdir)} {(-p)} {($ VSub_Name "$out")}) (C {(python)} {(-m)} {(trace)} {(--trackcalls)} {(-C)} {($ VSub_Name "$out")} {(test/sh_spec.py)} {(spec/var-sub.test.sh)} {($ VSub_Name "$DASH")} {($ VSub_Name "$BASH")} {(DQ ($ VSub_At "$@"))} ) (C {(ls)} {(-l)} {($ VSub_Name "$out")}) (C {(head)} {($ VSub_Name "$out") (/) (Lit_Other "*") (.cover)}) ] spids: [725] ) spids: [721 724] ) (FuncDef name: all body: (BraceGroup children: [(C {(test/spec-runner.sh)} {(all-parallel)} {(DQ ($ VSub_At "$@"))})] spids: [818] ) spids: [814 817] ) (FuncDef name: smoke body: (BraceGroup children: [ (C {(sh-spec)} {(spec/smoke.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [863 868] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [856] ) spids: [852 855] ) (FuncDef name: osh-only body: (BraceGroup children: [ (C {(sh-spec)} {(spec/osh-only.test.sh)} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))}) ] spids: [883] ) spids: [879 882] ) (FuncDef name: bugs body: (BraceGroup children: [ (C {(sh-spec)} {(spec/bugs.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [913 918] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [906] ) spids: [902 905] ) (FuncDef name: blog1 body: (BraceGroup children: [ (C {(sh-spec)} {(spec/blog1.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [942 947] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [933] ) spids: [929 932] ) (FuncDef name: blog2 body: (BraceGroup children: [ (C {(sh-spec)} {(spec/blog2.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [973 978] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [964] ) spids: [960 963] ) (FuncDef name: blog-other1 body: (BraceGroup children: [ (C {(sh-spec)} {(spec/blog-other1.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1004 1009] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [995] ) spids: [991 994] ) (FuncDef name: comments body: (BraceGroup children: [ (C {(sh-spec)} {(spec/comments.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1033 1038] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1026] ) spids: [1022 1025] ) (FuncDef name: word-split body: (BraceGroup children: [ (C {(sh-spec)} {(spec/word-split.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1066 1071] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1053] ) spids: [1049 1052] ) (FuncDef name: word-eval body: (BraceGroup children: [ (C {(sh-spec)} {(spec/word-eval.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1095 1100] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1086] ) spids: [1082 1085] ) (FuncDef name: assign body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assign.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1131 1136] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1118] ) spids: [1114 1117] ) (FuncDef name: background body: (BraceGroup children: [ (C {(sh-spec)} {(spec/background.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1161 1166] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1152] ) spids: [1148 1151] ) (FuncDef name: subshell body: (BraceGroup children: [ (C {(sh-spec)} {(spec/subshell.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1191 1196] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1182] ) spids: [1178 1181] ) (FuncDef name: quote body: (BraceGroup children: [ (C {(sh-spec)} {(spec/quote.test.sh)} {(--osh-failures-allowed)} {(4)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1228 1233] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1215] ) spids: [1211 1214] ) (FuncDef name: loop body: (BraceGroup children: [ (C {(sh-spec)} {(spec/loop.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1257 1262] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1248] ) spids: [1244 1247] ) (FuncDef name: case_ body: (BraceGroup children: [ (C {(sh-spec)} {(spec/case_.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1293 1298] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1280] ) spids: [1276 1279] ) (FuncDef name: if_ body: (BraceGroup children: [ (C {(sh-spec)} {(spec/if_.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1326 1331] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1313] ) spids: [1309 1312] ) (FuncDef name: builtins body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtins.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1361 1366] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1348] ) spids: [1344 1347] ) (FuncDef name: builtin-vars body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-vars.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1394 1399] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1381] ) spids: [1377 1380] ) (FuncDef name: builtin-getopts body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-getopts.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1427 1432] ) } {($ VSub_Name "$BUSYBOX_ASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1414] ) spids: [1410 1413] ) (FuncDef name: builtin-test body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-test.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1462 1467] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1449] ) spids: [1445 1448] ) (FuncDef name: builtin-type body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-type.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1485] ) spids: [1481 1484] ) (FuncDef name: builtins-special body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtins-special.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1522 1527] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1509] ) spids: [1505 1508] ) (FuncDef name: command-parsing body: (BraceGroup children: [ (C {(sh-spec)} {(spec/command-parsing.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1549 1554] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1542] ) spids: [1538 1541] ) (FuncDef name: func-parsing body: (BraceGroup children: [ (C {(sh-spec)} {(spec/func-parsing.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1576 1581] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1569] ) spids: [1565 1568] ) (FuncDef name: func body: (BraceGroup children: [ (C {(sh-spec)} {(spec/func.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1605 1610] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1596] ) spids: [1592 1595] ) (FuncDef name: glob body: (BraceGroup children: [ (C {(sh-spec)} {(spec/glob.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1638 1643] ) } {($ VSub_Name "$BUSYBOX_ASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1625] ) spids: [1621 1624] ) (FuncDef name: arith body: (BraceGroup children: [ (C {(sh-spec)} {(spec/arith.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1673 1678] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1660] ) spids: [1656 1659] ) (FuncDef name: command-sub body: (BraceGroup children: [ (C {(sh-spec)} {(spec/command-sub.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1708 1713] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1695] ) spids: [1691 1694] ) (FuncDef name: command_ body: (BraceGroup children: [ (C {(sh-spec)} {(spec/command_.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1741 1746] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1728] ) spids: [1724 1727] ) (FuncDef name: pipeline body: (BraceGroup children: [ (C {(sh-spec)} {(spec/pipeline.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1774 1779] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1761] ) spids: [1757 1760] ) (FuncDef name: explore-parsing body: (BraceGroup children: [ (C {(sh-spec)} {(spec/explore-parsing.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1805 1810] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1796] ) spids: [1792 1795] ) (FuncDef name: parse-errors body: (BraceGroup children: [ (C {(sh-spec)} {(spec/parse-errors.test.sh)} {(--osh-failures-allowed)} {(4)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1838 1843] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1825] ) spids: [1821 1824] ) (FuncDef name: here-doc body: (BraceGroup children: [ (C {(sh-spec)} {(spec/here-doc.test.sh)} {(--osh-failures-allowed)} {(2)} {(--range)} {(0-27)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1899 1904] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1858] ) spids: [1854 1857] ) (FuncDef name: redirect body: (BraceGroup children: [ (C {(sh-spec)} {(spec/redirect.test.sh)} {(--osh-failures-allowed)} {(8)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1932 1937] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1919] ) spids: [1915 1918] ) (FuncDef name: posix body: (BraceGroup children: [ (C {(sh-spec)} {(spec/posix.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1961 1966] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1952] ) spids: [1948 1951] ) (FuncDef name: special-vars body: (BraceGroup children: [ (C {(sh-spec)} {(spec/special-vars.test.sh)} {(--osh-failures-allowed)} {(4)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1994 1999] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [1981] ) spids: [1977 1980] ) (FuncDef name: introspect body: (BraceGroup children: [ (C {(sh-spec)} {(spec/introspect.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2017] ) spids: [2013 2016] ) (FuncDef name: tilde body: (BraceGroup children: [ (C {(sh-spec)} {(spec/tilde.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2051 2056] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2044] ) spids: [2040 2043] ) (FuncDef name: var-op-test body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-op-test.test.sh)} {(--osh-failures-allowed)} {(5)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2084 2089] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2071] ) spids: [2067 2070] ) (FuncDef name: var-op-other body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-op-other.test.sh)} {(--osh-failures-allowed)} {(5)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2117 2122] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2104] ) spids: [2100 2103] ) (FuncDef name: var-op-strip body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-op-strip.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2150 2155] ) } {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2137] ) spids: [2133 2136] ) (FuncDef name: var-sub body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-sub.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2189 2194] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2172] ) spids: [2168 2171] ) (FuncDef name: var-num body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-num.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2218 2223] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2209] ) spids: [2205 2208] ) (FuncDef name: var-sub-quote body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-sub-quote.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2247 2252] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2238] ) spids: [2234 2237] ) (FuncDef name: sh-options body: (BraceGroup children: [ (C {(sh-spec)} {(spec/sh-options.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2280 2285] ) } {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2267] ) spids: [2263 2266] ) (FuncDef name: errexit body: (BraceGroup children: [ (C {(sh-spec)} {(spec/errexit.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2309 2314] ) } {($ VSub_Name "$BUSYBOX_ASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2300] ) spids: [2296 2299] ) (FuncDef name: arith-context body: (BraceGroup children: [ (C {(sh-spec)} {(spec/arith-context.test.sh)} {(--osh-failures-allowed)} {(7)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2344] ) spids: [2340 2343] ) (FuncDef name: array body: (BraceGroup children: [ (C {(sh-spec)} {(spec/array.test.sh)} {(--osh-failures-allowed)} {(12)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2376] ) spids: [2372 2375] ) (FuncDef name: array-compat body: (BraceGroup children: [ (C {(sh-spec)} {(spec/array-compat.test.sh)} {(--osh-failures-allowed)} {(7)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2406] ) spids: [2402 2405] ) (FuncDef name: type-compat body: (BraceGroup children: [ (C {(sh-spec)} {(spec/type-compat.test.sh)} {($ VSub_Name "$BASH")} {(DQ ($ VSub_At "$@"))}) ] spids: [2436] ) spids: [2432 2435] ) (FuncDef name: append body: (BraceGroup children: [ (C {(sh-spec)} {(spec/append.test.sh)} {(--osh-failures-allowed)} {(4)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2459] ) spids: [2455 2458] ) (FuncDef name: assoc body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc.test.sh)} {($ VSub_Name "$BASH")} {(DQ ($ VSub_At "$@"))}) ] spids: [2493] ) spids: [2489 2492] ) (FuncDef name: assoc-zsh body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc-zsh.test.sh)} {($ VSub_Name "$ZSH")} {(DQ ($ VSub_At "$@"))}) ] spids: [2516] ) spids: [2512 2515] ) (FuncDef name: dbracket body: (BraceGroup children: [ (C {(sh-spec)} {(spec/dbracket.test.sh)} {(--osh-failures-allowed)} {(5)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2542] ) spids: [2538 2541] ) (FuncDef name: dparen body: (BraceGroup children: [ (C {(sh-spec)} {(spec/dparen.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2576] ) spids: [2572 2575] ) (FuncDef name: brace-expansion body: (BraceGroup children: [ (C {(sh-spec)} {(spec/brace-expansion.test.sh)} {(--osh-failures-allowed)} {(12)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2604] ) spids: [2600 2603] ) (FuncDef name: regex body: (BraceGroup children: [ (C {(sh-spec)} {(spec/regex.test.sh)} {(--osh-failures-allowed)} {(2)} {($ VSub_Name "$BASH")} {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2640] ) spids: [2636 2639] ) (FuncDef name: process-sub body: (BraceGroup children: [ (C {(sh-spec)} {(spec/process-sub.test.sh)} {(--osh-failures-allowed)} {(2)} {($ VSub_Name "$BASH")} {($ VSub_Name "$ZSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2670] ) spids: [2666 2669] ) (FuncDef name: extended-glob body: (BraceGroup children: [ (C {(sh-spec)} {(spec/extended-glob.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2704] ) spids: [2700 2703] ) (FuncDef name: var-ref body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-ref.test.sh)} {(--osh-failures-allowed)} {(5)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2733] ) spids: [2729 2732] ) (FuncDef name: let body: (BraceGroup children: [ (C {(sh-spec)} {(spec/let.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$ZSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2763] ) spids: [2759 2762] ) (FuncDef name: for-expr body: (BraceGroup children: [ (C {(sh-spec)} {(spec/for-expr.test.sh)} {(--osh-failures-allowed)} {(2)} {($ VSub_Name "$MKSH")} {($ VSub_Name "$BASH")} {($ VSub_Name "$OSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2787] ) spids: [2783 2786] ) (FuncDef name: shell-grammar body: (BraceGroup children: [ (C {(sh-spec)} {(spec/shell-grammar.test.sh)} {($ VSub_Name "$BASH")} {($ VSub_Name "$MKSH")} {($ VSub_Name "$ZSH")} {(DQ ($ VSub_At "$@"))} ) ] spids: [2823] ) spids: [2819 2822] ) (C {(DQ ($ VSub_At "$@"))}) ] )