aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-06-10 14:30:19 +0200
committerGitHub <noreply@github.com>2018-06-10 14:30:19 +0200
commit23d172a948e77c4e1d03db3b06efac6e9edd3695 (patch)
tree667d02fed523fc78013a46b14a3cf26e2ac26c86 /src
parent3fddd04565c3b511d27e61d1c426dda8c07f3b6d (diff)
parent392b3396fd2218b1de7fedf49a834a471431be29 (diff)
downloadrneovim-23d172a948e77c4e1d03db3b06efac6e9edd3695.tar.gz
rneovim-23d172a948e77c4e1d03db3b06efac6e9edd3695.tar.bz2
rneovim-23d172a948e77c4e1d03db3b06efac6e9edd3695.zip
Merge #8499 from janlazo/vim-8.0.0533
Diffstat (limited to 'src')
-rw-r--r--src/nvim/edit.c6
-rw-r--r--src/nvim/testdir/test_mapping.vim13
2 files changed, 14 insertions, 5 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 0512dc0d3a..f3e2663d76 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -7547,9 +7547,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) {
@@ -7558,7 +7556,7 @@ static bool ins_bs(int c, int mode, int *inserted_space_p)
return false;
}
Insstart.lnum--;
- Insstart.col = MAXCOL;
+ Insstart.col = (colnr_T)STRLEN(ml_get(Insstart.lnum));
}
/*
* In replace mode:
diff --git a/src/nvim/testdir/test_mapping.vim b/src/nvim/testdir/test_mapping.vim
index 0a198763bb..f4fe1c2705 100644
--- a/src/nvim/testdir/test_mapping.vim
+++ b/src/nvim/testdir/test_mapping.vim
@@ -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>