summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/menu.vim4
-rw-r--r--src/testdir/test_menu.vim14
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 4 deletions
diff --git a/runtime/menu.vim b/runtime/menu.vim
index b17e8ea88..8400180aa 100644
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2020 Mar 19
+" Last Change: 2020 Mar 29
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -672,7 +672,7 @@ func s:BMAdd()
call s:BMShow()
else
let name = expand("<afile>")
- let num = expand("<abuf>")
+ let num = expand("<abuf>") + 0 " add zero to convert to a number type
if s:BMCanAdd(name, num)
call <SID>BMFilename(name, num)
let s:bmenu_count += 1
diff --git a/src/testdir/test_menu.vim b/src/testdir/test_menu.vim
index f8d808119..85d54f083 100644
--- a/src/testdir/test_menu.vim
+++ b/src/testdir/test_menu.vim
@@ -33,10 +33,17 @@ func Test_buffer_menu_special_buffers()
let orig_buffer_menus = execute("nmenu Buffers")
+ " Test that regular new buffer results in a new buffer menu item.
+ new
+ let new_buffer_menus = execute('nmenu Buffers')
+ call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(new_buffer_menus, "\n")))
+ bwipe!
+ call assert_equal(orig_buffer_menus, execute("nmenu Buffers"))
+
" Make a new command-line window, test that it does not create a new buffer
" menu.
call feedkeys("q::let cmdline_buffer_menus=execute('nmenu Buffers')\<CR>:q\<CR>", 'ntx')
- call assert_equal(len(split(orig_buffer_menus, "\n")), len(split(cmdline_buffer_menus, "\n")))
+ call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(cmdline_buffer_menus, "\n")))
call assert_equal(orig_buffer_menus, execute("nmenu Buffers"))
if has('terminal')
@@ -44,7 +51,7 @@ func Test_buffer_menu_special_buffers()
" item.
terminal
let term_buffer_menus = execute('nmenu Buffers')
- call assert_equal(len(split(orig_buffer_menus, "\n")), len(split(term_buffer_menus, "\n")))
+ call assert_equal(len(split(orig_buffer_menus, "\n")) + 2, len(split(term_buffer_menus, "\n")))
bwipe!
call assert_equal(orig_buffer_menus, execute("nmenu Buffers"))
endif
@@ -155,6 +162,9 @@ endfunc
" Test for menu item completion in command line
func Test_menu_expand()
+ " Make sure we don't have stale menu items like Buffers menu.
+ source $VIMRUNTIME/delmenu.vim
+
" Create the menu itmes for test
menu Dummy.Nothing lll
for i in range(1, 4)
diff --git a/src/version.c b/src/version.c
index 13a1c30fe..402ed4053 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 478,
+/**/
477,
/**/
476,