diff options
author | Felipe Morales <hel.sheep@gmail.com> | 2015-01-20 11:10:54 -0300 |
---|---|---|
committer | Felipe Morales <hel.sheep@gmail.com> | 2015-04-28 23:08:32 -0300 |
commit | 7e850a2f2aafa609457b9d6f6f637449d4113567 (patch) | |
tree | de02b2af85df046a57b2981dfad3c4f50f94b75f | |
parent | 838c9aa31d7ad996206dc7879b18c13b2f8c5555 (diff) | |
download | rneovim-7e850a2f2aafa609457b9d6f6f637449d4113567.tar.gz rneovim-7e850a2f2aafa609457b9d6f6f637449d4113567.tar.bz2 rneovim-7e850a2f2aafa609457b9d6f6f637449d4113567.zip |
vim-patch:7.4.585
Problem: Range for :bdelete does not work. (Ronald Schild)
Solution: Also allow unloaded buffers.
https://code.google.com/p/vim/source/detail?name=v7-4-585
-rw-r--r-- | src/nvim/ex_cmds.lua | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_command_count.in | 28 | ||||
-rw-r--r-- | src/nvim/testdir/test_command_count.ok | 7 | ||||
-rw-r--r-- | src/nvim/version.c | 2 |
4 files changed, 34 insertions, 5 deletions
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua index 5cbe7a0ca5..194ad37682 100644 --- a/src/nvim/ex_cmds.lua +++ b/src/nvim/ex_cmds.lua @@ -178,7 +178,7 @@ return { { command='bdelete', flags=bit.bor(BANG, RANGE, NOTADR, BUFNAME, COUNT, EXTRA, TRLBAR), - addr_type=ADDR_LOADED_BUFFERS, + addr_type=ADDR_BUFFERS, func='ex_bunload', }, { diff --git a/src/nvim/testdir/test_command_count.in b/src/nvim/testdir/test_command_count.in index 16daad0b2d..284110a4ec 100644 --- a/src/nvim/testdir/test_command_count.in +++ b/src/nvim/testdir/test_command_count.in @@ -92,11 +92,37 @@ STARTTEST :call append(0, g:lines) :unlet g:lines :w|bd -:se hidden :b1 ENDTEST STARTTEST +:let g:lines = [] +:func BufStatus() +: call add(g:lines, 'aaa: ' . buflisted(g:buf_aaa) . ' bbb: ' . buflisted(g:buf_bbb) . ' ccc: ' . buflisted(g:buf_ccc)) +:endfunc +:se nohidden +:e aaa +:let buf_aaa = bufnr('%') +:e bbb +:let buf_bbb = bufnr('%') +:e ccc +:let buf_ccc = bufnr('%') +:b1 +:call BufStatus() +:exe buf_bbb . "," . buf_ccc . "bdelete" +:call BufStatus() +:exe buf_aaa . "bdelete" +:call BufStatus() +:e! test.out +:call append('$', g:lines) +:unlet g:lines +:delfunc BufStatus +:w|bd +:b1 +ENDTEST + +STARTTEST +:se hidden :only! :let g:lines = [] :%argd diff --git a/src/nvim/testdir/test_command_count.ok b/src/nvim/testdir/test_command_count.ok index 7219b28e16..8fdbc7748d 100644 --- a/src/nvim/testdir/test_command_count.ok +++ b/src/nvim/testdir/test_command_count.ok @@ -21,15 +21,18 @@ LocalRangeLines 2 5 4argu d 1argu a 100b E16: Invalid range -0close +0close $close 3 $+close E16: Invalid range $tabe 2 $+tabe E16: Invalid range 0tabm x +aaa: 1 bbb: 1 ccc: 1 +aaa: 1 bbb: 0 ccc: 0 +aaa: 0 bbb: 0 ccc: 0 argdo: c d e windo: 2 3 4 -bufdo: 2 3 4 5 6 7 8 9 10 12 +bufdo: 2 3 4 5 6 7 8 9 10 15 bufdo: 3 4 5 6 7 tabdo: 2 3 4 diff --git a/src/nvim/version.c b/src/nvim/version.c index 84a01585fd..91de98270d 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -194,7 +194,7 @@ static int included_patches[] = { //588, //587, //586 NA - //585, + 585, //584 NA //583 NA //582, |