summaryrefslogtreecommitdiffstats
path: root/src/evalfunc.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-03-22 17:11:15 +0100
committerBram Moolenaar <Bram@vim.org>2021-03-22 17:11:15 +0100
commitf1387285e2ebe5cb3688d729fc6fd01a169a76c1 (patch)
tree3adfa05958b52b53b2b69e325be4a677955c77f1 /src/evalfunc.c
parent5ea79a2599d35f75e1ae8a75d2711c754c4cb7c4 (diff)
patch 8.2.2640: screenstring() returns non-existing composing charactersv8.2.2640
Problem: screenstring() returns non-existing composing characters. Solution: Only use composing characters if there is a base character.
Diffstat (limited to 'src/evalfunc.c')
-rw-r--r--src/evalfunc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 8fcdedbc00..6db93b86ea 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -7902,7 +7902,7 @@ f_screenstring(typval_T *argvars, typval_T *rettv)
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);