# -*- shell-script -*- # "set trace-commands" debugger command # # Copyright (C) 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 before executing it. typeset _Dbg_set_trace_commands='off' # Handled special because of the dash in the command name. # _Dbg_help_add_sub set trace-commands \ # 'Set showing debugger commands' 1 proc _Dbg_do_set_trace_commands { matchstr $1 { 1 { _Dbg_write_journal_eval "_Dbg_set_trace_commands=on" } 0 { _Dbg_write_journal_eval "_Dbg_set_trace_commands=off" } on | off { _Dbg_write_journal_eval "_Dbg_set_trace_commands=$1" } * { _Dbg_msg "\"on\", \"off\" expected." } } return $? } (CommandList children: [ (C {(typeset)} {(Lit_VarLike "_Dbg_set_trace_commands=") (SQ )}) (FuncDef name: _Dbg_do_set_trace_commands body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Number "$1"))} arms: [ (case_arm pat_list: [{(1)}] action: [(C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_set_trace_commands=on"))})] spids: [96 98 108 -1] ) (case_arm pat_list: [{(0)}] action: [(C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_set_trace_commands=off"))})] spids: [111 113 123 -1] ) (case_arm pat_list: [{(on)} {(off)}] action: [ (C {(_Dbg_write_journal_eval)} {(DQ ("_Dbg_set_trace_commands=") ($ VSub_Number "$1"))} ) ] spids: [126 132 143 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (C {(_Dbg_msg)} { (DQ (EscapedLiteralPart token:) (on) (EscapedLiteralPart token: ) (", ") (EscapedLiteralPart token:) (off) (EscapedLiteralPart token: ) (" expected.") ) } ) ] spids: [146 148 -1 165] ) ] spids: [86 92 165] ) (ControlFlow token: arg_word:{($ VSub_QMark "$?")}) ] spids: [83] ) spids: [79 82] ) ] )