(CommandList children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_hi_last_stop) op:Equal rhs:{(0)} spids:[65])] spids: [61] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_hi) op:Equal rhs:{(0)} spids:[72])] spids: [68] ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:_Dbg_history) op:Equal spids:[82])] spids: [78] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_history) op: Equal rhs: {(ArrayLiteralPart)} spids: [85] ) ] spids: [85] ) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_set_history) op:Equal rhs:{(1)} spids:[94])] spids: [90] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:_Dbg_history_length) op: Equal rhs: { (BracedVarSub token: <VSub_Name HISTSIZE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(256)}) spids: [102 106] ) } spids: [101] ) ] spids: [97] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_histfile) op: Equal rhs: { (BracedVarSub token: <VSub_Name HOME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [114 118] ) (/.bashdb_hist) } spids: [113] ) ] spids: [111] ) (FuncDef name: _Dbg_history_parse body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:history_num) op: Equal rhs: {($ VSub_Number '$1')} spids: [145] ) ] spids: [145] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:history_num) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [149 156] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:history_num) right: (ArithBinary op_id: Arith_Plus left: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name _Dbg_history> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [163 169] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) right: (ArithWord w:{($ VSub_Number '$1')}) ) ) spids: [160 175] ) ] ) (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: [180 186] ) } spids: [179] ) ] spids: [179] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$history_num')}) ) (C {(let)} {(Lit_VarLike 'history_num=') ($ VSub_Name '$_Dbg_hi') (-1)}) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$_Dbg_cmd')} right: {(h) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name '$history_num')} right: {($ VSub_Name '$int_pat')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$history_num')} right: {(-) ($ VSub_Name '$int_pat')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:history_num) op: Equal rhs: {($ VSub_Name '$_Dbg_hi') (Lit_Other '+') ($ VSub_Name '$history_num') } spids: [260] ) ] spids: [260] ) ] spids: [16777215 257] ) ] else_action: [ (C {(_Dbg_errmsg)} { (DQ ('Invalid history number skipped: ') ($ VSub_Name '$history_num') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:history_num) op: Equal rhs: {(-1)} spids: [277] ) ] spids: [277] ) ] spids: [266 281] ) ] spids: [16777215 239] ) ] spids: [16777215 284] ) ] spids: [16777215 222] ) ] else_action: [(C {(Lit_Other ':')})] spids: [287 465] ) ] spids: [141] ) spids: [137 140] ) (FuncDef name: _Dbg_history_read body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_r child:{($ VSub_Name '$_Dbg_histfile')}) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(history)} {(-r)} {($ VSub_Name '$_Dbg_histfile')}) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:last_history) op:Equal spids:[503])] spids: [499] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:last_history) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children:[(C {(history)} {(1)})]) left_token: <Left_CommandSub '$('> spids: [508 512] ) } ] ) } spids: [506] ) ] spids: [506] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:max_history) op: Equal rhs: { (BracedVarSub token: <VSub_Name last_history> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [521 526] ) } spids: [520] ) ] spids: [516] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:max_history) right: (ArithVarRef name:_Dbg_history_length) ) spids: [531 540] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:max_history) op: Equal rhs: {($ VSub_Name '$_Dbg_history_length')} spids: [547] ) ] spids: [547] ) ] spids: [16777215 544] ) ] spids: [16777215 551] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:OLD_HISTTIMEFORMAT) op: Equal rhs: {(${ VSub_Name HISTTIMEFORMAT)} spids: [556] ) ] spids: [554] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:hist) op:Equal spids:[564])] spids: [562] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HISTTIMEFORMAT) op: Equal rhs: {(SQ )} spids: [567] ) ] spids: [567] ) (Assignment keyword: Assign_Local flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[576])] spids: [572] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:max_history) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:last_history) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [(C {(history)} {($ VSub_Name '$i')})] ) left_token: <Left_CommandSub '$('> spids: [615 619] ) } ] ) } spids: [613] ) ] spids: [613] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:hist) op: Equal rhs: {(${ VSub_Name last_history) (Lit_Other '[') (1) (Lit_Other ']')} spids: [623] ) ] spids: [623] ) ] spids: [610 636] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HISTTIMEFORMAT) op: Equal rhs: {(${ VSub_Name OLD_HISTTIMEFORMAT)} spids: [639] ) ] spids: [639] ) ] spids: [16777215 489] ) ] spids: [16777215 645] ) ] spids: [474] ) spids: [470 473] ) (FuncDef name: _Dbg_history_write body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_DAmp left: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:_Dbg_history_length) right: (ArithWord w:{(Lit_Digits 0)}) ) right: (ArithVarRef name:_Dbg_set_history) ) spids: [660 672] ) (C {(history)} {(-w)} {($ VSub_Name '$_Dbg_histfile')}) ] ) ] spids: [657] ) spids: [653 656] ) (FuncDef name: _Dbg_history_remove_item body: (BraceGroup children: [ (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: [698 704] ) (-1) } spids: [697] ) ] spids: [697] ) (C {(unset)} {(_Dbg_history) (Lit_Other '[') ($ VSub_Name '$_Dbg_hi') (Lit_Other ']')}) ] spids: [694] ) spids: [690 693] ) ] )