mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Problem: popup_atcursor() uses wrong position with concealing. Solution: Keep w_wcol in conceal_check_cursor_line(). (closes #8476)
This commit is contained in:
15
src/edit.c
15
src/edit.c
@@ -147,6 +147,9 @@ edit(
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
int cmdchar_todo = cmdchar;
|
||||
#endif
|
||||
#ifdef FEAT_CONCEAL
|
||||
int cursor_line_was_concealed;
|
||||
#endif
|
||||
|
||||
// Remember whether editing was restarted after CTRL-O.
|
||||
did_restart_edit = restart_edit;
|
||||
@@ -222,9 +225,9 @@ edit(
|
||||
}
|
||||
|
||||
#ifdef FEAT_CONCEAL
|
||||
// Check if the cursor line needs redrawing before changing State. If
|
||||
// 'concealcursor' is "n" it needs to be redrawn without concealing.
|
||||
conceal_check_cursor_line();
|
||||
// Check if the cursor line was concealed before changing State.
|
||||
cursor_line_was_concealed = curwin->w_p_cole > 0
|
||||
&& conceal_cursor_line(curwin);
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -283,6 +286,12 @@ edit(
|
||||
|
||||
stop_insert_mode = FALSE;
|
||||
|
||||
#ifdef FEAT_CONCEAL
|
||||
// Check if the cursor line needs redrawing after changing State. If
|
||||
// 'concealcursor' is "n" it needs to be redrawn without concealing.
|
||||
conceal_check_cursor_line(cursor_line_was_concealed);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Need to recompute the cursor position, it might move when the cursor is
|
||||
* on a TAB or special character.
|
||||
|
Reference in New Issue
Block a user