I think functions with [range] should preserve the cursor line. Assume you have:
function RangeTest() range
echo line('.')
endfunction
And you put the cursor on line 2 and :%call RangeTest()
This function will echo 1, because the cursor is moved to the beginning of the
range *before* entering the function.
I was attempting to create a function which does a search-replace (:s) without
moving the cursor (using winsaveview() and winrestview()). It turns out this is
not possible, because the cursor is moved before winsaveview() can be called.
Is this the intended behavior, or is it a bug? If it's intended, is there a way
to save the winview before entering a function with [range]?
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php