]> granicus.if.org Git - vim/commitdiff
updated for version 7.4.561 v7.4.561
authorBram Moolenaar <Bram@vim.org>
Wed, 7 Jan 2015 12:15:45 +0000 (13:15 +0100)
committerBram Moolenaar <Bram@vim.org>
Wed, 7 Jan 2015 12:15:45 +0000 (13:15 +0100)
Problem:    Ex range handling is wrong for buffer-local user commands.
Solution:   Check for CMD_USER_BUF. (Marcin Szamotulski)

src/ex_docmd.c
src/testdir/test_command_count.in
src/testdir/test_command_count.ok
src/version.c

index 0c8123cbc09559bd8e5c0c270a945d4547054902..b37c6ed8cc94819cad418b467532fc39cc102833 100644 (file)
@@ -2133,12 +2133,13 @@ do_one_cmd(cmdlinep, sourcing,
     if (ea.cmdidx != CMD_SIZE
 #ifdef FEAT_USR_CMDS
        && ea.cmdidx != CMD_USER
+       && ea.cmdidx != CMD_USER_BUF
 #endif
        )
        ea.addr_type = cmdnames[(int)ea.cmdidx].cmd_addr_type;
     else
 #ifdef FEAT_USR_CMDS
-       if (ea.cmdidx != CMD_USER)
+       if (ea.cmdidx != CMD_USER && ea.cmdidx != CMD_USER_BUF)
 #endif
        ea.addr_type = ADDR_LINES;
     /* ea.addr_type for user commands is set by find_ucmd */
index cca178e5cf8ea3862e272241dc4e81df85e7fd5f..c71ae5a386d3b33ca44cd45eebc189ae613f7b69 100644 (file)
@@ -3,7 +3,7 @@ Test for user command counts        vim: set ft=vim :
 STARTTEST
 :let g:lines = []
 :so tiny.vim
-:com -range RangeLines :call add(g:lines, 'Rangeg:Lines '.<line1>.' '.<line2>)
+:com -range=% RangeLines :call add(g:lines, 'RangeLines '.<line1>.' '.<line2>)
 :com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>)
 :com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<line1>.' '.<line2>)
 :com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>)
@@ -42,6 +42,12 @@ STARTTEST
 :%RangeTabs
 :RangeTabsAll
 :1tabonly
+:s/\n/\r\r\r\r\r/
+:2ma<
+:$-ma>
+:'<,'>RangeLines
+:com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '.<line1>.' '.<line2>)
+:'<,'>LocalRangeLines
 :e! test.out
 :call append(0, g:lines)
 :w|qa!
index 11e88b3903a67b4be84dcd4b060bca4d388a94bf..693a22d63f63b75c9941064c175e9364ea9bf23a 100644 (file)
@@ -14,4 +14,6 @@ RangeBuffersAll 1 5
 RangeTabs 2 5
 RangeTabs 1 5
 RangeTabsAll 1 5
+RangeLines 2 5
+LocalRangeLines 2 5
 
index 2ca9502d147cf0612e0e7f2d56f22edf0c8cb0b1..9d06ab33f497570ecb1ea94706af863a74cd539f 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    561,
 /**/
     560,
 /**/