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/testdir/dumps/Test_popupwin_atcursor_pos.dump b/src/testdir/dumps/Test_popupwin_atcursor_pos.dump
index a42b6e6..3a4f0c2 100644
--- a/src/testdir/dumps/Test_popupwin_atcursor_pos.dump
+++ b/src/testdir/dumps/Test_popupwin_atcursor_pos.dump
@@ -1,12 +1,12 @@
|-+0&#ffffff0@59| @14
|-@59| @14
-|-@25|%|-@16>@|-@14| @14
+|-@25|%|-@16|@|-@14| @14
|-@25|f+0#0000001#ffd7ff255|i|R|S|t| |-+0#0000000#ffffff0@6|F+0#0000001#ffd7ff255|i|r|s|t| |-+0#0000000#ffffff0@14| @14
|-@25|s+0#0000001#ffd7ff255|e|C|O|n|d|-+0#0000000#ffffff0@6|S+0#0000001#ffd7ff255|e|c|o|n|D|-+0#0000000#ffffff0@14| @14
|-@59| @14
|-@1|f+0#0000001#ffd7ff255|i|r|s|t| |-+0#0000000#ffffff0@6|F+0#0000001#ffd7ff255|I|r|s|T| |-+0#0000000#ffffff0@38| @14
-|-@1|s+0#0000001#ffd7ff255|e|c|o|n|d|-+0#0000000#ffffff0@6|S+0#0000001#ffd7ff255|E|c|o|N|D|-+0#0000000#ffffff0@38| @14
-|-@1|#|-@16|&|-@38| @14
+|-@1|s+0#0000001#ffd7ff255|e|c|o|n|d|-+0#0000000#ffffff0@6|S+0#0000001#ffd7ff255|E|c|o|N|D|-+0#0000000#ffffff0@6|m+0#0000001#ffd7ff255|a|r|k|-+0#0000000#ffffff0@27| @14
+|-@1|#|-@16|&|-@4| @1>X|-@21| @23
|-@59| @14
|-@59| @14
-@57|3|,|4|5| @9|T|o|p|
+@57|9|,|3|8| @9|T|o|p|
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 68d7db8..cdfa3a9 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -1462,6 +1462,13 @@
\ moved: range(3),
\ mousemoved: range(3),
\ })
+
+ normal 9G27|Rconcealed X
+ syn match Hidden /concealed/ conceal
+ set conceallevel=2 concealcursor=n
+ redraw
+ normal 0fX
+ call popup_atcursor('mark', {})
END
call writefile(lines, 'XtestPopupAtcursorPos')
let buf = RunVimInTerminal('-S XtestPopupAtcursorPos', #{rows: 12})