# HG changeset patch # User Bram Moolenaar # Date 1436541570 -7200 # Node ID 5b1eefbf9a532f32a66fa13abbd671488aaafd5c # Parent 0540e823bca7875415a8b429298138cdad03e519 patch 7.4.773 Problem: 'langmap' is used in command-line mode when checking for mappings. Issue 376. Solution: Do not use 'langmap' in command-line mode. (Larry Velazquez) diff --git a/src/getchar.c b/src/getchar.c --- a/src/getchar.c +++ b/src/getchar.c @@ -2145,7 +2145,8 @@ vgetorpeek(advance) nolmaplen = 2; else { - LANGMAP_ADJUST(c1, (State & INSERT) == 0); + LANGMAP_ADJUST(c1, + (State & (CMDLINE | 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 @@ -28,9 +28,18 @@ GV :inoremap { FAIL_ilangmap :set langmap=+{ langnoremap o+ -: " expr mapping with langmap +:" Insert-mode expr mapping with langmap :inoremap { "FAIL_iexplangmap" o+ +:" langmap should not get remapped in Command-line mode +:cnoremap { FAIL_clangmap +:call append(line('$'), '+') +:cunmap { +:" Command-line mode expr mapping with langmap +:cnoremap { "FAIL_cexplangmap" +:call append(line('$'), '+') +:cunmap { +:" :" issue #212 (feedkeys insert mapping at current position) :nnoremap . :call feedkeys(".", "in") :/^a b 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 @@ -8,3 +8,5 @@ TEST2: CTRL-C |A| vmap works + + ++ ++ 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 */ /**/ + 773, +/**/ 772, /**/ 771,