(command.CommandList children: [ (C {(echo)} {(SQ <'--- multilog prints nothing with no actions'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (C {(multilog)}) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog e prints to stderr'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog inserts newline after partial final line'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (command.Pipeline children: [(C {(echo)} {(two)}) (C {(tr)} {(-d)} {(SQ <'\\012'>)})] negated: F ) ] ) ) (command.Simple words: [{(multilog)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles multiple actions'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(e)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles wildcard -'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(SQ <'-*'>)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles literal +'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(SQ <'-*'>)} {(SQ <'+one'>)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles fnmatch -'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(F)} {(SQ <'-*'>)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles fnmatch +'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (command.Sentence child: (C {(echo)} {(two)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(one)} {(two)}) ] ) ) (command.Simple words: [{(multilog)} {(F)} {(SQ <'-*'>)} {(SQ <'+*o*'>)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles long lines for stderr'>)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} { ( 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 ) } ) (command.Simple words: [{(multilog)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- multilog handles status files'>)}) (C {(rm)} {(-f)} {(test.status)}) (command.CommandList children: [ (command.Sentence child: (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(echo)} {(one)}) terminator: <Op_Semi ';'> ) (C {(echo)} {(two)}) ] ) ) (C {(multilog)} {(Lit_Equals '=') (test.status)}) ] negated: F ) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (command.Pipeline children: [ (command.Simple words: [{(uniq)} {(-c)}] redirects: [(redir.Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(test.status)})] ) (C {(sed)} {(SQ <'s/[ \t]*[ \t]/_/g'>)}) ] negated: F ) (C {(echo)} {(SQ <'--- multilog t has the right format'>)}) (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child:(C {(echo)} {(ONE)}) terminator:<Op_Semi ';'>) (C {(echo)} {(TWO)}) ] ) ) (command.Simple words: [{(multilog)} {(t)} {(e)}] redirects: [(redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})] ) (C {(sed)} {(SQ <'s/[0-9a-f]/x/g'>)}) ] negated: F ) ] )