aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Hinz <mh.codebro@gmail.com>2018-05-04 16:34:46 +0200
committerMarco Hinz <mh.codebro@gmail.com>2018-05-04 20:59:51 +0200
commit16ce2e006bb4c83e9054cdbfe780ff25fc757fc2 (patch)
tree01842e5c8d13c7717b6ce8b78c5963da1d50de5c
parente46534b4230242c0d41831cc7ad16863c976b151 (diff)
downloadrneovim-16ce2e006bb4c83e9054cdbfe780ff25fc757fc2.tar.gz
rneovim-16ce2e006bb4c83e9054cdbfe780ff25fc757fc2.tar.bz2
rneovim-16ce2e006bb4c83e9054cdbfe780ff25fc757fc2.zip
screen: avoid artifacts
Put back the condition that was accidentally removed in https://github.com/neovim/neovim/commit/d42f934bcb3e9e876e5e7ba0ab5cd824175fd10c - if (enc_utf8 && ScreenLinesUC[off] != 0) - bytes[utfc_char2bytes(off, bytes)] = NUL; - else if (enc_dbcs == DBCS_JPNU && ScreenLines[off] == 0x8e) { - bytes[0] = ScreenLines[off]; - bytes[1] = ScreenLines2[off]; - bytes[2] = NUL; - } else if (enc_dbcs && MB_BYTE2LEN(bytes[0]) > 1) { - bytes[1] = ScreenLines[off + 1]; - bytes[2] = NUL; - } + bytes[utfc_char2bytes(off, bytes)] = NUL; Fixes #8357
-rw-r--r--src/nvim/screen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 2e64eb864f..0dd26fab76 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -5307,7 +5307,9 @@ void screen_getbytes(int row, int col, char_u *bytes, int *attrp)
bytes[0] = ScreenLines[off];
bytes[1] = NUL;
- bytes[utfc_char2bytes(off, bytes)] = NUL;
+ if (ScreenLinesUC[off] != 0) {
+ bytes[utfc_char2bytes(off, bytes)] = NUL;
+ }
}
}