Karsten Hopp 0b8c99
To: vim_dev@googlegroups.com
Karsten Hopp 0b8c99
Subject: Patch 7.4.742
Karsten Hopp 0b8c99
Fcc: outbox
Karsten Hopp 0b8c99
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 0b8c99
Mime-Version: 1.0
Karsten Hopp 0b8c99
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 0b8c99
Content-Transfer-Encoding: 8bit
Karsten Hopp 0b8c99
------------
Karsten Hopp 0b8c99
Karsten Hopp 0b8c99
Patch 7.4.742
Karsten Hopp 0b8c99
Problem:    Cannot specify a vertical split when loading a buffer for a
Karsten Hopp 0b8c99
            quickfix command.
Karsten Hopp 0b8c99
Solution:   Add the "vsplit" value to 'switchbuf'. (Brook Hong)
Karsten Hopp 0b8c99
Files:      runtime/doc/options.txt, src/buffer.c, src/option.h
Karsten Hopp 0b8c99
Karsten Hopp 0b8c99
Karsten Hopp 0b8c99
*** ../vim-7.4.741/runtime/doc/options.txt	2015-05-04 17:28:17.340445782 +0200
Karsten Hopp 0b8c99
--- runtime/doc/options.txt	2015-06-19 14:26:15.447584096 +0200
Karsten Hopp 0b8c99
***************
Karsten Hopp 0b8c99
*** 7058,7063 ****
Karsten Hopp 0b8c99
--- 7067,7073 ----
Karsten Hopp 0b8c99
  	   split	If included, split the current window before loading
Karsten Hopp 0b8c99
  			a buffer for a |quickfix| command that display errors.
Karsten Hopp 0b8c99
  			Otherwise: do not split, use current window.
Karsten Hopp 0b8c99
+ 	   vsplit	Just like "split" but split vertically.
Karsten Hopp 0b8c99
  	   newtab	Like "split", but open a new tab page.  Overrules
Karsten Hopp 0b8c99
  			"split" when both are present.
Karsten Hopp 0b8c99
  
Karsten Hopp 0b8c99
*** ../vim-7.4.741/src/buffer.c	2015-03-20 18:11:44.963196400 +0100
Karsten Hopp 0b8c99
--- src/buffer.c	2015-06-19 14:28:36.342100740 +0200
Karsten Hopp 0b8c99
***************
Karsten Hopp 0b8c99
*** 2071,2087 ****
Karsten Hopp 0b8c99
  	 * "buf" if one exists */
Karsten Hopp 0b8c99
  	if (swb_flags & SWB_USEOPEN)
Karsten Hopp 0b8c99
  	    wp = buf_jump_open_win(buf);
Karsten Hopp 0b8c99
  	/* If 'switchbuf' contains "usetab": jump to first window in any tab
Karsten Hopp 0b8c99
  	 * page containing "buf" if one exists */
Karsten Hopp 0b8c99
  	if (wp == NULL && (swb_flags & SWB_USETAB))
Karsten Hopp 0b8c99
  	    wp = buf_jump_open_tab(buf);
Karsten Hopp 0b8c99
! 	/* If 'switchbuf' contains "split" or "newtab" and the current buffer
Karsten Hopp 0b8c99
! 	 * isn't empty: open new window */
Karsten Hopp 0b8c99
! 	if (wp == NULL && (swb_flags & (SWB_SPLIT | SWB_NEWTAB)) && !bufempty())
Karsten Hopp 0b8c99
  	{
Karsten Hopp 0b8c99
! 	    if (swb_flags & SWB_NEWTAB)		/* Open in a new tab */
Karsten Hopp 0b8c99
  		tabpage_new();
Karsten Hopp 0b8c99
! 	    else if (win_split(0, 0) == FAIL)	/* Open in a new window */
Karsten Hopp 0b8c99
  		return FAIL;
Karsten Hopp 0b8c99
  	    RESET_BINDING(curwin);
Karsten Hopp 0b8c99
  	}
Karsten Hopp 0b8c99
--- 2071,2091 ----
Karsten Hopp 0b8c99
  	 * "buf" if one exists */
Karsten Hopp 0b8c99
  	if (swb_flags & SWB_USEOPEN)
Karsten Hopp 0b8c99
  	    wp = buf_jump_open_win(buf);
Karsten Hopp 0b8c99
+ 
Karsten Hopp 0b8c99
  	/* If 'switchbuf' contains "usetab": jump to first window in any tab
Karsten Hopp 0b8c99
  	 * page containing "buf" if one exists */
Karsten Hopp 0b8c99
  	if (wp == NULL && (swb_flags & SWB_USETAB))
Karsten Hopp 0b8c99
  	    wp = buf_jump_open_tab(buf);
