Christian Brabandt wrote:

> On Mi, 12 Mär 2014, Liang Li wrote:
> 
> > The following happens to me in vim 7.4:
> > 
> > :e bufA
> > (modify bufA)
> > :vsp        "This works fine
> > :vsp bufA   "This will throw an E37 error
> > :vsp! bufA  "This will abandon changes and split the buffer, even though 
> > the buffer is never hidden
> > 
> > A minor thing but it seems unexpected. If I do this from a different split, 
> > ':vsp bufA' works as expected, eg:
> > 
> > :e bufA
> > (modify bufA)
> > :vsp bufB
> > :vsp bufA    "works fine
> > 
> > This mostly arises as an issue during scripting.
> 
> I think, this patch fixes it:
> 
> diff --git a/src/ex_docmd.c b/src/ex_docmd.c
> --- a/src/ex_docmd.c
> +++ b/src/ex_docmd.c
> @@ -7903,7 +7903,7 @@
>                 && eap->cmdidx != CMD_vsplit
>  #endif
>                 )
> -           || *eap->arg != NUL
> +           || (*eap->arg != NUL && STRCMP(eap->arg, curbuf->b_fname) != 0)
>  #ifdef FEAT_BROWSE
>             || cmdmod.browse
>  #endif

This would need a better check for the argument being equal to the
current file name.  Or perhaps any loaded buffer name.

This also needs documenting.  Especially that ":sp bufA" does not reload
while ":sp bufB" does, if bufB is open in another window.

On the other hand, this behavior change might cause trouble for those
who depend on the buffer being reloaded.

-- 
SIGIRO -- irony detected (iron core dumped)

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
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

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui