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/screen.c b/src/screen.c
index 7c27e2c..bfb6bf7 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -83,16 +83,26 @@
 
 /*
  * Check if the cursor line needs to be redrawn because of 'concealcursor'.
+ * To be called after changing the state, "was_concealed" is the value of
+ * "conceal_cursor_line()" before the change.
+ * "
  */
     void
-conceal_check_cursor_line(void)
+conceal_check_cursor_line(int was_concealed)
 {
-    if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin))
+    if (curwin->w_p_cole > 0 && conceal_cursor_line(curwin) != was_concealed)
     {
+	int wcol = curwin->w_wcol;
+
 	need_cursor_line_redraw = TRUE;
 	// Need to recompute cursor column, e.g., when starting Visual mode
 	// without concealing.
 	curs_columns(TRUE);
+
+	// When concealing now w_wcol will be computed wrong, keep the previous
+	// value, it will be updated in win_line().
+	if (!was_concealed)
+	    curwin->w_wcol = wcol;
     }
 }
 #endif