mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
vim-patch:8.0.0533: abbreviation doesn't work after backspacing newline
Problem: Abbreviation doesn't work after backspacing newline. (Hkonrk)
Solution: Set the insert start column. (closes vim/vim#1609)
878c263a48
This commit is contained in:
@@ -7545,9 +7545,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
|
|||||||
curwin->w_cursor.coladd = 0;
|
curwin->w_cursor.coladd = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
// Delete newline!
|
||||||
* delete newline!
|
|
||||||
*/
|
|
||||||
if (curwin->w_cursor.col == 0) {
|
if (curwin->w_cursor.col == 0) {
|
||||||
lnum = Insstart.lnum;
|
lnum = Insstart.lnum;
|
||||||
if (curwin->w_cursor.lnum == lnum || revins_on) {
|
if (curwin->w_cursor.lnum == lnum || revins_on) {
|
||||||
@@ -7556,7 +7554,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
Insstart.lnum--;
|
Insstart.lnum--;
|
||||||
Insstart.col = MAXCOL;
|
Insstart.col = STRLEN(ml_get(Insstart.lnum));
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* In replace mode:
|
* In replace mode:
|
||||||
|
@@ -104,7 +104,7 @@ func Test_map_langmap()
|
|||||||
imap a c
|
imap a c
|
||||||
call feedkeys("Go\<C-R>a\<Esc>", "xt")
|
call feedkeys("Go\<C-R>a\<Esc>", "xt")
|
||||||
call assert_equal('bbbb', getline('$'))
|
call assert_equal('bbbb', getline('$'))
|
||||||
|
|
||||||
" langmap should not apply in Command-line mode
|
" langmap should not apply in Command-line mode
|
||||||
set langmap=+{ nolangremap
|
set langmap=+{ nolangremap
|
||||||
call feedkeys(":call append(line('$'), '+')\<CR>", "xt")
|
call feedkeys(":call append(line('$'), '+')\<CR>", "xt")
|
||||||
@@ -161,6 +161,17 @@ func Test_map_meta_quotes()
|
|||||||
iunmap <M-">
|
iunmap <M-">
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_abbr_after_line_join()
|
||||||
|
new
|
||||||
|
abbr foo bar
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
exe "normal o\<BS>foo "
|
||||||
|
call assert_equal("bar ", getline(1))
|
||||||
|
bwipe!
|
||||||
|
unabbr foo
|
||||||
|
set backspace&
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_map_timeout()
|
func Test_map_timeout()
|
||||||
nnoremap aaaa :let got_aaaa = 1<CR>
|
nnoremap aaaa :let got_aaaa = 1<CR>
|
||||||
nnoremap bb :let got_bb = 1<CR>
|
nnoremap bb :let got_bb = 1<CR>
|
||||||
|
Reference in New Issue
Block a user