diff options
| author | luukvbaal <luukvbaal@gmail.com> | 2025-04-22 01:18:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-21 16:18:03 -0700 |
| commit | 65170e8dad908b15d14b5d68be3ee1a26642ad8b (patch) | |
| tree | 7e7d0e1eb45c04f99ca0ed38f32e23667061e202 /runtime/lua/_vim9script.lua | |
| parent | 28e31f5d3d16fac349d5e2b55837afddb822b0f3 (diff) | |
fix(api): wrong return value with reverse range + overlap #32956
Problem: When iterating in reverse with {start} > {end} in
`nvim_buf_get_extmarks()`, marks that overlap {start} and are
greater than {end} are included in the return value twice.
Marks that overlap {end} and do not overlap {start} are not
not included in the return value at all. Marks are not
actually returned in a meaningful "traversal order".
Solution: Rather than actually iterating in reverse, (also possible but
requires convoluted conditions and would require fetching
overlapping marks for both the {start} and {end} position,
while still ending up with non-traversal ordered marks),
iterate normally and reverse the return value.
Diffstat (limited to 'runtime/lua/_vim9script.lua')
0 files changed, 0 insertions, 0 deletions
