patch 8.1.1907: wrong position for info popup with scrollbar on the left
Problem: Wrong position for info popup with scrollbar on the left.
Solution: Take the scrollbar into account.
diff --git a/src/popupwin.c b/src/popupwin.c
index 482c5a6..2bac5c8 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -1121,7 +1121,10 @@
wp->w_has_scrollbar = wp->w_want_scrollbar
&& (wp->w_topline > 1 || lnum <= wp->w_buffer->b_ml.ml_line_count);
if (wp->w_has_scrollbar)
+ {
++right_extra;
+ ++extra_width;
+ }
minwidth = wp->w_minwidth;
if (wp->w_popup_title != NULL && *wp->w_popup_title != NUL)
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_3.dump b/src/testdir/dumps/Test_popupwin_cursorline_3.dump
index 478c59d..5866f4f 100644
--- a/src/testdir/dumps/Test_popupwin_cursorline_3.dump
+++ b/src/testdir/dumps/Test_popupwin_cursorline_3.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_4.dump b/src/testdir/dumps/Test_popupwin_cursorline_4.dump
index 85eef41..6139eb7 100644
--- a/src/testdir/dumps/Test_popupwin_cursorline_4.dump
+++ b/src/testdir/dumps/Test_popupwin_cursorline_4.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_5.dump b/src/testdir/dumps/Test_popupwin_cursorline_5.dump
index 57d24aa..bd9b2d4 100644
--- a/src/testdir/dumps/Test_popupwin_cursorline_5.dump
+++ b/src/testdir/dumps/Test_popupwin_cursorline_5.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_cursorline_6.dump b/src/testdir/dumps/Test_popupwin_cursorline_6.dump
index 314c2d1..d814edd 100644
--- a/src/testdir/dumps/Test_popupwin_cursorline_6.dump
+++ b/src/testdir/dumps/Test_popupwin_cursorline_6.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
|~| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |3+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_infopopup_5.dump b/src/testdir/dumps/Test_popupwin_infopopup_5.dump
new file mode 100644
index 0000000..fbcebee
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_infopopup_5.dump
@@ -0,0 +1,14 @@
+|t+0&#ffffff0|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|x|t| |t|e|s|t| |t|e|x|t| |n|o|i|n|f|o> @23
+|~+0#4040ff13&| @42| +0#0000001#ffd7ff255|w|r|d| @4|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|╔+0#0000000#ffff4012|═@11|X| +0#0000001#ffd7ff255|a|n|o|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |l|e|t|s| @5| +0|║+0&#ffff4012| +0#0000001#e0e0e08|n|o|a|w|r|d| @1|W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |s|h|o|w| @5| +0|║+0&#ffff4012| +0#0000001#ffd7ff255|t|h|a|t|w|r|d| |W| |e|x|t|r|a| |t|e|x|t| | +0#4040ff13#ffffff0@8
+|~| @28|║+0#0000000#ffff4012| |a| @8| +0|║+0&#ffff4012| +0#4040ff13#ffffff0@30
+|~| @28|║+0#0000000#ffff4012| |s|c|r|o|l@1|b|a|r| | +0&#a8a8a8255|║+0&#ffff4012| +0#4040ff13#ffffff0@30
+|~| @28|╚+0#0000000#ffff4012|═@11|⇲| +0#4040ff13#ffffff0@30
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |U|s|e|r| |d|e|f|i|n|e|d| |c|o|m|p|l|e|t|i|o|n| |(|^|U|^|N|^|P|)| |m+0#00e0003&|a|t|c|h| |3| |o|f| |4| +0#0000000&@26
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_1.dump b/src/testdir/dumps/Test_popupwin_menu_filter_1.dump
index 991ddec..b99b8d0 100644
--- a/src/testdir/dumps/Test_popupwin_menu_filter_1.dump
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_1.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1@2| | +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_2.dump b/src/testdir/dumps/Test_popupwin_menu_filter_2.dump
index 3862b92..e510f1d 100644
--- a/src/testdir/dumps/Test_popupwin_menu_filter_2.dump
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_2.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_3.dump b/src/testdir/dumps/Test_popupwin_menu_filter_3.dump
index af0735c..77bec0e 100644
--- a/src/testdir/dumps/Test_popupwin_menu_filter_3.dump
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_3.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |7@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |8@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |9+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |7@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |8@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |9+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_4.dump b/src/testdir/dumps/Test_popupwin_menu_filter_4.dump
index 3862b92..e510f1d 100644
--- a/src/testdir/dumps/Test_popupwin_menu_filter_4.dump
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_4.dump
@@ -1,10 +1,10 @@
> +0&#ffffff0@74
|~+0#4040ff13&| @73
-|~| @32|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@32
-|~| @32|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@32
+|~| @31|╔+0#0000001#ffd7ff255|═@5|╗| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |1+0&#e0e0e08@2| +0&#ffd7ff255| +0#0000000#0000001|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |2@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|║+0#0000001#ffd7ff255| |3@2| | +0#0000000#a8a8a8255|║+0#0000001#ffd7ff255| +0#4040ff13#ffffff0@33
+|~| @31|╚+0#0000001#ffd7ff255|═@5|╝| +0#4040ff13#ffffff0@33
|~| @73
|~| @73
| +0#0000000&@56|0|,|0|-|1| @8|A|l@1|
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 6c1ac52..358da6d 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2275,6 +2275,11 @@
call term_sendkeys(buf, "\<C-N>\<C-N>")
call VerifyScreenDump(buf, 'Test_popupwin_infopopup_4', {})
+ " info on the left with scrollbar
+ call term_sendkeys(buf, "test text test text\<C-X>\<C-U>")
+ call term_sendkeys(buf, "\<C-N>\<C-N>")
+ call VerifyScreenDump(buf, 'Test_popupwin_infopopup_5', {})
+
call StopVimInTerminal(buf)
call delete('XtestInfoPopup')
endfunc
diff --git a/src/version.c b/src/version.c
index 6d5f96e..41d4d3d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1907,
+/**/
1906,
/**/
1905,