(CommandList children: [ (C {(_Dbg_help_add)} {(run)} { (SQ <'**run** [*args*]\n'> <'\n'> <'Attempt to restart the program via an exec call.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**set args**, **kill** and **quit**'> ) } ) (FuncDef name: _Dbg_do_run body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:script_args) op:Equal spids:[94])] spids: [92] ) (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)}) ) spids: [103 112] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(printf)} {(-v)} {(script_args)} {(DQ ('%q '))} { (DQ (BracedVarSub token: <VSub_Name _Dbg_orig_script_args> bracket_op: (WholeArray op_id:Lit_At) spids: [130 135] ) ) } ) ] spids: [16777215 116] ) ] else_action: [(C {(printf)} {(-v)} {(script_args)} {(DQ ('%q '))} {(DQ ($ VSub_At '$@'))})] spids: [139 157] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:exec_cmd_prefix) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_orig_0'))} spids: [163] ) ] spids: [161] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:_Dbg_script) spids:[171 176]) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$BASH'))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BASH) op: Equal rhs: {(SQ <bash>)} spids: [195] ) ] spids: [195] ) ] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:bash_opt) op: Equal rhs: {(SQ )} spids: [203] ) ] spids: [201] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$_Dbg_frame_last_filename')} right: {($ VSub_Name '$_Dbg_bogus_file')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:script_args) op: Equal rhs: { (DQ (${ VSub_Name bash_opt) ('-c ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) ($ VSub_Name '$_Dbg_EXECUTION_STRING') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } spids: [241] ) ] spids: [241] ) ] spids: [16777215 238] ) ] else_action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:script_args) op: Equal rhs: { (DQ (${ VSub_Name bash_opt) ($ VSub_Name '$_Dbg_orig_0') (' ') ($ VSub_Name '$script_args') ) } spids: [256] ) ] spids: [256] ) terminator: <Op_Semi ';'> ) ] spids: [253 268] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:exec_cmd_prefix) op: Equal rhs: {(DQ ($ VSub_Name '$BASH'))} spids: [271] ) ] spids: [271] ) ] spids: [16777215 180] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$BASH'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:exec_cmd_prefix) op: Equal rhs: {(DQ ($ VSub_Name '$BASH') (' ') ($ VSub_Name '$_Dbg_orig_0'))} spids: [296] ) ] spids: [294] ) ] spids: [277 291] ) ] spids: [16777215 304] ) (C {(_Dbg_msg)} {(DQ ('Restarting with: ') ($ VSub_Name '$script_args'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:BASH_SUBSHELL) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [335 344] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg)} {(DQ ('Note you are in a subshell. We will need to leave that first.'))} ) (C {(_Dbg_write_journal)} { (DQ ('_Dbg_RESTART_COMMAND=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$exec_cmd_prefix') (' ') ($ VSub_Name '$script_args') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) (C {(_Dbg_do_quit)} {(0)}) ] spids: [16777215 348] ) ] spids: [16777215 375] ) (C {(_Dbg_cleanup)}) (C {(_Dbg_save_state)}) (C {(builtin)} {(cd)} {($ VSub_Name '$_Dbg_init_cwd')}) (C {(eval)} {(DQ ('exec ') ($ VSub_Name '$exec_cmd_prefix') (' ') ($ VSub_Name '$script_args'))} ) ] spids: [89] ) spids: [85 88] ) (C {(_Dbg_alias_add)} {(R)} {(run)}) (C {(_Dbg_alias_add)} {(restart)} {(run)}) ] )