diff --git a/src/Makefile b/src/Makefile
index e4ccf37..ca8b1a3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2137,6 +2137,7 @@
 	test_crypt \
 	test_cscope \
 	test_cursor_func \
+	test_curswant \
 	test_delete \
 	test_diffmode \
 	test_digraph \
@@ -2155,6 +2156,7 @@
 	test_farsi \
 	test_feedkeys \
 	test_file_perm \
+	test_file_size \
 	test_fileformat \
 	test_filetype \
 	test_filter_cmd \
@@ -2189,6 +2191,8 @@
 	test_lambda \
 	test_langmap \
 	test_largefile \
+	test_let \
+	test_lineending \
 	test_lispwords \
 	test_listlbr \
 	test_listlbr_utf8 \
@@ -2233,6 +2237,7 @@
 	test_reltime \
 	test_retab \
 	test_ruby \
+	test_scrollbind \
 	test_search \
 	test_searchpos \
 	test_set \
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 4eb634c..f8ce3fa 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -18,12 +18,10 @@
 	test5.out \
 	test7.out \
 	test8.out \
-	test9.out \
 	test14.out \
 	test15.out \
 	test19.out \
 	test20.out \
-	test22.out \
 	test28.out \
 	test29.out \
 	test31.out \
@@ -52,18 +50,14 @@
 	test69.out \
 	test70.out \
 	test73.out \
-	test77.out \
 	test79.out \
 	test80.out \
-	test84.out \
 	test88.out \
 	test91.out \
 	test94.out \
 	test95.out \
-	test98.out \
 	test99.out \
 	test103.out \
-	test104.out \
 	test107.out \
 	test108.out \
 	test_autoformat_join.out \
@@ -137,11 +131,13 @@
 	    test_command_count.res \
 	    test_crypt.res \
 	    test_cscope.res \
+	    test_curswant.res \
 	    test_diffmode.res \
 	    test_digraph.res \
 	    test_display.res \
 	    test_edit.res \
 	    test_farsi.res \
+	    test_file_size.res \
 	    test_fnameescape.res \
 	    test_fold.res \
 	    test_gf.res \
@@ -158,6 +154,8 @@
 	    test_job_fails.res \
 	    test_json.res \
 	    test_langmap.res \
+	    test_let.res \
+	    test_lineending.res \
 	    test_listlbr.res \
 	    test_listlbr_utf8.res \
 	    test_lua.res \
@@ -186,6 +184,7 @@
 	    test_retab.res \
 	    test_registers.res \
 	    test_ruby.res \
+	    test_scrollbind.res \
 	    test_search.res \
 	    test_signs.res \
 	    test_smartindent.res \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index a85e98d..41b05a0 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -54,9 +54,6 @@
 # Comment out if you have GNU compatible diff on your system
 # HAVE_GDIFF = YES
 
-# Comment out if you have GNU compatible cksum on your system
-# HAVE_CKSUM = YES
-
 # Comment out if you have ICONV support
 # HAVE_ICONV = YES
 
@@ -77,9 +74,9 @@
 .SUFFIXES : .out .in
 
 SCRIPT = test1.out  test3.out  test4.out  test5.out  \
-       test7.out  test8.out  test9.out  \
+       test7.out  test8.out  \
        test14.out test15.out \
-       test19.out test20.out test22.out \
+       test19.out test20.out \
        test28.out test29.out test30.out test31.out test32.out \
        test33.out test34.out test36.out test37.out \
        test38.out test39.out test40.out test41.out test42.out \
@@ -90,10 +87,10 @@
        test66.out test68.out test69.out \
        test72.out \
        test77a.out test78.out test79.out test80.out \
-       test84.out test88.out \
+       test88.out \
        test91.out test94.out \
-       test95.out test98.out test99.out \
-       test103.out test104.out \
+       test95.out test99.out \
+       test103.out \
        test107.out test108.out\
        test_autocmd_option.out \
        test_autoformat_join.out \
