(CommandList children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:_Dbg_bogus_file) op: Equal rhs: {(SQ <' A really bogus file'>)} spids: [60] ) ] spids: [58] ) (Assignment keyword: Assign_Typeset flags: [-A] pairs: [(assign_pair lhs:(LhsName name:_Dbg_file2canonic) op:Equal spids:[73])] spids: [69] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_file2canonic) op: Equal rhs: {(ArrayLiteralPart)} spids: [75] ) ] spids: [75] ) (Assignment keyword: Assign_Typeset flags: [-A] pairs: [(assign_pair lhs:(LhsName name:_Dbg_fileinfo) op:Equal spids:[87])] spids: [83] ) (Assignment keyword: Assign_Typeset flags: [-A] pairs: [(assign_pair lhs:(LhsName name:_Dbg_filenames) op:Equal spids:[100])] spids: [96] ) (FuncDef name: _Dbg_filecache_reset body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_filenames) op: Equal rhs: {(ArrayLiteralPart)} spids: [110] ) ] spids: [110] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_fileinfo) op: Equal rhs: {(ArrayLiteralPart)} spids: [115] ) ] spids: [115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_file2canonic) op: Equal rhs: {(ArrayLiteralPart)} spids: [120] ) ] spids: [120] ) ] spids: [107] ) spids: [103 106] ) (C {(_Dbg_filecache_reset)}) (FuncDef name: _Dbg_check_line body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 2)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:line_number) op: Equal rhs: {($ VSub_Number '$1')} spids: [164] ) ] spids: [160] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [170] ) ] spids: [168] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:max_line) op:Equal spids:[180])] spids: [176] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:max_line) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_get_maxline)} {(DQ ($ VSub_Name '$filename'))})] ) left_token: <Left_CommandSub '$('> spids: [184 190] ) } spids: [183] ) ] spids: [183] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_QMark '$?')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('internal error getting number of lines in ') ($ VSub_Name '$filename'))} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 208] ) ] spids: [16777215 224] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:line_number) right: (ArithVarRef name:max_line) ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DParen child:(ArithVarRef name:_Dbg_set_basename)) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (BracedVarSub token: <VSub_Name filename> suffix_op: (StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [256 261] ) } spids: [255] ) ] spids: [255] ) ] ) (C {(_Dbg_errmsg)} {(DQ ('Line ') ($ VSub_Name '$line_number') (' is too large.'))} { (DQ ('File ') ($ VSub_Name '$filename') (' has only ') ($ VSub_Name '$max_line') (' lines.') ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 243] ) ] spids: [16777215 288] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [139] ) spids: [135 138] ) (FuncDef name: _Dbg_file_not_read_in body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_adjust_filename)} {(DQ ($ VSub_Number '$1'))})] ) left_token: <Left_CommandSub '$('> spids: [313 319] ) } spids: [312] ) ] spids: [308] ) (C {(_Dbg_errmsg)} { (DQ ('File ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$filename') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' not found in read-in files.') ) } ) (C {(_Dbg_errmsg)} {(DQ ("See 'info files' for a list of known files and"))}) (C {(_Dbg_errmsg)} {(DQ ("'load' to read in a file."))}) ] spids: [305] ) spids: [301 304] ) (FuncDef name: _Dbg_get_maxline body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(-1)}) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(_Dbg_set_source_array_var)} {(DQ ($ VSub_Number '$1'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:line_count_cmd) op: Equal rhs: { (DQ ('line_count=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{#') ($ VSub_Name '$_Dbg_source_array_var') ('[@]}') ) } spids: [397] ) ] spids: [393] ) (C {(eval)} {($ VSub_Name '$line_count_cmd')}) (C {(eval)} { (DQ ('typeset last_line; last_line=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') (${ VSub_Name _Dbg_source_array_var) ('[') ($ VSub_Name '$line_count') (']}') ) } ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:last_not_null) op:Equal rhs:{(0)} spids:[443])] spids: [439] ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:line_count) right: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:line_count) right: (ArithVarRef name:last_line_is_null) ) ) ) (C {(echo)} {($ VSub_Name '$line_count')}) (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')}) ] spids: [359] ) spids: [355 358] ) (FuncDef name: _Dbg_get_source_line body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:lineno) op:Equal spids:[497])] spids: [493] ) (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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: {($ VSub_Name '$_Dbg_frame_last_lineno')} spids: [517] ) ] spids: [517] ) ] spids: [16777215 514] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lineno) op: Equal rhs: {($ VSub_Number '$1')} spids: [524] ) ] spids: [524] ) (C {(shift)}) ] spids: [521 531] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal spids:[536])] spids: [534] ) (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: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_frame_last_filename'))} spids: [557] ) ] spids: [557] ) ] spids: [16777215 554] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [566] ) ] spids: [566] ) ] spids: [563 572] ) (C {(_Dbg_readin_if_new)} {(DQ ($ VSub_Name '$filename'))}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_set_highlight')} ) ) (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_highlight_array_var')} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (DQ ('typeset -i count=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{#') ($ VSub_Name '$_Dbg_highlight_array_var') ('[@]}') ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithVarRef name:count)) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (DQ ('_Dbg_source_line=') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('{') ($ VSub_Name '$_Dbg_highlight_array_var') ('[lineno]}') ) } ) ] spids: [16777215 628] ) ] else_action: [ (C {(eval)} { (DQ ('_Dbg_source_line=') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('{') ($ VSub_Name '$_Dbg_source_array_var') ('[') ($ VSub_Name '$lineno') (']}') ) } ) ] spids: [642 658] ) ] spids: [16777215 603] ) ] else_action: [ (C {(eval)} { (DQ ('_Dbg_source_line=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{') ($ VSub_Name '$_Dbg_source_array_var') ('[') ($ VSub_Name '$lineno') (']}') ) } ) ] spids: [661 677] ) ] spids: [490] ) spids: [486 489] ) (FuncDef name: _Dbg_is_file 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: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('Internal debug error _Dbg_is_file(): null file to find'))}) (C {(echo)} {(SQ )}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 710] ) ] spids: [16777215 731] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:find_file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [736] ) ] spids: [734] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:try_find_file) op:Equal spids:[744])] spids: [742] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$find_file')}) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_errmsg)} {(DQ ('Internal debug error _Dbg_is_file(): file argument null'))} ) (C {(echo)} {(SQ )}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 760] ) ] spids: [16777215 781] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name find_file> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [789 795] ) } right: {(SQ </>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:try_find_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} {(DQ ($ VSub_Name '$find_file'))}) ] ) left_token: <Left_CommandSub '$('> spids: [815 821] ) } spids: [814] ) ] spids: [814] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name _Dbg_filenames> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$try_find_file')}) ) spids: [830 835] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$try_find_file'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 841] ) ] spids: [16777215 856] ) ] spids: [16777215 807] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name find_file> suffix_op: (Slice begin: (ArithWord w:{(Lit_Digits 0)}) length: (ArithWord w:{(Lit_Digits 1)}) ) spids: [863 869] ) } right: {(SQ <.>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:try_find_file) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_expand_filename)} { (DQ (${ VSub_Name _Dbg_init_cwd) (/) ($ VSub_Name '$find_file') ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [889 899] ) } spids: [888] ) ] spids: [888] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name _Dbg_filenames> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$try_find_file')}) ) spids: [912 917] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$try_find_file'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 923] ) ] spids: [16777215 938] ) ] spids: [859 881] ) ] else_action: [ (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_dir> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [953 959] ) } spids: [952] ) ] spids: [948] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[966])] spids: [962] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithVarRef name:n) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name _Dbg_dir> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1001 1006] ) ) } spids: [999] ) ] spids: [997] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$basename')} right: {(SQ <'\\$cdir'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: {($ VSub_Name '$_Dbg_cdir')} spids: [1029] ) ] spids: [1029] ) ] spids: [16777215 1026] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$basename')} right: {(SQ <'\\$cwd'>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:basename) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub '$('> spids: [1053 1055] ) } spids: [1052] ) ] spids: [1052] ) ] spids: [1033 1049] ) ] spids: [16777215 1058] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:try_find_file) op: Equal rhs: {(DQ ($ VSub_Name '$basename') (/) ($ VSub_Name '$find_file'))} spids: [1061] ) ] spids: [1061] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_f child: {(DQ ($ VSub_Name '$try_find_file'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ($ VSub_Name '$try_find_file'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 1083] ) ] spids: [16777215 1098] ) ] spids: [994 1101] ) ) ] spids: [941 1104] ) (C {(echo)} {(SQ )}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [692] ) spids: [688 691] ) (FuncDef name: _Dbg_readin body: (BraceGroup children: [ (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:filename) op:Equal spids:[1144])] spids: [1142] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1163] ) ] spids: [1163] ) ] spids: [16777215 1160] ) ] else_action: [ (C {(_Dbg_frame_file)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Name '$_Dbg_frame_filename'))} spids: [1175] ) ] spids: [1175] ) ] spids: [1169 1181] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:line_count) op:Equal rhs:{(0)} spids:[1189])] spids: [1185] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:next) op:Equal spids:[1198])] spids: [1194] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:next) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_filenames> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [1203 1209] ) } spids: [1202] ) ] spids: [1202] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_source_array_var) op: Equal rhs: {(DQ (_Dbg_source_) (${ VSub_Name next))} spids: [1212] ) ] spids: [1212] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_set_highlight')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_highlight_array_var) op: Equal rhs: {(DQ (_Dbg_highlight_) (${ VSub_Name next))} spids: [1236] ) ] spids: [1236] ) ] spids: [16777215 1233] ) ] spids: [16777215 1245] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:filevar) op:Equal spids:[1251])] spids: [1249] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:source_array) op:Equal spids:[1256])] spids: [1254] ) (Assignment keyword: Assign_Typeset flags: [-ri] pairs: [ (assign_pair lhs: (LhsName name:NOT_SMALLFILE) op: Equal rhs: {(1000)} spids: [1263] ) ] spids: [1259] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DPipe] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$filename')}) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$filename')} right: {(DQ ($ VSub_Name '$_Dbg_bogus_file'))} ) ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(eval)} { (DQ (${ VSub_Name _Dbg_source_array_var) ('[0]=') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$Dbg_EXECUTION_STRING') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ) } ) ] spids: [16777215 1294] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullname) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(_Dbg_resolve_expand_filename)} {(DQ ($ VSub_Name '$filename'))}) ] ) left_token: <Left_CommandSub '$('> spids: [1314 1320] ) } spids: [1313] ) ] spids: [1313] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_r child:{($ VSub_Name '$fullname')}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:progress_prefix) op: Equal rhs: {(DQ ('Reading ') ($ VSub_Name '$filename'))} spids: [1342] ) ] spids: [1338] ) (C {(_Dbg_file2canonic) (Lit_Other '[') ($ VSub_Name '$filename') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$fullname')) } ) (C {(_Dbg_file2canonic) (Lit_Other '[') ($ VSub_Name '$fullname') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$fullname')) } ) (Assignment keyword: Assign_Typeset flags: [-ri] pairs: [ (assign_pair lhs: (LhsName name:BIGFILE) op: Equal rhs: {(30000)} spids: [1377] ) ] spids: [1373] ) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(wc)} {(-l)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(/dev/null)} spids: [1387] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1391] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [1394] ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:line_count) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(wc)} {(-l)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ (${ VSub_Name fullname))} spids: [1408] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1403 1415] ) } spids: [1402] ) ] spids: [1402] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:line_count) right: (ArithVarRef name:NOT_SMALLFILE) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_msg_nocr)} {(DQ (${ VSub_Name progress_prefix) (' '))}) ] spids: [16777215 1433] ) ] spids: [16777215 1446] ) ] spids: [16777215 1399] ) ] spids: [16777215 1449] ) (SimpleCommand words: [ {(builtin)} {(readarray)} {(-t)} {(-O)} {(1)} {(-c)} {($ VSub_Name '$BIGFILE')} {(-C)} { (DQ ('_Dbg_progess_show ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (${ VSub_Name progress_prefix) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (${ VSub_Name line_count) ) } {($ VSub_Name '$_Dbg_source_array_var')} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$fullname'))} spids: [1487] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_set_highlight')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opts) op: Equal rhs: {(DQ ('--bg=') (${ VSub_Name _Dbg_set_highlight))} spids: [1509] ) ] spids: [1509] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_set_style')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:opts) op: Equal rhs: {(DQ ('--style=') (${ VSub_Name _Dbg_set_style))} spids: [1533] ) ] spids: [1533] ) ] spids: [16777215 1530] ) ] spids: [16777215 1542] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:highlight_cmd) op: Equal rhs: { (DQ (${ VSub_Name _Dbg_libdir) ('/lib/term-highlight.py ') ($ VSub_Name '$opts') (' ') ($ VSub_Name '$fullname') ) } spids: [1545] ) ] spids: [1545] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tempfile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{($ VSub_Name '$highlight_cmd')}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1561] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1558 1563] ) } spids: [1557] ) ] spids: [1557] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithWord w:{($ VSub_QMark '$?')}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(builtin)} {(readarray)} {(-t)} {(-O)} {(1)} {(-c)} {($ VSub_Name '$BIGFILE')} {(-C)} { (DQ ('_Dbg_progess_show ') (EscapedLiteralPart token: <Lit_EscapedChar '\\"'> ) (${ VSub_Name progress_prefix) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ') (${ VSub_Name line_count) ) } {($ VSub_Name '$_Dbg_highlight_array_var')} ] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$tempfile'))} spids: [1619] ) ] ) ] spids: [16777215 1581] ) ] spids: [16777215 1626] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_r child: {($ VSub_Name '$tempfile')} ) ) (C {(rm)} {($ VSub_Name '$tempfile')}) ] ) ] spids: [16777215 1506] ) ] spids: [16777215 1644] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:line_count) right: (ArithVarRef name:BIGFILE) ) ) (C {(_Dbg_progess_done)}) ] ) ] spids: [16777215 1335] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1662 1670] ) ] spids: [1310 1673] ) (Assignment keyword: Assign_Typeset flags: [-r] pairs: [ (assign_pair lhs: (LhsName name:line_count_cmd) op: Equal rhs: { (DQ ('line_count=') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{#') (BracedVarSub token: <VSub_Name _Dbg_source_array_var> bracket_op: (WholeArray op_id:Lit_At) spids: [1686 1691] ) ('}') ) } spids: [1681] ) ] spids: [1677] ) (C {(eval)} {($ VSub_Name '$line_count_cmd')}) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:line_count) right: (ArithVarRef name:NOT_SMALLFILE) ) ) (C {(_Dbg_msg)} {(DQ (done.))}) ] ) (Sentence child: (C {(_Dbg_filenames) (Lit_Other '[') ($ VSub_Name '$fullname') (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$_Dbg_source_array_var') } ) terminator: <Op_Semi ';'> ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1139] ) spids: [1135 1138] ) (FuncDef name: _Dbg_readin_if_new body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1776] ) ] spids: [1774] ) (C {(_Dbg_set_source_array_var)} {(DQ ($ VSub_Name '$filename'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name '$fullname'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_Dbg_readin)} {(DQ ($ VSub_Name '$filename'))}) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:rc) op: Equal rhs: {($ VSub_QMark '$?')} spids: [1815] ) ] spids: [1813] ) (C {(set)} {(Lit_Other '+') (xv)}) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_QMark '$?')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name '$rc')} ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$fullname')}) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(_Dbg_set_source_array_var)} {(DQ ($ VSub_Name '$filename'))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] ) ] spids: [16777215 1803] ) ] spids: [16777215 1871] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1753] ) spids: [1749 1752] ) (FuncDef name: _Dbg_set_source_array_var body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset pairs: [ (assign_pair lhs: (LhsName name:filename) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1917] ) ] spids: [1915] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$filename')}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullname) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_file2canonic> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$filename')})) spids: [1939 1944] ) } spids: [1938] ) ] spids: [1938] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$fullname')}) ) (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name _Dbg_filenames> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$filename')})) spids: [1961 1966] ) } ) ) (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fullname) op: Equal rhs: {(DQ ($ VSub_Name '$filename'))} spids: [1975] ) ] spids: [1975] ) ] spids: [1972] ) ] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$fullname')}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_source_array_var) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_filenames> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$fullname')})) spids: [2000 2005] ) } spids: [1999] ) ] spids: [1999] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name '$_Dbg_set_highlight')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_highlight_array_var) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name _Dbg_source_array_var> suffix_op: (PatSub pat: {(_Dbg_source_)} replace: {(_Dbg_highlight_)} do_all: F do_prefix: F do_suffix: F ) spids: [2025 2031] ) ) } spids: [2023] ) ] spids: [2023] ) ] spids: [16777215 2020] ) ] spids: [16777215 2035] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_source_array_var) op: Equal rhs: { (BracedVarSub token: <VSub_Name _Dbg_filenames> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$fullname')})) spids: [2039 2044] ) } spids: [2038] ) ] spids: [2038] ) (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$_Dbg_source_array_var')}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1894] ) spids: [1890 1893] ) ] )