(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<quit>} { (SQ <'**quit** [*exit-code* [*shell-levels*]]\n'> <'\n'> <'Quit the debugger.\n'> <'\n'> <'The program being debugged is aborted. If EXIT-CODE is given that\n'> <'will be the exit return code. If SHELL-LEVELS then up to that many\n'> <'nested shells are quit. However to be effective, the last of those\n'> <'shells should have been run under the debugger.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**finish**, **return** and **run**.'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_quit> name: _Dbg_do_quit body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-i>} {<Id.Lit_VarLike 'return_code='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 1> var_name: 1 suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {($ Id.VSub_DollarName _Dbg_program_exit_code)} ) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-i>} {<Id.Lit_VarLike 'desired_quit_levels='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DPipe left: (arith_expr.Binary op_id: Id.Arith_DEqual left: ($ Id.Lit_ArithVarLike desired_quit_levels) right: {<Id.Lit_Digits 0>} ) right: (arith_expr.Binary op_id: Id.Arith_Great left: ($ Id.Lit_ArithVarLike desired_quit_levels) right: (arith_expr.Binary op_id: Id.Arith_Plus left: ($ Id.Lit_ArithVarLike BASH_SUBSHELL) right: {<Id.Lit_Digits 1>} ) ) ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike desired_quit_levels) right: (arith_expr.Binary op_id: Id.Arith_Plus left: ($ Id.Lit_ArithVarLike BASH_SUBSHELL) right: {<Id.Lit_Digits 1>} ) ) right: <Id.Op_DRightParen _> redirects: [] ) ] spids: [116 142] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.BinaryAssign op_id: Id.Arith_PlusEqual left: ($ Id.Lit_ArithVarLike _Dbg_QUIT_LEVELS) right: ($ Id.Lit_ArithVarLike desired_quit_levels) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: ($ Id.Lit_ArithVarLike _Dbg_QUIT_LEVELS) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} {(DQ <'_Dbg_QUIT_LEVELS='> ($ Id.VSub_DollarName _Dbg_QUIT_LEVELS))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} {(DQ <'_Dbg_step_ignore='> ($ Id.VSub_DollarName _Dbg_step_ignore))} ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: ($ Id.Lit_ArithVarLike BASH_SUBSHELL) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName _Dbg_RESTART_COMMAND))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_erase_journals> more_env: [] words: [{<_Dbg_erase_journals>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_save_state> more_env: [] words: [{<_Dbg_save_state>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <exec> more_env: [] words: [{<exec>} {($ Id.VSub_DollarName _Dbg_RESTART_COMMAND)}] redirects: [] do_fork: T ) ] spids: [236 250] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} {(DQ (${ Id.VSub_Name _Dbg_debugger_name) <': That\'s all, folks...'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_cleanup> more_env: [] words: [{<_Dbg_cleanup>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: ($ Id.Lit_ArithVarLike _Dbg_set_history) right: <Id.Op_DRightParen _> redirects: [] ) (command.Simple blame_tok: <history> more_env: [] words: [{<history>} {<-w>} {($ Id.VSub_DollarName _Dbg_histfile)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] spids: [213 228] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <trap> more_env: [] words: [{<trap>} {<->} {<DEBUG>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <trap> more_env: [] words: [{<trap>} {(DQ <_Dbg_cleanup2>)} {<EXIT>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName return_code)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<q>} {<quit>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<q> <Id.KW_Bang '!'>} {<quit>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<Id.ControlFlow_Exit exit>} {<quit>}] redirects: [] do_fork: T ) ] )