Karsten Hopp 0b8c99
! 
Karsten Hopp 0b8c99
! 	/* If 'switchbuf' contains "split", "vsplit" or "newtab" and the
Karsten Hopp 0b8c99
! 	 * current buffer isn't empty: open new tab or window */
Karsten Hopp 0b8c99
! 	if (wp == NULL && (swb_flags & (SWB_VSPLIT | SWB_SPLIT | SWB_NEWTAB))
Karsten Hopp 0b8c99
! 							       && !bufempty())
Karsten Hopp 0b8c99
  	{
Karsten Hopp 0b8c99
! 	    if (swb_flags & SWB_NEWTAB)
Karsten Hopp 0b8c99
  		tabpage_new();
Karsten Hopp 0b8c99
! 	    else if (win_split(0, (swb_flags & SWB_VSPLIT) ? WSP_VERT : 0)
Karsten Hopp 0b8c99
! 								      == FAIL)
Karsten Hopp 0b8c99
  		return FAIL;
Karsten Hopp 0b8c99
  	    RESET_BINDING(curwin);
Karsten Hopp 0b8c99
  	}
Karsten Hopp 0b8c99
*** ../vim-7.4.741/src/option.h	2014-11-05 17:44:47.676471691 +0100
Karsten Hopp 0b8c99
--- src/option.h	2015-06-19 14:25:00.364374797 +0200
Karsten Hopp 0b8c99
***************
Karsten Hopp 0b8c99
*** 765,776 ****
Karsten Hopp 0b8c99
  EXTERN char_u	*p_swb;		/* 'switchbuf' */
Karsten Hopp 0b8c99
  EXTERN unsigned	swb_flags;
Karsten Hopp 0b8c99
  #ifdef IN_OPTION_C
Karsten Hopp 0b8c99
! static char *(p_swb_values[]) = {"useopen", "usetab", "split", "newtab", NULL};
Karsten Hopp 0b8c99
  #endif
Karsten Hopp 0b8c99
  #define SWB_USEOPEN		0x001
Karsten Hopp 0b8c99
  #define SWB_USETAB		0x002
Karsten Hopp 0b8c99
  #define SWB_SPLIT		0x004
Karsten Hopp 0b8c99
  #define SWB_NEWTAB		0x008
Karsten Hopp 0b8c99
  EXTERN int	p_tbs;		/* 'tagbsearch' */
Karsten Hopp 0b8c99
  EXTERN long	p_tl;		/* 'taglength' */
Karsten Hopp 0b8c99
  EXTERN int	p_tr;		/* 'tagrelative' */
Karsten Hopp 0b8c99
--- 765,777 ----
Karsten Hopp 0b8c99
  EXTERN char_u	*p_swb;		/* 'switchbuf' */
Karsten Hopp 0b8c99
  EXTERN unsigned	swb_flags;
Karsten Hopp 0b8c99
  #ifdef IN_OPTION_C
Karsten Hopp 0b8c99
! static char *(p_swb_values[]) = {"useopen", "usetab", "split", "newtab", "vsplit", NULL};
Karsten Hopp 0b8c99
  #endif
Karsten Hopp 0b8c99
  #define SWB_USEOPEN		0x001
Karsten Hopp 0b8c99
  #define SWB_USETAB		0x002
Karsten Hopp 0b8c99
  #define SWB_SPLIT		0x004
Karsten Hopp 0b8c99
  #define SWB_NEWTAB		0x008
Karsten Hopp 0b8c99
+ #define SWB_VSPLIT		0x010
Karsten Hopp 0b8c99
  EXTERN int	p_tbs;		/* 'tagbsearch' */
Karsten Hopp 0b8c99
  EXTERN long	p_tl;		/* 'taglength' */
Karsten Hopp 0b8c99
  EXTERN int	p_tr;		/* 'tagrelative' */
Karsten Hopp 0b8c99
*** ../vim-7.4.741/src/version.c	2015-06-19 14:06:29.043993697 +0200
Karsten Hopp 0b8c99
--- src/version.c	2015-06-19 14:25:32.060040993 +0200
Karsten Hopp 0b8c99
***************
Karsten Hopp 0b8c99
*** 743,744 ****
Karsten Hopp 0b8c99
--- 743,746 ----
Karsten Hopp 0b8c99
  {   /* Add new patch number below this line */
Karsten Hopp 0b8c99
+ /**/
Karsten Hopp 0b8c99
+     742,
Karsten Hopp 0b8c99
  /**/
Karsten Hopp 0b8c99
Karsten Hopp 0b8c99
-- 
Karsten Hopp 0b8c99
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 0b8c99
116. You are living with your boyfriend who networks your respective
Karsten Hopp 0b8c99
     computers so you can sit in separate rooms and email each other
Karsten Hopp 0b8c99
Karsten Hopp 0b8c99
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 0b8c99
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 0b8c99
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 0b8c99
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///