patch 8.2.0281: two placed signs in the same line are not combined

Problem:    Two placed signs in the same line are not combined.  E.g. in the
            terminal debugger a breakpoint and the PC cannot be both be
            displayed.
Solution:   Combine the sign column and line highlight attributes.
diff --git a/src/sign.c b/src/sign.c
index 9d8d7ac..1964c83 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -514,6 +514,30 @@
 		sattr->sat_texthl = syn_id2attr(sp->sn_text_hl);
 	    if (sp->sn_line_hl > 0)
 		sattr->sat_linehl = syn_id2attr(sp->sn_line_hl);
+
+	    // If there is another sign next with the same priority, may
+	    // combine the text and the line highlighting.
+	    if (sign->se_next != NULL
+		    && sign->se_next->se_priority == sign->se_priority
+		    && sign->se_next->se_lnum == sign->se_lnum)
+	    {
+		sign_T	*next_sp = find_sign_by_typenr(sign->se_next->se_typenr);
+
+		if (next_sp != NULL)
+		{
+		    if (sattr->sat_icon == NULL && sattr->sat_text == NULL)
+		    {
+# ifdef FEAT_SIGN_ICONS
+			sattr->sat_icon = next_sp->sn_image;
+# endif
+			sattr->sat_text = next_sp->sn_text;
+		    }
+		    if (sp->sn_text_hl <= 0 && next_sp->sn_text_hl > 0)
+			sattr->sat_texthl = syn_id2attr(next_sp->sn_text_hl);
+		    if (sp->sn_line_hl <= 0 && next_sp->sn_line_hl > 0)
+			sattr->sat_linehl = syn_id2attr(next_sp->sn_line_hl);
+		}
+	    }
 	    return TRUE;
 	}
     }