diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-12-14 00:43:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-12-14 00:43:54 +0100 |
commit | c68c72ea7bbc92ce7cc2c746ce6408dc6cbe06cd (patch) | |
tree | 847a39ac093febb4817bc4371d32b61327e0606b | |
parent | b12db9f92ea74039bb0b4110add4232f0bf338ea (diff) | |
download | vim-git-c68c72ea7bbc92ce7cc2c746ce6408dc6cbe06cd.tar.gz |
updated for version 7.4.552v7.4.552
Problem: Langmap applies to Insert mode expression mappings.
Solution: Check for Insert mode. (Daniel Hahler)
-rw-r--r-- | src/getchar.c | 2 | ||||
-rw-r--r-- | src/testdir/test_mapping.in | 9 | ||||
-rw-r--r-- | src/testdir/test_mapping.ok | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 14 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c index c9ee4d051..174cfa892 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 e2572772c..5f895a46f 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 abdaea6a3..8d9497658 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 6408d5707..e8d75252f 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, |