diff --git a/src/Makefile b/src/Makefile
index e0926a6..6c7c373 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2257,7 +2257,7 @@
 	test64 test69 \
 	test70 test72 \
 	test86 test87 test88 \
-	test94 test95 test99:
+	test95 test99:
 	cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
 
 # Run individual NEW style test.
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index e664217..4639d41 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -20,7 +20,6 @@
 	test69.out \
 	test70.out \
 	test88.out \
-	test94.out \
 	test95.out \
 	test99.out \
 	test_eval.out
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 6a2dc67..8be44e8 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -78,7 +78,7 @@
        test42.out test44.out test49.out \
        test64.out test69.out \
        test72.out test77a.out test88.out \
-       test94.out test95.out test99.out \
+       test95.out test99.out \
        test_eval.out
 
 # Known problems:
diff --git a/src/testdir/test94.in b/src/testdir/test94.in
deleted file mode 100644
index 447fd2b..0000000
--- a/src/testdir/test94.in
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test94.ok b/src/testdir/test94.ok
deleted file mode 100644
index c023922..0000000
--- a/src/testdir/test94.ok
+++ /dev/null
@@ -1,123 +0,0 @@
-a y
-
-newline
-newline
-
-    --------x
-    --------x
-xxxx--------x
-xxxx--------x
-
-NoNoberryach
---ago
-
-----Z
-WhavcreQhevnaZ
-LemonNewNewZ
-
-zzz
-ok
-ok
-
-characterwise visual mode: replace last line
-x
----
-v:errmsg=
-
-characterwise visual mode: delete middle line
-b
-c
----
-
-characterwise visual mode: delete middle two line
-c
----
-
-characterwise visual mode: delete last line
-a
-b
-
----
-
-characterwise visual mode: delete last two line
-a
-
----
-
-characterwise select mode: delete middle line
-b
-c
----
-
-characterwise select mode: delete middle two line
-c
----
-
-characterwise select mode: delete last line
-a
-b
-
----
-
-characterwise select mode: delete last two line
-a
-
----
-
-linewise select mode: delete middle line
-b
-c
----
-
-linewise select mode: delete middle two line
-c
----
-
-linewise select mode: delete last line
-a
-b
----
-
-linewise select mode: delete last two line
-a
----
-
-v_p: replace last character with line register at middle line
-aaa
-bb
-aaa
-
-ccc
----
-
-v_p: replace last character with line register at middle line selecting newline
-aaa
-bb
-aaa
-ccc
----
-
-v_p: replace last character with line register at last line
-aaa
-bbb
-cc
-aaa
-
----
-
-v_p: replace last character with line register at last line selecting newline
-aaa
-bbb
-cc
-aaa
-
----
-
-gv in exclusive select mode after operation
-zzz 
-xxx 
----
-
-gv in exclusive select mode without operation
-xxx 
----
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 5e25979..5297951 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -848,3 +848,26 @@
   " This should not generate E488
   call feedkeys("q:\<CR>", 'x')
 endfunc
+
+" Tests for the issues fixed in 7.4.441.
+" When 'cedit' is set to Ctrl-C, opening the command window hangs Vim
+func Test_cmdwin_cedit()
+  exe "set cedit=\<C-c>"
+  normal! :
+  call assert_equal(1, winnr('$'))
+
+  let g:cmd_wintype = ''
+  func CmdWinType()
+      let g:cmd_wintype = getcmdwintype()
+      return ''
+  endfunc
+
+  call feedkeys("\<C-c>a\<C-R>=CmdWinType()\<CR>\<CR>")
+  echo input('')
+  call assert_equal('@', g:cmd_wintype)
+
+  set cedit&vim
+  delfunc CmdWinType
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index b951c29..a4b120b 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -442,4 +442,302 @@
   enew!
 endfunc
 
