(CommandList children: [ (C {(typeset)} {(Lit_VarLike "_Dbg_evalfile=") (CommandSubPart command_list: (CommandList children:[(C {(_Dbg_tempname)} {(eval)})]) left_token: <Left_CommandSub "$("> spids: [67 71] ) } ) (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)} ) (Sentence child:(C {(typeset)} {(-i)} {(_Dbg_show_eval_rc)}) 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:(C {(typeset)} {(-a)} {(words)}) terminator:<Op_Semi ";">) (C {(typeset)} {(subcmds)}) (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)}) ) ) 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: [ (C {(typeset)} {(extracted)}) (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: [-1 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: [-1 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_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$_Dbg_evalfile")} spids: [284] ) ] ) (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: <Op_Semi ";"> ) ] action: [ (C {(typeset)} {(Lit_VarLike "source_line_save=") (DQ ($ VSub_Name "$_Dbg_source_line"))} ) (C {(typeset)} {(Lit_VarLike "highlight_save=") ($ VSub_Name "$_Dbg_set_highlight")} ) (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)}) (C {(typeset)} {(suffix)}) (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] ) (C {(typeset)} {(source_line)}) (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: [ (C {(typeset)} {(extracted)}) (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: [-1 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_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$_Dbg_evalfile")} spids: [433] ) ] ) (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: [-1 304] ) ] else_action: [ (SimpleCommand words: [{(builtin)} {(echo)} {(DQ ($ VSub_At "$@"))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$_Dbg_evalfile")} spids: [469] ) ] ) ] 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_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$_Dbg_tty")} spids: [496] ) ] ) ] spids: [-1 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 children: [ (DParen child:(ArithVarRef name:_Dbg_show_eval_rc)) (C {(_Dbg_msg)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("? is ") ($ VSub_Name "$_Dbg_rc") ) } ) ] op_id: Op_DAmp ) (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>)}) (C {(typeset)} {(Lit_VarLike "_Dbg_last_print_args=") (SQ )}) (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: [ (C {(typeset)} {(Lit_VarLike "_Dbg_expr=") (BracedVarSub token: <VSub_At "@"> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(DQ ($ VSub_Name "$_Dbg_last_print_args"))} ) spids: [626 632] ) } ) (Sentence child:(C {(typeset)} {(dq_expr)}) 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"))}) (C {(typeset)} {(-i)} {(Lit_VarLike "rc=") ($ VSub_QMark "$?")}) (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>)}) ] )