Mercurial > vim
view src/testdir/test_command_count.in @ 6472:22f95a018b13 v7.4.565
updated for version 7.4.565
Problem: Ranges for arguments, buffers, tabs, etc. are not checked to be
valid but limited to the maximum. This can cause the wrong thing
to happen.
Solution: Give an error for an invalid value. (Marcin Szamotulski)
Use windows range for ":wincmd".
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 07 Jan 2015 15:57:17 +0100 |
parents | 82c6a3bddb23 |
children | a88d4dc02bf4 |
line wrap: on
line source
Test for user command counts vim: set ft=vim : STARTTEST :so tiny.vim :let g:lines = [] :com -range=% RangeLines :call add(g:lines, 'RangeLines '.<line1>.' '.<line2>) :com -range -addr=arguments RangeArguments :call add(g:lines, 'RangeArguments '.<line1>.' '.<line2>) :com -range=% -addr=arguments RangeArgumentsAll :call add(g:lines, 'RangeArgumentsAll '.<line1>.' '.<line2>) :com -range -addr=loaded_buffers RangeLoadedBuffers :call add(g:lines, 'RangeLoadedBuffers '.<line1>.' '.<line2>) :com -range=% -addr=loaded_buffers RangeLoadedBuffersAll :call add(g:lines, 'RangeLoadedBuffersAll '.<line1>.' '.<line2>) :com -range -addr=buffers RangeBuffers :call add(g:lines, 'RangeBuffers '.<line1>.' '.<line2>) :com -range=% -addr=buffers RangeBuffersAll :call add(g:lines, 'RangeBuffersAll '.<line1>.' '.<line2>) :com -range -addr=windows RangeWindows :call add(g:lines, 'RangeWindows '.<line1>.' '.<line2>) :com -range=% -addr=windows RangeWindowsAll :call add(g:lines, 'RangeWindowsAll '.<line1>.' '.<line2>) :com -range -addr=tabs RangeTabs :call add(g:lines, 'RangeTabs '.<line1>.' '.<line2>) :com -range=% -addr=tabs RangeTabsAll :call add(g:lines, 'RangeTabsAll '.<line1>.' '.<line2>) :set hidden :arga a b c d :argdo echo "loading buffers" :argu 3 :.-,$-RangeArguments :%RangeArguments :RangeArgumentsAll :N :.RangeArguments :split|split|split|split :3wincmd w :.,$RangeWindows :%RangeWindows :RangeWindowsAll :only :blast|bd :.,$RangeLoadedBuffers :%RangeLoadedBuffers :RangeLoadedBuffersAll :.,$RangeBuffers :%RangeBuffers :RangeBuffersAll :tabe|tabe|tabe|tabe :normal 2gt :.,$RangeTabs :%RangeTabs :RangeTabsAll :1tabonly :s/\n/\r\r\r\r\r/ :2ma< :$-ma> :'<,'>RangeLines :com -range=% -buffer LocalRangeLines :call add(g:lines, 'LocalRangeLines '.<line1>.' '.<line2>) :'<,'>LocalRangeLines :b1 ENDTEST STARTTEST :call add(g:lines, '') :%argd :arga a b c d :let v:errmsg = '' :5argu :call add(g:lines, '5argu ' . v:errmsg) :$argu :call add(g:lines, '4argu ' . expand('%:t')) :let v:errmsg = '' :1argu :call add(g:lines, '1argu ' . expand('%:t')) :let v:errmsg = '' :100b :call add(g:lines, '100b ' . v:errmsg) :split|split|split|split :let v:errmsg = '' :0close :call add(g:lines, '0close ' . v:errmsg) :$wincmd w :$close :call add(g:lines, '$close ' . winnr()) :let v:errmsg = '' :$+close :call add(g:lines, '$+close ' . v:errmsg) :$tabe :call add(g:lines, '$tabe ' . tabpagenr()) :let v:errmsg = '' :$+tabe :call add(g:lines, '$+tabe ' . v:errmsg) :only! :e x :0tabm :normal 1gt :call add(g:lines, '0tabm ' . expand('%:t')) :tabonly! :only! :e! test.out :call append(0, g:lines) :w|qa! ENDTEST