diff options
-rw-r--r-- | src/drawscreen.c | 9 | ||||
-rw-r--r-- | src/testdir/test_edit.vim | 15 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 22 insertions, 4 deletions
diff --git a/src/drawscreen.c b/src/drawscreen.c index 28a2072959..453ca91c33 100644 --- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -462,12 +462,13 @@ win_redr_status(win_T *wp, int ignore_pum UNUSED) p = NameBuff; len = (int)STRLEN(p); - if (bt_help(wp->w_buffer) + if ((bt_help(wp->w_buffer) #ifdef FEAT_QUICKFIX - || wp->w_p_pvw + || wp->w_p_pvw #endif - || bufIsChanged(wp->w_buffer) - || wp->w_buffer->b_p_ro) + || bufIsChanged(wp->w_buffer) + || wp->w_buffer->b_p_ro) + && len < MAXPATHL - 1) *(p + len++) = ' '; if (bt_help(wp->w_buffer)) { diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim index e83d67250c..63226466ee 100644 --- a/src/testdir/test_edit.vim +++ b/src/testdir/test_edit.vim @@ -2103,5 +2103,20 @@ func Test_edit_CTRL_hat() bwipe! endfunc +" Weird long file name was going over the end of NameBuff +func Test_edit_overlong_file_name() + CheckUnix + + file 0000000000000000000000000000 + file %%%%%%%%%%%%%%%%%%%%%%%%%% + file %%%%%% + set readonly + set ls=2 + + redraw! + set noreadonly ls& + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 1b37a5d50a..1f4a031622 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4074, +/**/ 4073, /**/ 4072, |