| Tests for 'undolevel' and 'lispwords' settings being global-local |
| |
| STARTTEST |
| :so small.vim |
| :set nocompatible viminfo+=nviminfo ul=5 |
| :fu! FillBuffer() |
| :for i in range(1,13) |
| :put=i |
| :exe "setg ul=" . &g:ul |
| :endfor |
| :endfu |
| :fu! UndoLevel() |
| :redir @a | setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |redir end |
| :$put a |
| :endfu |
| :new one |
| :0put ='ONE: expecting global undolevels: 5, local undolevels: -123456 (default)' |
| :call FillBuffer() |
| :call feedkeys(":earlier 10\n", 't') |
| :call UndoLevel() |
| :set ff=unix |
| :%w! test.out |
| :new two |
| :0put ='TWO: expecting global undolevels: 5, local undolevels: 2 (first) then 10 (afterwards)' |
| :setlocal ul=2 |
| :call FillBuffer() |
| :call feedkeys(":earlier 10\n", 't') |
| :call UndoLevel() |
| :setlocal ul=10 |
| :call UndoLevel() |
| :set ff=unix |
| :%w >> test.out |
| :wincmd p |
| :redir >>test.out | echo "global value shouldn't be changed and still be 5!" | echo 'ONE: expecting global undolevels: 5, local undolevels: -123456 (default)'|:setglobal undolevels? | echon ' global' | setlocal undolevels? | echon ' local' |echo "" |redir end |
| :new three |
| :setglobal ul=50 |
| :1put ='global value should be changed to 50' |
| :2put ='THREE: expecting global undolevels: 50, local undolevels: -123456 (default)' |
| :call UndoLevel() |
| :set ff=unix |
| :%w >> test.out |
| :"sleep 10 |
| :" |
| :" Testing 'lispwords' |
| :" |
| :setglobal lispwords=foo,bar,baz |
| :setlocal lispwords-=foo | setlocal lispwords+=quux |
| :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end |
| :setlocal lispwords< |
| :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end |
| :qa! |
| ENDTEST |
| |