summaryrefslogtreecommitdiffstats
path: root/src/edit.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-01-11 20:45:36 +0100
committerBram Moolenaar <Bram@vim.org>2019-01-11 20:45:36 +0100
commit535d5b653a1eddf49ee11dc9639c5355ef023301 (patch)
tree108a023a948f57b7620d2cad3c4931c58f21706c /src/edit.c
parent465e8b5985908596261cef9d671024ed8ded1ce3 (diff)
patch 8.1.0726: redrawing specifically for conceal featurev8.1.0726
Problem: Redrawing specifically for conceal feature. Solution: Use generic redrawing methods.
Diffstat (limited to 'src/edit.c')
-rw-r--r--src/edit.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/edit.c b/src/edit.c
index bd6f606bba..33e0e6708b 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -1745,23 +1745,24 @@ ins_redraw(
}
#endif
- if (must_redraw)
- update_screen(0);
- else if (clear_cmdline || redraw_cmdline)
- showmode(); /* clear cmdline and show mode */
-# if defined(FEAT_CONCEAL)
+#if defined(FEAT_CONCEAL)
if ((conceal_update_lines
&& (conceal_old_cursor_line != conceal_new_cursor_line
|| conceal_cursor_line(curwin)))
|| need_cursor_line_redraw)
{
if (conceal_old_cursor_line != conceal_new_cursor_line)
- update_single_line(curwin, conceal_old_cursor_line);
- update_single_line(curwin, conceal_new_cursor_line == 0
- ? curwin->w_cursor.lnum : conceal_new_cursor_line);
+ redrawWinline(curwin, conceal_old_cursor_line);
+ redrawWinline(curwin, conceal_new_cursor_line == 0
+ ? curwin->w_cursor.lnum : conceal_new_cursor_line);
curwin->w_valid &= ~VALID_CROW;
+ need_cursor_line_redraw = FALSE;
}
-# endif
+#endif
+ if (must_redraw)
+ update_screen(0);
+ else if (clear_cmdline || redraw_cmdline)
+ showmode(); /* clear cmdline and show mode */
showruler(FALSE);
setcursor();
emsg_on_display = FALSE; /* may remove error message now */