(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: [ (C {(typeset)} {(-a)} {(a)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:a) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$_Dbg_args")}])} spids: [94] ) ] spids: [94] ) (C {(typeset)} {(Lit_VarLike "first=") (BracedVarSub token: <VSub_Name a> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [103 108] ) } ) (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: [-1 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: [-1 250] ) ] else_action: [ (C {(typeset)} {(-i)} {(Lit_VarLike "n=") (_Dbg_watch_max) (Lit_Other "+") (Lit_Other "+")} ) (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] ) ] )