(CommandList children: [ (C {(_Dbg_help_add)} {(source)} {(SQ <"**source** *file*\n"> <"\n"> <"Run debugger commands in *file*.">)} ) (FuncDef name: _Dbg_do_source body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(SQ <"Need to give a filename for the \"source\" command.">)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 105] ) ] spids: [-1 120] ) (C {(typeset)} {(filename)}) (C {(_Dbg_tilde_expand_filename)} {(DQ ($ VSub_Number "$1"))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_r child:{($ VSub_Name "$filename")}) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$filename"))} right: {(SQ </dev/stdin>)} ) ) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [{(exec)} {(Lit_LBrace "{") (_Dbg_fdi) (Lit_RBrace "}")}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(DQ ($ VSub_Name "$filename"))} spids: [176] ) ] ) (C {(_Dbg_fd) (Lit_Other "[") (Lit_Other "+") (Lit_Other "+") (_Dbg_fd_last) (Lit_Other "]") (Lit_Other "=") ($ VSub_Name "$_Dbg_fdi") } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_cmdfile) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Name "$filename"))}])} spids: [196] ) ] spids: [196] ) ] spids: [-1 164] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ("Source file ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ($ VSub_Name "$filename") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" is not readable.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)}) ] spids: [204 223] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [87] ) spids: [83 86] ) ] )