# -*- shell-script -*- # gdb-like "enable" debugger command # # Copyright (C) 2002-2006, 2008, 2011, 2016 Rocky Bernstein # # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; see the file COPYING. If not, write to # the Free Software Foundation, 59 Temple Place, Suite 330, Boston, # MA 02111 USA. if [[ $0 == ${BASH_SOURCE[0]} ]] { source ../init/require.sh # FIXME: require loses scope for typeset -A... source ../lib/help.sh require ../lib/alias.sh } _Dbg_help_add enable \ '**enable** *bpnum1* [*bpnum2* ...] Enables breakpoints *bpnum1*, *bpnum2*... Breakpoints numbers are given as a space- separated list numbers. See also: --------- **disable** and **info break**.' # Enable breakpoint(s)/watchpoint(s) by entry number(s). proc _Dbg_do_enable { if (($# == 0)) { _Dbg_errmsg 'Expecting breakpoint/watchpoint numbers. Got none.' return 1 } _Dbg_enable_disable 1 'enabled' $ifsjoin(Argv) return $? } if [[ $0 == ${BASH_SOURCE[0]} ]] { require ./help.sh ../lib/msg.sh ../lib/sort.sh ../lib/columnize.sh \ ../lib/list.sh global _Dbg_args := ''enable'' _Dbg_do_help enable } (CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number "$0")} right: { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [69 74] ) } ) ) terminator: ) ] action: [ (C {(source)} {(../init/require.sh)}) (C {(source)} {(../lib/help.sh)}) (C {(require)} {(../lib/alias.sh)}) ] spids: [-1 80] ) ] spids: [-1 101] ) (C {(_Dbg_help_add)} {(enable)} { (SQ <"**enable** *bpnum1* [*bpnum2* ...]\n"> <"\n"> <"Enables breakpoints *bpnum1*, *bpnum2*... Breakpoints numbers are given as a space-\n"> <"separated list numbers.\n"> <"\n"> <"See also:\n"> <"---------\n"> <"\n"> <"**disable** and **info break**."> ) } ) (FuncDef name: _Dbg_do_enable body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: ) ] action: [ (C {(_Dbg_errmsg)} {(SQ <"Expecting breakpoint/watchpoint numbers. Got none.">)}) (ControlFlow token: arg_word:{(1)}) ] spids: [-1 145] ) ] spids: [-1 160] ) (C {(_Dbg_enable_disable)} {(1)} {(SQ )} {($ VSub_At "$@")}) (ControlFlow token: arg_word:{($ VSub_QMark "$?")}) ] spids: [129] ) spids: [125 128] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number "$0")} right: { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [189 194] ) } ) ) terminator: ) ] action: [ (C {(require)} {(./help.sh)} {(../lib/msg.sh)} {(../lib/sort.sh)} {(../lib/columnize.sh)} {(../lib/list.sh)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_args) op: Equal rhs: {(SQ )} spids: [218] ) ] spids: [218] ) (C {(_Dbg_do_help)} {(enable)}) ] spids: [-1 200] ) ] spids: [-1 228] ) ] )