diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-07-10 17:19:30 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-07-10 17:19:30 +0200 |
commit | ae94b7718ab5ecc820ce487c9ea0178c04a9853c (patch) | |
tree | 4b71df9aebda44c988269caeb70326be82d46884 | |
parent | 5c5c9801b1e28050a40cef80aeba1ecdea6ea411 (diff) |
patch 7.4.773v7.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)
-rw-r--r-- | src/getchar.c | 3 | ||||
-rw-r--r-- | src/testdir/test_mapping.in | 11 | ||||
-rw-r--r-- | src/testdir/test_mapping.ok | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 16 insertions, 2 deletions
diff --git a/src/getchar.c b/src/getchar.c index 54bce315f3..a80432fc5a 100644 --- 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 index 979184394b..d6c1b2d5db 100644 --- 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 <expr> { "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 <expr> { "FAIL_cexplangmap" +:call append(line('$'), '+') +:cunmap { +:" :" issue #212 (feedkeys insert mapping at current position) :nnoremap . :call feedkeys(".", "in")<cr> :/^a b diff --git a/src/testdir/test_mapping.ok b/src/testdir/test_mapping.ok index 6a88f02de6..51cc49bf7d 100644 --- a/src/testdir/test_mapping.ok +++ b/src/testdir/test_mapping.ok @@ -8,3 +8,5 @@ TEST2: CTRL-C |<ctrl-c>A| vmap works + + ++ ++ diff --git a/src/version.c b/src/version.c index a43046e9ea..8ab862ac41 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 */ /**/ + 773, +/**/ 772, /**/ 771, |