diff src/buffer.c @ 12684:185f8dbdcf26 v8.0.1220

patch 8.0.1220: skipping empty statusline groups is not correct commit https://github.com/vim/vim/commit/235dddf1f4afe3a40047dbf2aca1bd177b7be18b Author: Bram Moolenaar <Bram@vim.org> Date: Thu Oct 26 18:21:24 2017 +0200 patch 8.0.1220: skipping empty statusline groups is not correct Problem: Skipping empty statusline groups is not correct. Solution: Also set group_end_userhl. (itchyny)
author Christian Brabandt <cb@256bit.org>
date Thu, 26 Oct 2017 18:30:05 +0200
parents e769c912fcd9
children ca3cb1997f08
line wrap: on
line diff
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -4028,9 +4028,14 @@ build_stl_str_hl(
 		/* remove group if all items are empty and highlight group
 		 * doesn't change */
 		group_start_userhl = group_end_userhl = 0;
-		for (n = 0; n < groupitem[groupdepth]; n++)
+		for (n = groupitem[groupdepth] - 1; n >= 0; n--)
+		{
 		    if (item[n].type == Highlight)
-			group_start_userhl = item[n].minwid;
+		    {
+			group_start_userhl = group_end_userhl = item[n].minwid;
+			break;
+		    }
+		}
 		for (n = groupitem[groupdepth] + 1; n < curitem; n++)
 		{
 		    if (item[n].type == Normal)