fix(column): fill 'statuscolumn' clickdefs with evaluated width (#26891)

This commit is contained in:
luukvbaal 2024-01-05 14:34:54 +01:00 committed by GitHub
parent e09adfdcff
commit c509f4907b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -884,9 +884,9 @@ int build_statuscol_str(win_T *wp, linenr_T lnum, linenr_T relnum, char *buf, st
if (fillclick) {
stl_clear_click_defs(wp->w_statuscol_click_defs, wp->w_statuscol_click_defs_size);
wp->w_statuscol_click_defs = stl_alloc_click_defs(wp->w_statuscol_click_defs, stcp->width,
wp->w_statuscol_click_defs = stl_alloc_click_defs(wp->w_statuscol_click_defs, width,
&wp->w_statuscol_click_defs_size);
stl_fill_click_defs(wp->w_statuscol_click_defs, clickrec, buf, stcp->width, false);
stl_fill_click_defs(wp->w_statuscol_click_defs, clickrec, buf, width, false);
}
return width;

View File

@ -77,6 +77,18 @@ describe('statuscolumn', function()
1 aaaaa |
|
]])
-- Doesn't crash when trying to fill click defs that do not fit (#26845)
command('norm gg')
command([=[
set stc=%@Click@%{v:relnum?v:relnum:(v:lnum==5?'bbbbb':v:lnum)}%T
norm 5Gzt | redraw!
]=])
screen:expect([[
bbbbba^eaaa |
1 aaaaa |
2 aaaaa |
|
]])
end)
it("works with 'number' and 'relativenumber'", function()