(CommandList children: [ (C {(_Dbg_help_add)} {(history)} { (DQ ('history [N]\n') ('\n') ('Rerun a debugger command from the debugger history. \n') ('\n') ('See also H to list the history. If N is negative you are you going\n') ('back that many items from the end rather specifying an absolute history number.') ) } ) (FuncDef name: _Dbg_do_history body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:history_num) op:Equal spids:[84])] spids: [80] ) (C {(_Dbg_history_parse)} {($ VSub_At '$@')}) (C {(_Dbg_history_remove_item)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:history_num) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:history_num) right: (ArithWord w: { (BracedVarSub token: <VSub_Name _Dbg_history> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [122 128] ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(set)} { (BracedVarSub token: <VSub_Name _Dbg_history> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$history_num')}) ) spids: [141 146] ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_cmd) op: Equal rhs: {($ VSub_Number '$1')} spids: [149] ) ] spids: [149] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_args) op: Equal rhs: {(DQ ($ VSub_At '$@'))} spids: [156] ) ] spids: [156] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_redo) op: Equal rhs: {(1)} spids: [162] ) ] spids: [162] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 135] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ('Number ') ($ VSub_Number '$1') (' (') ($ VSub_Name '$history_num') (') should be less than ') (BracedVarSub token: <VSub_Name _Dbg_history> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [180 186] ) ) } ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [167 195] ) ] spids: [16777215 110] ) ] spids: [16777215 198] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [77] ) spids: [73 76] ) (FuncDef name: _Dbg_do_history_list body: (BraceGroup children: [ (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Number '$1')} right: {($ VSub_Name '$int_pat')} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Number '$1')} right: {(-) ($ VSub_Name '$int_pat')} ) ) (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number '$1')}) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg)} {(DQ ('Invalid history number: ') ($ VSub_Number '$1'))}) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 269] ) ] spids: [16777215 293] ) (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_hi) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_history> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [305 311] ) } spids: [304] ) ] spids: [304] ) (Assignment keyword: Assign_Local flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$_Dbg_hi') (-1)} ) spids: [319 324] ) } spids: [318] ) ] spids: [314] ) (Assignment keyword: Assign_Local flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:stop) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (Slice begin:(ArithWord w:{(Lit_Digits 0)})) spids: [332 336] ) } spids: [331] ) ] spids: [327] ) (Assignment keyword: Assign_Local flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[343])] spids: [339] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:n) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:stop) right: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:_Dbg_hi) right: (ArithVarRef name:n) ) ) ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:_Dbg_hi) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [16777215 364] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:n) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:_Dbg_hi) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:n) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:_Dbg_hi) right: (ArithWord w:{(Lit_Digits 1)}) ) ) ) ] spids: [387 404] ) ] spids: [16777215 417] ) (ForExpr init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithVarRef name:n)) cond: (ArithBinary op_id: Arith_DAmp left: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:i) right: (ArithVarRef name:stop) ) right: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) ) update: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:i)) body: (DoGroup children: [ (C {(_Dbg_msg)} { (DQ (${ VSub_Name i) (': ') (BracedVarSub token: <VSub_Name _Dbg_history> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')})) spids: [464 469] ) ) } ) ] spids: [454 473] ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [221] ) spids: [217 220] ) (C {(_Dbg_alias_add)} {(SQ <'!'>)} {(SQ <history>)}) ] )