Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed bug relocating nodes in the node cache after change in buffer l…
…ength. As I relocated each memoized result, I deleted its former location. But if another memoized result for the same rule had already been moved into that location, then I deleted the wrong result. I was moving the result I deleted to the new location, so if it wasn't the result that belonged to the memoization this screwed things up even further. Now I check if the result belonging to the memoization is stored at the previous location (that it hasn't been overwritten by another result) and only delete it if it still exists. Then I move the result pointed to by the Memoization to the correct location. Also fixed Range#transpose for end-excluding ranges.
- Loading branch information