(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: [ (C {(typeset)} {(script_args)}) (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 {(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: [-1 116] ) ] else_action: [(C {(printf)} {(-v)} {(script_args)} {(DQ ("%q "))} {(DQ ($ VSub_At "$@"))})] spids: [139 157] ) (C {(typeset)} {(Lit_VarLike "exec_cmd_prefix=") (DQ ($ VSub_Name "$_Dbg_orig_0"))}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:_Dbg_script)) terminator: <Op_Semi ";"> ) ] action: [ (AndOr 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] ) ] op_id: Op_DAmp ) (C {(typeset)} {(Lit_VarLike "bash_opt=") (SQ )}) (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: [-1 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: [-1 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: [-1 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)}) ) ) 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: [-1 348] ) ] spids: [-1 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)}) ] )