patch 8.2.1693: "hi def" does not work for cleared highlight
Problem: "hi def" does not work for cleared highlight.
Solution: Check the "sg_cleared" flag. (Maxim Kim, closes #6956,
closes #4405)
diff --git a/src/highlight.c b/src/highlight.c
index 6ddd44a..0175079 100644
--- a/src/highlight.c
+++ b/src/highlight.c
@@ -729,7 +729,8 @@
if (!ends_excmd2(line, skipwhite(to_end)))
{
- semsg(_("E413: Too many arguments: \":highlight link %s\""), from_start);
+ semsg(_("E413: Too many arguments: \":highlight link %s\""),
+ from_start);
return;
}
@@ -1629,7 +1630,8 @@
static int
hl_has_settings(int idx, int check_link)
{
- return ( HL_TABLE()[idx].sg_term_attr != 0
+ return HL_TABLE()[idx].sg_cleared == 0
+ && ( HL_TABLE()[idx].sg_term_attr != 0
|| HL_TABLE()[idx].sg_cterm_attr != 0
|| HL_TABLE()[idx].sg_cterm_fg != 0
|| HL_TABLE()[idx].sg_cterm_bg != 0