Mercurial > vim
view src/testdir/test78.in @ 12503:4d40b2644e92 v8.0.1130
patch 8.0.1130: the qf_jump() function is still too long
commit https://github.com/vim/vim/commit/9cb03716c963338f9a98d2ebc7aa3ac8b9c1eea6
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Sep 20 22:43:02 2017 +0200
patch 8.0.1130: the qf_jump() function is still too long
Problem: The qf_jump() function is still too long.
Solution: Split of parts to separate functions. (Yegappan Lakshmanan)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 20 Sep 2017 22:45:04 +0200 |
parents | ae45d497868f |
children |
line wrap: on
line source
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 viminfo+=nviminfo belloff=all :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