resolve conflicts

akkartik
Feb 5, 2024, 1:37 AM
MBAJPTDJ4KHWACEHWYGCFMHPQYM6FQKCSIIDKWCE765UI3VTDMIAC

Dependencies

  • [2] TOXPJJYY resolve conflicts
  • [3] FHNPQBLK more carefully pass the 'key' arg around
  • [4] JUU6KXPC bugfix: don't clear selection on M-arrow
  • [5] OJKKS74M fix yet another place
  • [6] ZLJYLPOT Merge lines.love
  • [7] VHQCNMAR several more modules
  • [8] VZJHGWSP Merge lines.love
  • [9] 2L5MEZV3 experiment: new edit namespace
  • [10] 2JLVAYHB start decoupling editor tests from App
  • [11] Z3BQO2RK typo
  • [12] FFBIY74N bugfix: 'escape' to cancel a stroke
  • [13] LNUHQOGH start passing in Editor_state explicitly
  • [14] 3XNFQDDN Merge lines.love
  • [15] 6VJTQKW7 start supporting LÖVE v12
  • [16] PX7DDEMO autosave slightly less aggressively
  • [17] ORRSP7FV deduce test names on failures
  • [18] B4FAIVRA Merge lines.love
  • [19] 42LVB4DE test: naming a point
  • [20] AYX33NBC Merge lines.love
  • [21] N2NUGNN4 include a brief reference enabling many useful apps
  • [22] BJ5X5O4A let's prevent the text cursor from ever getting on a drawing
  • [23] TVCPXAAU rename
  • [24] JOPVPUSA editing source code from within the app
  • [25] KKMFQDR4 editing source code from within the app
  • [26] APYPFFS3 call edit rather than App callbacks in tests
  • [27] 4EGQRXDA bugfix: naming points
  • [28] KMSL74GA support selections in the source editor
  • [29] TGZAJUEF bring back a set of constants
  • [30] VXORMHME delete experimental REPL
  • [31] FS2ITYYH record a known issue
  • [32] APX2PY6G stop tracking wallclock time
  • [33] 6LJZN727 handle chords
  • [34] 6SMGKYDR .
  • [35] 2CK5QI7W make love event names consistent
  • [36] MU2HIRR6 Merge lines.love
  • [37] 4AXV2HG4 all pending manual tests done!
  • [38] CE4LZV4T drop last couple of manual tests
  • [39] BULPIBEG beginnings of a module for the text editor
  • [40] UYCVUHI5 Merge lines.love
  • [41] TFUNIT6M resolve conflicts
  • [42] XX7G2FFJ intermingle freehand line drawings with text
  • [43] D4B52CQ2 Merge lines.love
  • [44] 4YDBYBA4 clean up memory leak experiments
  • [45] D2GCFTTT clean up repl functionality
  • [46] RZKXJYFK switch a bunch of tests to textinput events
  • [47] R2ASHK5C fix a bad merge
  • [48] RAXUQQ6Z Merge lines.love
  • [49] Z3IQ6A4R bugfix
  • [50] ENENSZLK bugfix: source margins when toggling log browser
  • [51] AVTNUQYR basic test-enabled framework
  • [52] LMP3FXAM switch one call back to keychord_pressed
  • [53] BH7BT36L ctrl+a: select entire buffer
  • [54] Y4VYNEGF test: autosave after name/move/delete of point
  • [55] LYN3L74W correct commit f3abc2cbf2
  • [56] 4SR3Z4Y3 document the version of LÖVE I've been using
  • [57] ED4Z6ORC cleaner API for file-system access
  • [58] OTIBCAUJ love2d scaffold
  • [59] LXTTOB33 extract a couple of files
  • [60] OGUV4HSA remove some memory leaks from rendered fragments
  • [61] MD3W5IRA new fork: rip out drawing support
  • [62] 2H76FV5S bugfix: searching files containing unicode
  • [63] KAUD3YIK tests: deleting points/shapes
  • [64] T4FRZSYL delete an ancient, unused file
  • [65] L6XA5EY2 test: moving a point
  • [66] 66X36NZN a little more prose describing manual_tests
  • [67] OI4FPFIN support drawings in the source editor
  • [68] SGMA5JLE save the list of tests in repo
  • [69] RU4HIK43 Merge lines.love
  • [70] 73OCE2MC after much struggle, a brute-force undo
  • [71] UHB4GARJ left/right margin -> left/right coordinates
  • [72] DSLD74DK lots more tests
  • [73] 7DYUAOI6 test: undo moving point
  • [74] WLWNS6FB a bug I've never run into
  • [75] FISC4HIN repeat bugfix on source editor
  • [76] BLWAYPKV extract a module
  • [77] FQZ3U3YA streamline one more test name
  • [78] 7YGYHOEO Merge lines.love
  • [79] KKQKPGCI resolve conflicts
  • [80] QMRQL2FO resolve conflicts
  • [81] A4BSGS2C Merge lines.love
  • [82] 2TQUKHBC Merge lines.love
  • [83] 3PSFWAIL Merge lines.love
  • [84] 3QNOKBFM beginnings of a test harness
  • [85] 4VQGE7RA new test
  • [86] YXQOITYS Merge lines.love
  • [87] WKXJNESI resolve conflicts
  • [88] LF7BWEG4 group all editor globals
  • [89] 2CTN2IEF Merge lines.love
  • [90] 62JEPVQ3 bugfix: backspace from start of final line
  • [91] TLOAPLBJ add a license
  • [92] RSZD5A7G forgot to add json.lua
  • [93] SWZAQHGR bugfix: up arrow when line above is a drawing
  • [94] 5Y24ZDZI bugfix
  • [95] CRYGI3LR more drawing tests
  • [96] REAIVN7W Merge lines.love
  • [97] R5QXEHUI somebody stop me
  • [98] WK6UK5AJ enhance bugfix of commit a9aa3436f (Dec 2024)
  • [99] K2X6G75Z start writing some tests for drawings
  • [100] ONHKBLLC Merge lines.love
  • [101] LWPFEZBI Merge lines.love
  • [102] ORKN6EOB Merge lines.love
  • [103] VHUNJHXB Merge lines.love
  • [104] LK4ZW4BB bugfix
  • [105] T7SJSJIH test: undo naming a point
  • [106] VP5KC4XZ Merge lines.love
  • [107] TBTRYEBP Merge lines.love
  • [108] 5SM6DRHK port inscript's bugfix to source editor
  • [109] 4J3Y3DJW pijul bug: redo upstream change

