replacement in undo.lua at line 39
+ assert(s, 'failed to snapshot operation for undo history')
replacement in undo.lua at line 43
[10.218]→[10.680:707](∅→∅) − assert(#State.lines > 0)
+ assert(#State.lines > 0, 'failed to snapshot operation for undo history')
replacement in undo.lua at line 69
[10.2268]→[10.2268:2288](∅→∅) + assert(false, ('unknown line mode %s'):format(line.mode))
replacement in undo.lua at line 83
[10.591]→[10.591:634](∅→∅) − assert(from.start_line == to.start_line)
+ assert(from.start_line == to.start_line, 'failed to patch undo operation')
replacement in undo.lua at line 87
[10.711]→[10.711:762](∅→∅) − assert(#to.lines == to.end_line-to.start_line+1)
+ assert(#to.lines == to.end_line-to.start_line+1, 'failed to patch undo operation')
replacement in undo.lua at line 94
− assert(from.start_line == to.start_line)
+ assert(from.start_line == to.start_line, 'failed to patch undo operation')
replacement in undo.lua at line 98
[10.176]→[10.176:227](∅→∅) − assert(#to.lines == to.end_line-to.start_line+1)
+ assert(#to.lines == to.end_line-to.start_line+1, 'failed to patch undo operation')
replacement in text.lua at line 15
− assert(#line_cache.screen_line_starting_pos >= 1)
+ assert(#line_cache.screen_line_starting_pos >= 1, 'line cache missing screen line info')
replacement in text.lua at line 138
− assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in text.lua at line 215
[10.122]→[10.2810:2865](∅→∅),
[10.2810]→[10.2810:2865](∅→∅) − assert(Text.le1(State.screen_top1, State.cursor1))
+ assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos))
replacement in text.lua at line 393
[10.816]→[10.3868:3925](∅→∅),
[10.3868]→[10.3868:3925](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in text.lua at line 419
[10.1922]→[10.1922:1956](∅→∅) − assert(screen_line_index > 1)
+ assert(screen_line_index > 1, 'bumped up against top screen line in line')
replacement in text.lua at line 436
[10.1280]→[10.5916:5973](∅→∅),
[10.5916]→[10.5916:5973](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in text.lua at line 438
− assert(State.cursor1.pos)
+ assert(State.cursor1.pos, 'cursor has no pos')
replacement in text.lua at line 512
[10.1135]→[10.8116:8150](∅→∅) − assert(State.cursor1.pos > 1)
+ assert(State.cursor1.pos > 1, 'bumped up against start of line')
edit in text.lua at line 546
[10.1013]→[10.1013:1036](∅→∅) replacement in text.lua at line 547
[10.1079]→[10.1079:1115](∅→∅) − assert(end_offset > start_offset)
+ assert(end_offset > start_offset, ('end_offset %d not > start_offset %d'):format(end_offset, start_offset))
replacement in text.lua at line 553
[10.2106]→[10.188:245](∅→∅),
[10.188]→[10.188:245](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in text.lua at line 586
[10.823]→[10.823:880](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in text.lua at line 611
[10.464]→[10.1642:1658](∅→∅) + assert(false, ('invalid pos %d'):format(loc1.pos))
replacement in text.lua at line 625
[7.1764]→[7.1764:1780](∅→∅) + assert(false, ('invalid pos %d'):format(loc1.pos))
replacement in text.lua at line 650
[10.2634]→[10.2634:2683](∅→∅) − assert(State.cursor1.line == #State.lines+1)
+ assert(State.cursor1.line == #State.lines+1, 'tried to ensure bottom line of file is text, but failed')
replacement in text.lua at line 682
[10.776]→[10.586:614](∅→∅),
[10.614]→[10.3409:3466](∅→∅) − assert(top2.line > 1)
− assert(State.lines[top2.line-1].mode == 'drawing')
+ assert(top2.line > 1, 'tried to snap cursor to buttom of screen but failed')
+ assert(State.lines[top2.line-1].mode == 'drawing', "expected a drawing but it's not")
replacement in text.lua at line 715
[10.86]→[10.5639:5673](∅→∅) − assert(my >= line_cache.starty)
+ assert(my >= line_cache.starty, 'failed to map y pixel to line')
replacement in text.lua at line 738
[10.1307]→[10.1307:1323](∅→∅) + assert(false, 'failed to map y pixel to line')
replacement in text.lua at line 804
[10.1164]→[10.149:165](∅→∅) + assert(false, 'failed to map x pixel to pos')
replacement in text.lua at line 835
[10.7860]→[10.7860:7876](∅→∅) + assert(false, 'failed to map x pixel to pos')
replacement in text.lua at line 866
[10.8167]→[10.8167:8195](∅→∅) − assert(result.screen_pos)
+ assert(result.screen_pos, 'failed to convert schema-1 coordinate to schema-2')
replacement in text.lua at line 908
[10.1124]→[10.1124:1141](∅→∅) + assert(result, "Text.offset returned nil; this is likely a failure to handle utf8")
replacement in source_undo.lua at line 39
[10.1384]→[10.1384:1396](∅→∅) + assert(s, 'failed to snapshot operation for undo history')
replacement in source_undo.lua at line 43
[10.1431]→[10.1431:1458](∅→∅) − assert(#State.lines > 0)
+ assert(#State.lines > 0, 'failed to snapshot operation for undo history')
replacement in source_undo.lua at line 68
[10.2209]→[10.2209:2252](∅→∅) − print(line.mode)
− assert(false)
+ assert(false, ('unknown line mode %s'):format(line.mode))
replacement in source_undo.lua at line 82
[10.2401]→[10.2401:2444](∅→∅) − assert(from.start_line == to.start_line)
+ assert(from.start_line == to.start_line, 'failed to patch undo operation')
replacement in source_undo.lua at line 86
[10.2521]→[10.2521:2572](∅→∅) − assert(#to.lines == to.end_line-to.start_line+1)
+ assert(#to.lines == to.end_line-to.start_line+1, 'failed to patch undo operation')
replacement in source_undo.lua at line 93
[10.2712]→[10.2712:2755](∅→∅) − assert(from.start_line == to.start_line)
+ assert(from.start_line == to.start_line, 'failed to patch undo operation')
replacement in source_undo.lua at line 97
[10.2837]→[10.2837:2888](∅→∅) − assert(#to.lines == to.end_line-to.start_line+1)
+ assert(#to.lines == to.end_line-to.start_line+1, 'failed to patch undo operation')
replacement in source_text.lua at line 20
[10.87430]→[10.255:307](∅→∅) − assert(#line_cache.screen_line_starting_pos >= 1)
+ assert(#line_cache.screen_line_starting_pos >= 1, 'line cache missing screen line info')
replacement in source_text.lua at line 212
[10.97835]→[10.7:64](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in source_text.lua at line 289
[10.102856]→[10.102856:102911](∅→∅) − assert(Text.le1(State.screen_top1, State.cursor1))
+ assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos))
replacement in source_text.lua at line 455
[10.109127]→[10.6890:6947](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in source_text.lua at line 481
[10.110541]→[10.110541:110575](∅→∅) − assert(screen_line_index > 1)
+ assert(screen_line_index > 1, 'bumped up against top screen line in line')
replacement in source_text.lua at line 498
[10.114836]→[10.8920:8977](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in source_text.lua at line 500
[10.114995]→[5.36:64](∅→∅) − assert(State.cursor1.pos)
+ assert(State.cursor1.pos, 'cursor has no pos')
replacement in source_text.lua at line 574
[10.120380]→[10.120380:120414](∅→∅) − assert(State.cursor1.pos > 1)
+ assert(State.cursor1.pos > 1, 'bumped up against start of line')
edit in source_text.lua at line 608
[10.122540]→[10.122540:122563](∅→∅) replacement in source_text.lua at line 609
[10.122606]→[10.122606:122642](∅→∅) − assert(end_offset > start_offset)
+ assert(end_offset > start_offset, ('end_offset %d not > start_offset %d'):format(end_offset, start_offset))
replacement in source_text.lua at line 615
[10.122747]→[10.3367:3424](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in source_text.lua at line 648
[10.123998]→[10.9868:9925](∅→∅) − assert(State.lines[State.cursor1.line].mode == 'text')
+ assert(State.lines[State.cursor1.line].mode == 'text', 'line is not text')
replacement in source_text.lua at line 673
[10.125056]→[10.125056:125072](∅→∅) + assert(false, ('invalid pos %d'):format(loc1.pos))
replacement in source_text.lua at line 687
[8.4230]→[8.4230:4246](∅→∅) + assert(false, ('invalid pos %d'):format(loc1.pos))
replacement in source_text.lua at line 712
[10.10959]→[10.10959:11008](∅→∅) − assert(State.cursor1.line == #State.lines+1)
+ assert(State.cursor1.line == #State.lines+1, 'tried to ensure bottom line of file is text, but failed')
replacement in source_text.lua at line 744
[10.11422]→[10.11422:11507](∅→∅) − assert(top2.line > 1)
− assert(State.lines[top2.line-1].mode == 'drawing')
+ assert(top2.line > 1, 'tried to snap cursor to buttom of screen but failed')
+ assert(State.lines[top2.line-1].mode == 'drawing', "expected a drawing but it's not")
replacement in source_text.lua at line 777
[10.130885]→[10.130885:130919](∅→∅) − assert(my >= line_cache.starty)
+ assert(my >= line_cache.starty, 'failed to map y pixel to line')
replacement in source_text.lua at line 800
[10.135357]→[10.135357:135373](∅→∅) + assert(false, 'failed to map y pixel to line')
replacement in source_text.lua at line 866
[10.138549]→[10.138549:138565](∅→∅) + assert(false, 'failed to map x pixel to pos')
replacement in source_text.lua at line 897
[10.139373]→[10.139373:139389](∅→∅) + assert(false, 'failed to map x pixel to pos')
replacement in source_text.lua at line 928
[10.140409]→[10.140409:140437](∅→∅) − assert(result.screen_pos)
+ assert(result.screen_pos, 'failed to convert schema-1 coordinate to schema-2')
replacement in source_text.lua at line 970
[10.142323]→[10.142323:142340](∅→∅) + assert(result, "Text.offset returned nil; this is likely a failure to handle utf8")
replacement in source_select.lua at line 36
[10.25073]→[10.25073:25104](∅→∅) − assert(maxl == line_index)
+ assert(maxl == line_index, ('maxl %d not equal to line_index %d'):format(maxl, line_index))
replacement in source_select.lua at line 39
[10.25144]→[10.25144:25175](∅→∅) − assert(minl == line_index)
+ assert(minl == line_index, ('minl %d not equal to line_index %d'):format(minl, line_index))
replacement in source_select.lua at line 42
[10.25203]→[10.25203:25251](∅→∅) − assert(minl == maxl and minl == line_index)
+ assert(minl == maxl and minl == line_index, ('minl %d, maxl %d and line_index %d are not all equal'):format(minl, maxl, line_index))
replacement in source_select.lua at line 130
[10.28832]→[10.28832:28854](∅→∅) + assert(minl < maxl, ('minl %d not < maxl %d'):format(minl, maxl))
replacement in source_select.lua at line 157
[10.29732]→[10.29732:29754](∅→∅) + assert(minl < maxl, ('minl %d not < maxl %d'):format(minl, maxl))
replacement in source_file.lua at line 66
[10.12869]→[10.12869:12886](∅→∅) + assert(line, 'drawing in file is incomplete')
replacement in source_file.lua at line 91
[10.14202]→[10.14202:14246](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in source_file.lua at line 125
[10.15474]→[10.15474:15518](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in source_file.lua at line 163
[10.16369]→[10.16369:16383](∅→∅) + assert(i, 'drawing in array is incomplete')
replacement in source_file.lua at line 189
[10.17716]→[10.17716:17760](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in source_edit.lua at line 161
[10.155429]→[10.602:776](∅→∅),
[10.776]→[10.155473:155530](∅→∅),
[10.155473]→[10.155473:155530](∅→∅),
[10.155530]→[10.6410:6506](∅→∅),
[10.6506]→[10.155670:155694](∅→∅),
[10.155670]→[10.155670:155694](∅→∅) − if #State.lines ~= #State.line_cache then
− print(('line_cache is out of date; %d when it should be %d'):format(#State.line_cache, #State.lines))
− assert(false)
− end
− if not Text.le1(State.screen_top1, State.cursor1) then
− print(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)
− assert(false)
− end
+ assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines))
+ assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos))
replacement in source_edit.lua at line 206
[10.21468]→[10.21468:21511](∅→∅) − print(line.mode)
− assert(false)
+ assert(false, ('unknown line mode %s'):format(line.mode))
replacement in select.lua at line 36
[10.45604]→[10.45604:45635](∅→∅) − assert(maxl == line_index)
+ assert(maxl == line_index, ('maxl %d not equal to line_index %d'):format(maxl, line_index))
replacement in select.lua at line 39
[10.45675]→[10.45675:45706](∅→∅) − assert(minl == line_index)
+ assert(minl == line_index, ('minl %d not equal to line_index %d'):format(minl, line_index))
replacement in select.lua at line 42
[10.45734]→[10.45734:45782](∅→∅) − assert(minl == maxl and minl == line_index)
+ assert(minl == maxl and minl == line_index, ('minl %d, maxl %d and line_index %d are not all equal'):format(minl, maxl, line_index))
replacement in select.lua at line 130
[10.47652]→[10.47652:47674](∅→∅) + assert(minl < maxl, ('minl %d not < maxl %d'):format(minl, maxl))
replacement in select.lua at line 157
[10.48425]→[10.48425:48447](∅→∅) + assert(minl < maxl, ('minl %d not < maxl %d'):format(minl, maxl))
replacement in search.lua at line 142
[10.52011]→[10.52011:52037](∅→∅) − assert (endpos >= #pat)
+ assert (endpos >= #pat, ('rfind: endpos %d should be >= #pat %d at this point'):format(endpos, #pat))
replacement in log_browser.lua at line 78
[6.148]→[10.194820:194864](∅→∅),
[10.194820]→[10.194820:194864](∅→∅) − assert(#State.lines == #State.line_cache)
+ assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines))
replacement in log_browser.lua at line 98
[10.358]→[10.195959:195997](∅→∅),
[10.195959]→[10.195959:195997](∅→∅) − else assert(line.section_end)
+ else assert(line.section_end, "log line has a section name, but it's neither the start nor end of a section")
replacement in geom.lua at line 41
[10.12514]→[10.12514:12554](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in file.lua at line 58
[10.16435]→[10.16435:16452](∅→∅) + assert(line, 'drawing in file is incomplete')
replacement in file.lua at line 83
[10.244]→[10.244:288](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in file.lua at line 117
[10.394]→[10.394:438](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in file.lua at line 153
[10.2092]→[10.2092:2106](∅→∅) + assert(i, 'drawing in array is incomplete')
replacement in file.lua at line 179
[10.3157]→[10.3157:3201](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in edit.lua at line 83
[10.3184]→[10.97073:97108](∅→∅) − current_drawing_mode = 'line',
+ current_drawing_mode = 'line', -- one of the available shape modes
replacement in edit.lua at line 160
[10.1023]→[10.642:816](∅→∅),
[10.816]→[10.988:1165](∅→∅),
[10.1895]→[10.988:1165](∅→∅) − if #State.lines ~= #State.line_cache then
− print(('line_cache is out of date; %d when it should be %d'):format(#State.line_cache, #State.lines))
− assert(false)
− end
− if not Text.le1(State.screen_top1, State.cursor1) then
− print(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)
− assert(false)
− end
+ assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines))
+ assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos))
replacement in edit.lua at line 201
[10.5492]→[10.1067:1110](∅→∅) − print(line.mode)
− assert(false)
+ assert(false, ('unknown line mode %s'):format(line.mode))
edit in drawing.lua at line 36
[10.935]→[10.935:953](∅→∅) replacement in drawing.lua at line 115
[10.1687]→[10.1687:1727](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in drawing.lua at line 208
[10.4021]→[10.4021:4061](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in drawing.lua at line 239
[10.4193]→[10.1263:1301](∅→∅),
[10.1301]→[10.4225:4243](∅→∅),
[10.129908]→[10.4225:4243](∅→∅),
[10.4225]→[10.4225:4243](∅→∅) − print(State.current_drawing_mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(State.current_drawing_mode))
replacement in drawing.lua at line 254
[10.179]→[10.218:254](∅→∅),
[9.207]→[10.218:254](∅→∅),
[10.225]→[10.218:254](∅→∅),
[10.2924]→[10.218:254](∅→∅),
[10.130025]→[10.218:254](∅→∅),
[10.218]→[10.218:254](∅→∅) − assert(drawing.mode == 'drawing')
+ assert(drawing.mode == 'drawing', 'Drawing.update: line is not a drawing')
replacement in drawing.lua at line 341
[10.1574]→[10.1574:1621](∅→∅) − assert(#drawing.pending.vertices <= 2)
+ assert(#drawing.pending.vertices <= 2, 'Drawing.mouse_release: rectangle has too many pending vertices')
replacement in drawing.lua at line 356
[10.2272]→[10.2272:2319](∅→∅) − assert(#drawing.pending.vertices <= 2)
+ assert(#drawing.pending.vertices <= 2, 'Drawing.mouse_release: square has too many pending vertices')
replacement in drawing.lua at line 385
[10.6342]→[10.3819:3855](∅→∅),
[10.3855]→[10.6384:6406](∅→∅),
[10.6384]→[10.6384:6406](∅→∅) − print(drawing.pending.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(drawing.pending.mode))
replacement in drawing.lua at line 543
[10.11016]→[10.11016:11040](∅→∅) + assert(idx, 'point to delete is not in vertices')
edit in drawing.lua at line 639
[10.19849]→[10.19849:19873](∅→∅) edit in drawing.lua at line 656
[10.20452]→[10.20452:20476](∅→∅) replacement in drawing.lua at line 692
[10.21459]→[10.21459:21499](∅→∅) − print(shape.mode)
− assert(false)
+ assert(false, ('unknown drawing mode %s'):format(shape.mode))
replacement in drawing.lua at line 697
[10.230]→[10.230:265](∅→∅) − assert(shape.mode == 'freehand')
+ assert(shape.mode == 'freehand', 'can only smoothen freehand shapes')
replacement in commands.lua at line 139
+ assert(index, 'file missing from manifest')