# -*- shell-script -*- # set.sh - debugger settings # # Copyright (C) 2002,2003,2006,2007,2008,2010,2011 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. # Sets whether or not to display command to be executed in debugger prompt. # If yes, always show. If auto, show only if the same line is to be run # but the command is different. typeset -A _Dbg_debugger_set_commands typeset -A _Dbg_command_help_set typeset -i _Dbg_set_autoeval=0 # Evaluate unrecognized commands? # Help routine is elsewhere which is why we have '' below. _Dbg_help_add set '' 1 _Dbg_complete_set # Load in "set" subcommands for _Dbg_file in [$(_Dbg_libdir)/command/set_sub/*.sh] { source $_Dbg_file } # Command completion for a condition command proc _Dbg_complete_set { _Dbg_complete_subcmd set } proc _Dbg_do_set { if (($# == 0)) { _Dbg_errmsg "Argument required (expression to compute)." return 1; } typeset subcmd=$1 typeset rc shift if [[ -n ${_Dbg_debugger_set_commands[$subcmd]} ]] { $(_Dbg_debugger_set_commands[$subcmd]) $label @Argv return $? } matchstr $subcmd { force { _Dbg_set_onoff $1 'different' return $? } lo | log | logg | loggi | loggin | logging { _Dbg_cmd_set_logging $ifsjoin(Argv) } t|tr|tra|trac|trace|trace-|trace-c|trace-co|trace-com|trace-comm|trace-comma|trace-comman|trace-command|trace-commands { _Dbg_do_set_trace_commands $ifsjoin(Argv) } * { _Dbg_undefined_cmd "set" $subcmd return 1 } } return $? } (CommandList children: [ (C {(typeset)} {(-A)} {(_Dbg_debugger_set_commands)}) (C {(typeset)} {(-A)} {(_Dbg_command_help_set)}) (C {(typeset)} {(-i)} {(Lit_VarLike "_Dbg_set_autoeval=") (0)}) (C {(_Dbg_help_add)} {(set)} {(SQ )} {(1)} {(_Dbg_complete_set)}) (ForEach iter_name: _Dbg_file iter_words: [{(${ VSub_Name _Dbg_libdir) (/command/set_sub/) (Lit_Other "*") (.sh)}] do_arg_iter: False body: (DoGroup children:[(C {(source)} {($ VSub_Name "$_Dbg_file")})] spids:[129137]) spids: [119 127] ) (FuncDef name: _Dbg_complete_set body: (BraceGroup children:[(C {(_Dbg_complete_subcmd)} {(set)})] spids:[147]) spids: [143 146] ) (FuncDef name: _Dbg_do_set 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)} {(DQ ("Argument required (expression to compute)."))}) (Sentence child: (ControlFlow token: arg_word:{(1)}) terminator: ) ] spids: [-1 178] ) ] spids: [-1 194] ) (C {(typeset)} {(Lit_VarLike "subcmd=") ($ VSub_Number "$1")}) (C {(typeset)} {(rc)}) (C {(shift)}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name "$subcmd")}) ) spids: [219 224] ) } ) ) terminator: ) ] action: [ (C { (BracedVarSub token: bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$subcmd")})) spids: [233 238] ) } {($ VSub_Name "$label")} {(DQ ($ VSub_At "$@"))} ) (ControlFlow token: arg_word: {($ VSub_QMark "$?")} ) ] spids: [-1 230] ) ] spids: [-1 252] ) (Case to_match: {($ VSub_Name "$subcmd")} arms: [ (case_arm pat_list: [{(force)}] action: [ (C {(_Dbg_set_onoff)} {(DQ ($ VSub_Number "$1"))} {(SQ )}) (ControlFlow token: arg_word: {($ VSub_QMark "$?")} ) ] spids: [265 267 286 -1] ) (case_arm pat_list: [{(lo)} {(log)} {(logg)} {(loggi)} {(loggin)} {(logging)}] action: [(C {(_Dbg_cmd_set_logging)} {($ VSub_At "$@")})] spids: [289 311 319 -1] ) (case_arm pat_list: [ {(t)} {(tr)} {(tra)} {(trac)} {(trace)} {(trace-)} {(trace-c)} {(trace-co)} {(trace-com)} {(trace-comm)} {(trace-comma)} {(trace-comman)} {(trace-command)} {(trace-commands)} ] action: [(C {(_Dbg_do_set_trace_commands)} {($ VSub_At "$@")})] spids: [322 350 358 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(_Dbg_undefined_cmd)} {(DQ (set))} {(DQ ($ VSub_Name "$subcmd"))}) (ControlFlow token: arg_word:{(1)}) ] spids: [361 362 -1 381] ) ] spids: [257 261 381] ) (ControlFlow token: arg_word:{($ VSub_QMark "$?")}) ] spids: [161] ) spids: [157 160] ) ] )