# HG changeset patch # User Bram Moolenaar # Date 1418514234 -3600 # Node ID c8d6dbdd11563d39c42f16a80f9c74bc68155f7a # Parent 855584efa63b39a7ededc3dc30e8e824fde212a9 updated for version 7.4.552 Problem: Langmap applies to Insert mode expression mappings. Solution: Check for Insert mode. (Daniel Hahler) diff --git a/src/getchar.c b/src/getchar.c --- 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 --- 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 { "FAIL_iexplangmap" +o+ + :/^test/,$w! test.out :qa! ENDTEST diff --git a/src/testdir/test_mapping.ok b/src/testdir/test_mapping.ok --- 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 --- 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,