On 2012-11-28 Wednesday at 23:26 -0800 So8res wrote:
> On Monday, November 19, 2012 1:52:44 PM UTC-8, So8res wrote:
> > 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]?
>
> Bump. Should I add tests? What's the process for adding tests? (I couldn't
> find a test testing function [range] and didn't think that adding a new test
> file was the right decision.
>
> Are there any objections to adding this functionality?:h cmdline-ranges > 4. Ex command-line ranges *cmdline-ranges* *[range]* *E16* > > Some Ex commands accept a line range in front of them. This is noted as > [range]. It consists of one or more line specifiers, separated with ',' or > ';'. > > The basics are explained in section |10.3| of the user manual. > > *:,* *:;* > When separated with ';' the cursor position will be set to that line > before interpreting the next line specifier. This doesn't happen for ','. Why not reusing or enhancing already established commandline syntax? If “,” and “;” are not sufficient for all desired features of range specifications, why not just introducing a new separator between line specifications? E.g. two adjacent commas “,,”, or a caret character “^” would not clash with current commandline syntax AFAICS. This would be easier to learn from a user POV. Implementation might require more effort, though. -- Roland
pgppi3UjMdd80.pgp
Description: PGP signature
