Mercurial > vim
view src/testdir/test78.in @ 10618:4ee16e5e2e26 v8.0.0198
patch 8.0.0198: some syntax arguments take effect even after "if 0"
commit https://github.com/vim/vim/commit/de318c5c35ed0d65fd2a07196cb8acd5ee6d9bf8
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 17 16:27:10 2017 +0100
patch 8.0.0198: some syntax arguments take effect even after "if 0"
Problem: Some syntax arguments take effect even after "if 0". (Taylor
Venable)
Solution: Properly skip the syntax statements. Make "syn case" and "syn
conceal" report the current state. Fix that "syn clear" didn't
reset the conceal flag. Add tests for :syntax skipping properly.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 17 Jan 2017 16:30:05 +0100 |
parents | 7fe2c092913e |
children | ae45d497868f |
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 :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