forked from aniani/vim
patch 8.1.2293: join adds trailing space when second line is empty
Problem: Join adds trailing space when second line is empty. (Brennan Vincent) Solution: Do not add a trailing space.
This commit is contained in:
parent
d002e411c6
commit
cc184cfb09
@ -1999,7 +1999,8 @@ do_join(
|
||||
if (insert_space && t > 0)
|
||||
{
|
||||
curr = skipwhite(curr);
|
||||
if (*curr != ')' && currsize != 0 && endcurr1 != TAB
|
||||
if (*curr != NUL && *curr != ')'
|
||||
&& currsize != 0 && endcurr1 != TAB
|
||||
&& (!has_format_option(FO_MBYTE_JOIN)
|
||||
|| (mb_ptr2char(curr) < 0x100 && endcurr1 < 0x100))
|
||||
&& (!has_format_option(FO_MBYTE_JOIN2)
|
||||
|
@ -9,6 +9,27 @@ func Test_join_with_count()
|
||||
call setline(1, ['one', 'two', 'three', 'four'])
|
||||
normal 10J
|
||||
call assert_equal('one two three four', getline(1))
|
||||
|
||||
call setline(1, ['one', '', 'two'])
|
||||
normal J
|
||||
call assert_equal('one', getline(1))
|
||||
|
||||
call setline(1, ['one', ' ', 'two'])
|
||||
normal J
|
||||
call assert_equal('one', getline(1))
|
||||
|
||||
call setline(1, ['one', '', '', 'two'])
|
||||
normal JJ
|
||||
call assert_equal('one', getline(1))
|
||||
|
||||
call setline(1, ['one', ' ', ' ', 'two'])
|
||||
normal JJ
|
||||
call assert_equal('one', getline(1))
|
||||
|
||||
call setline(1, ['one', '', '', 'two'])
|
||||
normal 2J
|
||||
call assert_equal('one', getline(1))
|
||||
|
||||
quit!
|
||||
endfunc
|
||||
|
||||
|
@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2293,
|
||||
/**/
|
||||
2292,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user