Fixed data structure corruption in the navigation history.
commit3dd731b12fdccfde382094a182d8a081a7287cf1
authorEric Toombs <not@public.net>
Sat, 25 Jul 2020 18:59:02 +0000 (25 18:59 +0000)
committermalc <moosotc@gmail.com>
Sat, 25 Jul 2020 21:23:31 +0000 (26 00:23 +0300)
tree9b5779c1db82a80f6a1c0739a38338d100f30a07
parent09e9f3cb997e8639718e4544bf3e1dd60ca21021
Fixed data structure corruption in the navigation history.

The way history was set up before, every time there was a history navigation
with alt-left or alt-right, a new history entry would get added onto the end
of the list. Maybe. It was hard to tell. Choice of a ring buffer to store
history made state change semantics extremely difficult to work out.

I fixed it by changing the navigation history state to a more suitable data
structure. It now uses a cursor pattern, keeping the history in two linked
lists, the past and the future.
config.ml
main.ml