From: glepnir Date: Fri, 28 Mar 2025 18:21:59 +0000 (+0100) Subject: patch 9.1.1255: missing test condition for 'pummaxwidth' setting X-Git-Tag: v9.1.1255^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=532c5aec6fa8f0a3d743c7d1573d25d75dd36d5f;p=thirdparty%2Fvim.git patch 9.1.1255: missing test condition for 'pummaxwidth' setting Problem: missing test condition for 'pummaxwidth' setting, pummaxwidth not effective when width is 32 and height is 10 (after v9.1.1250) Solution: add missing comparison condition in pum_width() (glepnir) closes: #16999 Signed-off-by: glepnir Signed-off-by: Christian Brabandt --- diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 9b59211712..2bcea9df01 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,7 +1,7 @@ " These commands create the option window. " " Maintainer: The Vim Project -" Last Change: 2025 Mar 27 +" Last Change: 2025 Mar 28 " Former Maintainer: Bram Moolenaar " If there already is an option window, jump to that one. @@ -863,7 +863,7 @@ if has("insert_expand") call OptionG("ph", &ph) call AddOption("pumwidth", gettext("minimum width of the popup menu")) call OptionG("pw", &pw) - call AddOption("pumaxmwidth", gettext("maximum width of the popup menu")) + call AddOption("pummaxwidth", gettext("maximum width of the popup menu")) call OptionG("pmw", &pmw) call AddOption("completefunc", gettext("user defined function for Insert mode completion")) call append("$", "\t" .. s:local_to_buffer) diff --git a/src/popupmenu.c b/src/popupmenu.c index d69c7bd849..5a2f070313 100644 --- a/src/popupmenu.c +++ b/src/popupmenu.c @@ -342,6 +342,10 @@ pum_display( if (p_pmw > 0 && pum_width > p_pmw) pum_width = p_pmw; } + else if (p_pmw > 0 && pum_width > p_pmw) + { + pum_width = p_pmw; + } } } diff --git a/src/testdir/dumps/Test_pum_maxwidth_09.dump b/src/testdir/dumps/Test_pum_maxwidth_09.dump new file mode 100644 index 0000000000..f46d0aab34 --- /dev/null +++ b/src/testdir/dumps/Test_pum_maxwidth_09.dump @@ -0,0 +1,10 @@ +|1+0&#ffffff0|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|a| +|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_|b| +@12|1|2|3|4|5|6|7|8|9|_|1|2|3|4|5|6|7|8|9|_ +|1|2|3|4|5|6|7|8|9|_|a> @20 +|~+0#4040ff13&| @9| +0#0000001#e0e0e08|1|2|3|4|5|.@2| +0#4040ff13#ffffff0@11 +|~| @9| +0#0000001#ffd7ff255|1|2|3|4|5|.@2| +0#4040ff13#ffffff0@11 +|~| @30 +|~| @30 +|~| @30 +|-+2#0000000&@1| |m+0#00e0003&|a|t|c|h| |1| |o|f| |2| +0#0000000&@16 diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim index 94839b5b77..e95465c2d4 100644 --- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -2017,6 +2017,11 @@ func Test_pum_maxwidth() call VerifyScreenDump(buf, 'Test_pum_maxwidth_04', {'rows': 8}) call term_sendkeys(buf, "\3Gdd\"zp") + call term_sendkeys(buf, ":set lines=10 columns=32\") + call term_sendkeys(buf, "GA\") + call VerifyScreenDump(buf, 'Test_pum_maxwidth_09', {'rows': 10, 'cols': 32}) + call term_sendkeys(buf, "\3Gdd\"zp") + call StopVimInTerminal(buf) endfunc diff --git a/src/version.c b/src/version.c index e30225531b..d8e55f9c46 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1255, /**/ 1254, /**/