changeset 5741:f069a3a0f844 v7.4.215

updated for version 7.4.215 Problem: Inconsistency: ":sp foo" does not reload "foo", unless "foo" is the current buffer. (Liang Li) Solution: Do not reload the current buffer on a split command.
author Bram Moolenaar <bram@vim.org>
date Tue, 25 Mar 2014 13:03:48 +0100
parents d2ef98a43b5d
children d3a535c128a9
files runtime/doc/windows.txt src/ex_docmd.c src/version.c
diffstat 3 files changed, 17 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -132,13 +132,20 @@ 3. Opening and closing a window				*open
 CTRL-W s						*CTRL-W_s*
 CTRL-W S						*CTRL-W_S*
 CTRL-W CTRL-S						*CTRL-W_CTRL-S*
-:[N]sp[lit] [++opt] [+cmd]				*:sp* *:split*
+:[N]sp[lit] [++opt] [+cmd] [file]			*:sp* *:split*
 		Split current window in two.  The result is two viewports on
-		the same file.  Make new window N high (default is to use half
-		the height of the current window).  Reduces the current window
-		height to create room (and others, if the 'equalalways' option
-		is set, 'eadirection' isn't "hor", and one of them is higher
-		than the current or the new window).
+		the same file.
+		
+		Make the new window N high (default is to use half the height
+		of the current window).  Reduces the current window height to
+		create room (and others, if the 'equalalways' option is set,
+		'eadirection' isn't "hor", and one of them is higher than the
+		current or the new window).
+
+		If [file] is given it will be edited in the new window.  If it
+		is not loaded in any buffer, it will be read.  Else the new
+		window will use the already loaded buffer.
+
 		Note: CTRL-S does not work on all terminals and might block
 		further input, use CTRL-Q to get going again.
 		Also see |++opt| and |+cmd|.
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7938,6 +7938,8 @@ do_exedit(eap, old_curwin)
 					       ? ECMD_ONE : eap->do_ecmd_lnum,
 		    (P_HID(curbuf) ? ECMD_HIDE : 0)
 		    + (eap->forceit ? ECMD_FORCEIT : 0)
+		      /* after a split we can use an existing buffer */
+		    + (old_curwin != NULL ? ECMD_OLDBUF : 0)
 #ifdef FEAT_LISTCMDS
 		    + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 )
 #endif
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    215,
+/**/
     214,
 /**/
     213,