(command.CommandList children: [ (C {<_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**.'> ) } ) (command.ShFunction name: _Dbg_do_quit body: (BraceGroup children: [ (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'return_code='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$_Dbg_program_exit_code')} ) ) } ) (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'desired_quit_levels='> (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<0>}) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen 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>} ) ) ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen 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>} ) ) ) ] spids: [116 142] ) ] ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_PlusEqual left: <Id.Lit_ArithVarLike _Dbg_QUIT_LEVELS> right: <Id.Lit_ArithVarLike desired_quit_levels> ) ) (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: <Id.Lit_ArithVarLike _Dbg_QUIT_LEVELS> ) ) (C {<_Dbg_write_journal>} {(DQ <'_Dbg_QUIT_LEVELS='> ($ Id.VSub_DollarName '$_Dbg_QUIT_LEVELS'))} ) (C {<_Dbg_write_journal>} {(DQ <'_Dbg_step_ignore='> ($ Id.VSub_DollarName '$_Dbg_step_ignore'))} ) (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_ArithVarLike BASH_SUBSHELL> right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$_Dbg_RESTART_COMMAND'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_erase_journals>}) (C {<_Dbg_save_state>}) (C {<exec>} {($ Id.VSub_DollarName '$_Dbg_RESTART_COMMAND')}) ] spids: [236 250] ) ] ) (C {<_Dbg_msg>} {(DQ (${ Id.VSub_Name _Dbg_debugger_name) <': That\'s all, folks...'>)} ) (C {<_Dbg_cleanup>}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: <Id.Lit_ArithVarLike _Dbg_set_history> ) (C {<history>} {<-w>} {($ Id.VSub_DollarName '$_Dbg_histfile')}) ] ) ] spids: [213 228] ) ] ) (C {<trap>} {<->} {<DEBUG>}) (C {<trap>} {(DQ <_Dbg_cleanup2>)} {<EXIT>}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$return_code')} ) ] ) ) (C {<_Dbg_alias_add>} {<q>} {<quit>}) (C {<_Dbg_alias_add>} {<q> <Id.KW_Bang '!'>} {<quit>}) (C {<_Dbg_alias_add>} {<Id.ControlFlow_Exit exit>} {<quit>}) ] )