diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 8f57ac0f0d..be59b69a30 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 9.0. Last change: 2023 Oct 23 +*options.txt* For Vim version 9.0. Last change: 2023 Nov 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -3494,8 +3494,8 @@ A jump table for the options with a short description can be found at |Q_op|. and the value of that item: item name default Used for ~ - stl ' ' or '^' statusline of the current window - stlnc ' ' or '=' statusline of the non-current windows + stl ' ' statusline of the current window + stlnc ' ' statusline of the non-current windows vert '|' vertical separators |:vsplit| fold '-' filling 'foldtext' foldopen '-' mark the beginning of a fold @@ -3505,15 +3505,11 @@ A jump table for the options with a short description can be found at |Q_op|. eob '~' empty lines below the end of a buffer lastline '@' 'display' contains lastline/truncate - Any one that is omitted will fall back to the default. For "stl" and - "stlnc" the space will be used when there is highlighting, '^' or '=' - otherwise. + Any one that is omitted will fall back to the default. Example: > - :set fillchars=stl:^,stlnc:=,vert:\|,fold:-,diff:- -< This is similar to the default, except that these characters will also - be used when there is highlighting. - + :set fillchars=stl:\ ,stlnc:\ ,vert:\|,fold:-,diff:- +< For the "stl", "stlnc", "foldopen", "foldclose" and "foldsep" items single-byte and multibyte characters are supported. But double-width characters are not supported. diff --git a/src/screen.c b/src/screen.c index 3d931ab4e5..fd69cf0b3d 100644 --- a/src/screen.c +++ b/src/screen.c @@ -4462,16 +4462,7 @@ fillchar_status(int *attr, win_T *wp) *attr = HL_ATTR(HLF_SNC); fill = wp->w_fill_chars.stlnc; } - // Use fill when there is highlighting, and highlighting of current - // window differs, or the fillchars differ, or this is not the - // current window - if (*attr != 0 && ((HL_ATTR(HLF_S) != HL_ATTR(HLF_SNC) - || wp != curwin || ONE_WINDOW) - || (wp->w_fill_chars.stl != wp->w_fill_chars.stlnc))) - return fill; - if (wp == curwin) - return '^'; - return '='; + return fill; } /* diff --git a/src/testdir/dumps/Test_statusline_stl_1.dump b/src/testdir/dumps/Test_statusline_stl_1.dump new file mode 100644 index 0000000000..ab1133cea2 --- /dev/null +++ b/src/testdir/dumps/Test_statusline_stl_1.dump @@ -0,0 +1,20 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|[+0#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| @74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|[+0#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1 +| @74 diff --git a/src/testdir/test_statusline.vim b/src/testdir/test_statusline.vim index 1239e4e4ee..22fd78cdef 100644 --- a/src/testdir/test_statusline.vim +++ b/src/testdir/test_statusline.vim @@ -610,4 +610,25 @@ func Test_statusline_showcmd() call StopVimInTerminal(buf) endfunc +func Test_statusline_highlight_group_cleared() + CheckScreendump + + " the laststatus option is there to prevent + " the code-style test from complaining about + " trailing whitespace + let lines =<< trim END + set fillchars=stl:\ ,stlnc:\ laststatus=2 + split + hi clear StatusLine + hi clear StatusLineNC + END + call writefile(lines, 'XTest_statusline_stl', 'D') + + let buf = RunVimInTerminal('-S XTest_statusline_stl', {}) + + call VerifyScreenDump(buf, 'Test_statusline_stl_1', {}) + + call StopVimInTerminal(buf) +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index d4fe38f286..1e45be1bee 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2095, /**/ 2094, /**/