(CommandList children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_evalfile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_tempname)} {(eval)})]) left_token: <Left_CommandSub '$('> spids: [67 71] ) } spids: [66] ) ] spids: [64] ) (C {(_Dbg_help_add)} {(eval)} { (SQ <'**eval** *cmd*\n'> <'\n'> <'**eval**\n'> <'\n'> <'**eval?**\n'> <'\n'> <'In the first form *cmd* is a string *cmd* is a string sent to special\n'> <'shell builtin eval.\n'> <'\n'> <'In the second form, use evaluate the current source line text.\n'> <'\n'> <'Often when one is stopped at the line of the first part of an "if",\n'> <'"elif", "case", "return", "while" compound statement or an assignment\n'> <'statement, one wants to eval is just the expression portion. For\n'> <'this, use eval?. Actually, any alias that ends in ? which is aliased\n'> <'to eval will do thie same thing.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**print** and **set autoeval**.'> ) } {(1)} {(_Dbg_complete_eval)} ) (CommandList children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:_Dbg_show_eval_rc) op:Equal spids:[112])] spids: [108] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_Dbg_show_eval_rc) op:Equal rhs:{(1)} spids:[115])] spids: [115] ) ] ) (FuncDef name: _Dbg_complete_eval body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:words) op:Equal spids:[133])] spids: [129] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:subcmds) op:Equal spids:[139])] spids: [137] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <' '>)} spids: [142] ) (assign_pair lhs: (LhsName name:words) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$COMP_LINE')}])} spids: [147] ) ] spids: [142] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: { (BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [163 169] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [161 176] ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [186 191] ) } right: {(SQ <'eval?'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:extracted) op:Equal spids:[208])] spids: [206] ) (C {(_Dbg_eval_extract_condition)} {(DQ ($ VSub_Name '$_Dbg_source_line'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ ($ VSub_Name '$extracted'))}])} spids: [218] ) ] spids: [218] ) ] spids: [16777215 203] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [{(DQ ($ VSub_Name '$_Dbg_source_line'))}] ) } spids: [229] ) ] spids: [229] ) ] spids: [226 237] ) ] spids: [16777215 179] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart)} spids: [243] ) ] spids: [243] ) ] spids: [240 248] ) ] spids: [126] ) spids: [122 125] ) (C {(complete)} {(-F)} {(_Dbg_complete_eval)} {(SQ <'eval?'>)}) (FuncDef name: _Dbg_do_eval body: (BraceGroup children: [ (SimpleCommand words: [{(builtin)} {(echo)} {(DQ ('. ') (${ VSub_Name _Dbg_libdir) (/dbg-set-d-vars.inc))}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_evalfile')} ) ] ) (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)}) ) spids: [291 300] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:source_line_save) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_source_line'))} spids: [317] ) ] spids: [315] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:highlight_save) op: Equal rhs: {($ VSub_Name '$_Dbg_set_highlight')} spids: [325] ) ] spids: [323] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_highlight) op: Equal rhs: {(SQ )} spids: [329] ) ] spids: [329] ) (C {(_Dbg_get_source_line)}) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:suffix) op:Equal spids:[344])] spids: [342] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:suffix) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_orig_cmd> suffix_op: (Slice begin: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name _Dbg_orig_cmd> prefix_op: VSub_Pound spids: [351 354] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [348 359] ) } spids: [347] ) ] spids: [347] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:source_line) op:Equal spids:[364])] spids: [362] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(SQ <'?'>)} right: {(DQ ($ VSub_Name '$suffix'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:extracted) op:Equal spids:[390])] spids: [388] ) (C {(_Dbg_eval_extract_condition)} {(DQ ($ VSub_Name '$_Dbg_source_line'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source_line) op: Equal rhs: {(DQ ($ VSub_Name '$extracted'))} spids: [400] ) ] spids: [400] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source_line_save) op: Equal rhs: {(DQ ($ VSub_Name '$extracted'))} spids: [406] ) ] spids: [406] ) ] spids: [16777215 385] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source_line) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_bash_command'))} spids: [415] ) ] spids: [415] ) ] spids: [412 421] ) (SimpleCommand words: [{(builtin)} {(echo)} {(DQ ($ VSub_Name '$source_line'))}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_evalfile')} ) ] ) (C {(_Dbg_msg)} {(DQ ('eval: ') (${ VSub_Name source_line))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_source_line) op: Equal rhs: {(DQ ($ VSub_Name '$source_line_save'))} spids: [448] ) ] spids: [448] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_set_highlight) op: Equal rhs: {($ VSub_Name '$_Dbg_highlight_save')} spids: [454] ) ] spids: [454] ) ] spids: [16777215 304] ) ] else_action: [ (SimpleCommand words: [{(builtin)} {(echo)} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_evalfile')} ) ] ) ] spids: [458 474] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$_Dbg_tty')}) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(.)} {($ VSub_Name '$_Dbg_evalfile')}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_Name '$_Dbg_tty')} ) ] ) ] spids: [16777215 489] ) ] else_action: [(C {(.)} {($ VSub_Name '$_Dbg_evalfile')})] spids: [500 508] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_rc) op: Equal rhs: {($ VSub_QMark '$?')} spids: [511] ) ] spids: [511] ) (AndOr ops: [Op_DAmp] children: [ (DParen child:(ArithVarRef name:_Dbg_show_eval_rc) spids:[515 520]) (C {(_Dbg_msg)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('? is ') ($ VSub_Name '$_Dbg_rc') ) } ) ] ) (C {(_Dbg_set_debugger_internal)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_cmd) op: Equal rhs: {(SQ <eval>)} spids: [544] ) ] spids: [544] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [268] ) spids: [264 267] ) (C {(_Dbg_alias_add)} {(SQ <ev>)} {(SQ <eval>)}) (C {(_Dbg_alias_add)} {(SQ <'ev?'>)} {(SQ <eval>)}) (C {(_Dbg_alias_add)} {(SQ <'eval?'>)} {(SQ <eval>)}) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:_Dbg_last_print_args) op:Equal rhs:{(SQ )} spids:[593])] spids: [591] ) (C {(_Dbg_help_add)} {(print)} { (SQ <'print EXPRESSION -- Print EXPRESSION.\n'> <'\n'> <'EXPRESSION is a string like you would put in a print statement.\n'> <'See also eval.\n'> <'\n'> <'The difference between eval and print. Suppose cmd has the value "ls".\n'> <'\n'> <'print $cmd # prints "ls"\n'> <'eval $cmd # runs an ls command\n'> ) } ) (FuncDef name: _Dbg_do_print body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_expr) op: Equal rhs: { (BracedVarSub token: <VSub_At '@'> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(DQ ($ VSub_Name '$_Dbg_last_print_args'))} ) spids: [626 632] ) } spids: [625] ) ] spids: [623] ) (Sentence child: (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:dq_expr) op:Equal spids:[637])] spids: [635] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dq_expr) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_esc_dq)} {(DQ ($ VSub_Name '$_Dbg_expr'))})] ) left_token: <Left_CommandSub '$('> spids: [641 647] ) } spids: [640] ) ] spids: [640] ) (C {(.)} {(${ VSub_Name _Dbg_libdir) (/dbg-set-d-vars.inc)}) (C {(eval)} {(DQ ('_Dbg_msg ') ($ VSub_Name '$_Dbg_expr'))}) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {($ VSub_QMark '$?')} spids: [670] ) ] spids: [666] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_last_print_args) op: Equal rhs: {(DQ ($ VSub_Name '$dq_expr'))} spids: [674] ) ] spids: [674] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$rc')}) ] spids: [620] ) spids: [616 619] ) (C {(_Dbg_alias_add)} {(SQ <pr>)} {(SQ <print>)}) ] )