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)
diff --git a/src/normal.c b/src/normal.c
index 18f14ec..56f89f5 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -5747,8 +5747,8 @@
n_start_visual_mode(int c)
{
#ifdef FEAT_CONCEAL
- // Check for redraw before changing the state.
- conceal_check_cursor_line();
+ int cursor_line_was_concealed = curwin->w_p_cole > 0
+ && conceal_cursor_line(curwin);
#endif
VIsual_mode = c;
@@ -5770,8 +5770,8 @@
setmouse();
#ifdef FEAT_CONCEAL
- // Check for redraw after changing the state.
- conceal_check_cursor_line();
+ // Check if redraw is needed after changing the state.
+ conceal_check_cursor_line(cursor_line_was_concealed);
#endif
if (p_smd && msg_silent == 0)