Mercurial > vim
view src/testdir/test78.in @ 9925:3fba3e8326a7 v7.4.2236
commit https://github.com/vim/vim/commit/920694c1b60fac8017b8909efcc24f189804a9bb
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 21 17:45:02 2016 +0200
patch 7.4.2236
Problem: The 'langnoremap' option leads to double negatives. And it does
not work for the last character of a mapping.
Solution: Add 'langremap' with the opposite value. Keep 'langnoremap' for
backwards compatibility. Make it work for the last character of a
mapping. Make the test work.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 21 Aug 2016 18:00:07 +0200 |
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