patch 8.2.2640: screenstring() returns non-existing composing characters

Problem:    screenstring() returns non-existing composing characters.
Solution:   Only use composing characters if there is a base character.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 8fcdedb..6db93b8 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -7902,7 +7902,7 @@
 	c = ScreenLines[off];
     buflen += mb_char2bytes(c, buf);
 
-    if (enc_utf8)
+    if (enc_utf8 && ScreenLinesUC[off] != 0)
 	for (i = 0; i < Screen_mco && ScreenLinesC[i][off] != 0; ++i)
 	    buflen += mb_char2bytes(ScreenLinesC[i][off], buf + buflen);