+" Visual modes (v V CTRL-V) followed by an operator; count; repeating
+func Test_visual_mode_op()
+  new
+  call append(0, '')
+
+  call setline(1, 'apple banana cherry')
+  call cursor(1, 1)
+  normal lvld.l3vd.
+  call assert_equal('a y', getline(1))
+
+  call setline(1, ['line 1 line 1', 'line 2 line 2', 'line 3 line 3',
+        \ 'line 4 line 4', 'line 5 line 5', 'line 6 line 6'])
+  call cursor(1, 1)
+  exe "normal Vcnewline\<Esc>j.j2Vd."
+  call assert_equal(['newline', 'newline'], getline(1, '$'))
+
+  call deletebufline('', 1, '$')
+  call setline(1, ['xxxxxxxxxxxxx', 'xxxxxxxxxxxxx', 'xxxxxxxxxxxxx',
+        \ 'xxxxxxxxxxxxx'])
+  exe "normal \<C-V>jlc  \<Esc>l.l2\<C-V>c----\<Esc>l."
+  call assert_equal(['    --------x',
+        \ '    --------x',
+        \ 'xxxx--------x',
+        \ 'xxxx--------x'], getline(1, '$'))
+
+  bwipe!
+endfunc
+
+" Visual mode maps (movement and text object)
+" Visual mode maps; count; repeating
+"   - Simple
+"   - With an Ex command (custom text object)
+func Test_visual_mode_maps()
+  new
+  call append(0, '')
+
+  func SelectInCaps()
+    let [line1, col1] = searchpos('\u', 'bcnW')
+    let [line2, col2] = searchpos('.\u', 'nW')
+    call setpos("'<", [0, line1, col1, 0])
+    call setpos("'>", [0, line2, col2, 0])
+    normal! gv
+  endfunction
+
+  vnoremap W /\u/s-1<CR>
+  vnoremap iW :<C-U>call SelectInCaps()<CR>
+
+  call setline(1, 'KiwiRaspberryDateWatermelonPeach')
+  call cursor(1, 1)
+  exe "normal vWcNo\<Esc>l.fD2vd."
+  call assert_equal('NoNoberryach', getline(1))
+
+  call setline(1, 'JambuRambutanBananaTangerineMango')
+  call cursor(1, 1)
+  exe "normal llviWc-\<Esc>l.l2vdl."
+  call assert_equal('--ago', getline(1))
+
+  vunmap W
+  vunmap iW
+  bwipe!
+  delfunc SelectInCaps
+endfunc
+
+" Operator-pending mode maps (movement and text object)
+"   - Simple
+"   - With Ex command moving the cursor
+"   - With Ex command and Visual selection (custom text object)
+func Test_visual_oper_pending_mode_maps()
+  new
+  call append(0, '')
+
+  func MoveToCap()
+    call search('\u', 'W')
+  endfunction
+
+  func SelectInCaps()
+    let [line1, col1] = searchpos('\u', 'bcnW')
+    let [line2, col2] = searchpos('.\u', 'nW')
+    call setpos("'<", [0, line1, col1, 0])
+    call setpos("'>", [0, line2, col2, 0])
+    normal! gv
+  endfunction
+
+  onoremap W /\u/<CR>
+  onoremap <Leader>W :<C-U>call MoveToCap()<CR>
+  onoremap iW :<C-U>call SelectInCaps()<CR>
+
+  call setline(1, 'PineappleQuinceLoganberryOrangeGrapefruitKiwiZ')
+  call cursor(1, 1)
+  exe "normal cW-\<Esc>l.l2.l."
+  call assert_equal('----Z', getline(1))
+
+  call setline(1, 'JuniperDurianZ')
+  call cursor(1, 1)
+  exe "normal g?\WfD."
+  call assert_equal('WhavcreQhevnaZ', getline(1))
+
+  call setline(1, 'LemonNectarineZ')
+  call cursor(1, 1)
+  exe "normal yiWPlciWNew\<Esc>fr."
+  call assert_equal('LemonNewNewZ', getline(1))
+
+  ounmap W
+  ounmap <Leader>W
+  ounmap iW
+  bwipe!
+  delfunc MoveToCap
+  delfunc SelectInCaps
+endfunc
+
+" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
+func Test_op_pend_mode_abort()
+  new
+  call append(0, '')
+
+  call setline(1, ['zzzz', 'zzzz'])
+  call cursor(1, 1)
+
+  exe "normal dV:\<CR>dv:\<CR>"
+  call assert_equal(['zzz'], getline(1, 2))
+  set nomodifiable
+  call assert_fails('exe "normal d:\<CR>"', 'E21:')
+  set modifiable
+  call feedkeys("dv:\<Esc>dV:\<Esc>", 'xt')
+  call assert_equal(['zzz'], getline(1, 2))
+  set nomodifiable
+  let v:errmsg = ''
+  call feedkeys("d:\<Esc>", 'xt')
+  call assert_true(v:errmsg !~# '^E21:')
+  set modifiable
+
+  bwipe!
+endfunc
+
+func Test_characterwise_visual_mode()
+  new
+
+  " characterwise visual mode: replace last line
+  $put ='a'
+  let @" = 'x'
+  normal v$p
+  call assert_equal('x', getline('$'))
+
+  " characterwise visual mode: delete middle line
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  normal G
+  normal kkv$d
+  call assert_equal(['', 'b', 'c'], getline(1, '$'))
+
+  " characterwise visual mode: delete middle two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  normal Gkkvj$d
+  call assert_equal(['', 'c'], getline(1, '$'))
+
+  " characterwise visual mode: delete last line
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  normal Gv$d
+  call assert_equal(['', 'a', 'b', ''], getline(1, '$'))
+
+  " characterwise visual mode: delete last two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  normal Gkvj$d
+  call assert_equal(['', 'a', ''], getline(1, '$'))
+
+  bwipe!
+endfunc
+
+func Test_characterwise_select_mode()
+  new
+
+  " Select mode maps
+  snoremap <lt>End> <End>
+  snoremap <lt>Down> <Down>
+  snoremap <lt>Del> <Del>
+
+  " characterwise select mode: delete middle line
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal Gkkgh\<End>\<Del>"
+  call assert_equal(['', 'b', 'c'], getline(1, '$'))
+
+  " characterwise select mode: delete middle two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal Gkkgh\<Down>\<End>\<Del>"
+  call assert_equal(['', 'c'], getline(1, '$'))
+
+  " characterwise select mode: delete last line
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal Ggh\<End>\<Del>"
+  call assert_equal(['', 'a', 'b', ''], getline(1, '$'))
+
+  " characterwise select mode: delete last two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal Gkgh\<Down>\<End>\<Del>"
+  call assert_equal(['', 'a', ''], getline(1, '$'))
+
+  sunmap <lt>End>
+  sunmap <lt>Down>
+  sunmap <lt>Del>
+  bwipe!
+endfunc
+
+func Test_linewise_select_mode()
+  new
+
+  " linewise select mode: delete middle line
+  call append('$', ['a', 'b', 'c'])
+  exe "normal GkkgH\<Del>"
+  call assert_equal(['', 'b', 'c'], getline(1, '$'))
+
+
+  " linewise select mode: delete middle two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal GkkgH\<Down>\<Del>"
+  call assert_equal(['', 'c'], getline(1, '$'))
+
+  " linewise select mode: delete last line
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal GgH\<Del>"
+  call assert_equal(['', 'a', 'b'], getline(1, '$'))
+
+  " linewise select mode: delete last two lines
+  call deletebufline('', 1, '$')
+  call append('$', ['a', 'b', 'c'])
+  exe "normal GkgH\<Down>\<Del>"
+  call assert_equal(['', 'a'], getline(1, '$'))
+
+  bwipe!
+endfunc
+
+func Test_visual_mode_put()
+  new
+
+  " v_p: replace last character with line register at middle line
+  call append('$', ['aaa', 'bbb', 'ccc'])
+  normal G
+  -2yank
+  normal k$vp
+  call assert_equal(['', 'aaa', 'bb', 'aaa', '', 'ccc'], getline(1, '$'))
+
+  " v_p: replace last character with line register at middle line selecting
+  " newline
+  call deletebufline('', 1, '$')
+  call append('$', ['aaa', 'bbb', 'ccc'])
+  normal G
+  -2yank
+  normal k$v$p
+  call assert_equal(['', 'aaa', 'bb', 'aaa', 'ccc'], getline(1, '$'))
+
+  " v_p: replace last character with line register at last line
+  call deletebufline('', 1, '$')
+  call append('$', ['aaa', 'bbb', 'ccc'])
+  normal G
+  -2yank
+  normal $vp
+  call assert_equal(['', 'aaa', 'bbb', 'cc', 'aaa', ''], getline(1, '$'))
+
+  " v_p: replace last character with line register at last line selecting
+  " newline
+  call deletebufline('', 1, '$')
+  call append('$', ['aaa', 'bbb', 'ccc'])
+  normal G
+  -2yank
+  normal $v$p
+  call assert_equal(['', 'aaa', 'bbb', 'cc', 'aaa', ''], getline(1, '$'))
+
+  bwipe!
+endfunc
+
+func Test_select_mode_gv()
+  new
+
+  " gv in exclusive select mode after operation
+  call append('$', ['zzz ', 'Ã¤Ã '])
+  set selection=exclusive
+  normal Gkv3lyjv3lpgvcxxx
+  call assert_equal(['', 'zzz ', 'xxx '], getline(1, '$'))
+
+  " gv in exclusive select mode without operation
+  call deletebufline('', 1, '$')
+  call append('$', 'zzz ')
+  set selection=exclusive
+  exe "normal G0v3l\<Esc>gvcxxx"
+  call assert_equal(['', 'xxx '], getline(1, '$'))
+
+  set selection&vim
+  bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 71d184f..12aaf57 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2390,
+/**/
     2389,
 /**/
     2388,
