(List (FunctionDef err_exit [] (List (Com {[LIT_CHARS print]} {[LIT_CHARS -u2]} {[LIT_CHARS -r]} {[SQ ] [DQ [VarSub Command][LIT_CHARS "["][VarSub 1][LIT_CHARS "] "][VarSub @ transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}} None]]]}) (DParen {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub Errors]}} }) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "err_exit="] [SQ ] =}) (= scope= flags=0 words=[] bindings=[('Command', {[VarSub 0 transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]})]) (Com {[LIT_CHARS integer]} {[LIT_VAR_LIKE "aware="] [LIT_CHARS 0] =} {[LIT_VAR_LIKE "contrary="] [LIT_CHARS 0] =} {[LIT_VAR_LIKE "Errors="] [LIT_CHARS 0] =} {[LIT_VAR_LIKE "ignorant="] [LIT_CHARS 0] =}) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('tmp', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -dt]})]})]) (List (Com {[LIT_CHARS err_exit]} {[LIT_CHARS mktemp]} {[LIT_CHARS -dt]} {[LIT_CHARS failed]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "cd /; rm -rf "][VarSub tmp]]} {[LIT_CHARS EXIT]}) (FunctionDef test_glob [] (List (Com {[LIT_CHARS typeset]} {[LIT_CHARS lineno]} {[LIT_CHARS expected]} {[LIT_CHARS drop]} {[LIT_CHARS arg]} {[LIT_CHARS got]} {[LIT_CHARS sep]} {[LIT_CHARS op]} {[LIT_CHARS val]} {[LIT_CHARS add]} {[LIT_CHARS del]}) (= scope= flags=0 words=[] bindings=[('lineno', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[LIT_CHARS --] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('del', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS --]}]]})]) (Com {[LIT_CHARS shift]}) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('add', {[VarSub 1 transform_ops=[VS_UNARY_POUND {[LIT_CHARS "++"]}]]})]) (Com {[LIT_CHARS shift]}) ) ) (= scope= flags=0 words=[] bindings=[('expected', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (If (DParen {A Atom NODE_ARITH_WORD {[VarSub contrary]}}) (List (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub expected]} {[DQ [LIT_CHARS " "]] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('expected', {[VarSub expected transform_ops=[VS_UNARY_POUND {[DQ [LIT_CHARS " "]]}]]})]) (= scope= flags=0 words=[] bindings=[('expected', {[DQ [VarSub expected][LIT_CHARS " "]]})]) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub expected]} {[LIT_OTHER "*"] [DQ [LIT_CHARS " "]] [LIT_OTHER "*"]}}) (= scope= flags=0 words=[] bindings=[('expected', {[VarSub expected transform_ops=[PatSub {[DQ [LIT_CHARS " "]]} {[DQ [LIT_CHARS " "]]}]]})]) ) ) ) (For arg do_arg_iter) (List (= scope= flags=0 words=[] bindings=[('got', {[DQ [VarSub got][VarSub sep][LIT_CHARS "<"][VarSub arg][LIT_CHARS ">"]]})]) (= scope= flags=0 words=[] bindings=[('sep', {[DQ [LIT_CHARS " "]]})]) ) ) (If (DParen {A2 AS_OP_DAMP {A Atom NODE_ARITH_WORD {[VarSub ignorant]}} {A Atom NODE_ARITH_WORD {[VarSub aware]}}}) (List (If (DBracket {B1 UNARY_STRING_n {[VarSub del]}}) (= scope= flags=0 words=[] bindings=[('got', {[DQ [LIT_CHARS "<"][VarSub del][LIT_CHARS "> "][VarSub got]]})]) ) (If (DBracket {B1 UNARY_STRING_n {[VarSub add]}}) (= scope= flags=0 words=[] bindings=[('expected', {[DQ [LIT_CHARS "<"][VarSub add][LIT_CHARS "> "][VarSub expected]]})]) ) ) ) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub got]} {[DQ [VarSub expected]]}}) (Com {[SQ ]} {[VarSub lineno]} {[DQ [LIT_CHARS "glob -- expected '"][VarSub expected][LIT_CHARS "', got '"][VarSub got][LIT_CHARS "'"]]}) ) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "test_glob="] [SQ ] =}) (FunctionDef test_case [] (List (Com {[LIT_CHARS typeset]} {[LIT_CHARS lineno]} {[LIT_CHARS expected]} {[LIT_CHARS subject]} {[LIT_CHARS pattern]} {[LIT_CHARS got]}) (= scope= flags=0 words=[] bindings=[('lineno', {[VarSub 1]}), ('expected', {[VarSub 2]}), ('subject', {[VarSub 3]}), ('pattern', {[VarSub 4]})]) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tcase "][VarSub subject][LIT_CHARS " in\n"][LIT_CHARS "\t\t"][VarSub pattern][LIT_CHARS ")\tgot='' ;;\n"][LIT_CHARS "\t\t*)\t\tgot='' ;;\n"][LIT_CHARS "\t\tesac\n"][LIT_CHARS "\t"]]}) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub got]} {[DQ [VarSub expected]]}}) (Com {[SQ ]} {[VarSub lineno]} {[DQ [LIT_CHARS "case "][VarSub subject][LIT_CHARS " in "][VarSub pattern][LIT_CHARS ") -- expected '"][VarSub expected][LIT_CHARS "', got '"][VarSub got][LIT_CHARS "'"]]}) ) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "test_case="] [SQ ] =}) (Com {[LIT_CHARS unset]} {[LIT_CHARS undefined]}) (AndOr OP_OR_IF (Com {[LIT_CHARS cd]} {[VarSub tmp]}) (List (Com {[LIT_CHARS err_exit]} {[DQ [LIT_CHARS "cd "][VarSub tmp][LIT_CHARS " failed"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=1 words=[] bindings=[('LC_COLLATE', {[LIT_CHARS C]})]) (Com {[LIT_CHARS touch]} {[LIT_CHARS B]} {[LIT_CHARS b]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[LIT_OTHER "*"]}) (Case to_match={[VarSub *]}, pat_word_list=[[{[SQ ]}], [{[LIT_CHARS b]}, {[LIT_CHARS B]}]] (= scope= flags=0 words=[] bindings=[('contrary', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('ignorant', {[LIT_CHARS 1]})]) ) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[ComSub (Com more_env=[('LC_ALL', {[LIT_CHARS C]})] {[LIT_CHARS /bin/sh]} {[LIT_CHARS -c]} {[SQ ]})]}) (Case to_match={[VarSub *]}, pat_word_list=[[{[LIT_CHARS B]}]] (= scope= flags=0 words=[] bindings=[('aware', {[LIT_CHARS 1]})]) ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_OTHER "*"]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS a]} {[LIT_CHARS b]} {[LIT_CHARS c]} {[LIT_CHARS d]} {[LIT_CHARS abc]} {[LIT_CHARS abd]} {[LIT_CHARS abe]} {[LIT_CHARS bb]} {[LIT_CHARS bcd]} {[LIT_CHARS ca]} {[LIT_CHARS cb]} {[LIT_CHARS dd]} {[LIT_CHARS de]} {[LIT_CHARS Beware]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS bdir]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "*"]} {[LIT_CHARS X] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[\ LIT_ESCAPED_CHAR "\\a"] [LIT_OTHER "*"]}) (If (Subshell (Com {[LIT_CHARS set]} {[LIT_CHARS --nullglob]}) ) (List (Com {[LIT_CHARS set]} {[LIT_CHARS --nullglob]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "*"]} {[LIT_CHARS X] [LIT_OTHER "*"]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --nonullglob]}) ) ) (If (Subshell (Com {[LIT_CHARS set]} {[LIT_CHARS --failglob]}) ) (List (Com {[LIT_CHARS set]} {[LIT_CHARS --failglob]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS tmp]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS tmp/l1]} {[LIT_CHARS tmp/l2]} {[LIT_CHARS tmp/l3]}) (Com {[LIT_CHARS test_glob]} {[SQ ]} {[LIT_CHARS tmp/l] [LIT_OTHER "["] [LIT_CHARS 12] [LIT_OTHER "]"]} {[LIT_CHARS tmp/] [LIT_OTHER "*"] [LIT_CHARS 4]} {[LIT_CHARS tmp/] [LIT_OTHER "*"] [LIT_CHARS 3]}) (Com {[LIT_CHARS test_glob]} {[SQ ]} {[LIT_CHARS tmp/l] [LIT_OTHER "["] [LIT_CHARS 12] [LIT_OTHER "]"]} {[LIT_CHARS tmp/] [LIT_OTHER "*"] [LIT_CHARS 4]} {[LIT_CHARS tmp/] [LIT_OTHER "*"] [LIT_CHARS 3]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -r]} {[LIT_CHARS tmp]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --nofailglob]}) ) ) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS b] [LIT_OTHER "*"] [LIT_CHARS /]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[\ LIT_ESCAPED_CHAR "\\*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[SQ ]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"]}) (Com {[LIT_CHARS test_glob]} {[SQ <*q*>">]} {[LIT_CHARS c] [LIT_OTHER "*"]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"]} {[LIT_OTHER "*"] [LIT_CHARS q] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[DQ [LIT_CHARS "*"]] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[\ LIT_ESCAPED_CHAR "\\*"] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[DQ [\ LIT_ESCAPED_CHAR "\\."][\ LIT_ESCAPED_CHAR "\\."][LIT_CHARS "/*/"]]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[SQ ]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[DQ [LIT_CHARS "/^root:/{s/^[!:]*:[!:]*:"][\ LIT_ESCAPED_CHAR "\\("][LIT_CHARS "[!:]*"][\ LIT_ESCAPED_CHAR "\\)"][LIT_CHARS ".*"]] [SQ ] [DQ [LIT_CHARS /][\ LIT_ESCAPED_CHAR "\\1"][LIT_CHARS /]]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "["] [LIT_CHARS a-c] [LIT_OTHER "]"] [LIT_CHARS b] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS Beware]} {[SQ
">]} {[LIT_OTHER "["] [LIT_CHARS a-y] [LIT_OTHER "]"] [LIT_OTHER "*"] [LIT_OTHER "["] [LIT_OTHER "!"] [LIT_CHARS c] [LIT_OTHER "]"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "*"] [LIT_OTHER "["] [LIT_OTHER "!"] [LIT_CHARS c] [LIT_OTHER "]"]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS a-b]} {[LIT_CHARS aXb]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "["] [LIT_CHARS X-] [LIT_OTHER "]"] [LIT_CHARS b]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS .x]} {[LIT_CHARS .y]}) (Com {[LIT_CHARS test_glob]} {[LIT_CHARS --Beware]} {[SQ
">]} {[LIT_OTHER "["] [LIT_OTHER "!"] [LIT_CHARS a-c] [LIT_OTHER "]"] [LIT_OTHER "*"]}) (If (Com {[LIT_CHARS mkdir]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS b]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (List (Com {[LIT_CHARS touch]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS b/ooo]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS b/] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_OTHER "?"] [LIT_CHARS /] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "["] [LIT_CHARS b] [LIT_OTHER "]"] [LIT_CHARS c]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "["] [DQ [LIT_CHARS b]] [LIT_OTHER "]"] [LIT_CHARS c]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "["] [\ LIT_ESCAPED_CHAR "\\b"] [LIT_OTHER "]"] [LIT_CHARS c]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS a] [LIT_OTHER "?"] [LIT_CHARS c]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[LIT_CHARS mkdir]} {[LIT_CHARS a] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS b]}) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS man]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS man/man1]}) (Com {[LIT_CHARS touch]} {[LIT_CHARS man/man1/sh.1]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[ComSub (Com {[LIT_CHARS echo]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]})]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[DQ [ComSub (Com {[LIT_CHARS echo]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]})]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'-'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'-'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "'"]]} {[DQ [LIT_CHARS "'"][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "'"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'['"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'['"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'[abc'"]]} {[DQ [LIT_CHARS "'['*"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'[abc'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[DQ [LIT_CHARS "'['*"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[DQ [LIT_CHARS "a[b/c]d"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[DQ [LIT_CHARS "a[b/c]d"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[DQ [LIT_CHARS "a[b/c]d"]]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "']'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'-'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'a'"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[DQ [LIT_CHARS "'['"]]} {[SQ ]}) (Com {[LIT_CHARS test_case]} {[SQ ">]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_glob]} {[LIT_OTHER "+"] [LIT_OTHER "+"] [LIT_CHARS Beware]} {[SQ ">]} {[LIT_CHARS b] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "["] [LIT_CHARS bB] [LIT_OTHER "]"] [LIT_OTHER "*"]}) (If (Subshell (Com {[LIT_CHARS set]} {[LIT_CHARS --nocaseglob]}) ) (List (Com {[LIT_CHARS set]} {[LIT_CHARS --nocaseglob]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_CHARS b] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "["] [LIT_CHARS b] [LIT_OTHER "]"] [LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "["] [LIT_CHARS bB] [LIT_OTHER "]"] [LIT_OTHER "*"]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --nonocaseglob]}) ) ) (If (Subshell (Com {[LIT_CHARS set]} {[LIT_CHARS -f]}) ) (List (Com {[LIT_CHARS set]} {[LIT_CHARS -f]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS f]}) ) ) (If (Subshell (Com {[LIT_CHARS set]} {[LIT_CHARS --noglob]}) ) (List (Com {[LIT_CHARS set]} {[LIT_CHARS --noglob]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (Com {[LIT_CHARS set]} {[LIT_CHARS --glob]}) ) ) (= scope= flags=0 words=[] bindings=[('FIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('FIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ
">]} {[LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('FIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('FIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS FIGNORE]}) (Com {[LIT_CHARS test_glob]} {[SQ
">]} {[LIT_OTHER "?"] [LIT_OTHER "?"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('GLOBIGNORE', {[SQ ]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS --]} {[LIT_OTHER "*"]}) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub 1]} {[SQ ]}}) (List (= scope= flags=0 words=[] bindings=[('GLOBIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('GLOBIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (Com {[LIT_CHARS unset]} {[LIT_CHARS GLOBIGNORE]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"]}) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]}) (= scope= flags=0 words=[] bindings=[('GLOBIGNORE', {[SQ ]})]) (Com {[LIT_CHARS test_glob]} {[SQ ">]} {[LIT_OTHER "*"] [LIT_CHARS /man] [LIT_OTHER "*"] [LIT_CHARS /sh.] [LIT_OTHER "*"]}) ) ) (Com {[LIT_CHARS unset]} {[LIT_CHARS GLOBIGNORE]}) (FunctionDef test_sub [] (List (= scope= flags=0 words=[] bindings=[('x', {[SQ ] [VarSub 2] [SQ ]})]) (Com {[LIT_CHARS eval]} {[LIT_VAR_LIKE "g="] [VarSub x] =}) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub g]]} {[DQ [VarSub 3]]}}) (Com {[SQ ]} {[VarSub 1]} {[LIT_VAR_LIKE "subject="] [DQ [LIT_CHARS "'"][VarSub subject][LIT_CHARS "' "][VarSub x][LIT_CHARS " failed, expected '"][VarSub 3][LIT_CHARS "', got '"][VarSub g][LIT_CHARS "'"]] =}) ) ) ) (Com {[LIT_CHARS alias]} {[LIT_VAR_LIKE "test_sub="] [SQ ] =}) (Com {[LIT_CHARS set]} {[LIT_CHARS --noglob]} {[LIT_CHARS --nobraceexpand]}) (= scope= flags=0 words=[] bindings=[('subject', {[SQ ]})]) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('subject', {[SQ ]})]) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('subject', {[SQ ]})]) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (= scope= flags=0 words=[] bindings=[('subject', {[SQ ]})]) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_sub]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS exit]} {[ArithSub {A3 AS_OP_QMARK {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub Errors]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 125]}}} {A Atom NODE_ARITH_WORD {[VarSub Errors]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 125]}}}]}) )