summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-04-01 15:15:52 +0200
committerBram Moolenaar <Bram@vim.org>2017-04-01 15:15:52 +0200
commit878c263a489b7e211eda31fa13a3d5ad9e120554 (patch)
tree114710792b66f0995378f0a0884319ff1451df90
parentc77d6757471fa207520586bbdbc1b30af84cf5c8 (diff)
patch 8.0.0533: abbreviation doesn't work after backspacing newlinev8.0.0533
Problem: Abbreviation doesn't work after backspacing newline. (Hkonrk) Solution: Set the insert start column. (closes #1609)
-rw-r--r--src/edit.c4
-rw-r--r--src/testdir/test_mapping.vim11
-rw-r--r--src/version.c2
3 files changed, 15 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c
index 8aa15af83d..fae48c6124 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -9017,7 +9017,7 @@ ins_bs(
#endif
/*
- * delete newline!
+ * Delete newline!
*/
if (curwin->w_cursor.col == 0)
{
@@ -9032,7 +9032,7 @@ ins_bs(
(linenr_T)(curwin->w_cursor.lnum + 1)) == FAIL)
return FALSE;
--Insstart.lnum;
- Insstart.col = MAXCOL;
+ Insstart.col = STRLEN(ml_get(Insstart.lnum));
}
/*
* In replace mode:
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index fa8012ad41..ab02a87e10 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -160,3 +160,14 @@ func Test_map_meta_quotes()
set nomodified
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
diff --git a/src/version.c b/src/version.c
index 76929e7f9d..6517288553 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 533,
+/**/
532,
/**/
531,