summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2014-12-14 00:43:54 +0100
committerBram Moolenaar <bram@vim.org>2014-12-14 00:43:54 +0100
commit2cdc68b22bd620caaed32ba1c4c97b54aa8e124b (patch)
tree4f206e1c59d75918fdd2167cc0136846983417f2
parent5074ae6cff1884c881e4ae9d65a7043f04242018 (diff)
downloadvim-2cdc68b22bd620caaed32ba1c4c97b54aa8e124b.tar.gz
updated for version 7.4.552v7.4.552v7-4-552
Problem: Langmap applies to Insert mode expression mappings. Solution: Check for Insert mode. (Daniel Hahler)
-rw-r--r--src/getchar.c2
-rw-r--r--src/testdir/test_mapping.in9
-rw-r--r--src/testdir/test_mapping.ok2
-rw-r--r--src/version.c2
4 files changed, 14 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c
index c9ee4d05..174cfa89 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2145,7 +2145,7 @@ vgetorpeek(advance)
nolmaplen = 2;
else
{
- LANGMAP_ADJUST(c1, TRUE);
+ LANGMAP_ADJUST(c1, (State & INSERT) == 0);
nolmaplen = 0;
}
#endif
diff --git a/src/testdir/test_mapping.in b/src/testdir/test_mapping.in
index e2572772..5f895a46 100644
--- a/src/testdir/test_mapping.in
+++ b/src/testdir/test_mapping.in
@@ -8,6 +8,15 @@ STARTTEST
:inoreab чкпр vim
GAчкпр

+
+: " langmap should not get remapped in insert mode
+:inoremap { FAIL_ilangmap
+:set langmap=+{ langnoremap
+o+
+: " expr mapping with langmap
+:inoremap <expr> { "FAIL_iexplangmap"
+o+
+
:/^test/,$w! test.out
:qa!
ENDTEST
diff --git a/src/testdir/test_mapping.ok b/src/testdir/test_mapping.ok
index abdaea6a..8d949765 100644
--- a/src/testdir/test_mapping.ok
+++ b/src/testdir/test_mapping.ok
@@ -1,2 +1,4 @@
test starts here:
vim
++
++
diff --git a/src/version.c b/src/version.c
index 6408d570..e8d75252 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 552,
+/**/
551,
/**/
550,