diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index fa3446a..f61d4ae 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -14,6 +14,11 @@
   " We can't see the output, but at least we check the code runs properly.
   call feedkeys(":e test\<C-D>\r", "tx")
   call assert_equal('test', expand('%:t'))
+
+  " If a command doesn't support completion, then CTRL-D should be literally
+  " used.
+  call feedkeys(":chistory \<C-D>\<C-B>\"\<CR>", 'xt')
+  call assert_equal("\"chistory \<C-D>", @:)
 endfunc
 
 func Test_complete_wildmenu()
@@ -51,6 +56,11 @@
   call feedkeys(":e Xdir1/\<Tab>\<Down>\<Up>\<Right>\<CR>", 'tx')
   call assert_equal('testfile1', getline(1))
 
+  " Test for canceling the wild menu by adding a character
+  redrawstatus
+  call feedkeys(":e Xdir1/\<Tab>x\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"e Xdir1/Xdir2/x', @:)
+
   " Completion using a relative path
   cd Xdir1/Xdir2
   call feedkeys(":e ../\<Tab>\<Right>\<Down>\<C-A>\<C-B>\"\<CR>", 'tx')
@@ -466,6 +476,18 @@
   " Use an invalid expression for <C-\>e
   call assert_beeps('call feedkeys(":\<C-\>einvalid\<CR>", "tx")')
 
+  " Try to paste an invalid register using <C-R>
+  call feedkeys(":\"one\<C-R>\<C-X>two\<CR>", 'xt')
+  call assert_equal('"onetwo', @:)
+
+  let @a = "xy\<C-H>z"
+  call feedkeys(":\"\<C-R>a\<CR>", 'xt')
+  call assert_equal('"xz', @:)
+  call feedkeys(":\"\<C-R>\<C-O>a\<CR>", 'xt')
+  call assert_equal("\"xy\<C-H>z", @:)
+
+  call assert_beeps('call feedkeys(":\<C-R>=\<C-R>=\<Esc>", "xt")')
+
   bwipe!
 endfunc
 
@@ -1053,4 +1075,110 @@
   call delete('Xdir', 'rf')
 endfunc
 
+" Test for using CTRL-\ CTRL-G in the command line to go back to normal mode
+" or insert mode (when 'insertmode' is set)
+func Test_cmdline_ctrl_g()
+  new
+  call setline(1, 'abc')
+  call cursor(1, 3)
+  " If command line is entered from insert mode, using C-\ C-G should back to
+  " insert mode
+  call feedkeys("i\<C-O>:\<C-\>\<C-G>xy", 'xt')
+  call assert_equal('abxyc', getline(1))
+  call assert_equal(4, col('.'))
+
+  " If command line is entered in 'insertmode', using C-\ C-G should back to
+  " 'insertmode'
+  call feedkeys(":set im\<cr>\<C-L>:\<C-\>\<C-G>12\<C-L>:set noim\<cr>", 'xt')
+  call assert_equal('ab12xyc', getline(1))
+  close!
+endfunc
+
+" Return the 'len' characters in screen starting from (row,col)
+func s:ScreenLine(row, col, len)
+  let s = ''
+  for i in range(a:len)
+    let s .= nr2char(screenchar(a:row, a:col + i))
+  endfor
+  return s
+endfunc
+
+" Test for 'wildmode'
+func Test_wildmode()
+  func T(a, c, p)
+    return "oneA\noneB\noneC"
+  endfunc
+  command -nargs=1 -complete=custom,T MyCmd
+
+  func SaveScreenLine()
+    let g:Sline = s:ScreenLine(&lines - 1, 1, 20)
+    return ''
+  endfunc
+  cnoremap <expr> <F2> SaveScreenLine()
+
+  set nowildmenu
+  set wildmode=full,list
+  let g:Sline = ''
+  call feedkeys(":MyCmd \t\t\<F2>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('oneA  oneB  oneC    ', g:Sline)
+  call assert_equal('"MyCmd oneA', @:)
+
+  set wildmode=longest,full
+  call feedkeys(":MyCmd o\t\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"MyCmd one', @:)
+  call feedkeys(":MyCmd o\t\t\t\t\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"MyCmd oneC', @:)
+
+  set wildmode=longest
+  call feedkeys(":MyCmd one\t\t\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"MyCmd one', @:)
+
+  set wildmode=list:longest
+  let g:Sline = ''
+  call feedkeys(":MyCmd \t\<F2>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('oneA  oneB  oneC    ', g:Sline)
+  call assert_equal('"MyCmd one', @:)
+
+  set wildmode=""
+  call feedkeys(":MyCmd \t\t\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"MyCmd oneA', @:)
+
+  delcommand MyCmd
+  delfunc T
+  delfunc SaveScreenLine
+  cunmap <F2>
+  set wildmode&
+endfunc
+
+" Test for interrupting the command-line completion
+func Test_interrupt_compl()
+  func F(lead, cmdl, p)
+    if a:lead =~ 'tw'
+      call interrupt()
+      return
+    endif
+    return "one\ntwo\nthree"
+  endfunc
+  command -nargs=1 -complete=custom,F Tcmd
+
+  set nowildmenu
+  set wildmode=full
+  let interrupted = 0
+  try
+    call feedkeys(":Tcmd tw\<Tab>\<C-B>\"\<CR>", 'xt')
+  catch /^Vim:Interrupt$/
+    let interrupted = 1
+  endtry
+  call assert_equal(1, interrupted)
+
+  delcommand Tcmd
+  delfunc F
+  set wildmode&
+endfunc
+
+func Test_cmdline_edit()
+  call feedkeys(":\"buffer\<Right>\<Home>\<Left>\<CR>", 'xt')
+  call assert_equal("\"buffer", @:)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index 7869c76..91ba012 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -116,10 +116,16 @@
 func Test_Ex_global()
   new
   call setline(1, ['', 'foo', 'bar', 'foo', 'bar', 'foo'])
-  call feedkeys("Qg/bar/visual\<CR>$rxQ$ryQvisual\<CR>j", "xt")
+  call feedkeys("Q\<bs>g/bar/visual\<CR>$rxQ$ryQvisual\<CR>j", "xt")
   call assert_equal('bax', getline(3))
   call assert_equal('bay', getline(5))
   bwipe!
 endfunc
 
+" In Ex-mode, a backslash escapes a newline
+func Test_Ex_escape_enter()
+  call feedkeys("gQlet l = \"a\\\<kEnter>b\"\<cr>vi\<cr>", 'xt')
+  call assert_equal("a\rb", l)
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 607e714..327350b 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -1162,6 +1162,19 @@
         \ .. "\<C-A>\<CR>", 'xt')
   delfunc Tcomplete
   call assert_equal('item1 item2 item3', c)
+
+  call assert_fails("call input('F:', '', 'invalid')", 'E180:')
+  call assert_fails("call input('F:', '', [])", 'E730:')
+endfunc
+
+" Test for the inputdialog() function
+func Test_inputdialog()
+  CheckNotGui
+
+  call feedkeys(":let v=inputdialog('Q:', 'xx', 'yy')\<CR>\<CR>", 'xt')
+  call assert_equal('xx', v)
+  call feedkeys(":let v=inputdialog('Q:', 'xx', 'yy')\<CR>\<Esc>", 'xt')
+  call assert_equal('yy', v)
 endfunc
 
 " Test for inputlist()
diff --git a/src/testdir/test_history.vim b/src/testdir/test_history.vim
index b12eef0..96006ac 100644
--- a/src/testdir/test_history.vim
+++ b/src/testdir/test_history.vim
@@ -70,6 +70,14 @@
     call assert_equal('', histget(a:hist, i))
     call assert_equal('', histget(a:hist, i - 7 - 1))
   endfor
+
+  " Test for freeing an entry at the beginning of the history list
+  for i in range(1, 4)
+      call histadd(a:hist, 'text_' . i)
+  endfor
+  call histdel(a:hist, 1)
+  call assert_equal('', histget(a:hist, 1))
+  call assert_equal('text_4', histget(a:hist, 4))
 endfunction
 
 function Test_History()
@@ -115,14 +123,14 @@
 func Test_history_size()
   let save_histsz = &history
   call histdel(':')
-  set history=5
+  set history=10
   for i in range(1, 5)
     call histadd(':', 'cmd' .. i)
   endfor
   call assert_equal(5, histnr(':'))
   call assert_equal('cmd5', histget(':', -1))
 
-  set history=10
+  set history=15
   for i in range(6, 10)
     call histadd(':', 'cmd' .. i)
   endfor
@@ -137,6 +145,15 @@
   call assert_equal('cmd7', histget(':', 7))
   call assert_equal('abc', histget(':', -1))
 
+  " This test works only when the language is English
+  if v:lang == "C" || v:lang =~ '^[Ee]n'
+    set history=0
+    redir => v
+    call feedkeys(":history\<CR>", 'xt')
+    redir END
+    call assert_equal(["'history' option is zero"], split(v, "\n"))
+  endif
+
   let &history=save_histsz
 endfunc
 
@@ -158,4 +175,12 @@
   delfunc SavePat
 endfunc
 
+" Test for making sure the key value is not stored in history
+func Test_history_crypt_key()
+  CheckFeature cryptv
+  call feedkeys(":set bs=2 key=abc ts=8\<CR>", 'xt')
+  call assert_equal('set bs=2 key= ts=8', histget(':'))
+  set key& bs& ts&
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index f8d09fe..3fc0161 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -672,4 +672,27 @@
   call assert_match(': "#echo Hello#"', v)
 endfunc
 
+" Test for the 'rightleftcmd' option
+func Test_rightleftcmd()
+  CheckFeature rightleft
+  set rightleft
+  set rightleftcmd
+
+  let g:l = []
+  func AddPos()
+    call add(g:l, screencol())
+    return ''
+  endfunc
+  cmap <expr> <F2> AddPos()
+
+  call feedkeys("/\<F2>abc\<Left>\<F2>\<Right>\<Right>\<F2>" ..
+        \ "\<Left>\<F2>\<Esc>", 'xt')
+  call assert_equal([&co - 1, &co - 4, &co - 2, &co - 3], g:l)
+
+  cunmap <F2>
+  unlet g:l
+  set rightleftcmd&
+  set rightleft&
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 3f64431..7028ffd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    325,
+/**/
     324,
 /**/
     323,
