From e3a3d300636872f786f0c8a338ed1a3749d0a1f6 Mon Sep 17 00:00:00 2001 From: Luuk van Baal Date: Sat, 1 Apr 2023 03:55:43 +0200 Subject: fix(ui): recording change doesn't trigger statusline redraw --- src/nvim/buffer_defs.h | 1 + src/nvim/drawscreen.c | 2 ++ 2 files changed, 3 insertions(+) (limited to 'src') diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index 4bdf5aac64..c808909942 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -1288,6 +1288,7 @@ struct window_S { int w_stl_topfill; // topfill when last redrawn char w_stl_empty; // true if elements show 0-1 (empty line) int w_stl_state; // State when last redrawn + int w_stl_recording; // reg_recording when last redrawn int w_alt_fnum; // alternate file (for # and CTRL-^) diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 1c8bf56e8e..bccf8a352f 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -827,6 +827,7 @@ void show_cursor_info_later(bool force) || curwin->w_buffer->b_ml.ml_line_count != curwin->w_stl_line_count || curwin->w_topfill != curwin->w_stl_topfill || empty_line != curwin->w_stl_empty + || reg_recording != curwin->w_stl_recording || state != curwin->w_stl_state) { if (curwin->w_status_height || global_stl_height()) { curwin->w_redr_status = true; @@ -851,6 +852,7 @@ void show_cursor_info_later(bool force) curwin->w_stl_line_count = curwin->w_buffer->b_ml.ml_line_count; curwin->w_stl_topfill = curwin->w_topfill; curwin->w_stl_state = state; + curwin->w_stl_recording = reg_recording; } /// @return true when postponing displaying the mode message: when not redrawing -- cgit