}
screen_puts(p, row, wp->w_wincol, attr);
- for (i = 0; i < wp->w_status_height; i++)
- screen_fill(row + i, row + i + 1, plen + wp->w_wincol,
- this_ru_col + wp->w_wincol, fillchar, fillchar, attr);
+ screen_fill(row, row + 1, plen + wp->w_wincol,
+ this_ru_col + wp->w_wincol, fillchar, fillchar, attr);
+ // Fill extra status line rows entirely with fillchar.
+ for (i = 1; i < wp->w_status_height; i++)
+ screen_fill(row + i, row + i + 1, wp->w_wincol,
+ W_ENDCOL(wp), fillchar, fillchar, attr);
if ((NameBufflen = get_keymap_str(wp, (char_u *)"<%s>", NameBuff, MAXPATHL)) > 0
&& (this_ru_col - plen) > (NameBufflen + 1))
screen_puts(NameBuff, row, (int)(this_ru_col - NameBufflen
call StopVimInTerminal(buf)
endfunc
+func Test_statuslineopt_default_stl()
+ CheckScreendump
+
+ let lines =<< trim END
+ set laststatus=2
+ set statuslineopt=maxheight:4
+ END
+ call writefile(lines, 'XTest_statuslineopt_default_stl', 'D')
+
+ " With no custom statusline, the extra status rows must be filled with
+ " fillchar and must not bleed through buffer content.
+ let buf = g:RunVimInTerminal('-S XTest_statuslineopt_default_stl', {'rows': 8})
+ call term_sendkeys(buf, "\<C-L>")
+ call VerifyScreenDump(buf, 'Test_statuslineopt_default_stl_01', {})
+
+ call StopVimInTerminal(buf)
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab