(command.CommandList children: [ (C {<_Dbg_help_add>} {<source>} {(SQ <'**source** *file*\n'> <'\n'> <'Run debugger commands in *file*.'>)} ) (command.ShFunction name: _Dbg_do_source body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} {(SQ <'Need to give a filename for the "source" command.'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [90 105] ) ] ) (C {<typeset>} {<filename>}) (C {<_Dbg_tilde_expand_filename>} {(DQ ($ Id.VSub_Number '$1'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_r child: {($ Id.VSub_DollarName '$filename')} ) ) (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$filename'))} right: {(SQ <'/dev/stdin'>)} ) ) ] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<exec>}] redirects: [ (redir op: <Id.Redir_Less '{_Dbg_fdi}<'> loc: (redir_loc.VarName name:_Dbg_fdi) arg: {(DQ ($ Id.VSub_DollarName '$filename'))} ) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_fd index: (arith_expr.UnaryAssign op_id: Id.Arith_DPlus child: <Id.Lit_ArithVarLike _Dbg_fd_last> ) ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_Dbg_fdi')} spids: [179] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_cmdfile) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{(DQ ($ Id.VSub_DollarName '$filename'))}] ) } spids: [194] ) ] ) ] spids: [136 164] ) ] else_action: [ (C {<_Dbg_errmsg>} { (DQ <'Source file '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) ($ Id.VSub_DollarName '$filename') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' is not readable.'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<3>} ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )