I don't know why this was so hard, but I don't need this variable preserve_screen_top_of_cursor_node at all. We only set it when the cursor is in some node, but we also only check for when the current node is the cursor. Comparing with a nil cursor node works just as well.
I've also checked that driver.love doesn't need preserve_screen_top_of_cursor_node. I think it came from pensieve.love, where I've since taken it out. Did I ever need it even there?
ZBTMSOFMHSMYFTSZJDPLZNXIZUAAWYUPMC7HSJT2W2H43A3K3XFAC
7QK4OGQV6AOSOWKE6EMC2422EXHQIQJ7LFCCYFP4SBETHRLA3TPAC
SLMZ2H7QMJ5GM3T3MQ2XTROZKYREU2RC54DVQC7Q3CMS7ESQDEBAC
LCS2FXROH7ABGKZYVZARAYDVFMLSMVJLUPCKYAWJXRNS437JO2GAC
OTIBCAUJ3KDQJLVDN3A536DLZGNRYMGJLORZVR3WLCGXGO6UGO6AC
XA5MDXVCBXO4UWSPPCURZ42SSNBDJYQAKJDIWMWLIKGUDDWGRR5QC
J6EXTDKMRGCK64V2VI352N4MDNHQA6YRKEJ34RNAQ22ZAT2DEGIQC
-- available modes: run, error
Mode = 'run'
Error_message = nil
Error_count = 0
-- we'll reuse error mode on load for an initial version check
Supported_versions = {'11.4', '11.3', '11.2', '11.1', '11.0', '12.0'} -- put the recommended version first
local minor_version
Major_version, minor_version = love.getVersion()
Version = Major_version..'.'..minor_version