mirror of
https://github.com/neovim/neovim.git
synced 2026-05-24 05:40:08 +00:00
Problem: Visual selection could end up in the wrong place after nvim_buf_set_text or nvim_buf_set_lines. In some delete cases, Visual.lnum was already clamped before the line shift happened, so the adjustment got skipped. Solution: Split fix_cursor_cols into reusable fix_pos_col logic and reuse it for Visual updates. Also adjust Visual.lnum before changed_lines so the shift uses the original position before final clamping.