mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.4.561
Problem: Ex range handling is wrong for buffer-local user commands. Solution: Check for CMD_USER_BUF. (Marcin Szamotulski)
This commit is contained in:
parent
e88b0033f6
commit
abe382cd2a
@ -2133,12 +2133,13 @@ do_one_cmd(cmdlinep, sourcing,
|
|||||||
if (ea.cmdidx != CMD_SIZE
|
if (ea.cmdidx != CMD_SIZE
|
||||||
#ifdef FEAT_USR_CMDS
|
#ifdef FEAT_USR_CMDS
|
||||||
&& ea.cmdidx != CMD_USER
|
&& ea.cmdidx != CMD_USER
|
||||||
|
&& ea.cmdidx != CMD_USER_BUF
|
||||||
#endif
|
#endif
|
||||||
)
|
)
|
||||||
ea.addr_type = cmdnames[(int)ea.cmdidx].cmd_addr_type;
|
ea.addr_type = cmdnames[(int)ea.cmdidx].cmd_addr_type;
|
||||||
else
|
else
|
||||||
#ifdef FEAT_USR_CMDS
|
#ifdef FEAT_USR_CMDS
|
||||||
if (ea.cmdidx != CMD_USER)
|
if (ea.cmdidx != CMD_USER && ea.cmdidx != CMD_USER_BUF)
|
||||||
#endif
|
#endif
|
||||||
ea.addr_type = ADDR_LINES;
|
ea.addr_type = ADDR_LINES;
|
||||||
/* ea.addr_type for user commands is set by find_ucmd */
|
/* 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
|
STARTTEST
|
||||||
:let g:lines = []
|
:let g:lines = []
|
||||||
:so tiny.vim
|
: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 RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>)
|
||||||
:com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<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>)
|
:com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>)
|
||||||
@ -42,6 +42,12 @@ STARTTEST
|
|||||||
:%RangeTabs
|
:%RangeTabs
|
||||||
:RangeTabsAll
|
:RangeTabsAll
|
||||||
:1tabonly
|
: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
|
:e! test.out
|
||||||
:call append(0, g:lines)
|
:call append(0, g:lines)
|
||||||
:w|qa!
|
:w|qa!
|
||||||
|
@ -14,4 +14,6 @@ RangeBuffersAll 1 5
|
|||||||
RangeTabs 2 5
|
RangeTabs 2 5
|
||||||
RangeTabs 1 5
|
RangeTabs 1 5
|
||||||
RangeTabsAll 1 5
|
RangeTabsAll 1 5
|
||||||
|
RangeLines 2 5
|
||||||
|
LocalRangeLines 2 5
|
||||||
|
|
||||||
|
@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
561,
|
||||||
/**/
|
/**/
|
||||||
560,
|
560,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user