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
|
||||
// when there is no more.
|
||||
if (eap->nextcmd == NULL || *eap->nextcmd == NUL)
|
||||
if (eap->nextcmd == NULL)
|
||||
break;
|
||||
p = vim_strchr(eap->nextcmd, NL);
|
||||
if (p == NULL)
|
||||
@@ -3378,6 +3378,8 @@ ex_append(exarg_T *eap)
|
||||
theline = vim_strnsave(eap->nextcmd, p - eap->nextcmd);
|
||||
if (*p != NUL)
|
||||
++p;
|
||||
else
|
||||
p = NULL;
|
||||
eap->nextcmd = p;
|
||||
}
|
||||
else
|
||||
|
@@ -378,4 +378,13 @@ func Test_insert_after_trailing_bar()
|
||||
" Test inserting text after the trailing bar
|
||||
func Test_insert_after_trailing_bar()
|
||||
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")
|
||||
|
@@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
651,
|
||||
/**/
|
||||
650,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user