@@ -164,10 +161,6 @@
 SCRIPT_GDIFF = test47.out
 .ENDIF
 
-.IFDEF HAVE_CKSUM
-SCRIPT_CKSUM = test77.out
-.ENDIF
-
 .IFDEF HAVE_ICONV
 SCRIPT_ICONV = test83.out
 .ENDIF
@@ -201,7 +194,7 @@
 	-@ if "''F$SEARCH("Xtest.*")'"    .NES. "" then delete/noconfirm/nolog Xtest.*.*
 
 all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
-    $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog 
+    $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog 
 	-@ write sys$output " "
 	-@ write sys$output "-----------------------------------------------"
 	-@ write sys$output "                All done"
@@ -232,7 +225,6 @@
 	-@ write sys$output "   HAVE_ODS5  = ""$(HAVE_ODS5)"" "
 	-@ write sys$output "   HAVE_GZIP  = ""$(HAVE_GZIP)"" "
 	-@ write sys$output "   HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
-	-@ write sys$output "   HAVE_CKSUM = ""$(HAVE_CKSUM)"" "	  
 	-@ write sys$output "   HAVE_ICONV = ""$(HAVE_ICONV)"" "
 	-@ write sys$output "   HAVE_LUA   = ""$(HAVE_LUA)"" "
 	-@ write sys$output "   HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
diff --git a/src/testdir/main.aap b/src/testdir/main.aap
index 93159ba..4fb6ca6 100644
--- a/src/testdir/main.aap
+++ b/src/testdir/main.aap
@@ -5,9 +5,9 @@
 VimProg ?= ../vim
 
 Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
-		test7.out test8.out test9.out test11.out
+		test7.out test8.out test11.out
 		test12.out  test13.out test14.out test15.out test17.out
-		test18.out test19.out test20.out test21.out test22.out
+		test18.out test19.out test20.out test21.out
 		test25.out test27.out
 		test28.out test29.out test30.out test31.out test32.out
 		test33.out test34.out test36.out test37.out
