updated for version 7.4.573
Problem: Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat)
Solution: Call get_real_state() instead of using State directly.
diff --git a/src/testdir/test_mapping.in b/src/testdir/test_mapping.in
index c957569..7ac578f 100644
--- a/src/testdir/test_mapping.in
+++ b/src/testdir/test_mapping.in
@@ -8,7 +8,7 @@
:inoreab чкпр vim
GAчкпр
-:" mapping of ctrl-c in insert mode
+:" mapping of ctrl-c in Insert mode
:set cpo-=< cpo-=k
:inoremap <c-c> <ctrl-c>
:cnoremap <c-c> dummy
@@ -16,9 +16,15 @@
GA
TEST2: CTRL-C |A|
-:nunmap <c-c>
-
-: " langmap should not get remapped in insert mode
+:unmap <c-c>
+:unmap! <c-c>
+:"
+:" mapping of ctrl-c in Visual mode
+:vnoremap <c-c> :<C-u>$put ='vmap works'
+GV
+:vunmap <c-c>
+:"
+:" langmap should not get remapped in insert mode
:inoremap { FAIL_ilangmap
:set langmap=+{ langnoremap
o+
diff --git a/src/testdir/test_mapping.ok b/src/testdir/test_mapping.ok
index cd0e2e1..bf21e51 100644
--- a/src/testdir/test_mapping.ok
+++ b/src/testdir/test_mapping.ok
@@ -2,5 +2,6 @@
vim
TEST2: CTRL-C |<ctrl-c>A|
+vmap works
+
+
diff --git a/src/ui.c b/src/ui.c
index 6fc5bde..5979482 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -180,7 +180,7 @@
/* ... there is no need for CTRL-C to interrupt something, don't let
* it set got_int when it was mapped. */
- if ((mapped_ctrl_c | curbuf->b_mapped_ctrl_c) & State)
+ if ((mapped_ctrl_c | curbuf->b_mapped_ctrl_c) & get_real_state())
ctrl_c_interrupts = FALSE;
}
diff --git a/src/version.c b/src/version.c
index b049ea2..ed1a6e3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 573,
+/**/
572,
/**/
571,