]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.0145: v:echospace not correct when 'showcmdloc' != last v9.1.0145
authorSam-programs <130783534+Sam-programs@users.noreply.github.com>
Thu, 29 Feb 2024 16:40:29 +0000 (17:40 +0100)
committerChristian Brabandt <cb@256bit.org>
Thu, 29 Feb 2024 16:40:29 +0000 (17:40 +0100)
Problem:  the amount of available space (v:echospace) on the command
          line is not correct when showcmdloc is drawn into the
          statusline or tabline.
Solution: only add SHOWCMD_COLS to the shown command column when
          'showcmdloc' is set to last (Sam-programs)

closes: #14108

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Sam-programs <130783534+Sam-programs@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/optionstr.c
src/screen.c
src/testdir/test_messages.vim
src/version.c

index 7f6225fd2fd68d65db83b2a4975494c181b647cb..771423c641692ea9133e52bdb85f41eb4ac5813f 100644 (file)
@@ -3440,6 +3440,7 @@ did_set_showbreak(optset_T *args)
     char *
 did_set_showcmdloc(optset_T *args UNUSED)
 {
+    comp_col();
     return did_set_opt_strings(p_sloc, p_sloc_values, FALSE);
 }
 
index 939a3359990942934392a5bf630950c0859e9ff7..208b1825411337af18bf315e6f0d04454dab4b81 100644 (file)
@@ -4536,7 +4536,7 @@ comp_col(void)
        if (!last_has_status)
            sc_col = ru_col;
     }
-    if (p_sc)
+    if (p_sc && *p_sloc == 'l')
     {
        sc_col += SHOWCMD_COLS;
        if (!p_ru || last_has_status)       // no need for separating space
index 48f1bab45be8abe8a0d39ab807e822d95776cbcc..8d0a422809ad114a3b346e347519127ebb1645e8 100644 (file)
@@ -162,8 +162,12 @@ func Test_echospace()
   call assert_equal(&columns - 12, v:echospace)
   set showcmd ruler
   call assert_equal(&columns - 29, v:echospace)
+  set showcmdloc=statusline
+  call assert_equal(&columns - 19, v:echospace)
+  set showcmdloc=tabline
+  call assert_equal(&columns - 19, v:echospace)
 
-  set ruler& showcmd&
+  set ruler& showcmd& showcmdloc&
 endfunc
 
 func Test_warning_scroll()
index a17f3271e7a493a2af482d29a1528fc8ed16f0f0..5842f46d5a2b0a064ffd8665a473cbbdadcef18e 100644 (file)
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    145,
 /**/
     144,
 /**/