# -*- shell-script -*- # tty command. # # Copyright (C) 2002, 2003, 2004, 2006, 2008, 2012 Rocky Bernstein # rocky@gnu.org # # bashdb 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. # # bashdb 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 bashdb; see the file COPYING. If not, write to the Free Software # Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. _Dbg_help_add tty \ 'tty Set the output device for debugger output. Use "&1" if you want debugger output to go to STDOUT. ' # Set output tty proc _Dbg_do_tty { typeset -i rc=0 if (( $# < 1 )) { _Dbg_errmsg "Argument required (terminal name for running target process)." return 1 } typeset tty=$1 if _Dbg_check_tty $tty { global _Dbg_tty := $tty global _Dbg_prompt_output := $_Dbg_tty _Dbg_msg "Debugger output set to go to $_Dbg_tty" } return 0 } (CommandList children: [ (C {(_Dbg_help_add)} {(tty)} { (SQ <"tty\n"> <"\n"> <"Set the output device for debugger output. Use \"&1\" if you want debugger\n"> <"output to go to STDOUT.\n"> ) } ) (FuncDef name: _Dbg_do_tty body: (BraceGroup children: [ (C {(typeset)} {(-i)} {(Lit_VarLike "rc=") (0)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Pound "$#")}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ("Argument required (terminal name for running target process)."))} ) (ControlFlow token: arg_word:{(1)}) ] spids: [-1 104] ) ] spids: [-1 119] ) (C {(typeset)} {(Lit_VarLike "tty=") ($ VSub_Number "$1")}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(_Dbg_check_tty)} {($ VSub_Name "$tty")}) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_tty) op: Equal rhs: {($ VSub_Name "$tty")} spids: [140] ) ] spids: [140] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_prompt_output) op: Equal rhs: {($ VSub_Name "$_Dbg_tty")} spids: [144] ) ] spids: [144] ) (C {(_Dbg_msg)} {(DQ ("Debugger output set to go to ") ($ VSub_Name "$_Dbg_tty"))}) ] spids: [-1 136] ) ] spids: [-1 156] ) (ControlFlow token: arg_word:{(0)}) ] spids: [78] ) spids: [74 77] ) ] )