diff --git a/src/testdir/test104.in b/src/testdir/test104.in
deleted file mode 100644
index fd84713..0000000
--- a/src/testdir/test104.in
+++ /dev/null
@@ -1,30 +0,0 @@
-Tests for :let.  vim: set ft=vim ts=8 :
-
-STARTTEST
-:so small.vim
-:set runtimepath+=./sautest
-:" Test to not autoload when assigning.  It causes internal error.
-:try
-:  let Test104#numvar = function('tr')
-:  $put ='OK: ' . string(Test104#numvar)
-:catch
-:  $put ='FAIL: ' . v:exception
-:endtry
-:let a = 1
-:let b = 2
-:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
-:  try
-:    redir => messages
-:    execute 'let' letargs
-:    redir END
-:    $put ='OK:'
-:    $put =split(substitute(messages, '\n', '\0  ', 'g'), '\n')
-:  catch
-:    $put ='FAIL: ' . v:exception
-:    redir END
-:  endtry
-:endfor
-:/^Results/,$wq! test.out
-ENDTEST
-
-Results of test104:
diff --git a/src/testdir/test104.ok b/src/testdir/test104.ok
deleted file mode 100644
index 5fb2094..0000000
--- a/src/testdir/test104.ok
+++ /dev/null
@@ -1,13 +0,0 @@
-Results of test104:
-OK: function('tr')
-OK:
-  a                     #1
-  b                     #2
-OK:
-  b                     #2
-OK:
-  b                     #2
-  a                     #1
-OK:
-  a                     #1
-  b                     #2
diff --git a/src/testdir/test22.in b/src/testdir/test22.in
deleted file mode 100644
index f5cc046..0000000
--- a/src/testdir/test22.in
+++ /dev/null
@@ -1,13 +0,0 @@
-Tests for file with some lines ending in CTRL-M, some not
-
-STARTTEST
-:set ta tx
-:e!
-:$-3,$w! test.out
-:qa!
-ENDTEST
-
-this lines ends in a
-this one doesn't
-this one does
-and the last one doesn't
diff --git a/src/testdir/test22.ok b/src/testdir/test22.ok
deleted file mode 100644
index 38ff89e..0000000
--- a/src/testdir/test22.ok
+++ /dev/null
@@ -1,4 +0,0 @@
-this lines ends in a
-this one doesn't
-this one does
-and the last one doesn't
diff --git a/src/testdir/test77.in b/src/testdir/test77.in
deleted file mode 100644
index 55a1c30..0000000
--- a/src/testdir/test77.in
+++ /dev/null
@@ -1,31 +0,0 @@
-Inserts 2 million lines with consecutive integers starting from 1
-(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
-and writes its cksum to test.out.
-
-We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
-up the lines the checksum would differ.
-
-cksum is part of POSIX and so should be available on most Unixes.
-If it isn't available then the test will be skipped.
-
-STARTTEST
-:so small.vim
-:set belloff=all
-:if !executable("cksum")
-: e! test.ok
-: w! test.out
-: qa!
-:endif
-:set fileformat=unix undolevels=-1
-ggdG
-:let i = 1
-:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
-ggdd
-:w! Xtest
-:r !cksum Xtest
-:s/\s/ /g
-:set fileformat&
-:.w! test.out
-:qa!
-ENDTEST
-
diff --git a/src/testdir/test77.ok b/src/testdir/test77.ok
deleted file mode 100644
index 11f148c..0000000
--- a/src/testdir/test77.ok
+++ /dev/null
@@ -1 +0,0 @@
-3678979763 14888896 Xtest
diff --git a/src/testdir/test84.in b/src/testdir/test84.in
deleted file mode 100644
index 25482db..0000000
--- a/src/testdir/test84.in
+++ /dev/null
@@ -1,35 +0,0 @@
-Tests for curswant not changing when setting an option
-
-STARTTEST
-:so small.vim
-:/^start target options$/+1,/^end target options$/-1 yank
-:let target_option_names = split(@0)
-:function TestCurswant(option_name)
-:  normal! ggf8j
-:  let curswant_before = winsaveview().curswant
-:  execute 'let' '&'.a:option_name '=' '&'.a:option_name
-:  let curswant_after = winsaveview().curswant
-:  return [a:option_name, curswant_before, curswant_after]
-:endfunction
-:
-:new
-:put =['1234567890', '12345']
-:1 delete _
-:let result = []
-:for option_name in target_option_names
-:  call add(result, TestCurswant(option_name))
-:endfor
-:
-:new
-:put =map(copy(result), 'join(v:val, '' '')')
-:1 delete _
-:write test.out
-:
-:qall!
-ENDTEST
-
-start target options
-	tabstop
-	timeoutlen
-	ttimeoutlen
-end target options
diff --git a/src/testdir/test84.ok b/src/testdir/test84.ok
deleted file mode 100644
index 8b8e4ee..0000000
--- a/src/testdir/test84.ok
+++ /dev/null
@@ -1,3 +0,0 @@
-tabstop 7 4
-timeoutlen 7 7
-ttimeoutlen 7 7
diff --git a/src/testdir/test9.in b/src/testdir/test9.in
deleted file mode 100644
index 84e1794..0000000
--- a/src/testdir/test9.in
+++ /dev/null
@@ -1,12 +0,0 @@
-Test for Bufleave autocommand that deletes the buffer we are about to edit.
-
-STARTTEST
-:so small.vim
-:au BufLeave test9.in bwipe yy
-:e yy
-:/^start of/,$w! test.out      " Write contents of this file
-:qa!
-ENDTEST
-
-start of test file xx
-end of test file xx
diff --git a/src/testdir/test9.ok b/src/testdir/test9.ok
deleted file mode 100644
index cccb5f3..0000000
--- a/src/testdir/test9.ok
+++ /dev/null
@@ -1,2 +0,0 @@
-start of test file xx
-end of test file xx
diff --git a/src/testdir/test98.in b/src/testdir/test98.in
deleted file mode 100644
index 83ccba0..0000000
--- a/src/testdir/test98.in
+++ /dev/null
@@ -1,43 +0,0 @@
-Test for 'scrollbind' causing an unexpected scroll of one of the windows.
-STARTTEST
-:so small.vim
-:" We don't want the status line to cause problems:
-:set laststatus=0
-:let g:totalLines = &lines * 20
-:let middle = g:totalLines / 2
-:wincmd n
-:wincmd o
-:for i in range(1, g:totalLines)
-:    call setline(i, 'LINE ' . i)
-:endfor
-:exe string(middle)
-:normal zt
-:normal M
-:aboveleft vert new
-:for i in range(1, g:totalLines)
-:    call setline(i, 'line ' . i)
-:endfor
-:exe string(middle)
-:normal zt
-:normal M
-:" Execute the following two command at once to reproduce the problem.
-:setl scb | wincmd p
-:setl scb
-:wincmd w
-:let topLineLeft = line('w0')
-:wincmd p
-:let topLineRight = line('w0')
-:setl noscrollbind
-:wincmd p
-:setl noscrollbind
-:q!
-:%del _
-:call setline(1, 'Difference between the top lines (left - right): ' . string(topLineLeft - topLineRight))
-:w! test.out
-:brewind
-ENDTEST
-
-STARTTEST
-:qa!
-ENDTEST
-
diff --git a/src/testdir/test98.ok b/src/testdir/test98.ok
deleted file mode 100644
index 356ddd8..0000000
--- a/src/testdir/test98.ok
+++ /dev/null
@@ -1 +0,0 @@
-Difference between the top lines (left - right): 0
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 95b4cb9..dede9fa 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -613,3 +613,22 @@
   call test_override('starting', 0)
   "delfunc! AutoCommandOptionSet
 endfunc
+
+" Test for Bufleave autocommand that deletes the buffer we are about to edit.
+func Test_BufleaveWithDelete()
+  new | edit Xfile1
+
+  augroup test_bufleavewithdelete
+      autocmd!
+      autocmd BufLeave Xfile1 bwipe Xfile2
+  augroup END
+
+  call assert_fails('edit Xfile2', 'E143:')
+  call assert_equal('Xfile1', bufname('%'))
+
+  autocmd! test_bufleavewithdelete BufLeave Xfile1
+  augroup! test_bufleavewithdelete
+
+  new
+  bwipe! Xfile1
+endfunc
diff --git a/src/testdir/test_curswant.vim b/src/testdir/test_curswant.vim
new file mode 100644
index 0000000..e54cd4b
--- /dev/null
+++ b/src/testdir/test_curswant.vim
@@ -0,0 +1,23 @@
+" Tests for curswant not changing when setting an option
+
+func Test_curswant()
+  new
+  call append(0, ['1234567890', '12345'])
+
+  normal! ggf8j
+  call assert_equal(7, winsaveview().curswant)
+  let &tabstop=&tabstop
+  call assert_equal(4, winsaveview().curswant)
+
+  normal! ggf8j
+  call assert_equal(7, winsaveview().curswant)
+  let &timeoutlen=&timeoutlen
+  call assert_equal(7, winsaveview().curswant)
+
+  normal! ggf8j
+  call assert_equal(7, winsaveview().curswant)
+  let &ttimeoutlen=&ttimeoutlen
+  call assert_equal(7, winsaveview().curswant)
+
+  enew!
+endfunc
diff --git a/src/testdir/test_file_size.vim b/src/testdir/test_file_size.vim
new file mode 100644
index 0000000..f9d453b
--- /dev/null
+++ b/src/testdir/test_file_size.vim
@@ -0,0 +1,29 @@
+" Inserts 2 million lines with consecutive integers starting from 1
+" (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
+" and writes its cksum to test.out.
+"
+" We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
+" up the lines the checksum would differ.
+"
+" cksum is part of POSIX and so should be available on most Unixes.
+" If it isn't available then the test will be skipped.
+func Test_File_Size()
+  if !executable('cksum')
+      return
+  endif
+  set belloff=all fileformat=unix undolevels=-1
+
+  new
+  for i in range(1, 2000000, 100)
+      call append(i, range(i, i + 99))
+  endfor
+
+  1delete
+  w! Xtest
+  let l = systemlist('cksum Xtest')
+  call assert_equal('3678979763 14888896 Xtest', l[0])
+
+  enew!
+  call delete('Xtest')
+  set belloff& fileformat& undolevels&
+endfunc
diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim
new file mode 100644
index 0000000..24c6ef5
--- /dev/null
+++ b/src/testdir/test_let.vim
@@ -0,0 +1,27 @@
+" Tests for the :let command.
+
+func Test_let()
+  " Test to not autoload when assigning.  It causes internal error.
+  set runtimepath+=./sautest
+  let Test104#numvar = function('tr')
+  call assert_equal("function('tr')", string(Test104#numvar))
+
+  let a = 1
+  let b = 2
+
+  let out = execute('let a b')
+  let s = "\na                     #1\nb                     #2"
+  call assert_equal(s, out)
+
+  let out = execute('let {0 == 1 ? "a" : "b"}')
+  let s = "\nb                     #2"
+  call assert_equal(s, out)
+
+  let out = execute('let {0 == 1 ? "a" : "b"} a')
+  let s = "\nb                     #2\na                     #1"
+  call assert_equal(s, out)
+
+  let out = execute('let a {0 == 1 ? "a" : "b"}')
+  let s = "\na                     #1\nb                     #2"
+  call assert_equal(s, out)
+endfunc
diff --git a/src/testdir/test_lineending.vim b/src/testdir/test_lineending.vim
new file mode 100644
index 0000000..d531b74
--- /dev/null
+++ b/src/testdir/test_lineending.vim
@@ -0,0 +1,19 @@
+" Tests for saving/loading a file with some lines ending in
+" CTRL-M, some not
+func Test_lineending()
+  let l = ["this line ends in a\<CR>",
+	      \ "this one doesn't",
+	      \ "this one does\<CR>",
+	      \ "and the last one doesn't"]
+  set ta tx
+  enew!
+  call append(0, l)
+  $delete
+  write Xfile1
+  bwipe Xfile1
+  edit Xfile1
+  let t = getline(1, '$')
+  call assert_equal(l, t)
+  new | only
+  call delete('Xfile1')
+endfunc
diff --git a/src/testdir/test_scrollbind.vim b/src/testdir/test_scrollbind.vim
new file mode 100644
index 0000000..baa24f1
--- /dev/null
+++ b/src/testdir/test_scrollbind.vim
@@ -0,0 +1,32 @@
+" Test for 'scrollbind' causing an unexpected scroll of one of the windows.
+func Test_scrollbind()
+  " We don't want the status line to cause problems:
+  set laststatus=0
+  let totalLines = &lines * 20
+  let middle = totalLines / 2
+  new | only
+  for i in range(1, totalLines)
+      call setline(i, 'LINE ' . i)
+  endfor
+  exe string(middle)
+  normal zt
+  normal M
+  aboveleft vert new
+  for i in range(1, totalLines)
+      call setline(i, 'line ' . i)
+  endfor
+  exe string(middle)
+  normal zt
+  normal M
+  " Execute the following two commands at once to reproduce the problem.
+  setl scb | wincmd p
+  setl scb
+  wincmd w
+  let topLineLeft = line('w0')
+  wincmd p
+  let topLineRight = line('w0')
+  setl noscrollbind
+  wincmd p
+  setl noscrollbind
+  call assert_equal(0, topLineLeft - topLineRight)
+endfunc
diff --git a/src/version.c b/src/version.c
index f716a4c..5a77e0a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    861,
+/**/
     860,
 /**/
     859,
