(CommandList children: [ (C {(_Dbg_help_add)} {(watch)} {(SQ <'watch [ARITH?] EXP\n'> <'\n'> <'Set or clear a watch expression.'>)} ) (C {(_Dbg_alias_add)} {(W)} {(watch)}) (FuncDef name: _Dbg_do_watch body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:a) op:Equal spids:[91])] spids: [87] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$_Dbg_args')}])} spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:first) op: Equal rhs: { (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [103 108] ) } spids: [102] ) ] spids: [100] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id:BoolBinary_GlobDEqual left:{($ VSub_Name '$first')} right:{(SQ )}) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_do_watch_internal)} {(0)})] spids: [16777215 126] ) (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(_Dbg_defined)} {(DQ ($ VSub_Name '$first'))})] negated: True ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("Can't set watch: no such variable ") ($ VSub_Name '$first') (.))} ) ] spids: [134 146] ) ] else_action: [ (C {(unset)} {(a)} {(first)}) (C {(_Dbg_do_watch_internal)} {(0)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ($ VSub_Name '$_Dbg_args')) } ) ] spids: [158 178] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [84] ) spids: [80 83] ) (C {(_Dbg_help_add)} {(watche)} {(SQ <'watche [EXP] -- Set or clear a watch expression.'>)}) (C {(_Dbg_alias_add)} {(We)}) (FuncDef name: _Dbg_do_watche body: (BraceGroup children: [ (C {(_Dbg_do_watch_internal)} {(1)} {(DQ ($ VSub_Name '$_Dbg_args'))}) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [208] ) spids: [204 207] ) (FuncDef name: _Dbg_do_watch_internal body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(_Dbg_clear_watch)})] spids: [16777215 250] ) ] else_action: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: {(_Dbg_watch_max) (Lit_Other '+') (Lit_Other '+')} spids: [265] ) ] spids: [261] ) (C {(_Dbg_watch_arith) (Lit_Other '[') ($ VSub_Name '$n') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Number '$1')) } ) (C {(shift)}) (C {(_Dbg_watch_exp) (Lit_Other '[') ($ VSub_Name '$n') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Number '$1')) } ) (C {(_Dbg_watch_val) (Lit_Other '[') ($ VSub_Name '$n') (Lit_Other ']') (Lit_Other '=') (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_get_watch_exp_eval)} {($ VSub_Name '$n')})] ) left_token: <Left_CommandSub '$('> spids: [299 303] ) } ) (C {(_Dbg_watch_enable) (Lit_Other '[') ($ VSub_Name '$n') (Lit_Other ']') (Lit_Other '=') (1) } ) (C {(_Dbg_watch_count) (Lit_Other '[') ($ VSub_Name '$n') (Lit_Other ']') (Lit_Other '=') (0) } ) (C {(_Dbg_printf)} {(SQ <'%2d: %s==%s arith: %d'>)} {($ VSub_Name '$n')} { (DQ ('(') (BracedVarSub token: <VSub_Name _Dbg_watch_exp> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$n')})) spids: [334 339] ) (')') ) } { (BracedVarSub token: <VSub_Name _Dbg_watch_val> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$n')})) spids: [343 348] ) } { (BracedVarSub token: <VSub_Name _Dbg_watch_arith> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$n')})) spids: [352 357] ) } ) ] spids: [257 360] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [234] ) spids: [230 233] ) ] )