]> granicus.if.org Git - vim/commitdiff
patch 9.0.0329: ":highlight" hangs when 'cmdheight' is zero v9.0.0329
authorBram Moolenaar <Bram@vim.org>
Tue, 30 Aug 2022 14:44:22 +0000 (15:44 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 30 Aug 2022 14:44:22 +0000 (15:44 +0100)
Problem:    ":highlight" hangs when 'cmdheight' is zero.
Solution:   Add to msg_col when using the message window. (closes #11014)

src/highlight.c
src/message.c
src/version.c

index 95cdb46b5ab6fa8cc54731e3028ae59b68aa4a6c..3a12312fc52fa4faf3e1d22634e8c0db9fc6e0e7 100644 (file)
@@ -1429,6 +1429,7 @@ do_highlight(
     // If no argument, list current highlighting.
     if (!init && ends_excmd2(line - 1, line))
     {
+       dont_use_message_window();
        for (i = 1; i <= highlight_ga.ga_len && !got_int; ++i)
            // TODO: only call when the group has attributes set
            highlight_list_one((int)i);
index f92c45485483ed19bbbe44fa938051367225f252..0c8280ec05d38b1a2d96d0f948c2cd6c93ff4491 100644 (file)
@@ -2261,7 +2261,7 @@ msg_puts_attr_len(char *str, int maxlen, int attr)
 #ifdef HAS_MESSAGE_WINDOW
 
 /*
- * Put text "t_s" until "s" in the message window.
+ * Put text "t_s" until "end" in the message window.
  * "where" specifies where to put the text.
  */
     static void
@@ -2308,7 +2308,7 @@ put_msg_win(win_T *wp, int where, char_u *t_s, char_u *end, linenr_T lnum)
     redraw_win_later(wp, UPD_NOT_VALID);
 
     // set msg_col so that a newline is written if needed
-    msg_col = (int)STRLEN(t_s);
+    msg_col += (int)(end - t_s);
 }
 #endif
 
index 5107549360aa7c1065a897ed8d5549e5edf1185a..e9c925017ac531b0d88d0ceb7aa52b0551c3d845 100644 (file)
@@ -707,6 +707,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    329,
 /**/
     328,
 /**/