From: Bram Moolenaar <Bram@vim.org>
Date: Thu, 26 Apr 2018 20:30:33 +0000 (+0200)
Subject: patch 8.0.1766: expanding abbreviation doesn't work
X-Git-Tag: v8.0.1766
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c3c3e698966fac86dee94799b70947defb85440d;p=vim

patch 8.0.1766: expanding abbreviation doesn't work

Problem:    Expanding abbreviation doesn't work. (Tooth Pik)
Solution:   Return OK instead of FALSE and FAIL instead of TRUE. (Christian
            Brabandt)
---

diff --git a/src/edit.c b/src/edit.c
index f29fbc79b..eaf690ce9 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -10209,9 +10209,9 @@ ins_eol(int c)
     int	    i;
 
     if (echeck_abbr(c + ABBR_OFF))
-	return FALSE;
+	return OK;
     if (stop_arrow() == FAIL)
-	return TRUE;
+	return FAIL;
     undisplay_dollar();
 
     /*
diff --git a/src/testdir/test_mapping.vim b/src/testdir/test_mapping.vim
index 5026d6b2b..79863c4da 100644
--- a/src/testdir/test_mapping.vim
+++ b/src/testdir/test_mapping.vim
@@ -198,3 +198,19 @@ func Test_map_timeout()
   set timeoutlen&
   delfunc ExitInsert
 endfunc
+
+func Test_abbreviation_CR()
+  new
+  func Eatchar(pat)
+    let c = nr2char(getchar(0))
+    return (c =~ a:pat) ? '' : c
+  endfunc
+  iabbrev <buffer><silent> ~~7 <c-r>=repeat('~', 7)<CR><c-r>=Eatchar('\s')<cr>
+  call feedkeys("GA~~7 \<esc>", 'xt')
+  call assert_equal('~~~~~~~', getline('$'))
+  %d
+  call feedkeys("GA~~7\<cr>\<esc>", 'xt')
+  call assert_equal(['~~~~~~~', ''], getline(1,'$'))
+  delfunc Eatchar
+  bw!
+endfunc
diff --git a/src/version.c b/src/version.c
index f80e22aff..a79e38b91 100644
--- a/src/version.c
+++ b/src/version.c
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1766,
 /**/
     1765,
 /**/