(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 ops: [Op_DPipe] children: [ (SimpleCommand words: [{(which)} {(dash)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [40] ) ] ) (C {(echo)} {(/bin/sh)}) ] ) ] ) 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: [16777215 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: link-busybox-ash body: (BraceGroup children: [ (C {(mkdir)} {(-p)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name '$BUSYBOX_ASH')})] ) left_token: <Left_CommandSub '$('> spids: [175 179] ) } ) (C {(ln)} {(-s)} {(-f)} {(--verbose)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(which)} {(busybox)})]) left_token: <Left_CommandSub '$('> spids: [191 195] ) ) } {($ VSub_Name '$BUSYBOX_ASH')} ) ] spids: [168] ) spids: [164 167] ) (FuncDef name: install-shells body: (BraceGroup children: [ (C {(sudo)} {(apt-get)} {(install)} {(busybox-static)} {(mksh)} {(zsh)}) (C {(link-busybox-ash)}) ] spids: [210] ) spids: [206 209] ) (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: [248 253] ) ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] 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: [272] ) ] ) (AndOr ops: [Op_DPipe] 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: [297] ) ] ) ] spids: [261 314] ) spids: [246 259] ) ] spids: [238] ) spids: [234 237] ) (FuncDef name: _wget body: (BraceGroup children: [(C {(wget)} {(--no-clobber)} {(--directory)} {(_tmp/src)} {(DQ ($ VSub_At '$@'))})] spids: [323] ) spids: [319 322] ) (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: [348] ) spids: [344 347] ) (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: [426] ) ] spids: [424] ) (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: [16777215 439] ) ] spids: [16777215 459] ) ] spids: [421] ) spids: [417 420] ) (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: [481 489] ) } spids: [480] ) ] spids: [478] ) (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: [495 501] ) } spids: [494] ) ] spids: [492] ) (C {(echo)} {(DQ ('oil version: ') ($ VSub_Name '$hash') (' on branch ') ($ VSub_Name '$branch'))} ) (C {(echo)}) (SimpleCommand words: [{(python)} {(--version)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[522])] ) (C {(echo)}) (Pipeline children: [(C {($ VSub_Name '$BASH')} {(--version)}) (C {(head)} {(-n)} {(1)})] negated: F ) (C {(echo)}) (Pipeline children: [(C {($ VSub_Name '$ZSH')} {(--version)}) (C {(head)} {(-n)} {(1)})] negated: F ) (C {(echo)}) (Pipeline children: [(C {(dpkg)} {(-s)} {(dash)}) (C {(egrep)} {(SQ <'^Package|Version'>)})] negated: F ) (C {(echo)}) (Pipeline children: [(C {(dpkg)} {(-s)} {(mksh)}) (C {(egrep)} {(SQ <'^Package|Version'>)})] negated: F ) (C {(echo)}) (Pipeline children: [ (BraceGroup children: [ (Sentence child: (AndOr ops:[Op_DPipe] children:[(C {(busybox)}) (C {(true)})]) terminator: <Op_Semi ';'> ) ] spids: [610] ) (C {(head)} {(-n)} {(1)}) ] negated: F ) (C {(echo)}) (C {(maybe-show)} {(/etc/debian_version)}) (C {(maybe-show)} {(/etc/lsb-release)}) ] spids: [468] ) spids: [464 467] ) (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 ops: [Op_DAmp] children: [ (C {(cd)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Number '$0')})] ) left_token: <Left_CommandSub '$('> spids: [669 673] ) } ) (C {(pwd)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [666 678] ) } spids: [665] ) ] spids: [663] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tmp_env) op: Equal rhs: {($ VSub_Name '$this_dir') (/../_tmp/spec-tmp)} spids: [684] ) ] spids: [682] ) (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: [660] ) spids: [656 659] ) (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:[746])] spids: [744] ) (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: [741] ) spids: [737 740] ) (FuncDef name: all body: (BraceGroup children: [(C {(test/spec-runner.sh)} {(all-parallel)} {(DQ ($ VSub_At '$@'))})] spids: [834] ) spids: [830 833] ) (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: [879 884] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [872] ) spids: [868 871] ) (FuncDef name: osh-only body: (BraceGroup children: [ (C {(sh-spec)} {(spec/osh-only.test.sh)} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))}) ] spids: [899] ) spids: [895 898] ) (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: [929 934] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [922] ) spids: [918 921] ) (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: [958 963] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [949] ) spids: [945 948] ) (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: [989 994] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [980] ) spids: [976 979] ) (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: [1020 1025] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1011] ) spids: [1007 1010] ) (FuncDef name: alias body: (BraceGroup children: [ (C {(sh-spec)} {(spec/alias.test.sh)} {(--osh-failures-allowed)} {(10)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1055 1060] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1042] ) spids: [1038 1041] ) (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: [1084 1089] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1077] ) spids: [1073 1076] ) (FuncDef name: word-split body: (BraceGroup children: [ (C {(sh-spec)} {(spec/word-split.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1113 1118] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1104] ) spids: [1100 1103] ) (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: [1142 1147] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1133] ) spids: [1129 1132] ) (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: [1178 1183] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1165] ) spids: [1161 1164] ) (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: [1208 1213] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1199] ) spids: [1195 1198] ) (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: [1238 1243] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1229] ) spids: [1225 1228] ) (FuncDef name: quote body: (BraceGroup children: [ (C {(sh-spec)} {(spec/quote.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1268 1273] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1259] ) spids: [1255 1258] ) (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: [1299 1304] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1290] ) spids: [1286 1289] ) (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: [1335 1340] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1322] ) spids: [1318 1321] ) (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: [1368 1373] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1355] ) spids: [1351 1354] ) (FuncDef name: builtins body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtins.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1403 1408] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1390] ) spids: [1386 1389] ) (FuncDef name: builtin-io body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-io.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1432 1437] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1423] ) spids: [1419 1422] ) (FuncDef name: builtins2 body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtins2.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1463 1468] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1456] ) spids: [1452 1455] ) (FuncDef name: builtin-dirs body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-dirs.test.sh)} {($ VSub_Name '$BASH')} {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1488] ) spids: [1484 1487] ) (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: [1525 1530] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1512] ) spids: [1508 1511] ) (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: [1558 1563] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1545] ) spids: [1541 1544] ) (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: [1593 1598] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1580] ) spids: [1576 1579] ) (FuncDef name: builtin-trap body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-trap.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1626 1631] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1613] ) spids: [1609 1612] ) (FuncDef name: builtin-bash body: (BraceGroup children: [ (C {(sh-spec)} {(spec/builtin-bash.test.sh)} {($ VSub_Name '$BASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1652] ) spids: [1648 1651] ) (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: [1689 1694] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1676] ) spids: [1672 1675] ) (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: [1716 1721] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1709] ) spids: [1705 1708] ) (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: [1743 1748] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1736] ) spids: [1732 1735] ) (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: [1772 1777] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1763] ) spids: [1759 1762] ) (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: [1805 1810] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1792] ) spids: [1788 1791] ) (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: [1840 1845] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1827] ) spids: [1823 1826] ) (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: [1875 1880] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1862] ) spids: [1858 1861] ) (FuncDef name: command_ body: (BraceGroup children: [ (C {(sh-spec)} {(spec/command_.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1904 1909] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1895] ) spids: [1891 1894] ) (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: [1937 1942] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1924] ) spids: [1920 1923] ) (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: [1968 1973] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1959] ) spids: [1955 1958] ) (FuncDef name: parse-errors body: (BraceGroup children: [ (C {(sh-spec)} {(spec/parse-errors.test.sh)} {(--osh-failures-allowed)} {(5)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2001 2006] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1988] ) spids: [1984 1987] ) (FuncDef name: here-doc body: (BraceGroup children: [ (C {(sh-spec)} {(spec/here-doc.test.sh)} {(--osh-failures-allowed)} {(1)} {(--range)} {(0-30)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2062 2067] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2021] ) spids: [2017 2020] ) (FuncDef name: redirect body: (BraceGroup children: [ (C {(sh-spec)} {(spec/redirect.test.sh)} {(--osh-failures-allowed)} {(6)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2095 2100] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2082] ) spids: [2078 2081] ) (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: [2124 2129] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2115] ) spids: [2111 2114] ) (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: [2157 2162] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2144] ) spids: [2140 2143] ) (FuncDef name: introspect body: (BraceGroup children: [ (C {(sh-spec)} {(spec/introspect.test.sh)} {(--osh-failures-allowed)} {(3)} {($ VSub_Name '$BASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2180] ) spids: [2176 2179] ) (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: [2218 2223] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2211] ) spids: [2207 2210] ) (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: [2251 2256] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2238] ) spids: [2234 2237] ) (FuncDef name: var-op-other body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-op-other.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2284 2289] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2271] ) spids: [2267 2270] ) (FuncDef name: var-op-strip body: (BraceGroup children: [ (C {(sh-spec)} {(spec/var-op-strip.test.sh)} {(--osh-failures-allowed)} {(1)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2317 2322] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2304] ) spids: [2300 2303] ) (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: [2356 2361] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2339] ) spids: [2335 2338] ) (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: [2385 2390] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2376] ) spids: [2372 2375] ) (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: [2414 2419] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2405] ) spids: [2401 2404] ) (FuncDef name: sh-options body: (BraceGroup children: [ (C {(sh-spec)} {(spec/sh-options.test.sh)} {(--osh-failures-allowed)} {(3)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2447 2452] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2434] ) spids: [2430 2433] ) (FuncDef name: xtrace body: (BraceGroup children: [ (C {(sh-spec)} {(spec/xtrace.test.sh)} {(--osh-failures-allowed)} {(5)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2480 2485] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2467] ) spids: [2463 2466] ) (FuncDef name: strict-options body: (BraceGroup children: [ (C {(sh-spec)} {(spec/strict-options.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2509 2514] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2500] ) spids: [2496 2499] ) (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: [2538 2543] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2529] ) spids: [2525 2528] ) (FuncDef name: errexit-strict body: (BraceGroup children: [ (C {(sh-spec)} {(spec/errexit-strict.test.sh)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2569 2574] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2560] ) spids: [2556 2559] ) (FuncDef name: arith-context body: (BraceGroup children: [ (C {(sh-spec)} {(spec/arith-context.test.sh)} {(--osh-failures-allowed)} {(3)} {($ VSub_Name '$BASH')} {($ VSub_Name '$MKSH')} {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2604] ) spids: [2600 2603] ) (FuncDef name: array body: (BraceGroup children: [ (C {(sh-spec)} {(spec/array.test.sh)} {(--osh-failures-allowed)} {(8)} {($ VSub_Name '$BASH')} {($ VSub_Name '$MKSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2636] ) spids: [2632 2635] ) (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: [2666] ) spids: [2662 2665] ) (FuncDef name: type-compat body: (BraceGroup children: [ (C {(sh-spec)} {(spec/type-compat.test.sh)} {($ VSub_Name '$BASH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2696] ) spids: [2692 2695] ) (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: [2719] ) spids: [2715 2718] ) (FuncDef name: assoc body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc.test.sh)} {($ VSub_Name '$BASH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2753] ) spids: [2749 2752] ) (FuncDef name: assoc-zsh body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc-zsh.test.sh)} {($ VSub_Name '$ZSH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2776] ) spids: [2772 2775] ) (FuncDef name: dbracket body: (BraceGroup children: [ (C {(sh-spec)} {(spec/dbracket.test.sh)} {(--osh-failures-allowed)} {(2)} {($ VSub_Name '$BASH')} {($ VSub_Name '$MKSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2802] ) spids: [2798 2801] ) (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: [2836] ) spids: [2832 2835] ) (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: [2864] ) spids: [2860 2863] ) (FuncDef name: regex body: (BraceGroup children: [ (C {(sh-spec)} {(spec/regex.test.sh)} {(--osh-failures-allowed)} {(3)} {($ VSub_Name '$BASH')} {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2900] ) spids: [2896 2899] ) (FuncDef name: process-sub body: (BraceGroup children: [ (C {(sh-spec)} {(spec/process-sub.test.sh)} {($ VSub_Name '$BASH')} {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2930] ) spids: [2926 2929] ) (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: [2960] ) spids: [2956 2959] ) (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: [2989] ) spids: [2985 2988] ) (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: [3019] ) spids: [3015 3018] ) (FuncDef name: for-expr body: (BraceGroup children: [ (C {(sh-spec)} {(spec/for-expr.test.sh)} {($ VSub_Name '$MKSH')} {($ VSub_Name '$BASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [3043] ) spids: [3039 3042] ) (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: [3075] ) spids: [3071 3074] ) (C {(DQ ($ VSub_At '$@'))}) ] )