diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index edb813405d..f5236f993e 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -596,6 +596,8 @@ int update_screen(void) // Reset 'statuscolumn' if there is no dedicated signcolumn but it is invalid. if (*wp->w_p_stc != NUL && !wp->w_buffer->b_signcols.valid && win_no_signcol(wp)) { wp->w_nrwidth_line_count = 0; + wp->w_valid &= ~VALID_WCOL; + wp->w_redr_type = UPD_NOT_VALID; } } diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua index 93a87f426c..4e1aad12bc 100644 --- a/test/functional/ui/statuscolumn_spec.lua +++ b/test/functional/ui/statuscolumn_spec.lua @@ -725,6 +725,8 @@ describe('statuscolumn', function() end return vim.v.lnum .. '%=' .. sign end + vim.o.number = true + vim.o.numberwidth = 2 vim.o.statuscolumn = "%!v:lua.StatusCol()" ]]) command('sign place 1 line=2 name=sign')