(CommandList children: [ (C {(typeset)} {(Lit_VarLike "_Dbg_bogus_file=") (SQ <" A really bogus file">)}) (C {(typeset)} {(-A)} {(_Dbg_file2canonic)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_Dbg_file2canonic) op: Equal rhs: {(ArrayLiteralPart)} spids: [75] ) ] spids: [75] ) (C {(typeset)} {(-A)} {(_Dbg_fileinfo)}) (C {(typeset)} {(-A)} {(_Dbg_filenames)}) (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 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)}) ] op_id: Op_DAmp ) (C {(typeset)} {(-i)} {(Lit_VarLike "line_number=") ($ VSub_Number "$1")}) (C {(typeset)} {(Lit_VarLike "filename=") (DQ ($ VSub_Number "$2"))}) (C {(typeset)} {(-i)} {(max_line)}) (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: [-1 208] ) ] spids: [-1 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 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] ) ] op_id: Op_DAmp ) (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: [-1 243] ) ] spids: [-1 288] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [139] ) spids: [135 138] ) (FuncDef name: _Dbg_file_not_read_in body: (BraceGroup children: [ (C {(typeset)} {(-r)} {(Lit_VarLike "filename=") (CommandSubPart command_list: (CommandList children: [(C {(_Dbg_adjust_filename)} {(DQ ($ VSub_Number "$1"))})] ) left_token: <Left_CommandSub "$("> spids: [313 319] ) } ) (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 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)}) ] op_id: Op_DAmp ) (AndOr children: [ (C {(_Dbg_set_source_array_var)} {(DQ ($ VSub_Number "$1"))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark "$?")} ) ] op_id: Op_DPipe ) (C {(typeset)} {(-r)} {(Lit_VarLike "line_count_cmd=") (DQ ("line_count=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{#") ($ VSub_Name "$_Dbg_source_array_var") ("[@]}") ) } ) (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") ("]}") ) } ) (C {(typeset)} {(-i)} {(Lit_VarLike "last_not_null=") (0)}) (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: [ (C {(typeset)} {(-i)} {(lineno)}) (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: [-1 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] ) (C {(typeset)} {(filename)}) (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: [-1 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 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")} ) ) ] op_id: Op_DAmp ) 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: [-1 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: [-1 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: [-1 710] ) ] spids: [-1 731] ) (C {(typeset)} {(Lit_VarLike "find_file=") (DQ ($ VSub_Number "$1"))}) (C {(typeset)} {(try_find_file)}) (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: [-1 760] ) ] spids: [-1 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: [-1 841] ) ] spids: [-1 856] ) ] spids: [-1 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: [-1 923] ) ] spids: [-1 938] ) ] spids: [859 881] ) ] else_action: [ (C {(typeset)} {(-i)} {(Lit_VarLike "n=") (BracedVarSub token: <VSub_Name _Dbg_dir> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [953 959] ) } ) (C {(typeset)} {(-i)} {(i)}) (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: [ (C {(typeset)} {(Lit_VarLike "basename=") (DQ (BracedVarSub token: <VSub_Name _Dbg_dir> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [1001 1006] ) ) } ) (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: [-1 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: [-1 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: [-1 1083] ) ] spids: [-1 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: [ (C {(typeset)} {(filename)}) (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: [-1 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] ) (C {(typeset)} {(-i)} {(Lit_VarLike "line_count=") (0)}) (Sentence child:(C {(typeset)} {(-i)} {(next)}) 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: [-1 1233] ) ] spids: [-1 1245] ) (C {(typeset)} {(filevar)}) (C {(typeset)} {(source_array)}) (C {(typeset)} {(-ri)} {(Lit_VarLike "NOT_SMALLFILE=") (1000)}) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr 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"))} ) ) ] op_id: Op_DPipe ) 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: [-1 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: [ (C {(typeset)} {(-r)} {(Lit_VarLike "progress_prefix=") (DQ ("Reading ") ($ VSub_Name "$filename")) } ) (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")) } ) (C {(typeset)} {(-ri)} {(Lit_VarLike "BIGFILE=") (30000)}) (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [{(wc)} {(-l)}] redirects: [ (Redir op_id: Redir_Less fd: -1 arg_word: {(/dev/null)} spids: [1387] ) (Redir op_id: Redir_Great fd: -1 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: -1 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: [-1 1433] ) ] spids: [-1 1446] ) ] spids: [-1 1399] ) ] spids: [-1 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: -1 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: [-1 1530] ) ] spids: [-1 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: -1 arg_word: {(DQ ($ VSub_Name "$tempfile"))} spids: [1619] ) ] ) ] spids: [-1 1581] ) ] spids: [-1 1626] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_r child: {($ VSub_Name "$tempfile")} ) ) (C {(rm)} {($ VSub_Name "$tempfile")}) ] op_id: Op_DAmp ) ] spids: [-1 1506] ) ] spids: [-1 1644] ) (AndOr children: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:line_count) right: (ArithVarRef name:BIGFILE) ) ) (C {(_Dbg_progess_done)}) ] op_id: Op_DAmp ) ] spids: [-1 1335] ) ] else_action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})] spids: [1662 1670] ) ] spids: [1310 1673] ) (C {(typeset)} {(-r)} {(Lit_VarLike "line_count_cmd=") (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] ) ("}") ) } ) (C {(eval)} {($ VSub_Name "$line_count_cmd")}) (AndOr children: [ (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:line_count) right: (ArithVarRef name:NOT_SMALLFILE) ) ) (C {(_Dbg_msg)} {(DQ (done.))}) ] op_id: Op_DAmp ) (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 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)}) ] op_id: Op_DAmp ) (C {(typeset)} {(Lit_VarLike "filename=") (DQ ($ VSub_Number "$1"))}) (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"))}) (C {(typeset)} {(Lit_VarLike "rc=") ($ VSub_QMark "$?")}) (C {(set)} {(Lit_Other "+") (xv)}) (AndOr 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")} ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$fullname")}) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(_Dbg_set_source_array_var)} {(DQ ($ VSub_Name "$filename"))}) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark "$?")} ) ] op_id: Op_DPipe ) ] spids: [-1 1803] ) ] spids: [-1 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 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)}) ] op_id: Op_DAmp ) (C {(typeset)} {(Lit_VarLike "filename=") (DQ ($ VSub_Number "$1"))}) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$filename")}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] op_id: Op_DAmp ) (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 children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$fullname")}) ) (AndOr children: [ (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] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$fullname")}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] op_id: Op_DAmp ) (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: False do_prefix: False do_suffix: False ) spids: [2025 2031] ) ) } spids: [2023] ) ] spids: [2023] ) ] spids: [-1 2020] ) ] spids: [-1 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 children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$_Dbg_source_array_var")}) ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] op_id: Op_DAmp ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [1894] ) spids: [1890 1893] ) ] )