forked from aniani/vim
patch 9.1.0651: ex: trailing dot is optional for :g and :insert/:append
Problem: ex: trailing dot is optional for :g and :insert/:append Solution: don't break out early, when the next command is empty. (Mohamed Akram) The terminating period is optional for the last command in a global command list. closes: #15407 Signed-off-by: Mohamed Akram <mohd.akram@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
e8feaa354e
commit
0214680a8e
@@ -3370,7 +3370,7 @@ ex_append(exarg_T *eap)
|
|||||||
{
|
{
|
||||||
// No getline() function, use the lines that follow. This ends
|
// No getline() function, use the lines that follow. This ends
|
||||||
// when there is no more.
|
// when there is no more.
|
||||||
if (eap->nextcmd == NULL || *eap->nextcmd == NUL)
|
if (eap->nextcmd == NULL)
|
||||||
break;
|
break;
|
||||||
p = vim_strchr(eap->nextcmd, NL);
|
p = vim_strchr(eap->nextcmd, NL);
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
@@ -3378,6 +3378,8 @@ ex_append(exarg_T *eap)
|
|||||||
theline = vim_strnsave(eap->nextcmd, p - eap->nextcmd);
|
theline = vim_strnsave(eap->nextcmd, p - eap->nextcmd);
|
||||||
if (*p != NUL)
|
if (*p != NUL)
|
||||||
++p;
|
++p;
|
||||||
|
else
|
||||||
|
p = NULL;
|
||||||
eap->nextcmd = p;
|
eap->nextcmd = p;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@@ -378,4 +378,13 @@ func Test_insert_after_trailing_bar()
|
|||||||
" Test inserting text after the trailing bar
|
" Test inserting text after the trailing bar
|
||||||
func Test_insert_after_trailing_bar()
|
func Test_insert_after_trailing_bar()
|
||||||
new
|
new
|
||||||
|
call feedkeys("Qi|\nfoo\n.\na|bar\nbar\n.\nc|baz\n.", "xt")
|
||||||
|
call assert_equal(['', 'foo', 'bar', 'baz'], getline(1, '$'))
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Test global insert of a newline without terminating period
|
||||||
|
func Test_global_insert_newline()
|
||||||
|
new
|
||||||
|
call setline(1, ['foo'])
|
||||||
call feedkeys("Qg/foo/i\\\n", "xt")
|
call feedkeys("Qg/foo/i\\\n", "xt")
|
||||||
|
@@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
651,
|
||||||
/**/
|
/**/
|
||||||
650,
|
650,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user