diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buffer.c | 2 | ||||
-rw-r--r-- | src/evalbuffer.c | 1 | ||||
-rw-r--r-- | src/ex_getln.c | 3 | ||||
-rw-r--r-- | src/testdir/test_cmdwin.vim | 14 | ||||
-rw-r--r-- | src/testdir/test_normal.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
6 files changed, 20 insertions, 4 deletions
diff --git a/src/buffer.c b/src/buffer.c index 64e4926475..62c396a531 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5936,6 +5936,8 @@ buf_spname(buf_T *buf) #endif if (buf->b_fname != NULL) return buf->b_fname; + if (buf == cmdwin_buf) + return (char_u *)_("[Command Line]"); #ifdef FEAT_JOB_CHANNEL if (bt_prompt(buf)) return (char_u *)_("[Prompt]"); diff --git a/src/evalbuffer.c b/src/evalbuffer.c index e611c52e4c..6ec734d370 100644 --- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -653,6 +653,7 @@ get_buffer_info(buf_T *buf) dict_add_number(dict, "changedtick", CHANGEDTICK(buf)); dict_add_number(dict, "hidden", buf->b_ml.ml_mfp != NULL && buf->b_nwindows == 0); + dict_add_number(dict, "command", buf == cmdwin_buf); // Get a reference to buffer variables dict_add_dict(dict, "variables", buf->b_vars); diff --git a/src/ex_getln.c b/src/ex_getln.c index 139bb6fa20..1731d2952c 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -4537,9 +4537,6 @@ open_cmdwin(void) } cmdwin_buf = curbuf; - apply_autocmds(EVENT_BUFFILEPRE, NULL, NULL, FALSE, curbuf); - (void)setfname(curbuf, (char_u *)_("[Command Line]"), NULL, TRUE); - apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); set_option_value_give_err((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); curbuf->b_p_ma = TRUE; diff --git a/src/testdir/test_cmdwin.vim b/src/testdir/test_cmdwin.vim index 494c8065f2..33a2662629 100644 --- a/src/testdir/test_cmdwin.vim +++ b/src/testdir/test_cmdwin.vim @@ -569,4 +569,18 @@ func Test_cmdwin_interrupted() delfunc CheckInterrupted endfunc +func Test_cmdwin_existing_bufname() + func CheckName() + call assert_equal(1, getbufinfo('')[0].command) + call assert_equal(0, getbufinfo('[Command Line]')[0].command) + call assert_match('#a\s*"\[Command Line\]"', execute('ls')) + call assert_match('%a\s*"\[Command Line\]"', execute('ls')) + endfunc + + file [Command Line] + call feedkeys("q::call CheckName()\<CR>:q\<CR>", 'ntx') + 0file + delfunc CheckName +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_normal.vim b/src/testdir/test_normal.vim index 0fd53b501e..fb9c3ded53 100644 --- a/src/testdir/test_normal.vim +++ b/src/testdir/test_normal.vim @@ -3158,7 +3158,7 @@ func Test_normal50_commandline() CheckFeature cmdline_hist func! DoTimerWork(id) - call assert_equal('[Command Line]', bufname('')) + call assert_equal(1, getbufinfo('')[0].command) " should fail, with E11, but does fail with E23? "call feedkeys("\<c-^>", 'tm') diff --git a/src/version.c b/src/version.c index 63ef3632fe..2a54c47940 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 49, +/**/ 48, /**/ 47, |