Change contents

  • file deletion: source_text_tests.lua (----------)source_text_tests.lua (----------)
    [6.2][6.83676:83721](),[6.2][6.83676:83721](),[6.83721][6.3498:3498]()
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'C-m', 'm')
    edit.run_after_keychord(Editor_state, 'left', 'left')
    edit.run_after_keychord(Editor_state, 'right', 'right')
    edit.run_after_keychord(Editor_state, 'left', 'left')
    edit.run_after_keychord(Editor_state, 'right', 'right')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
    edit.run_after_keychord(Editor_state, 'S-right', 'right')
    edit.run_after_keychord(Editor_state, 'right', 'right')
    edit.run_after_keychord(Editor_state, 'C-c', 'c')
    edit.run_after_keychord(Editor_state, 'C-x', 'x')
    edit.run_after_keychord(Editor_state, 'C-v', 'v')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'C-v', 'v')
    edit.run_after_keychord(Editor_state, 'C-a', 'a')
    edit.run_after_keychord(Editor_state, 'C-x', 'x')
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'left', 'left')
    edit.run_after_keychord(Editor_state, 'right', 'right')
    edit.run_after_keychord(Editor_state, 'home', 'home')
    edit.run_after_keychord(Editor_state, 'end', 'end')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
    edit.run_after_keychord(Editor_state, 'up', 'up')
    -- cursor wraps
    edit.run_after_text_input(Editor_state, 'a')
    -- cursor wraps
    edit.run_after_text_input(Editor_state, 'a')
    check_eq(Editor_state.cursor1.line, 1, '2/cursor:line')
    edit.run_after_text_input(Editor_state, 'a')
    check_eq(Editor_state.cursor1.line, 4, '2/cursor:line')
    edit.run_after_text_input(Editor_state, 'de')
    check_eq(Editor_state.cursor1.line, 2, '1/cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, '1/cursor:pos')
    edit.run_after_text_input(Editor_state, 'd')
    -- selection is restored
    check_eq(Editor_state.cursor1.line, 2, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 5, 'cursor:pos')
    check_nil(Editor_state.selection1.line, 'selection:line')
    check_nil(Editor_state.selection1.pos, 'selection:pos')
    --? check_eq(Editor_state.selection1.line, 2, 'selection:line')
    --? check_eq(Editor_state.selection1.pos, 4, 'selection:pos')
    check_eq(Editor_state.cursor1.line, 2, 'baseline/cursor:line')
    check_eq(Editor_state.cursor1.pos, 4, 'baseline/cursor:pos')
    check_nil(Editor_state.selection1.line, 'baseline/selection:line')
    check_nil(Editor_state.selection1.pos, 'baseline/selection:pos')
    check_eq(Editor_state.cursor1.line, 2, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 4, 'cursor:pos')
    check_nil(Editor_state.selection1.line, 'selection:line')
    check_nil(Editor_state.selection1.pos, 'selection:pos')
    check_eq(Editor_state.lines[1].data, 'abc', 'data:1')
    check_eq(Editor_state.lines[2].data, 'f', 'data:2')
    check_eq(Editor_state.lines[1].data, 'a', 'data:1')
    check_eq(Editor_state.lines[2].data, 'def', 'data:2')
    check_eq(Editor_state.lines[1].data, 'akl', 'data:1')
    check_eq(Editor_state.lines[2].data, 'mno', 'data:2')
    check_eq(Editor_state.lines[1].data, 'bc', 'data')
    check_eq(Editor_state.lines[1].data, 'bc', 'data')
    check_eq(Editor_state.lines[1].data, 'abcdef', 'check')
    y = Editor_state.top
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 8, 'cursor:pos')
    y = Editor_state.top
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 6, 'cursor:pos')
    y = Editor_state.top
    check_eq(Editor_state.screen_top1.line, 4, 'screen_top')
    check_eq(Editor_state.cursor1.line, 5, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 4, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    y = Editor_state.top
    y = Editor_state.top
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    end
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 2, 'cursor')
    check_eq(Editor_state.screen_top1.line, 3, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 5, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 3, 'baseline2/screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'baseline2/cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'baseline2/cursor:pos')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 5, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 5, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 4, 'cursor')
    check_eq(Editor_state.cursor1.line, 3, 'cursor')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 2, 'cursor')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top:line')
    check_eq(Editor_state.screen_top1.pos, 9, 'screen_top:pos')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top:line')
    check_eq(Editor_state.screen_top1.pos, 9, 'screen_top:pos')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 3, 'cursor')
    check_eq(Editor_state.screen_top1.line, 2, 'screen_top')
    check_eq(Editor_state.cursor1.line, 2, 'cursor')
    -- no crash
    App.fake_key_release('lctrl')
    edit.key_release(Editor_state, 'lctrl')
    -- selection
    check_eq(Editor_state.selection1.line, 1, 'selection:line')
    check_eq(Editor_state.selection1.pos, 1, 'selection:pos')
    check_eq(Editor_state.cursor1.line, 1, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 8, 'cursor:pos')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 2, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 2, 'cursor:pos')
    check_eq(Editor_state.cursor1.line, 2, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    check_eq(Editor_state.lines[1].data, '', 'data:1')
    check_eq(Editor_state.lines[2].data, 'abc', 'data:2')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(Editor_state.cursor1.line, 2, 'cursor:line')
    check_eq(Editor_state.cursor1.pos, 1, 'cursor:pos')
    -- page scrolls up
    -- selection is reset since shift key is not pressed
    -- selection includes the newline, so it's also deleted
    check_eq(App.clipboard, 'a', 'clipboard')
    check_eq(App.clipboard, 'a', 'clipboard')
    -- no change to data, selection is reset
    App.fake_key_release('lshift')
    check_eq(Editor_state.cursor1.line, 2, 'line')
    check_eq(Editor_state.cursor1.pos, 4, 'pos')
    check_eq(Editor_state.cursor1.pos, 9, 'check')
    check_eq(Editor_state.cursor1.pos, 4, 'check')
    check_eq(Editor_state.cursor1.pos, 8, 'check')
    check_eq(Editor_state.cursor1.pos, 4, 'check')
    check_eq(Editor_state.cursor1.line, 1, 'line')
    check_eq(Editor_state.cursor1.pos, 5, 'pos')
    check_eq(Editor_state.cursor1.pos, 1, 'check')
    check_eq(Editor_state.cursor1.pos, 9, 'check')
    check_eq(Editor_state.cursor1.pos, 1, 'check')
    check_eq(Editor_state.cursor1.pos, 1, 'check')
    check_eq(Editor_state.cursor1.pos, 1, 'check')
    check_eq(Editor_state.cursor1.line, 2, 'line')
    check_eq(Editor_state.cursor1.pos, 1, 'pos')
    check_eq(Editor_state.cursor1.line, 1, 'line')
    check_eq(Editor_state.cursor1.pos, 4, 'pos') -- past end of line
    check_eq(Editor_state.cursor1.pos, 2, 'check')
    check_eq(Editor_state.cursor1.pos, 1, 'check')
    end
    function test_move_left()
    check_eq(#Editor_state.lines, 1, '#lines')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
    check_eq(Editor_state.screen_top1.line, 1, 'screen_top')
    check_eq(#Editor_state.lines, 1, '#lines')
    check_eq(Editor_state.cursor1.line, 1, 'cursor')
  • file deletion: source_tests.lua (----------)source_tests.lua (----------)
    [6.2][6.150199:150239](),[6.2][6.150199:150239](),[6.150239][6.147103:147103]()
    App.run_after_keychord('C-l', 'l')
    App.run_after_keychord('C-l', 'l')
    -- margins are now adjusted
    check(Show_log_browser_side, 'check')
  • file deletion: source_edit.lua (----------)source_edit.lua (----------)
    [6.2][6.165725:165764](),[6.2][6.165725:165764](),[6.165764][6.152440:152440]()
    function edit.run_after_keychord(State, chord, key)
    edit.keychord_press(State, chord, key)
    edit.key_release(State, key)
    App.screen.contents = {}
  • edit in text_tests.lua at line 16
    [6.1300][3.2:68](),[6.1300][3.2:68](),[6.1300][3.2:68]()
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • edit in text_tests.lua at line 1008
    [6.8222][3.1772:1836](),[6.8222][3.1772:1836](),[6.8222][3.1772:1836]()
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • edit in text_tests.lua at line 1118
    [6.1004][3.2089:2145](),[6.1004][3.2089:2145]()
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • edit in text_tests.lua at line 1268
    [6.2095][3.2492:2544](),[6.2095][3.2492:2544]()
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • edit in text_tests.lua at line 1294
    [6.809][3.2598:2650](),[6.809][3.2598:2650]()
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 39
    [6.1893][6.1893:1946]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.1893]
    [6.387]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 53
    [6.4691][6.4691:4744]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.4691]
    [6.484]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 79
    [6.5829][6.5829:5876]()
    edit.run_after_keychord(Editor_state, 'C-m')
    [6.5829]
    [6.5876]
    edit.run_after_keychord(Editor_state, 'C-m', 'm')
  • replacement in source_text_tests.lua at line 89
    [6.6162][6.6162:6210]()
    edit.run_after_keychord(Editor_state, 'left')
    [6.6162]
    [6.680]
    edit.run_after_keychord(Editor_state, 'left', 'left')
  • replacement in source_text_tests.lua at line 100
    [6.6560][6.6560:6609]()
    edit.run_after_keychord(Editor_state, 'right')
    [6.6560]
    [6.730]
    edit.run_after_keychord(Editor_state, 'right', 'right')
  • replacement in source_text_tests.lua at line 111
    [6.7001][6.7001:7049]()
    edit.run_after_keychord(Editor_state, 'left')
    [6.7001]
    [6.780]
    edit.run_after_keychord(Editor_state, 'left', 'left')
  • replacement in source_text_tests.lua at line 123
    [6.7582][6.7582:7631]()
    edit.run_after_keychord(Editor_state, 'right')
    [6.7582]
    [6.898]
    edit.run_after_keychord(Editor_state, 'right', 'right')
  • replacement in source_text_tests.lua at line 135
    [6.8105][6.8105:8155]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.8105]
    [6.995]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 146
    [6.8594][6.8594:8644]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.8594]
    [6.1045]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 157
    [6.9075][6.9075:9125]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.9075]
    [6.1095]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 168
    [6.9561][6.9561:9611]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.9561]
    [6.1145]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 179
    [6.10075][6.10075:10125]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.10075]
    [6.1195]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 190
    [6.10572][6.10572:10622]()
    edit.run_after_keychord(Editor_state, 'M-left')
    [6.10572]
    [6.1245]
    edit.run_after_keychord(Editor_state, 'M-left', 'left')
  • replacement in source_text_tests.lua at line 202
    [6.11130][6.11130:11181]()
    edit.run_after_keychord(Editor_state, 'M-right')
    [6.11130]
    [6.1342]
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
  • replacement in source_text_tests.lua at line 213
    [6.11594][6.11594:11645]()
    edit.run_after_keychord(Editor_state, 'M-right')
    [6.11594]
    [6.1392]
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
  • replacement in source_text_tests.lua at line 224
    [6.12073][6.12073:12124]()
    edit.run_after_keychord(Editor_state, 'M-right')
    [6.12073]
    [6.1442]
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
  • replacement in source_text_tests.lua at line 235
    [6.12576][6.12576:12627]()
    edit.run_after_keychord(Editor_state, 'M-right')
    [6.12576]
    [6.1492]
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
  • replacement in source_text_tests.lua at line 246
    [6.13062][6.13062:13113]()
    edit.run_after_keychord(Editor_state, 'M-right')
    [6.13062]
    [6.1542]
    edit.run_after_keychord(Editor_state, 'M-right', 'right')
  • replacement in source_text_tests.lua at line 595
    [6.1185][6.1185:1236]()
    edit.run_after_keychord(Editor_state, 'S-right')
    [6.1185]
    [6.1236]
    edit.run_after_keychord(Editor_state, 'S-right', 'right')
  • replacement in source_text_tests.lua at line 617
    [6.2257][6.2257:2306]()
    edit.run_after_keychord(Editor_state, 'right')
    [6.2257]
    [6.2306]
    edit.run_after_keychord(Editor_state, 'right', 'right')
  • replacement in source_text_tests.lua at line 674
    [6.4767][6.4767:4814]()
    edit.run_after_keychord(Editor_state, 'C-c')
    [6.4767]
    [6.4921]
    edit.run_after_keychord(Editor_state, 'C-c', 'c')
  • replacement in source_text_tests.lua at line 692
    [6.5500][6.5500:5547]()
    edit.run_after_keychord(Editor_state, 'C-x')
    [6.5500]
    [6.5014]
    edit.run_after_keychord(Editor_state, 'C-x', 'x')
  • replacement in source_text_tests.lua at line 712
    [6.6257][6.6257:6304]()
    edit.run_after_keychord(Editor_state, 'C-v')
    [6.6257]
    [6.6304]
    edit.run_after_keychord(Editor_state, 'C-v', 'v')
  • replacement in source_text_tests.lua at line 737
    [6.7457][6.7457:7510]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.7457]
    [6.7510]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 778
    [6.29467][6.29467:29517]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.29467]
    [6.5711]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 800
    [6.30509][6.30509:30559]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.30509]
    [6.6004]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 825
    [6.31838][6.31838:31885]()
    edit.run_after_keychord(Editor_state, 'C-v')
    [6.31838]
    [6.6377]
    edit.run_after_keychord(Editor_state, 'C-v', 'v')
  • replacement in source_text_tests.lua at line 985
    [6.3367][6.3367:3414]()
    edit.run_after_keychord(Editor_state, 'C-a')
    [6.3367]
    [6.3414]
    edit.run_after_keychord(Editor_state, 'C-a', 'a')
  • replacement in source_text_tests.lua at line 1007
    [6.13066][6.13066:13113]()
    edit.run_after_keychord(Editor_state, 'C-x')
    [6.13066]
    [6.13113]
    edit.run_after_keychord(Editor_state, 'C-x', 'x')
  • replacement in source_text_tests.lua at line 1027
    [6.33877][6.33877:33929]()
    edit.run_after_keychord(Editor_state, 'pagedown')
    [6.33877]
    [6.7526]
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • replacement in source_text_tests.lua at line 1058
    [6.3464][6.3464:3516]()
    edit.run_after_keychord(Editor_state, 'pagedown')
    [6.3464]
    [6.7841]
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • replacement in source_text_tests.lua at line 1082
    [6.35336][6.35336:35388]()
    edit.run_after_keychord(Editor_state, 'pagedown')
    [6.35336]
    [6.8150]
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • replacement in source_text_tests.lua at line 1111
    [6.36545][6.36545:36597]()
    edit.run_after_keychord(Editor_state, 'pagedown')
    [6.36545]
    [6.8406]
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • replacement in source_text_tests.lua at line 1133
    [6.37672][6.37672:37720]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.37672]
    [6.8686]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1166
    [6.1065][6.1065:1113]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.1065]
    [6.1113]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1187
    [6.39205][6.39205:39253]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.39205]
    [6.9076]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1215
    [6.40873][6.40873:40921]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.40873]
    [6.9514]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1244
    [6.42780][6.42780:42828]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.42780]
    [6.9965]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1272
    [6.44730][6.44730:44782]()
    edit.run_after_keychord(Editor_state, 'pagedown')
    [6.44730]
    [6.10415]
    edit.run_after_keychord(Editor_state, 'pagedown', 'pagedown')
  • replacement in source_text_tests.lua at line 1277
    [6.45287][6.45287:45335]()
    edit.run_after_keychord(Editor_state, 'down')
    [6.45287]
    [6.10615]
    edit.run_after_keychord(Editor_state, 'down', 'down')
  • replacement in source_text_tests.lua at line 1306
    [6.47011][6.47011:47057]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.47011]
    [6.11064]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1339
    [6.2156][6.2156:2202]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.2156]
    [6.2202]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1360
    [6.48493][6.48493:48539]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.48493]
    [6.11454]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1388
    [6.813][6.813:859]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.813]
    [6.859]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1408
    [6.49935][6.49935:49981]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.49935]
    [6.49981]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1438
    [6.51775][6.51775:51821]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.51775]
    [6.51821]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1468
    [6.53584][6.53584:53630]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.53584]
    [6.12824]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 1494
    [6.54777][6.54777:54827]()
    edit.run_after_keychord(Editor_state, 'pageup')
    [6.54777]
    [6.13121]
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
  • replacement in source_text_tests.lua at line 1520
    [6.56153][6.56153:56203]()
    edit.run_after_keychord(Editor_state, 'pageup')
    [6.56153]
    [6.13516]
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
  • replacement in source_text_tests.lua at line 1547
    [6.57780][6.57780:57830]()
    edit.run_after_keychord(Editor_state, 'pageup')
    [6.57780]
    [6.13962]
    edit.run_after_keychord(Editor_state, 'pageup', 'pageup')
  • replacement in source_text_tests.lua at line 1576
    [6.59464][6.59464:59514]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.59464]
    [6.14413]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 1601
    [6.60920][6.60920:60970]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.60920]
    [6.14757]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 1677
    [6.65499][6.65499:65547]()
    edit.run_after_keychord(Editor_state, 'left')
    [6.65499]
    [6.65547]
    edit.run_after_keychord(Editor_state, 'left', 'left')
  • replacement in source_text_tests.lua at line 1708
    [6.67421][6.67421:67470]()
    edit.run_after_keychord(Editor_state, 'right')
    [6.67421]
    [6.16333]
    edit.run_after_keychord(Editor_state, 'right', 'right')
  • replacement in source_text_tests.lua at line 1736
    [6.69017][6.69017:69065]()
    edit.run_after_keychord(Editor_state, 'home')
    [6.69017]
    [6.69065]
    edit.run_after_keychord(Editor_state, 'home', 'home')
  • replacement in source_text_tests.lua at line 1767
    [6.70845][6.70845:70892]()
    edit.run_after_keychord(Editor_state, 'end')
    [6.70845]
    [6.17296]
    edit.run_after_keychord(Editor_state, 'end', 'end')
  • replacement in source_text_tests.lua at line 1830
    [6.74576][6.74576:74629]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.74576]
    [6.18262]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1856
    [6.75971][6.75971:76024]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.75971]
    [6.76024]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1877
    [6.77198][6.77198:77251]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.77198]
    [6.18966]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1893
    [6.14004][6.14004:14057]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.14004]
    [6.19025]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1911
    [6.14997][6.14997:15050]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.14997]
    [6.19246]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1929
    [6.16057][6.16057:16110]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.16057]
    [6.19467]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1948
    [6.17147][6.17147:17200]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.17147]
    [6.19747]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1967
    [6.18231][6.18231:18284]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.18231]
    [6.20025]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 1999
    [6.78325][6.78325:78372]()
    edit.run_after_keychord(Editor_state, 'C-z')
    [6.78325]
    [6.20722]
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • replacement in source_text_tests.lua at line 2021
    [6.79223][6.79223:79276]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.79223]
    [6.21077]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • replacement in source_text_tests.lua at line 2034
    [6.79845][6.79845:79892]()
    edit.run_after_keychord(Editor_state, 'C-z')
    [6.79845]
    [6.21495]
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • replacement in source_text_tests.lua at line 2065
    [6.20471][6.20471:20565]()
    edit.run_after_keychord(Editor_state, 'C-z')
    edit.run_after_keychord(Editor_state, 'C-z')
    [6.20471]
    [6.20565]
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • replacement in source_text_tests.lua at line 2082
    [6.80757][6.80757:80804]()
    edit.run_after_keychord(Editor_state, 'C-f')
    [6.80757]
    [6.5170]
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
  • replacement in source_text_tests.lua at line 2084
    [6.5217][6.80850:80900](),[6.80850][6.80850:80900]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.5217]
    [6.22207]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 2091
    [6.81184][6.81184:81231]()
    edit.run_after_keychord(Editor_state, 'C-f')
    [6.81184]
    [6.5218]
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
  • replacement in source_text_tests.lua at line 2093
    [6.5266][6.81278:81376](),[6.81278][6.81278:81376]()
    edit.run_after_keychord(Editor_state, 'down')
    edit.run_after_keychord(Editor_state, 'return')
    [6.5266]
    [6.22322]
    edit.run_after_keychord(Editor_state, 'down', 'down')
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 2109
    [6.81929][6.81929:81976]()
    edit.run_after_keychord(Editor_state, 'C-f')
    [6.81929]
    [6.5267]
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
  • replacement in source_text_tests.lua at line 2112
    [6.82058][6.82058:82104]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.82058]
    [6.22437]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_text_tests.lua at line 2127
    [6.82663][6.82663:82710]()
    edit.run_after_keychord(Editor_state, 'C-f')
    [6.82663]
    [6.5315]
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
  • replacement in source_text_tests.lua at line 2129
    [6.5362][6.82756:82806](),[6.82756][6.82756:82806]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.5362]
    [6.82806]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in source_text_tests.lua at line 2145
    [6.83405][6.83405:83452]()
    edit.run_after_keychord(Editor_state, 'C-f')
    [6.83405]
    [6.5363]
    edit.run_after_keychord(Editor_state, 'C-f', 'f')
  • replacement in source_text_tests.lua at line 2147
    [6.5410][6.83498:83544](),[6.83498][6.83498:83544]()
    edit.run_after_keychord(Editor_state, 'up')
    [6.5410]
    [6.83544]
    edit.run_after_keychord(Editor_state, 'up', 'up')
  • replacement in source_tests.lua at line 32
    [6.44][6.685:717](),[6.685][6.685:717]()
    App.run_after_keychord('C-l')
    [6.44]
    [6.23382]
    App.run_after_keychord('C-l', 'l')
  • replacement in source_tests.lua at line 54
    [6.118][6.3392:3424](),[6.3392][6.3392:3424]()
    App.run_after_keychord('C-l')
    [6.118]
    [6.3424]
    App.run_after_keychord('C-l', 'l')
  • replacement in source_edit.lua at line 591
    [6.6320][6.164915:164962](),[6.164915][6.164915:164962](),[6.164962][6.6321:6390]()
    function edit.run_after_keychord(State, chord)
    edit.keychord_press(State, chord)
    edit.key_release(State, chord)
    [6.6320]
    [6.165034]
    function edit.run_after_keychord(State, chord, key)
    edit.keychord_press(State, chord, key)
    edit.key_release(State, key)
  • replacement in edit.lua at line 274
    [6.5769][6.5769:5956]()
    chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(chord) then
    [6.5769]
    [6.5956]
    chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then
  • replacement in edit.lua at line 423
    [6.11471][6.11471:11587]()
    function edit.run_after_keychord(State, chord)
    edit.keychord_press(State, chord)
    edit.key_release(State, chord)
    [6.11471]
    [6.11587]
    function edit.run_after_keychord(State, chord, key)
    edit.keychord_press(State, chord, key)
    edit.key_release(State, key)
  • edit in edit.lua at line 456
    [6.12430][6.1740:1740](),[6.10752][4.0:185](),[6.10752][4.0:185](),[6.6020][3.9575:9699](),[6.6020][3.9575:9699]()
    chord ~= 'C-a' and chord ~= 'C-c' and chord ~= 'C-x' and chord ~= 'backspace' and chord ~= 'delete' and chord ~= 'C-z' and chord ~= 'C-y' and not App.is_cursor_movement(key) then
    function edit.run_after_keychord(State, chord, key)
    edit.keychord_press(State, chord, key)
    edit.key_release(State, key)
  • resolve order conflict in edit.lua at line 456
    [6.12430]
  • replacement in drawing_tests.lua at line 113
    [6.6865][6.6865:6912]()
    edit.run_after_keychord(Editor_state, 'C-o')
    [6.6865]
    [6.6912]
    edit.run_after_keychord(Editor_state, 'C-o', 'o')
  • replacement in drawing_tests.lua at line 143
    [6.8744][6.8744:8794]()
    edit.run_after_keychord(Editor_state, 'escape')
    [6.8744]
    [6.8794]
    edit.run_after_keychord(Editor_state, 'escape', 'escape')
  • replacement in drawing_tests.lua at line 159
    [6.9696][6.9696:9741]()
    edit.run_after_keychord(Editor_state, 'o')
    [6.9696]
    [6.9741]
    edit.run_after_keychord(Editor_state, 'o', 'o')
  • edit in drawing_tests.lua at line 398
    [6.24482][6.31335:31335](),[6.1509][3.9701:9753](),[6.1509][3.9701:9753](),[6.881][3.9754:9814](),[6.881][3.9754:9814]()
    edit.run_after_keychord(Editor_state, 'C-o', 'o')
    edit.run_after_keychord(Editor_state, 'escape', 'escape')
  • resolve order conflict in drawing_tests.lua at line 398
    [6.24482]
    [6.55732]
  • edit in drawing_tests.lua at line 409
    [6.31485][6.31485:31532](),[6.2165][3.9815:9865](),[6.2165][3.9815:9865]()
    edit.run_after_keychord(Editor_state, 'C-n')
    edit.run_after_keychord(Editor_state, 'o', 'o')
  • resurrect zombie in drawing_tests.lua at line 409
    [6.1315][3.9866:9918](),[6.1315][3.9866:9918]()
    edit.run_after_keychord(Editor_state, 'C-n', 'n')
  • resolve order conflict in drawing_tests.lua at line 409
    [6.31485]
    [3.9866]
  • resurrect zombie in drawing_tests.lua at line 410
    [3.9918][6.56090:56154](),[6.31532][6.56090:56154](),[6.11148][6.56090:56154](),[6.11148][6.56090:56154]()
    check_eq(Editor_state.current_drawing_mode, 'name', 'mode:1')
  • edit in drawing_tests.lua at line 416
    [6.31630][6.31630:31680]()
    edit.run_after_keychord(Editor_state, 'return')
  • resurrect zombie in drawing_tests.lua at line 416
    [6.1616][3.9919:9979](),[6.1616][3.9919:9979]()
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • resolve order conflict in drawing_tests.lua at line 416
    [6.31630]
    [3.9919]
  • resurrect zombie in drawing_tests.lua at line 417
    [3.9979][6.56256:56355](),[6.31680][6.56256:56355](),[6.11246][6.56256:56355](),[6.11246][6.56256:56355]()
    check_eq(Editor_state.current_drawing_mode, 'line', 'mode:3')
    check_eq(p2.name, 'A', 'check2')
  • replacement in drawing_tests.lua at line 453
    [6.648][6.648:695]()
    edit.run_after_keychord(Editor_state, 'C-n')
    [6.648]
    [6.695]
    edit.run_after_keychord(Editor_state, 'C-n', 'n')
  • replacement in drawing_tests.lua at line 456
    [6.778][6.778:831]()
    edit.run_after_keychord(Editor_state, 'backspace')
    [6.778]
    [6.831]
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • edit in drawing_tests.lua at line 485
    [6.1527][6.1527:1574](),[6.1527][6.1527:1574]()
    edit.run_after_keychord(Editor_state, 'C-n')
  • resurrect zombie in drawing_tests.lua at line 486
    [3.10032][6.1574:1638](),[6.1574][6.1574:1638](),[6.1574][6.1574:1638]()
    check_eq(Editor_state.current_drawing_mode, 'name', 'mode:1')
  • edit in drawing_tests.lua at line 493
    [6.1657][3.10033:10099](),[6.1657][3.10033:10099]()
    edit.run_after_keychord(Editor_state, 'backspace', 'backspace')
  • resurrect zombie in drawing_tests.lua at line 493
    [6.1177][6.1724:1729](),[6.1724][6.1724:1729](),[6.1724][6.1724:1729]()
    end
  • resolve order conflict in drawing_tests.lua at line 493
    [6.1177]
    [6.1724]
  • edit in drawing_tests.lua at line 507
    [6.1595][3.10100:10152](),[6.1595][3.10100:10152]()
    edit.run_after_keychord(Editor_state, 'C-n', 'n')
  • resolve order conflict in drawing_tests.lua at line 507
    [6.1833]
    [6.56390]
  • replacement in drawing_tests.lua at line 528
    [6.27609][6.27609:27656]()
    edit.run_after_keychord(Editor_state, 'C-u')
    [6.27609]
    [6.31925]
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • edit in drawing_tests.lua at line 541
    [6.28310][6.32151:32151](),[6.1185][3.10153:10205](),[6.1185][3.10153:10205](),[6.1185][3.10153:10205]()
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • resolve order conflict in drawing_tests.lua at line 541
    [6.28310]
    [6.56995]
  • replacement in drawing_tests.lua at line 571
    [6.29836][6.29836:29883]()
    edit.run_after_keychord(Editor_state, 'C-u')
    [6.29836]
    [6.32408]
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • edit in drawing_tests.lua at line 599
    [6.31599][6.31599:31646](),[6.31646][6.32716:32716](),[6.890][3.10206:10258](),[6.890][3.10206:10258](),[6.890][3.10206:10258]()
    edit.run_after_keychord(Editor_state, 'C-d')
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • resurrect zombie in drawing_tests.lua at line 599
    [6.6287][3.10259:10311](),[6.6287][3.10259:10311]()
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
  • resolve order conflict in drawing_tests.lua at line 599
    [6.31599]
    [3.10259]
  • resurrect zombie in drawing_tests.lua at line 600
    [3.10311][6.57644:57758](),[6.32716][6.57644:57758](),[6.12620][6.57644:57758](),[6.12620][6.57644:57758]()
    check_eq(drawing.shapes[1].mode, 'deleted', 'shape:1')
    check_eq(drawing.shapes[2].mode, 'deleted', 'shape:2')
  • replacement in drawing_tests.lua at line 629
    [6.33446][6.33446:33493]()
    edit.run_after_keychord(Editor_state, 'C-d')
    [6.33446]
    [6.33493]
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
  • replacement in drawing_tests.lua at line 660
    [6.35237][6.35237:35284]()
    edit.run_after_keychord(Editor_state, 'C-d')
    [6.35237]
    [6.35284]
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
  • replacement in drawing_tests.lua at line 688
    [6.36862][6.36862:36909]()
    edit.run_after_keychord(Editor_state, 'C-d')
    [6.36862]
    [6.36909]
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
  • replacement in drawing_tests.lua at line 719
    [6.38615][6.38615:38662]()
    edit.run_after_keychord(Editor_state, 'C-n')
    [6.38615]
    [6.9962]
    edit.run_after_keychord(Editor_state, 'C-n', 'n')
  • replacement in drawing_tests.lua at line 721
    [6.10009][6.38708:38758](),[6.38708][6.38708:38758]()
    edit.run_after_keychord(Editor_state, 'return')
    [6.10009]
    [6.34028]
    edit.run_after_keychord(Editor_state, 'return', 'return')
  • replacement in drawing_tests.lua at line 727
    [6.39058][6.39058:39105]()
    edit.run_after_keychord(Editor_state, 'C-z')
    [6.39058]
    [6.39105]
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • edit in drawing_tests.lua at line 730
    [6.39195][6.34192:34192](),[6.6807][3.10312:10364](),[6.6807][3.10312:10364](),[6.7270][3.10365:10417](),[6.7270][3.10365:10417](),[6.7652][3.10418:10470](),[6.7652][3.10418:10470](),[6.1395][3.10471:10523](),[6.1395][3.10471:10523](),[6.1395][3.10471:10523](),[6.7395][3.10524:10584](),[6.7395][3.10524:10584](),[6.7395][3.10524:10584](),[6.1714][3.10585:10637](),[6.1714][3.10585:10637]()
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
    edit.run_after_keychord(Editor_state, 'C-n', 'n')
    edit.run_after_keychord(Editor_state, 'return', 'return')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • resolve order conflict in drawing_tests.lua at line 730
    [6.39195]
    [6.59208]
  • replacement in drawing_tests.lua at line 765
    [6.41007][6.41007:41054]()
    edit.run_after_keychord(Editor_state, 'C-u')
    [6.41007]
    [6.41054]
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • edit in drawing_tests.lua at line 775
    [6.41543][6.41543:41755](),[6.41755][6.34718:34718](),[6.1198][3.10638:10690](),[6.1198][3.10638:10690]()
    edit.run_after_keychord(Editor_state, 'C-z')
    edit.run_after_keychord(Editor_state, 'C-z') -- bug: need to undo twice
    local drawing = Editor_state.lines[1]
    local p2 = drawing.points[drawing.shapes[1].p2]
    edit.run_after_keychord(Editor_state, 'C-u', 'u')
  • resurrect zombie in drawing_tests.lua at line 775
    [6.1652][3.10691:10823](),[6.1652][3.10691:10823]()
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
    edit.run_after_keychord(Editor_state, 'C-z', 'z') -- bug: need to undo twice
  • resolve order conflict in drawing_tests.lua at line 775
    [6.41543]
    [3.10691]
  • edit in drawing_tests.lua at line 777
    [3.10823]
    [6.59851]
    local drawing = Editor_state.lines[1]
    local p2 = drawing.points[drawing.shapes[1].p2]
  • replacement in drawing_tests.lua at line 812
    [6.43580][6.43580:43627]()
    edit.run_after_keychord(Editor_state, 'C-d')
    [6.43580]
    [6.34982]
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
  • replacement in drawing_tests.lua at line 816
    [6.43805][6.43805:43852]()
    edit.run_after_keychord(Editor_state, 'C-z')
    [6.43805]
    [6.43852]
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • edit in drawing_tests.lua at line 819
    [6.43942][6.35098:35098](),[6.8801][3.10824:10876](),[6.8801][3.10824:10876](),[6.8801][3.10824:10876](),[6.1345][3.10877:10929](),[6.1345][3.10877:10929]()
    edit.run_after_keychord(Editor_state, 'C-d', 'd')
    edit.run_after_keychord(Editor_state, 'C-z', 'z')
  • resolve order conflict in drawing_tests.lua at line 819
    [6.43942]
    [6.60317]