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
index 54bce31..a80432f 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2145,7 +2145,8 @@
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 9791843..d6c1b2d 100644
--- a/src/testdir/test_mapping.in
+++ b/src/testdir/test_mapping.in
@@ -28,9 +28,18 @@
: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 6a88f02..51cc49b 100644
--- a/src/testdir/test_mapping.ok
+++ b/src/testdir/test_mapping.ok
@@ -8,3 +8,5 @@
vmap works
+
+
++
++
diff --git a/src/version.c b/src/version.c
index a43046e..8ab862a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 773,
+/**/
772,
/**/
771,