(CommandList children: [ (C {(_Dbg_help_add)} {(condition)} { (DQ ("**condition** *bp_number* *zsh-cond*\n") ("\n") ("+Break only if *bassh-cond* is true in breakpoint number *bp_number*.\n") ("\n") ("*bp_number* is an integer and *cond* is an zsh expression to be evaluated whenever\n") ("breakpoint *bp_number* is reached.\n") ("\n") ("Examples:\n") ("---------\n") ("\n") (" condition 5 x > 10 # Breakpoint 5 now has condition x > 10\n") (" condition 5 # Remove above condition\n") ("\n") ("See also:\n") ("---------\n") ("\n") ("*break*, *tbreak*.\n") ) } {(1)} {(_Dbg_complete_brkpt_range)} ) (FuncDef name: _Dbg_do_condition body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_errmsg)} {(SQ <"condition: Argument required (breakpoint number).">)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [-1 123] ) ] spids: [-1 138] ) (C {(typeset)} {(-r)} {(Lit_VarLike "n=") ($ VSub_Number "$1")}) (C {(shift)}) (C {(eval)} {(DQ ($ VSub_Name "$_seteglob"))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name "$n")} right: {($ VSub_Name "$int_pat")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))}) (C {(_Dbg_errmsg)} {(DQ ("condition: Bad breakpoint number: ") ($ VSub_Name "$n"))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [-1 174] ) ] spids: [-1 197] ) (C {(eval)} {(DQ ($ VSub_Name "$_resteglob"))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name _Dbg_brkpt_file> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$n")})) spids: [214 219] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_msg)} { (DQ ("condition: Breakpoint entry ") ($ VSub_Name "$n") (" is not set. Condition not changed.") ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)}) ] spids: [-1 225] ) ] spids: [-1 242] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$condition")}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:condition) op: Equal rhs: {(1)} spids: [261] ) ] spids: [261] ) (C {(_Dbg_msg)} {(DQ ("Breakpoint ") ($ VSub_Name "$n") (" now unconditional."))}) ] spids: [-1 258] ) ] spids: [-1 274] ) (C {(_Dbg_brkpt_cond) (Lit_Other "[") ($ VSub_Name "$n") (Lit_Other "]") (Lit_Other "=") (DQ ($ VSub_Name "$condition")) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [104] ) spids: [100 103] ) ] )