mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 16:28:17 +00:00
vim-patch:7.4.561
Patch 7.4.561 Problem: Ex range handling is wrong for buffer-local user commands. Solution: Check for CMD_USER_BUF. (Marcin Szamotulski) https://code.google.com/p/vim/source/detail?name=v7-4-561
This commit is contained in:
@@ -1420,10 +1420,12 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
||||
* is equal to the lower.
|
||||
*/
|
||||
|
||||
if (ea.cmdidx != CMD_USER && ea.cmdidx != CMD_SIZE) {
|
||||
if (ea.cmdidx != CMD_SIZE
|
||||
&& ea.cmdidx != CMD_USER
|
||||
&& ea.cmdidx != CMD_USER_BUF) {
|
||||
ea.addr_type = cmdnames[(int)ea.cmdidx].cmd_addr_type;
|
||||
} else {
|
||||
if (ea.cmdidx != CMD_USER) {
|
||||
if (ea.cmdidx != CMD_USER && ea.cmdidx != CMD_USER_BUF) {
|
||||
ea.addr_type = ADDR_LINES;
|
||||
// ea.addr_type for user commands is set by find_ucmd
|
||||
}
|
||||
|
@@ -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, 'RangeLines '.<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!
|
||||
|
@@ -14,4 +14,6 @@ RangeBuffersAll 1 5
|
||||
RangeTabs 2 5
|
||||
RangeTabs 1 5
|
||||
RangeTabsAll 1 5
|
||||
RangeLines 2 5
|
||||
LocalRangeLines 2 5
|
||||
|
||||
|
@@ -218,7 +218,7 @@ static int included_patches[] = {
|
||||
//564,
|
||||
563,
|
||||
//562,
|
||||
//561,
|
||||
561,
|
||||
//560 NA
|
||||
559,
|
||||
//558 NA
|
||||
|
Reference in New Issue
Block a user