mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06: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:
parent
aaece78492
commit
3bcbf802ce
@ -7545,9 +7545,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
|
||||
curwin->w_cursor.coladd = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* delete newline!
|
||||
*/
|
||||
// Delete newline!
|
||||
if (curwin->w_cursor.col == 0) {
|
||||
lnum = Insstart.lnum;
|
||||
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;
|
||||
}
|
||||
Insstart.lnum--;
|
||||
Insstart.col = MAXCOL;
|
||||
Insstart.col = STRLEN(ml_get(Insstart.lnum));
|
||||
}
|
||||
/*
|
||||
* In replace mode:
|
||||
|
@ -104,7 +104,7 @@ func Test_map_langmap()
|
||||
imap a c
|
||||
call feedkeys("Go\<C-R>a\<Esc>", "xt")
|
||||
call assert_equal('bbbb', getline('$'))
|
||||
|
||||
|
||||
" langmap should not apply in Command-line mode
|
||||
set langmap=+{ nolangremap
|
||||
call feedkeys(":call append(line('$'), '+')\<CR>", "xt")
|
||||
@ -161,6 +161,17 @@ func Test_map_meta_quotes()
|
||||
iunmap <M-">
|
||||
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()
|
||||
nnoremap aaaa :let got_aaaa = 1<CR>
|
||||
nnoremap bb :let got_bb = 1<CR>
|
||||
|
Loading…
Reference in New Issue
Block a user