From 7fc952ab67afdfef5ba2a90cb277b30ce573333c Mon Sep 17 00:00:00 2001 From: Felipe Morales Date: Thu, 15 Jan 2015 20:18:15 -0300 Subject: vim-patch:7.4.542 Problem: Using a range for window and buffer commands has a few problems. Cannot specify the type of range for a user command. Solution: Add the -addr argument for user commands. Fix problems. (Marcin Szamotulski https://code.google.com/p/vim/source/detail?name=v7-4-542 --- src/nvim/testdir/Makefile | 3 +- src/nvim/testdir/test_command_count.in | 50 ++++++++++++++++++++++++++++++++++ src/nvim/testdir/test_command_count.ok | 17 ++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 src/nvim/testdir/test_command_count.in create mode 100644 src/nvim/testdir/test_command_count.ok (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index fb529e0cb2..fa68ab8d3a 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -31,7 +31,8 @@ SCRIPTS := test_autoformat_join.out \ test_listlbr.out \ test_breakindent.out \ test_argument_count.out \ - test_close_count.out + test_close_count.out \ + test_command_count.out SCRIPTS_GUI := test16.out diff --git a/src/nvim/testdir/test_command_count.in b/src/nvim/testdir/test_command_count.in new file mode 100644 index 0000000000..3697add746 --- /dev/null +++ b/src/nvim/testdir/test_command_count.in @@ -0,0 +1,50 @@ +Test for user command counts vim: set ft=vim : + +STARTTEST +:let g:lines = [] +:so tiny.vim +:com -range RangeLines :call add(g:lines, 'RangeLines '..' '.) +:com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '..' '.) +:com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '..' '.) +:com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '..' '.) +:com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '..' '.) +:com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '..' '.) +:com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '..' '.) +:com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '..' '.) +:com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '..' '.) +:com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '..' '.) +:com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '..' '.) +:set hidden +:arga a b c d +:argdo echo "loading buffers" +:argu 3 +:.-,$-RangeArguments +:%RangeArguments +:RangeArgumentsAll +:N +:.RangeArguments +:split|split|split|split +:3wincmd w +:.,$RangeWindows +:%RangeWindows +:RangeWindowsAll +:only +:blast|bd +:.,$RangeLoadedBuffers +:%RangeLoadedBuffers +:RangeLoadedBuffersAll +:.,$RangeBuffers +:%RangeBuffers +:RangeBuffersAll +:tabe|tabe|tabe|tabe +:normal 2gt +:.,$RangeTabs +:%RangeTabs +:RangeTabsAll +:1tabonly +:e! test.out +:call append(0, g:lines) +:w|qa! +ENDTEST + + diff --git a/src/nvim/testdir/test_command_count.ok b/src/nvim/testdir/test_command_count.ok new file mode 100644 index 0000000000..11e88b3903 --- /dev/null +++ b/src/nvim/testdir/test_command_count.ok @@ -0,0 +1,17 @@ +RangeArguments 2 4 +RangeArguments 1 5 +RangeArgumentsAll 1 5 +RangeArguments 2 2 +RangeWindows 3 5 +RangeWindows 1 5 +RangeWindowsAll 1 5 +RangeLoadedBuffers 2 4 +RangeLoadedBuffers 1 4 +RangeLoadedBuffersAll 1 4 +RangeBuffers 2 5 +RangeBuffers 1 5 +RangeBuffersAll 1 5 +RangeTabs 2 5 +RangeTabs 1 5 +RangeTabsAll 1 5 + -- cgit