aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/screen.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-02-13 15:51:37 -0500
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-02-13 16:15:00 -0500
commit34291eba80fd2c07cbb3e6310d684e4ac3594fc4 (patch)
tree91f30020abc9f807c23aa6a5d1f6f67c50b2c7f8 /src/nvim/screen.c
parentcdace43b6c02ba2125dbcf3ce36d26ac8bb3e219 (diff)
downloadrneovim-34291eba80fd2c07cbb3e6310d684e4ac3594fc4.tar.gz
rneovim-34291eba80fd2c07cbb3e6310d684e4ac3594fc4.tar.bz2
rneovim-34291eba80fd2c07cbb3e6310d684e4ac3594fc4.zip
vim-patch:8.2.1058: multiline conceal causes display errors
Problem: Multiline conceal causes display errors. Solution: Do not allow conceal cross over EOL. (closes vim/vim#6326, closes vim/vim#4854, closes vim/vim#6302) https://github.com/vim/vim/commit/fc838d6cb0f22c77a6ee2befd034b593e1c5ea06 Port test_conceal.vim but skip tests that require screendumps.
Diffstat (limited to 'src/nvim/screen.c')
-rw-r--r--src/nvim/screen.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index 6b6c51d836..9899da78c9 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -3048,6 +3048,12 @@ static int win_line(win_T *wp, linenr_T lnum, int startrow, int endrow,
&& (wp->w_p_list && lcs_eol_one == -1)) {
search_attr = 0;
}
+
+ // Do not allow a conceal over EOL otherwise EOL will be missed
+ // and bad things happen.
+ if (*ptr == NUL) {
+ has_match_conc = 0;
+ }
}
if (diff_hlf != (hlf_T)0) {