establish a fairly fundamental invariant
This commit doesn't guarantee we'll always catch it. But if this invariant is violated, things can get quite difficult to debug. I found in the Lua Carousel fork that all the xpcalls I keep around were actively hindering my ability to notice this invariant being violated.
This commit is contained in:
parent
48c05aa77a
commit
0751b38932
|
@ -1035,6 +1035,12 @@ end
|
||||||
|
|
||||||
function Text.redraw_all(State)
|
function Text.redraw_all(State)
|
||||||
--? print('clearing fragments')
|
--? print('clearing fragments')
|
||||||
|
-- Perform some early sanity checking here, in hopes that we correctly call
|
||||||
|
-- this whenever we change editor state.
|
||||||
|
if State.right <= State.left then
|
||||||
|
assert(false, ('Right margin %d must be to the right of the left margin %d'):format(State.right, State.left))
|
||||||
|
end
|
||||||
|
|
||||||
State.line_cache = {}
|
State.line_cache = {}
|
||||||
for i=1,#State.lines do
|
for i=1,#State.lines do
|
||||||
State.line_cache[i] = {}
|
State.line_cache[i] = {}
|
||||||
|
|
6
text.lua
6
text.lua
|
@ -973,6 +973,12 @@ end
|
||||||
|
|
||||||
function Text.redraw_all(State)
|
function Text.redraw_all(State)
|
||||||
--? print('clearing fragments')
|
--? print('clearing fragments')
|
||||||
|
-- Perform some early sanity checking here, in hopes that we correctly call
|
||||||
|
-- this whenever we change editor state.
|
||||||
|
if State.right <= State.left then
|
||||||
|
assert(false, ('Right margin %d must be to the right of the left margin %d'):format(State.right, State.left))
|
||||||
|
end
|
||||||
|
|
||||||
State.line_cache = {}
|
State.line_cache = {}
|
||||||
for i=1,#State.lines do
|
for i=1,#State.lines do
|
||||||
State.line_cache[i] = {}
|
State.line_cache[i] = {}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user