(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 spids:[34]) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(which)} {(dash)}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (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 spids:[52]) 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 spids:[61]) 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 spids:[70]) 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 spids:[79]) op: Equal rhs: {(_tmp/shells/ash)} spids: [79] ) ] spids: [77] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OSH_PYTHON spids:[85]) op: Equal rhs: { (BracedVarSub token: <VSub_Name OSH_PYTHON> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(bin) (Lit_Slash /) (osh)}) spids: [86 92] ) } spids: [85] ) ] spids: [83] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OSH_OVM spids:[96]) op: Equal rhs: { (BracedVarSub token: <VSub_Name OSH_OVM> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(_bin) (Lit_Slash /) (osh)}) spids: [97 103] ) } spids: [96] ) ] spids: [94] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-e)} {($ VSub_Name '$OSH_OVM')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OSH spids:[133]) op: Equal rhs: {(DQ ($ VSub_Name '$OSH_PYTHON') (' ') ($ VSub_Name '$OSH_OVM'))} spids: [133] ) ] spids: [131] ) ] spids: [16777215 115] ) ] else_action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:OSH spids:[145]) op: Equal rhs: {(DQ ($ VSub_Name '$OSH_PYTHON'))} spids: [145] ) ] spids: [143] ) ] spids: [140 150] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:REF_SHELLS spids:[162]) op: Equal rhs: { (ArrayLiteralPart words: [{($ VSub_Name '$DASH')} {($ VSub_Name '$BASH')} {($ VSub_Name '$MKSH')}] ) } spids: [162] ) ] spids: [160] ) (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: [193 197] ) } ) (C {(ln)} {(-s)} {(-f)} {(--verbose)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(which)} {(busybox)})]) left_token: <Left_CommandSub '$('> spids: [209 213] ) ) } {($ VSub_Name '$BUSYBOX_ASH')} ) ] spids: [186] ) spids: [182 185] ) (FuncDef name: install-shells body: (BraceGroup children: [ (C {(sudo)} {(apt-get)} {(install)} {(busybox-static)} {(mksh)} {(zsh)}) (C {(link-busybox-ash)}) ] spids: [228] ) spids: [224 227] ) (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: [266 271] ) ) } {($ 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: [290] ) ] ) (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: [315] ) ] ) ] spids: [279 332] ) spids: [264 277] ) ] spids: [256] ) spids: [252 255] ) (FuncDef name: _wget body: (BraceGroup children: [(C {(wget)} {(--no-clobber)} {(--directory)} {(_tmp/src)} {(DQ ($ VSub_At '$@'))})] spids: [341] ) spids: [337 340] ) (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: [366] ) spids: [362 365] ) (FuncDef name: maybe-show body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:path spids:[444]) op: Equal rhs: {($ VSub_Number '$1')} spids: [444] ) ] spids: [442] ) (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 457] ) ] spids: [16777215 477] ) ] spids: [439] ) spids: [435 438] ) (FuncDef name: version-text body: (BraceGroup children: [ (C {(date)}) (C {(echo)}) (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-d)} {(.git)}) terminator:<Op_Semi ';'>)] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:branch spids:[510]) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {(--abbrev-ref)} {(HEAD)})] ) left_token: <Left_CommandSub '$('> spids: [511 519] ) } spids: [510] ) ] spids: [508] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:hash spids:[524]) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(git)} {(rev-parse)} {($ VSub_Name '$branch')})] ) left_token: <Left_CommandSub '$('> spids: [525 531] ) } spids: [524] ) ] spids: [522] ) (C {(echo)} { (DQ ('oil repo: ') ($ VSub_Name '$hash') (' on branch ') ($ VSub_Name '$branch')) } ) ] spids: [16777215 505] ) ] else_action: [(C {(echo)} {(DQ ('(not running from git repository)'))})] spids: [544 554] ) (C {(echo)}) (ForEach iter_name: bin iter_words: [{($ VSub_Name '$OSH')}] do_arg_iter: F body: (DoGroup children: [ (C {(echo)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) (' ') ($ VSub_Name '$bin') (' --version') ) } ) (C {($ VSub_Name '$bin')} {(--version)}) (C {(echo)}) ] spids: [570 591] ) spids: [566 568] ) (SimpleCommand words: [{(python)} {(--version)}] redirects: [(Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (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: [687] ) (C {(head)} {(-n)} {(1)}) ] negated: F ) (C {(echo)}) (C {(maybe-show)} {(/etc/debian_version)}) (C {(maybe-show)} {(/etc/lsb-release)}) ] spids: [486] ) spids: [482 485] ) (FuncDef name: sh-spec body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:this_dir spids:[742]) 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: [746 750] ) } ) (C {(pwd)}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [743 755] ) } spids: [742] ) ] spids: [740] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tmp_env spids:[761]) op: Equal rhs: {($ VSub_Name '$this_dir') (/../_tmp/spec-tmp)} spids: [761] ) ] spids: [759] ) (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: [737] ) spids: [733 736] ) (FuncDef name: trace-var-sub body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:out spids:[823]) op: Equal rhs: {(_tmp/coverage)} spids: [823] ) ] spids: [821] ) (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: [818] ) spids: [814 817] ) (FuncDef name: all body: (BraceGroup children: [(C {(test/spec-runner.sh)} {(all-parallel)} {(DQ ($ VSub_At '$@'))})] spids: [911] ) spids: [907 910] ) (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: [956 961] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [949] ) spids: [945 948] ) (FuncDef name: osh-only body: (BraceGroup children: [ (C {(sh-spec)} {(spec/osh-only.test.sh)} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))}) ] spids: [976] ) spids: [972 975] ) (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: [1006 1011] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [999] ) spids: [995 998] ) (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: [1035 1040] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1026] ) spids: [1022 1025] ) (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: [1066 1071] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1057] ) spids: [1053 1056] ) (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: [1097 1102] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1088] ) spids: [1084 1087] ) (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: [1132 1137] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1119] ) spids: [1115 1118] ) (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: [1161 1166] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1154] ) spids: [1150 1153] ) (FuncDef name: word-split body: (BraceGroup children: [ (C {(sh-spec)} {(spec/word-split.test.sh)} {(--osh-failures-allowed)} {(2)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [1194 1199] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1181] ) spids: [1177 1180] ) (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: [1223 1228] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1214] ) spids: [1210 1213] ) (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: [1259 1264] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1246] ) spids: [1242 1245] ) (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: [1289 1294] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1280] ) spids: [1276 1279] ) (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: [1319 1324] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1310] ) spids: [1306 1309] ) (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: [1349 1354] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1340] ) spids: [1336 1339] ) (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: [1380 1385] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1371] ) spids: [1367 1370] ) (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: [1416 1421] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1403] ) spids: [1399 1402] ) (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: [1449 1454] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1436] ) spids: [1432 1435] ) (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: [1484 1489] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1471] ) spids: [1467 1470] ) (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: [1513 1518] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1504] ) spids: [1500 1503] ) (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: [1544 1549] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1537] ) spids: [1533 1536] ) (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: [1569] ) spids: [1565 1568] ) (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: [1606 1611] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1593] ) spids: [1589 1592] ) (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: [1639 1644] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1626] ) spids: [1622 1625] ) (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: [1674 1679] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1661] ) spids: [1657 1660] ) (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: [1707 1712] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1694] ) spids: [1690 1693] ) (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: [1733] ) spids: [1729 1732] ) (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: [1770 1775] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1757] ) spids: [1753 1756] ) (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: [1797 1802] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1790] ) spids: [1786 1789] ) (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: [1824 1829] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1817] ) spids: [1813 1816] ) (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: [1853 1858] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1844] ) spids: [1840 1843] ) (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: [1886 1891] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1873] ) spids: [1869 1872] ) (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: [1921 1926] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1908] ) spids: [1904 1907] ) (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: [1956 1961] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1943] ) spids: [1939 1942] ) (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: [1985 1990] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [1976] ) spids: [1972 1975] ) (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: [2018 2023] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2005] ) spids: [2001 2004] ) (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: [2049 2054] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2040] ) spids: [2036 2039] ) (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: [2082 2087] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2069] ) spids: [2065 2068] ) (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: [2143 2148] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2102] ) spids: [2098 2101] ) (FuncDef name: redirect body: (BraceGroup children: [ (C {(sh-spec)} {(spec/redirect.test.sh)} {(--osh-failures-allowed)} {(5)} { (BracedVarSub token: <VSub_Name REF_SHELLS> bracket_op: (WholeArray op_id:Lit_At) spids: [2176 2181] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2163] ) spids: [2159 2162] ) (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: [2205 2210] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2196] ) spids: [2192 2195] ) (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: [2238 2243] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2225] ) spids: [2221 2224] ) (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: [2261] ) spids: [2257 2260] ) (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: [2299 2304] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2292] ) spids: [2288 2291] ) (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: [2332 2337] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2319] ) spids: [2315 2318] ) (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: [2365 2370] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2352] ) spids: [2348 2351] ) (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: [2398 2403] ) } {($ VSub_Name '$ZSH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2385] ) spids: [2381 2384] ) (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: [2437 2442] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2420] ) spids: [2416 2419] ) (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: [2466 2471] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2457] ) spids: [2453 2456] ) (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: [2495 2500] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2486] ) spids: [2482 2485] ) (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: [2528 2533] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2515] ) spids: [2511 2514] ) (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: [2561 2566] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2548] ) spids: [2544 2547] ) (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: [2590 2595] ) } {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2581] ) spids: [2577 2580] ) (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: [2619 2624] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2610] ) spids: [2606 2609] ) (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: [2650 2655] ) } {($ VSub_Name '$BUSYBOX_ASH')} {($ VSub_Name '$OSH')} {(DQ ($ VSub_At '$@'))} ) ] spids: [2641] ) spids: [2637 2640] ) (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: [2685] ) spids: [2681 2684] ) (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: [2717] ) spids: [2713 2716] ) (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: [2747] ) spids: [2743 2746] ) (FuncDef name: type-compat body: (BraceGroup children: [ (C {(sh-spec)} {(spec/type-compat.test.sh)} {($ VSub_Name '$BASH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2777] ) spids: [2773 2776] ) (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: [2800] ) spids: [2796 2799] ) (FuncDef name: assoc body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc.test.sh)} {($ VSub_Name '$BASH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2834] ) spids: [2830 2833] ) (FuncDef name: assoc-zsh body: (BraceGroup children: [ (C {(sh-spec)} {(spec/assoc-zsh.test.sh)} {($ VSub_Name '$ZSH')} {(DQ ($ VSub_At '$@'))}) ] spids: [2857] ) spids: [2853 2856] ) (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: [2883] ) spids: [2879 2882] ) (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: [2917] ) spids: [2913 2916] ) (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: [2945] ) spids: [2941 2944] ) (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: [2981] ) spids: [2977 2980] ) (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: [3011] ) spids: [3007 3010] ) (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: [3041] ) spids: [3037 3040] ) (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: [3070] ) spids: [3066 3069] ) (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: [3100] ) spids: [3096 3099] ) (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: [3124] ) spids: [3120 3123] ) (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: [3156] ) spids: [3152 3155] ) (C {(DQ ($ VSub_At '$@'))}) ] )