mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
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.
cc184cfb09
This commit is contained in:
parent
00dc12c5d8
commit
0cb6fc804d
@ -3773,7 +3773,10 @@ int do_join(size_t count,
|
||||
|
||||
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)
|
||||
|| (utf_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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user