It might reduce wear and tear on disk, and losing 3 seconds of data
doesn't feel catastrophic (short of a C-z rampage).
Thanks to the love2d.org community for the suggestion:
https://love2d.org/forums/viewtopic.php?f=14&t=93173
It was kinda weird that we were recording the start but not the end.
And moving the start point didn't actually affect the arc.
Let's see if we actually ever need it.
I've been adding diligently to manual_tests but not actually
_performing_ any manual tests before releases. They were just a todo
list of automated tests to write, and long out of date. Now the list is
up to date and much shorter.
Not sure where that idiom comes from or why strings work in some places
(auto-coercion?). I picked it up off some example apps. But
https://love2d.org/wiki/love.mouse.isDown says it should be an integer.
manifestation: clicking past end of a long, wrapping line containing
non-ASCII would cause the cursor to disappear rather than position past
end of screen line. Hitting enter would then throw an assertion with the
following stack trace:
Error: text.lua:381: bad argument #2 to 'sub' (number expected, got nil)
stack traceback:
[love "boot.lua"]:345: in function <[love "boot.lua"]:341>
[C]: in function 'sub'
text.lua:381: in function 'insert_return'
text.lua:179: in function 'keychord_pressed'
main.lua:495: in function 'keychord_pressed'
keychord.lua:10: in function <keychord.lua:5>
app.lua:34: in function <app.lua:25>
[C]: in function 'xpcall'
cause: the click caused a call to Text.to_pos_on_line whose result was
not on a UTF-8 character boundary.
fix: make to_pos_on_line utf8-aware.
For commit ff88a2a927 which fixed a regression caused by commit
e51ce12969.
I'm trying to provide enough guardrails for myself and future readers
without causing a combinatorial explosion in tests. The previous commit
was able to get more value out of existing tests, but this test feels
necessary. And useful in general without reference to a specific bug.
Any time I press a ctrl- chord LÖVE actually sees two key chords:
C-lctrl
C-... (the real one)
But it's not just that. There's also a lot in the codebase that's just
habit-based. I need more tests.