Previously, when comparing a block with an empty range to an empty query
range in non-inclusive mode, our binary search logic could end up
computing an inverted range, causing a panic.
This commit adds special casing when comparing empty blocks with empty
ranges.
cc @as-cii: I'm realizing that the approach to searching for the
intersecting replacement blocks makes some invalid assumptions about the
ordering of replace decorations. They aren't ordered at all by their end
range. @maxbrunsfeld and I are wondering if long term, we should remove
replace decorations and find another solution for folding buffers in
multi buffers.
Release Notes:
- Fixed an occasional panic that would occur when navigating to the next
change hunk with a pending inline transformation present.
Co-authored-by: Peter Tripp <petertripp@gmail.com>