(CommandList children: [ (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_hi_last_stop=") (0)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_hi=") (0)}) (Sentence child:(C {(typeset)} {(-a)} {(_Dbg_history)}) terminator:<Op_Semi ";">) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_history) op: Equal rhs: {(ArrayLiteralPart)} spids: [85] ) ] spids: [85] ) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_set_history=") (1)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_history_length=") (BracedVarSub token: <VSub_Name HISTSIZE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(256)}) spids: [102 106] ) } ) (C {(typeset)} {(Lit_VarLike "_Dbg_histfile=") (BracedVarSub token: <VSub_Name HOME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)}) spids: [114 118] ) (/.bashdb_hist) } ) (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 children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:history_num) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (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")}) ) ) ) ] op_id: Op_DAmp ) (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 children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$history_num")}) ) (C {(let)} {(Lit_VarLike "history_num=") ($ VSub_Name "$_Dbg_hi") (-1)}) ] op_id: Op_DAmp ) (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: [-1 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: [-1 239] ) ] spids: [-1 284] ) ] spids: [-1 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: (C {(typeset)} {(-a)} {(last_history)}) 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] ) (C {(typeset)} {(-i)} {(Lit_VarLike "max_history=") (BracedVarSub token: <VSub_Name last_history> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [521 526] ) } ) (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) ) ) 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: [-1 544] ) ] spids: [-1 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: [-1 489] ) ] spids: [-1 645] ) ] spids: [474] ) spids: [470 473] ) (FuncDef name: _Dbg_history_write body: (BraceGroup children: [ (AndOr 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) ) ) (C {(history)} {(-w)} {($ VSub_Name "$_Dbg_histfile")}) ] op_id: Op_DAmp ) ] 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] ) ] )