From f85dae3c34065244f701e44c21a4e828566c63f1 Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Mon, 13 Jun 2011 21:21:22 +0200
Subject: [PATCH] Add files added by recent patches.

---
 src/msvc2010.bat      |  7 +++++++
 src/testdir/test78.in | 46 +++++++++++++++++++++++++++++++++++++++++++
 src/testdir/test78.ok |  3 +++
 3 files changed, 56 insertions(+)
 create mode 100644 src/msvc2010.bat
 create mode 100644 src/testdir/test78.in
 create mode 100644 src/testdir/test78.ok

diff --git a/src/msvc2010.bat b/src/msvc2010.bat
new file mode 100644
index 0000000000..d9fc6c0761
--- /dev/null
+++ b/src/msvc2010.bat
@@ -0,0 +1,7 @@
+@echo off
+rem To be used on MS-Windows for Visual C++ 2010 Express Edition
+rem   aka Microsoft Visual Studio 10.0.
+rem See INSTALLpc.txt for information.
+@echo on
+
+call "%VS100COMNTOOLS%%vsvars32.bat"
diff --git a/src/testdir/test78.in b/src/testdir/test78.in
new file mode 100644
index 0000000000..bcbc972432
--- /dev/null
+++ b/src/testdir/test78.in
@@ -0,0 +1,46 @@
+Inserts 10000 lines with text to fill the swap file with two levels of pointer
+blocks.  Then recovers from the swap file and checks all text is restored.
+
+We need about 10000 lines of 100 characters to get two levels of pointer
+blocks.
+
+STARTTEST
+:so small.vim
+:set nocp fileformat=unix undolevels=-1
+:e! Xtest
+ggdG
+:let text = "\tabcdefghijklmnoparstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnoparstuvwxyz0123456789"
+:let i = 1
+:let linecount = 10000
+:while i <= linecount | call append(i - 1, i . text) | let i += 1 | endwhile
+:preserve
+:" get the name of the swap file
+:redir => swapname
+:swapname
+:redir END
+:let swapname = substitute(swapname, '[[:blank:][:cntrl:]]*\(.\{-}\)[[:blank:][:cntrl:]]*$', '\1', '')
+:" make a copy of the swap file in Xswap
+:set bin
+:exe 'sp ' . swapname
+:w! Xswap
+:echo swapname
+:set nobin
+:new
+:only!
+:bwipe! Xtest
+:call rename('Xswap', swapname)
+:recover Xtest
+:call delete(swapname)
+:new
+:call append(0, 'recovery start')
+:wincmd w
+:let linedollar = line('$')
+:if linedollar < linecount | exe 'wincmd w' | call append(line('$'), "expected " . linecount . " lines but found only " . linedollar) | exe 'wincmd w' | let linecount = linedollar | endif
+:let i = 1
+:while i <= linecount | if getline(i) != i . text | exe 'wincmd w' | call append(line('$'), i . ' differs') | exe 'wincmd w' | endif | let i += 1 | endwhile
+:q!
+:call append(line('$'), 'recovery end')
+:w! test.out
+:qa!
+ENDTEST
+
diff --git a/src/testdir/test78.ok b/src/testdir/test78.ok
new file mode 100644
index 0000000000..6c3ecefe3c
--- /dev/null
+++ b/src/testdir/test78.ok
@@ -0,0 +1,3 @@
+recovery start
+
+recovery end
-- 
GitLab