From 9f26bdc4165adf7de9bf0c231a386b02e85cbce0 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 6 Oct 2024 06:49:23 +0800 Subject: vim-patch:9.1.0759: screenpos() may return invalid position (#30681) Problem: screenpos() may return invalid position after switching buffers (Greg Hurrell) Solution: reset w_leftcol if wrapping has been set after copying wrap option fixes: vim/vim#15792 closes: vim/vim#15803 https://github.com/vim/vim/commit/b065a10e245d020c11b521a2a5062300ca9891fc Co-authored-by: Christian Brabandt --- src/nvim/option.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/nvim') diff --git a/src/nvim/option.c b/src/nvim/option.c index 72b633ceb2..aa6f330dfc 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -5096,6 +5096,12 @@ void clear_winopt(winopt_T *wop) void didset_window_options(win_T *wp, bool valid_cursor) { + // Set w_leftcol or w_skipcol to zero. + if (wp->w_p_wrap) { + wp->w_leftcol = 0; + } else { + wp->w_skipcol = 0; + } check_colorcolumn(wp); briopt_check(wp); fill_culopt_flags(NULL, wp); -- cgit