(command.CommandList children: [ (C {<_Dbg_help_add>} {<display>} { (DQ <'**display** [*stmt*]\n'> <'\n'> <'Evalute *stmt* each time the debugger is stopped. If *stmt* is omitted, evaluate\n'> <'all of the display statements that are active. In contrast, **info display**\n'> <'shows the display statements without evaluating them.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> <' display echo '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'x # show the current value of x each time debugger stops\n'> <' display # evaluate all display statements\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**undisplay** and **info display**.'> ) } ) (command.ShFunction name: _Dbg_do_display body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {<Id.Lit_Digits 0>} right: {($ Id.VSub_Pound '$#')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<_Dbg_eval_all_display>})] spids: [98 112] ) ] else_action: [ (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'n='> <_Dbg_disp_max> <Id.Lit_Other '+'> <Id.Lit_Other '+'>} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_disp_exp index: {($ Id.VSub_DollarName '$n')} ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_At '$@'))} spids: [131] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_disp_enable index: {($ Id.VSub_DollarName '$n')} ) op: assign_op.Equal rhs: {<1>} spids: [141] ) ] ) (C {<_Dbg_printf>} {(SQ <'%2d: %s'>)} {($ Id.VSub_DollarName '$n')} { (DQ (braced_var_sub token: <Id.VSub_Name _Dbg_disp_exp> bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName '$n')}) ) ) } ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )