Merge branch 'master' into f21
This commit is contained in:
		
						commit
						a62b8bc8bc
					
				
							
								
								
									
										47
									
								
								7.4.308
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								7.4.308
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.308 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.308 | ||||
| Problem:    When using ":diffsplit" on an empty file the cursor is displayed | ||||
| 	    on the command line. | ||||
| Solution:   Limit the value of w_topfill. | ||||
| Files:	    src/diff.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.307/src/diff.c	2013-09-20 20:13:48.000000000 +0200 | ||||
| --- src/diff.c	2014-05-28 11:30:11.724008432 +0200 | ||||
| *************** | ||||
| *** 622,627 **** | ||||
| --- 622,628 ---- | ||||
|   		    wp->w_topfill = (n < 0 ? 0 : n); | ||||
|   		else if (n > 0 && n > wp->w_topfill) | ||||
|   		    wp->w_topfill = n; | ||||
| + 		check_topfill(wp, FALSE); | ||||
|   	    } | ||||
|   	} | ||||
|   } | ||||
| *** ../vim-7.4.307/src/version.c	2014-05-22 21:22:15.361995652 +0200 | ||||
| --- src/version.c	2014-05-28 11:34:01.064010440 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     308, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| msdn.microsoft.com: | ||||
| ERROR_SUCCESS 0 (0x0) The operation completed successfully. | ||||
| I have always suspected that for Microsoft success is an error. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										88
									
								
								7.4.309
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								7.4.309
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,88 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.309 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.309 | ||||
| Problem:    When increasing the size of the lower window, the upper window | ||||
| 	    jumps back to the top. (Ron Aaron) | ||||
| Solution:   Change setting the topline. (Nobuhiro Takasaki) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.308/src/window.c	2014-05-22 15:17:24.706440568 +0200 | ||||
| --- src/window.c	2014-05-28 13:24:40.308068558 +0200 | ||||
| *************** | ||||
| *** 5710,5717 **** | ||||
|   		    --wp->w_wrow; | ||||
|   		} | ||||
|   	    } | ||||
|   	} | ||||
| ! 	else | ||||
|   	{ | ||||
|   	    while (sline > 0 && lnum > 1) | ||||
|   	    { | ||||
| --- 5710,5718 ---- | ||||
|   		    --wp->w_wrow; | ||||
|   		} | ||||
|   	    } | ||||
| +             set_topline(wp, lnum); | ||||
|   	} | ||||
| ! 	else if (sline > 0) | ||||
|   	{ | ||||
|   	    while (sline > 0 && lnum > 1) | ||||
|   	    { | ||||
| *************** | ||||
| *** 5748,5761 **** | ||||
|   		lnum++; | ||||
|   		wp->w_wrow -= line_size + sline; | ||||
|   	    } | ||||
| ! 	    else if (sline >= 0) | ||||
|   	    { | ||||
|   		/* First line of file reached, use that as topline. */ | ||||
|   		lnum = 1; | ||||
|   		wp->w_wrow -= sline; | ||||
|   	    } | ||||
|   	} | ||||
| - 	set_topline(wp, lnum); | ||||
|       } | ||||
|    | ||||
|       if (wp == curwin) | ||||
| --- 5749,5763 ---- | ||||
|   		lnum++; | ||||
|   		wp->w_wrow -= line_size + sline; | ||||
|   	    } | ||||
| ! 	    else if (sline > 0) | ||||
|   	    { | ||||
|   		/* First line of file reached, use that as topline. */ | ||||
|   		lnum = 1; | ||||
|   		wp->w_wrow -= sline; | ||||
|   	    } | ||||
| +  | ||||
| +             set_topline(wp, lnum); | ||||
|   	} | ||||
|       } | ||||
|    | ||||
|       if (wp == curwin) | ||||
| *** ../vim-7.4.308/src/version.c	2014-05-28 11:35:33.428011248 +0200 | ||||
| --- src/version.c	2014-05-28 13:33:54.244073407 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     309, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Don't be humble ... you're not that great. | ||||
|                       -- Golda Meir | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										373
									
								
								7.4.310
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										373
									
								
								7.4.310
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,373 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.310 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.310 | ||||
| Problem:    getpos()/setpos() don't include curswant. | ||||
| Solution:   Add a fifth number when getting/setting the cursor. | ||||
| Files:	    src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok, | ||||
| 	    runtime/doc/eval.txt | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.309/src/eval.c	2014-05-22 18:59:54.506169240 +0200 | ||||
| --- src/eval.c	2014-05-28 14:23:37.608099523 +0200 | ||||
| *************** | ||||
| *** 764,770 **** | ||||
|   static void f_writefile __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_xor __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|    | ||||
| ! static int list2fpos __ARGS((typval_T *arg, pos_T *posp, int *fnump)); | ||||
|   static pos_T *var2fpos __ARGS((typval_T *varp, int dollar_lnum, int *fnum)); | ||||
|   static int get_env_len __ARGS((char_u **arg)); | ||||
|   static int get_id_len __ARGS((char_u **arg)); | ||||
| --- 764,770 ---- | ||||
|   static void f_writefile __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_xor __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|    | ||||
| ! static int list2fpos __ARGS((typval_T *arg, pos_T *posp, int *fnump, colnr_T *curswantp)); | ||||
|   static pos_T *var2fpos __ARGS((typval_T *varp, int dollar_lnum, int *fnum)); | ||||
|   static int get_env_len __ARGS((char_u **arg)); | ||||
|   static int get_id_len __ARGS((char_u **arg)); | ||||
| *************** | ||||
| *** 9799,9812 **** | ||||
|       if (argvars[1].v_type == VAR_UNKNOWN) | ||||
|       { | ||||
|   	pos_T	    pos; | ||||
|    | ||||
| ! 	if (list2fpos(argvars, &pos, NULL) == FAIL) | ||||
|   	    return; | ||||
|   	line = pos.lnum; | ||||
|   	col = pos.col; | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
|   	coladd = pos.coladd; | ||||
|   #endif | ||||
|       } | ||||
|       else | ||||
|       { | ||||
| --- 9799,9815 ---- | ||||
|       if (argvars[1].v_type == VAR_UNKNOWN) | ||||
|       { | ||||
|   	pos_T	    pos; | ||||
| + 	colnr_T	    curswant = -1; | ||||
|    | ||||
| ! 	if (list2fpos(argvars, &pos, NULL, &curswant) == FAIL) | ||||
|   	    return; | ||||
|   	line = pos.lnum; | ||||
|   	col = pos.col; | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
|   	coladd = pos.coladd; | ||||
|   #endif | ||||
| + 	if (curswant >= 0) | ||||
| + 	    curwin->w_curswant = curswant - 1; | ||||
|       } | ||||
|       else | ||||
|       { | ||||
| *************** | ||||
| *** 11770,11775 **** | ||||
| --- 11773,11780 ---- | ||||
|   				(fp != NULL) ? (varnumber_T)fp->coladd : | ||||
|   #endif | ||||
|   							      (varnumber_T)0); | ||||
| + 	if (fp == &curwin->w_cursor) | ||||
| + 	    list_append_number(l, (varnumber_T)curwin->w_curswant + 1); | ||||
|       } | ||||
|       else | ||||
|   	rettv->vval.v_number = FALSE; | ||||
| *************** | ||||
| *** 16751,16762 **** | ||||
|       pos_T	pos; | ||||
|       int		fnum; | ||||
|       char_u	*name; | ||||
|    | ||||
|       rettv->vval.v_number = -1; | ||||
|       name = get_tv_string_chk(argvars); | ||||
|       if (name != NULL) | ||||
|       { | ||||
| ! 	if (list2fpos(&argvars[1], &pos, &fnum) == OK) | ||||
|   	{ | ||||
|   	    if (--pos.col < 0) | ||||
|   		pos.col = 0; | ||||
| --- 16756,16768 ---- | ||||
|       pos_T	pos; | ||||
|       int		fnum; | ||||
|       char_u	*name; | ||||
| +     colnr_T	curswant = -1; | ||||
|    | ||||
|       rettv->vval.v_number = -1; | ||||
|       name = get_tv_string_chk(argvars); | ||||
|       if (name != NULL) | ||||
|       { | ||||
| ! 	if (list2fpos(&argvars[1], &pos, &fnum, &curswant) == OK) | ||||
|   	{ | ||||
|   	    if (--pos.col < 0) | ||||
|   		pos.col = 0; | ||||
| *************** | ||||
| *** 16766,16771 **** | ||||
| --- 16772,16779 ---- | ||||
|   		if (fnum == curbuf->b_fnum) | ||||
|   		{ | ||||
|   		    curwin->w_cursor = pos; | ||||
| + 		    if (curswant >= 0) | ||||
| + 			curwin->w_curswant = curswant - 1; | ||||
|   		    check_cursor(); | ||||
|   		    rettv->vval.v_number = 0; | ||||
|   		} | ||||
| *************** | ||||
| *** 19532,19552 **** | ||||
|    * validity. | ||||
|    */ | ||||
|       static int | ||||
| ! list2fpos(arg, posp, fnump) | ||||
|       typval_T	*arg; | ||||
|       pos_T	*posp; | ||||
|       int		*fnump; | ||||
|   { | ||||
|       list_T	*l = arg->vval.v_list; | ||||
|       long	i = 0; | ||||
|       long	n; | ||||
|    | ||||
| !     /* List must be: [fnum, lnum, col, coladd], where "fnum" is only there | ||||
| !      * when "fnump" isn't NULL and "coladd" is optional. */ | ||||
|       if (arg->v_type != VAR_LIST | ||||
|   	    || l == NULL | ||||
|   	    || l->lv_len < (fnump == NULL ? 2 : 3) | ||||
| ! 	    || l->lv_len > (fnump == NULL ? 3 : 4)) | ||||
|   	return FAIL; | ||||
|    | ||||
|       if (fnump != NULL) | ||||
| --- 19540,19561 ---- | ||||
|    * validity. | ||||
|    */ | ||||
|       static int | ||||
| ! list2fpos(arg, posp, fnump, curswantp) | ||||
|       typval_T	*arg; | ||||
|       pos_T	*posp; | ||||
|       int		*fnump; | ||||
| +     colnr_T	*curswantp; | ||||
|   { | ||||
|       list_T	*l = arg->vval.v_list; | ||||
|       long	i = 0; | ||||
|       long	n; | ||||
|    | ||||
| !     /* List must be: [fnum, lnum, col, coladd, curswant], where "fnum" is only | ||||
| !      * there when "fnump" isn't NULL; "coladd" and "curswant" are optional. */ | ||||
|       if (arg->v_type != VAR_LIST | ||||
|   	    || l == NULL | ||||
|   	    || l->lv_len < (fnump == NULL ? 2 : 3) | ||||
| ! 	    || l->lv_len > (fnump == NULL ? 4 : 5)) | ||||
|   	return FAIL; | ||||
|    | ||||
|       if (fnump != NULL) | ||||
| *************** | ||||
| *** 19570,19582 **** | ||||
|       posp->col = n; | ||||
|    | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
| !     n = list_find_nr(l, i, NULL); | ||||
|       if (n < 0) | ||||
|   	posp->coladd = 0; | ||||
|       else | ||||
|   	posp->coladd = n; | ||||
|   #endif | ||||
|    | ||||
|       return OK; | ||||
|   } | ||||
|    | ||||
| --- 19579,19594 ---- | ||||
|       posp->col = n; | ||||
|    | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
| !     n = list_find_nr(l, i, NULL);	/* off */ | ||||
|       if (n < 0) | ||||
|   	posp->coladd = 0; | ||||
|       else | ||||
|   	posp->coladd = n; | ||||
|   #endif | ||||
|    | ||||
| +     if (curswantp != NULL) | ||||
| + 	*curswantp = list_find_nr(l, i + 1, NULL);  /* curswant */ | ||||
| +  | ||||
|       return OK; | ||||
|   } | ||||
|    | ||||
| *** ../vim-7.4.309/src/testdir/test_eval.in	2014-04-29 17:41:18.351689927 +0200 | ||||
| --- src/testdir/test_eval.in	2014-05-28 14:22:31.780098947 +0200 | ||||
| *************** | ||||
| *** 190,198 **** | ||||
| --- 190,207 ---- | ||||
|   :$put =v:exception | ||||
|   :endtry | ||||
|   :" | ||||
| + :$put ='{{{1 setpos/getpos' | ||||
| + /^012345678 | ||||
| + 6l:let sp = getpos('.') | ||||
| + 0:call setpos('.', sp) | ||||
| + jyl:$put | ||||
| + :" | ||||
|   :/^start:/+1,$wq! test.out | ||||
|   :" vim: et ts=4 isk-=\: fmr=???,??? | ||||
|   :call getchar() | ||||
|   ENDTEST | ||||
|    | ||||
| + 012345678 | ||||
| + 012345678 | ||||
| +  | ||||
|   start: | ||||
| *** ../vim-7.4.309/src/testdir/test_eval.ok	2014-04-29 17:41:18.351689927 +0200 | ||||
| --- src/testdir/test_eval.ok	2014-05-28 14:19:31.836097372 +0200 | ||||
| *************** | ||||
| *** 346,348 **** | ||||
| --- 346,350 ---- | ||||
|   Bar exists: 1 | ||||
|   func Bar exists: 1 | ||||
|   Vim(call):E116: Invalid arguments for function append | ||||
| + {{{1 setpos/getpos | ||||
| + 6 | ||||
| *** ../vim-7.4.309/runtime/doc/eval.txt	2014-05-07 18:35:25.661216052 +0200 | ||||
| --- runtime/doc/eval.txt	2014-05-28 14:04:40.928089573 +0200 | ||||
| *************** | ||||
| *** 2587,2595 **** | ||||
|   cursor({list}) | ||||
|   		Positions the cursor at the column (byte count) {col} in the | ||||
|   		line {lnum}.  The first column is one. | ||||
|   		When there is one argument {list} this is used as a |List| | ||||
| ! 		with two or three items {lnum}, {col} and {off}.  This is like | ||||
| ! 		the return value of |getpos()|, but without the first item. | ||||
|   		Does not change the jumplist. | ||||
|   		If {lnum} is greater than the number of lines in the buffer, | ||||
|   		the cursor will be positioned at the last line in the buffer. | ||||
| --- 2587,2600 ---- | ||||
|   cursor({list}) | ||||
|   		Positions the cursor at the column (byte count) {col} in the | ||||
|   		line {lnum}.  The first column is one. | ||||
| +  | ||||
|   		When there is one argument {list} this is used as a |List| | ||||
| ! 		with two, three or four item: | ||||
| ! 			[{lnum}, {col}, {off}] | ||||
| ! 			[{lnum}, {col}, {off}, {curswant}] | ||||
| ! 		This is like the return value of |getpos()|, but without the | ||||
| ! 		first item. | ||||
| !  | ||||
|   		Does not change the jumplist. | ||||
|   		If {lnum} is greater than the number of lines in the buffer, | ||||
|   		the cursor will be positioned at the last line in the buffer. | ||||
| *************** | ||||
| *** 4475,4482 **** | ||||
|   							*getpos()* | ||||
|   getpos({expr})	Get the position for {expr}.  For possible values of {expr} | ||||
|   		see |line()|. | ||||
| ! 		The result is a |List| with four numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
|   		"bufnum" is zero, unless a mark like '0 or 'A is used, then it | ||||
|   		is the buffer number of the mark. | ||||
|   		"lnum" and "col" are the position in the buffer.  The first | ||||
| --- 4490,4498 ---- | ||||
|   							*getpos()* | ||||
|   getpos({expr})	Get the position for {expr}.  For possible values of {expr} | ||||
|   		see |line()|. | ||||
| ! 		The result is a |List| with four or five numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
| + 		    [bufnum, lnum, col, off, curswant] | ||||
|   		"bufnum" is zero, unless a mark like '0 or 'A is used, then it | ||||
|   		is the buffer number of the mark. | ||||
|   		"lnum" and "col" are the position in the buffer.  The first | ||||
| *************** | ||||
| *** 4485,4490 **** | ||||
| --- 4501,4511 ---- | ||||
|   		it is the offset in screen columns from the start of the | ||||
|   		character.  E.g., a position within a <Tab> or after the last | ||||
|   		character. | ||||
| + 		The "curswant" number is only added for getpos('.'), it is the | ||||
| + 		preferred column when moving the cursor vertically. | ||||
| + 		Note that for '< and '> Visual mode matters: when it is "V" | ||||
| + 		(visual line mode) the column of '< is zero and the column of | ||||
| + 		'> is a large number. | ||||
|   		This can be used to save and restore the cursor position: > | ||||
|   			let save_cursor = getpos(".") | ||||
|   			MoveTheCursorAround | ||||
| *************** | ||||
| *** 5289,5296 **** | ||||
|   			.	the cursor | ||||
|   			'x	mark x | ||||
|    | ||||
| ! 		{list} must be a |List| with four numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
|    | ||||
|   		"bufnum" is the buffer number.	Zero can be used for the | ||||
|   		current buffer.  Setting the cursor is only possible for | ||||
| --- 5310,5318 ---- | ||||
|   			.	the cursor | ||||
|   			'x	mark x | ||||
|    | ||||
| ! 		{list} must be a |List| with four or five numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
| + 		    [bufnum, lnum, col, off, curswant] | ||||
|    | ||||
|   		"bufnum" is the buffer number.	Zero can be used for the | ||||
|   		current buffer.  Setting the cursor is only possible for | ||||
| *************** | ||||
| *** 5308,5320 **** | ||||
|   		character.  E.g., a position within a <Tab> or after the last | ||||
|   		character. | ||||
|    | ||||
|   		Returns 0 when the position could be set, -1 otherwise. | ||||
|   		An error message is given if {expr} is invalid. | ||||
|    | ||||
|   		Also see |getpos()| | ||||
|    | ||||
|   		This does not restore the preferred column for moving | ||||
| ! 		vertically.  See |winrestview()| for that. | ||||
|    | ||||
|    | ||||
|   setqflist({list} [, {action}])				*setqflist()* | ||||
| --- 5330,5355 ---- | ||||
|   		character.  E.g., a position within a <Tab> or after the last | ||||
|   		character. | ||||
|    | ||||
| + 		The "curswant" number is only used when setting the cursor | ||||
| + 		position.  It sets the preferred column for when moving the | ||||
| + 		cursor vertically.  When the "curswant" number is missing the | ||||
| + 		preferred column is not set.  When it is present and setting a | ||||
| + 		mark position it is not used. | ||||
| +  | ||||
| + 		Note that for '< and '> changing the line number may result in | ||||
| + 		the marks to be effectively be swapped, so that '< is always | ||||
| + 		before '>. | ||||
| +  | ||||
|   		Returns 0 when the position could be set, -1 otherwise. | ||||
|   		An error message is given if {expr} is invalid. | ||||
|    | ||||
|   		Also see |getpos()| | ||||
|    | ||||
|   		This does not restore the preferred column for moving | ||||
| ! 		vertically; if you set the cursor position with this, |j| and | ||||
| ! 		|k| motions will jump to previous columns!  Use |cursor()| to | ||||
| ! 		also set the preferred column.  Also see the "curswant" key in | ||||
| ! 		|winrestview()|. | ||||
|    | ||||
|    | ||||
|   setqflist({list} [, {action}])				*setqflist()* | ||||
| *** ../vim-7.4.309/src/version.c	2014-05-28 13:42:59.884078184 +0200 | ||||
| --- src/version.c	2014-05-28 14:27:20.132101471 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     310, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 218. Your spouse hands you a gift wrapped magnet with your PC's name | ||||
|      on it and you accuse him or her of genocide. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										127
									
								
								7.4.311
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								7.4.311
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,127 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.311 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.311 | ||||
| Problem:    Can't use winrestview to only restore part of the view. | ||||
| Solution:   Handle missing items in the dict. (Christian Brabandt) | ||||
| Files:	    src/eval.c, runtime/doc/eval.txt | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.310/src/eval.c	2014-05-28 14:32:47.156104334 +0200 | ||||
| --- src/eval.c	2014-05-28 16:42:25.196172421 +0200 | ||||
| *************** | ||||
| *** 19231,19250 **** | ||||
|   	EMSG(_(e_invarg)); | ||||
|       else | ||||
|       { | ||||
| ! 	curwin->w_cursor.lnum = get_dict_number(dict, (char_u *)"lnum"); | ||||
| ! 	curwin->w_cursor.col = get_dict_number(dict, (char_u *)"col"); | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
| ! 	curwin->w_cursor.coladd = get_dict_number(dict, (char_u *)"coladd"); | ||||
|   #endif | ||||
| ! 	curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant"); | ||||
| ! 	curwin->w_set_curswant = FALSE; | ||||
|    | ||||
| ! 	set_topline(curwin, get_dict_number(dict, (char_u *)"topline")); | ||||
|   #ifdef FEAT_DIFF | ||||
| ! 	curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill"); | ||||
|   #endif | ||||
| ! 	curwin->w_leftcol = get_dict_number(dict, (char_u *)"leftcol"); | ||||
| ! 	curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol"); | ||||
|    | ||||
|   	check_cursor(); | ||||
|   	win_new_height(curwin, curwin->w_height); | ||||
| --- 19231,19260 ---- | ||||
|   	EMSG(_(e_invarg)); | ||||
|       else | ||||
|       { | ||||
| ! 	if (dict_find(dict, (char_u *)"lnum", -1) != NULL) | ||||
| ! 	    curwin->w_cursor.lnum = get_dict_number(dict, (char_u *)"lnum"); | ||||
| ! 	if (dict_find(dict, (char_u *)"col", -1) != NULL) | ||||
| ! 	    curwin->w_cursor.col = get_dict_number(dict, (char_u *)"col"); | ||||
|   #ifdef FEAT_VIRTUALEDIT | ||||
| ! 	if (dict_find(dict, (char_u *)"coladd", -1) != NULL) | ||||
| ! 	    curwin->w_cursor.coladd = get_dict_number(dict, (char_u *)"coladd"); | ||||
|   #endif | ||||
| ! 	if (dict_find(dict, (char_u *)"curswant", -1) != NULL) | ||||
| ! 	{ | ||||
| ! 	    curwin->w_curswant = get_dict_number(dict, (char_u *)"curswant"); | ||||
| ! 	    curwin->w_set_curswant = FALSE; | ||||
| ! 	} | ||||
|    | ||||
| ! 	if (dict_find(dict, (char_u *)"topline", -1) != NULL) | ||||
| ! 	    set_topline(curwin, get_dict_number(dict, (char_u *)"topline")); | ||||
|   #ifdef FEAT_DIFF | ||||
| ! 	if (dict_find(dict, (char_u *)"topfill", -1) != NULL) | ||||
| ! 	    curwin->w_topfill = get_dict_number(dict, (char_u *)"topfill"); | ||||
|   #endif | ||||
| ! 	if (dict_find(dict, (char_u *)"leftcol", -1) != NULL) | ||||
| ! 	    curwin->w_leftcol = get_dict_number(dict, (char_u *)"leftcol"); | ||||
| ! 	if (dict_find(dict, (char_u *)"skipcol", -1) != NULL) | ||||
| ! 	    curwin->w_skipcol = get_dict_number(dict, (char_u *)"skipcol"); | ||||
|    | ||||
|   	check_cursor(); | ||||
|   	win_new_height(curwin, curwin->w_height); | ||||
| *** ../vim-7.4.310/runtime/doc/eval.txt	2014-05-28 14:32:47.164104334 +0200 | ||||
| --- runtime/doc/eval.txt	2014-05-28 16:42:25.192172421 +0200 | ||||
| *************** | ||||
| *** 6404,6409 **** | ||||
| --- 6414,6429 ---- | ||||
|   winrestview({dict}) | ||||
|   		Uses the |Dictionary| returned by |winsaveview()| to restore | ||||
|   		the view of the current window. | ||||
| + 		Note: The {dict} does not have to contain all values, that are | ||||
| + 		returned by |winsaveview()|. If values are missing, those | ||||
| + 		settings won't be restored. So you can use: > | ||||
| + 		    :call winrestview({'curswant': 4}) | ||||
| + < | ||||
| + 		This will only set the curswant value (the column the cursor | ||||
| + 		wants to move on vertical movements) of the cursor to column 5 | ||||
| + 		(yes, that is 5), while all other settings will remain the | ||||
| + 		same. This is useful, if you set the cursor position manually. | ||||
| +  | ||||
|   		If you have changed the values the result is unpredictable. | ||||
|   		If the window size changed the result won't be the same. | ||||
|    | ||||
| *************** | ||||
| *** 6418,6424 **** | ||||
|   		not opened when moving around. | ||||
|   		The return value includes: | ||||
|   			lnum		cursor line number | ||||
| ! 			col		cursor column | ||||
|   			coladd		cursor column offset for 'virtualedit' | ||||
|   			curswant	column for vertical movement | ||||
|   			topline		first line in the window | ||||
| --- 6438,6446 ---- | ||||
|   		not opened when moving around. | ||||
|   		The return value includes: | ||||
|   			lnum		cursor line number | ||||
| ! 			col		cursor column (Note: the first column | ||||
| ! 					zero, as opposed to what getpos() | ||||
| ! 					returns) | ||||
|   			coladd		cursor column offset for 'virtualedit' | ||||
|   			curswant	column for vertical movement | ||||
|   			topline		first line in the window | ||||
| *** ../vim-7.4.310/src/version.c	2014-05-28 14:32:47.164104334 +0200 | ||||
| --- src/version.c	2014-05-28 16:45:19.200173944 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     311, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Your fault: core dumped | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										194
									
								
								7.4.312
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										194
									
								
								7.4.312
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,194 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.312 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.312 | ||||
| Problem:    Cannot figure out what argument list is being used for a window. | ||||
| Solution:   Add the arglistid() function. (Marcin Szamotulski) | ||||
| Files:	    runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, | ||||
| 	    src/ex_docmd.c, src/globals.h, src/structs.h, src/main.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.311/runtime/doc/eval.txt	2014-05-28 16:47:11.396174926 +0200 | ||||
| --- runtime/doc/eval.txt	2014-05-28 18:00:06.248213223 +0200 | ||||
| *************** | ||||
| *** 1716,1721 **** | ||||
| --- 1716,1723 ---- | ||||
|   append( {lnum}, {list})		Number	append lines {list} below line {lnum} | ||||
|   argc()				Number	number of files in the argument list | ||||
|   argidx()			Number	current index in the argument list | ||||
| + arglistid( [{winnr}, [ {tabnr}]]) | ||||
| + 				Number	argument list id | ||||
|   argv( {nr})			String	{nr} entry of the argument list | ||||
|   argv( )				List	the argument list | ||||
|   asin( {expr})			Float	arc sine of {expr} | ||||
| *************** | ||||
| *** 2103,2108 **** | ||||
| --- 2105,2122 ---- | ||||
|   argidx()	The result is the current index in the argument list.  0 is | ||||
|   		the first file.  argc() - 1 is the last one.  See |arglist|. | ||||
|    | ||||
| + 							*arglistid()* | ||||
| + arglistid([{winnr}, [ {tabnr} ]]) | ||||
| + 		Return the argument list ID.  This is a number which | ||||
| + 		identifies the argument list being used.  Zero is used for the | ||||
| + 		global argument list. | ||||
| + 		Return zero if the arguments are invalid. | ||||
| +  | ||||
| + 		Without arguments use the current window. | ||||
| + 		With {winnr} only use this window in the current tab page. | ||||
| + 		With {winnr} and {tabnr} use the window in the specified tab | ||||
| + 		page. | ||||
| +  | ||||
|   							*argv()* | ||||
|   argv([{nr}])	The result is the {nr}th file in the argument list of the | ||||
|   		current window.  See |arglist|.  "argv(0)" is the first one. | ||||
| *** ../vim-7.4.311/runtime/doc/usr_41.txt	2014-03-25 18:23:27.054087691 +0100 | ||||
| --- runtime/doc/usr_41.txt	2014-05-28 18:07:43.096217222 +0200 | ||||
| *************** | ||||
| *** 770,775 **** | ||||
| --- 772,778 ---- | ||||
|   Buffers, windows and the argument list: | ||||
|   	argc()			number of entries in the argument list | ||||
|   	argidx()		current position in the argument list | ||||
| + 	arglistid()		get id of the argument list | ||||
|   	argv()			get one entry from the argument list | ||||
|   	bufexists()		check if a buffer exists | ||||
|   	buflisted()		check if a buffer exists and is listed | ||||
| *** ../vim-7.4.311/src/eval.c	2014-05-28 16:47:11.392174926 +0200 | ||||
| --- src/eval.c	2014-05-28 18:11:10.264219035 +0200 | ||||
| *************** | ||||
| *** 463,468 **** | ||||
| --- 463,469 ---- | ||||
|   static void f_append __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_argc __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_argidx __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| + static void f_arglistid __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_argv __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   #ifdef FEAT_FLOAT | ||||
|   static void f_asin __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| *************** | ||||
| *** 7875,7880 **** | ||||
| --- 7876,7882 ---- | ||||
|       {"append",		2, 2, f_append}, | ||||
|       {"argc",		0, 0, f_argc}, | ||||
|       {"argidx",		0, 0, f_argidx}, | ||||
| +     {"arglistid",	0, 2, f_arglistid}, | ||||
|       {"argv",		0, 1, f_argv}, | ||||
|   #ifdef FEAT_FLOAT | ||||
|       {"asin",		1, 1, f_asin},	/* WJMc */ | ||||
| *************** | ||||
| *** 8859,8864 **** | ||||
| --- 8861,8901 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| +  * "arglistid()" function | ||||
| +  */ | ||||
| +     static void | ||||
| + f_arglistid(argvars, rettv) | ||||
| +     typval_T	*argvars UNUSED; | ||||
| +     typval_T	*rettv; | ||||
| + { | ||||
| +     win_T	*wp; | ||||
| +     tabpage_T	*tp = NULL; | ||||
| +     long	n; | ||||
| +  | ||||
| +     rettv->vval.v_number = -1; | ||||
| +     if (argvars[0].v_type != VAR_UNKNOWN) | ||||
| +     { | ||||
| + 	if (argvars[1].v_type != VAR_UNKNOWN) | ||||
| + 	{ | ||||
| + 	    n = get_tv_number(&argvars[1]); | ||||
| + 	    if (n >= 0) | ||||
| + 		tp = find_tabpage(n); | ||||
| + 	} | ||||
| + 	else | ||||
| + 	    tp = curtab; | ||||
| +  | ||||
| + 	if (tp != NULL) | ||||
| + 	{ | ||||
| + 	    wp = find_win_by_nr(&argvars[0], tp); | ||||
| + 	    if (wp != NULL) | ||||
| + 		rettv->vval.v_number = wp->w_alist->id; | ||||
| + 	} | ||||
| +     } | ||||
| +     else | ||||
| + 	rettv->vval.v_number = curwin->w_alist->id; | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
|    * "argv(nr)" function | ||||
|    */ | ||||
|       static void | ||||
| *** ../vim-7.4.311/src/ex_docmd.c	2014-05-07 21:14:42.913299714 +0200 | ||||
| --- src/ex_docmd.c	2014-05-28 18:10:01.696218435 +0200 | ||||
| *************** | ||||
| *** 7211,7216 **** | ||||
| --- 7211,7217 ---- | ||||
|       else | ||||
|       { | ||||
|   	curwin->w_alist->al_refcount = 1; | ||||
| + 	curwin->w_alist->id = ++max_alist_id; | ||||
|   	alist_init(curwin->w_alist); | ||||
|       } | ||||
|   } | ||||
| *** ../vim-7.4.311/src/globals.h	2014-05-22 18:14:27.570224664 +0200 | ||||
| --- src/globals.h	2014-05-28 17:56:53.392211534 +0200 | ||||
| *************** | ||||
| *** 601,606 **** | ||||
| --- 601,607 ---- | ||||
|    * to this when the window is using the global argument list. | ||||
|    */ | ||||
|   EXTERN alist_T	global_alist;	/* global argument list */ | ||||
| + EXTERN int	max_alist_id INIT(= 0);	    /* the previous argument list id */ | ||||
|   EXTERN int	arg_had_last INIT(= FALSE); /* accessed last file in | ||||
|   					       global_alist */ | ||||
|    | ||||
| *** ../vim-7.4.311/src/structs.h	2014-05-13 20:19:53.573808877 +0200 | ||||
| --- src/structs.h	2014-05-28 17:54:18.312210177 +0200 | ||||
| *************** | ||||
| *** 675,680 **** | ||||
| --- 675,681 ---- | ||||
|   { | ||||
|       garray_T	al_ga;		/* growarray with the array of file names */ | ||||
|       int		al_refcount;	/* number of windows using this arglist */ | ||||
| +     int		id;		/* id of this arglist */ | ||||
|   } alist_T; | ||||
|    | ||||
|   /* | ||||
| *** ../vim-7.4.311/src/main.c	2014-04-01 19:55:46.252787300 +0200 | ||||
| --- src/main.c	2014-05-28 18:09:32.040218175 +0200 | ||||
| *************** | ||||
| *** 322,327 **** | ||||
| --- 322,328 ---- | ||||
|       init_yank();		/* init yank buffers */ | ||||
|    | ||||
|       alist_init(&global_alist);	/* Init the argument list to empty. */ | ||||
| +     global_alist.id = 0; | ||||
|    | ||||
|       /* | ||||
|        * Set the default values for the options. | ||||
| *** ../vim-7.4.311/src/version.c	2014-05-28 16:47:11.396174926 +0200 | ||||
| --- src/version.c	2014-05-28 17:25:32.644195071 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     312, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 222. You send more than 20 personal e-mails a day. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										320
									
								
								7.4.313
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										320
									
								
								7.4.313
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,320 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.313 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.313 (after 7.4.310) | ||||
| Problem:    Changing the return value of getpos() causes an error. (Jie Zhu) | ||||
| Solution:   Revert getpos() and add getcurpos(). | ||||
| Files:	    src/eval.c, src/testdir/test_eval.in, src/testdir/test_eval.ok, | ||||
| 	    runtime/doc/eval.txt | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.312/src/eval.c	2014-05-28 18:22:37.876225054 +0200 | ||||
| --- src/eval.c	2014-05-28 20:11:55.364282457 +0200 | ||||
| *************** | ||||
| *** 560,565 **** | ||||
| --- 560,566 ---- | ||||
|   static void f_getline __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getmatches __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getpid __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| + static void f_getcurpos __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getpos __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getqflist __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getreg __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| *************** | ||||
| *** 7967,7972 **** | ||||
| --- 7968,7974 ---- | ||||
|       {"getcmdline",	0, 0, f_getcmdline}, | ||||
|       {"getcmdpos",	0, 0, f_getcmdpos}, | ||||
|       {"getcmdtype",	0, 0, f_getcmdtype}, | ||||
| +     {"getcurpos",	0, 0, f_getcurpos}, | ||||
|       {"getcwd",		0, 0, f_getcwd}, | ||||
|       {"getfontname",	0, 1, f_getfontname}, | ||||
|       {"getfperm",	1, 1, f_getfperm}, | ||||
| *************** | ||||
| *** 11780,11785 **** | ||||
| --- 11782,11800 ---- | ||||
|       rettv->vval.v_number = mch_get_pid(); | ||||
|   } | ||||
|    | ||||
| + static void getpos_both __ARGS((typval_T *argvars, typval_T *rettv, int getcurpos)); | ||||
| +  | ||||
| + /* | ||||
| +  * "getcurpos()" function | ||||
| +  */ | ||||
| +     static void | ||||
| + f_getcurpos(argvars, rettv) | ||||
| +     typval_T	*argvars; | ||||
| +     typval_T	*rettv; | ||||
| + { | ||||
| +     getpos_both(argvars, rettv, TRUE); | ||||
| + } | ||||
| +  | ||||
|   /* | ||||
|    * "getpos(string)" function | ||||
|    */ | ||||
| *************** | ||||
| *** 11788,11793 **** | ||||
| --- 11803,11817 ---- | ||||
|       typval_T	*argvars; | ||||
|       typval_T	*rettv; | ||||
|   { | ||||
| +     getpos_both(argvars, rettv, FALSE); | ||||
| + } | ||||
| +  | ||||
| +     static void | ||||
| + getpos_both(argvars, rettv, getcurpos) | ||||
| +     typval_T	*argvars; | ||||
| +     typval_T	*rettv; | ||||
| +     int		getcurpos; | ||||
| + { | ||||
|       pos_T	*fp; | ||||
|       list_T	*l; | ||||
|       int		fnum = -1; | ||||
| *************** | ||||
| *** 11795,11801 **** | ||||
|       if (rettv_list_alloc(rettv) == OK) | ||||
|       { | ||||
|   	l = rettv->vval.v_list; | ||||
| ! 	fp = var2fpos(&argvars[0], TRUE, &fnum); | ||||
|   	if (fnum != -1) | ||||
|   	    list_append_number(l, (varnumber_T)fnum); | ||||
|   	else | ||||
| --- 11819,11828 ---- | ||||
|       if (rettv_list_alloc(rettv) == OK) | ||||
|       { | ||||
|   	l = rettv->vval.v_list; | ||||
| ! 	if (getcurpos) | ||||
| ! 	    fp = &curwin->w_cursor; | ||||
| ! 	else | ||||
| ! 	    fp = var2fpos(&argvars[0], TRUE, &fnum); | ||||
|   	if (fnum != -1) | ||||
|   	    list_append_number(l, (varnumber_T)fnum); | ||||
|   	else | ||||
| *************** | ||||
| *** 11810,11816 **** | ||||
|   				(fp != NULL) ? (varnumber_T)fp->coladd : | ||||
|   #endif | ||||
|   							      (varnumber_T)0); | ||||
| ! 	if (fp == &curwin->w_cursor) | ||||
|   	    list_append_number(l, (varnumber_T)curwin->w_curswant + 1); | ||||
|       } | ||||
|       else | ||||
| --- 11837,11843 ---- | ||||
|   				(fp != NULL) ? (varnumber_T)fp->coladd : | ||||
|   #endif | ||||
|   							      (varnumber_T)0); | ||||
| ! 	if (getcurpos) | ||||
|   	    list_append_number(l, (varnumber_T)curwin->w_curswant + 1); | ||||
|       } | ||||
|       else | ||||
| *** ../vim-7.4.312/src/testdir/test_eval.in	2014-05-28 14:32:47.160104334 +0200 | ||||
| --- src/testdir/test_eval.in	2014-05-28 20:14:27.048283785 +0200 | ||||
| *************** | ||||
| *** 190,198 **** | ||||
|   :$put =v:exception | ||||
|   :endtry | ||||
|   :" | ||||
| ! :$put ='{{{1 setpos/getpos' | ||||
|   /^012345678 | ||||
| ! 6l:let sp = getpos('.') | ||||
|   0:call setpos('.', sp) | ||||
|   jyl:$put | ||||
|   :" | ||||
| --- 190,198 ---- | ||||
|   :$put =v:exception | ||||
|   :endtry | ||||
|   :" | ||||
| ! :$put ='{{{1 getcurpos/setpos' | ||||
|   /^012345678 | ||||
| ! 6l:let sp = getcurpos() | ||||
|   0:call setpos('.', sp) | ||||
|   jyl:$put | ||||
|   :" | ||||
| *** ../vim-7.4.312/src/testdir/test_eval.ok	2014-05-28 14:32:47.160104334 +0200 | ||||
| --- src/testdir/test_eval.ok	2014-05-28 20:14:43.316283927 +0200 | ||||
| *************** | ||||
| *** 346,350 **** | ||||
|   Bar exists: 1 | ||||
|   func Bar exists: 1 | ||||
|   Vim(call):E116: Invalid arguments for function append | ||||
| ! {{{1 setpos/getpos | ||||
|   6 | ||||
| --- 346,350 ---- | ||||
|   Bar exists: 1 | ||||
|   func Bar exists: 1 | ||||
|   Vim(call):E116: Invalid arguments for function append | ||||
| ! {{{1 getcurpos/setpos | ||||
|   6 | ||||
| *** ../vim-7.4.312/runtime/doc/eval.txt	2014-05-28 18:22:37.872225054 +0200 | ||||
| --- runtime/doc/eval.txt	2014-05-28 20:27:57.092290876 +0200 | ||||
| *************** | ||||
| *** 1808,1817 **** | ||||
|   getcmdline()			String	return the current command-line | ||||
|   getcmdpos()			Number	return cursor position in command-line | ||||
|   getcmdtype()			String	return the current command-line type | ||||
|   getcwd()			String	the current working directory | ||||
|   getfperm( {fname})		String	file permissions of file {fname} | ||||
|   getfsize( {fname})		Number	size in bytes of file {fname} | ||||
| - getfontname( [{name}])		String	name of font being used | ||||
|   getftime( {fname})		Number	last modification time of file | ||||
|   getftype( {fname})		String	description of type of file {fname} | ||||
|   getline( {lnum})		String	line {lnum} of current buffer | ||||
| --- 1808,1818 ---- | ||||
|   getcmdline()			String	return the current command-line | ||||
|   getcmdpos()			Number	return cursor position in command-line | ||||
|   getcmdtype()			String	return the current command-line type | ||||
| + getcurpos()			List	position of the cursor | ||||
|   getcwd()			String	the current working directory | ||||
| + getfontname( [{name}])		String	name of font being used | ||||
|   getfperm( {fname})		String	file permissions of file {fname} | ||||
|   getfsize( {fname})		Number	size in bytes of file {fname} | ||||
|   getftime( {fname})		Number	last modification time of file | ||||
|   getftype( {fname})		String	description of type of file {fname} | ||||
|   getline( {lnum})		String	line {lnum} of current buffer | ||||
| *************** | ||||
| *** 2606,2613 **** | ||||
|   		with two, three or four item: | ||||
|   			[{lnum}, {col}, {off}] | ||||
|   			[{lnum}, {col}, {off}, {curswant}] | ||||
| ! 		This is like the return value of |getpos()|, but without the | ||||
| ! 		first item. | ||||
|    | ||||
|   		Does not change the jumplist. | ||||
|   		If {lnum} is greater than the number of lines in the buffer, | ||||
| --- 2607,2614 ---- | ||||
|   		with two, three or four item: | ||||
|   			[{lnum}, {col}, {off}] | ||||
|   			[{lnum}, {col}, {off}, {curswant}] | ||||
| ! 		This is like the return value of |getpos()| or |getcurpos|, | ||||
| ! 		but without the first item. | ||||
|    | ||||
|   		Does not change the jumplist. | ||||
|   		If {lnum} is greater than the number of lines in the buffer, | ||||
| *************** | ||||
| *** 2617,2622 **** | ||||
| --- 2618,2625 ---- | ||||
|   		the cursor will be positioned at the last character in the | ||||
|   		line. | ||||
|   		If {col} is zero, the cursor will stay in the current column. | ||||
| + 		If {curswant} is given it is used to set the preferred column | ||||
| + 		for vertical movment.  Otherwise {col} is used. | ||||
|   		When 'virtualedit' is used {off} specifies the offset in | ||||
|   		screen columns from the start of the character.  E.g., a | ||||
|   		position within a <Tab> or after the last character. | ||||
| *************** | ||||
| *** 3339,3344 **** | ||||
| --- 3347,3363 ---- | ||||
|   		Returns an empty string otherwise. | ||||
|   		Also see |getcmdpos()|, |setcmdpos()| and |getcmdline()|. | ||||
|    | ||||
| + 							*getcurpos()* | ||||
| + getcurpos()	Get the position of the cursor.  This is like getpos('.'), but | ||||
| + 		includes an extra item in the list: | ||||
| + 		    [bufnum, lnum, col, off, curswant] | ||||
| + 		The "curswant" number is the preferred column when moving the | ||||
| + 		cursor vertically. | ||||
| + 		This can be used to save and restore the cursor position: > | ||||
| + 			let save_cursor = getcurpos() | ||||
| + 			MoveTheCursorAround | ||||
| + 			call setpos('.', save_cursor) | ||||
| +  | ||||
|   							*getcwd()* | ||||
|   getcwd()	The result is a String, which is the name of the current | ||||
|   		working directory. | ||||
| *************** | ||||
| *** 4493,4502 **** | ||||
|    | ||||
|   							*getpos()* | ||||
|   getpos({expr})	Get the position for {expr}.  For possible values of {expr} | ||||
| ! 		see |line()|. | ||||
| ! 		The result is a |List| with four or five numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
| - 		    [bufnum, lnum, col, off, curswant] | ||||
|   		"bufnum" is zero, unless a mark like '0 or 'A is used, then it | ||||
|   		is the buffer number of the mark. | ||||
|   		"lnum" and "col" are the position in the buffer.  The first | ||||
| --- 4517,4526 ---- | ||||
|    | ||||
|   							*getpos()* | ||||
|   getpos({expr})	Get the position for {expr}.  For possible values of {expr} | ||||
| ! 		see |line()|.  For getting the cursor position see | ||||
| ! 		|getcurpos()|. | ||||
| ! 		The result is a |List| with four numbers: | ||||
|   		    [bufnum, lnum, col, off] | ||||
|   		"bufnum" is zero, unless a mark like '0 or 'A is used, then it | ||||
|   		is the buffer number of the mark. | ||||
|   		"lnum" and "col" are the position in the buffer.  The first | ||||
| *************** | ||||
| *** 4505,4520 **** | ||||
|   		it is the offset in screen columns from the start of the | ||||
|   		character.  E.g., a position within a <Tab> or after the last | ||||
|   		character. | ||||
| - 		The "curswant" number is only added for getpos('.'), it is the | ||||
| - 		preferred column when moving the cursor vertically. | ||||
|   		Note that for '< and '> Visual mode matters: when it is "V" | ||||
|   		(visual line mode) the column of '< is zero and the column of | ||||
|   		'> is a large number. | ||||
| ! 		This can be used to save and restore the cursor position: > | ||||
| ! 			let save_cursor = getpos(".") | ||||
| ! 			MoveTheCursorAround | ||||
| ! 			call setpos('.', save_cursor) | ||||
| ! <		Also see |setpos()|. | ||||
|    | ||||
|   or({expr}, {expr})					*or()* | ||||
|   		Bitwise OR on the two arguments.  The arguments are converted | ||||
| --- 4529,4542 ---- | ||||
|   		it is the offset in screen columns from the start of the | ||||
|   		character.  E.g., a position within a <Tab> or after the last | ||||
|   		character. | ||||
|   		Note that for '< and '> Visual mode matters: when it is "V" | ||||
|   		(visual line mode) the column of '< is zero and the column of | ||||
|   		'> is a large number. | ||||
| ! 		This can be used to save and restore the position of a mark: > | ||||
| ! 			let save_a_mark = getpos("'a") | ||||
| ! 			... | ||||
| ! 			call setpos(''a', save_a_mark | ||||
| ! <		Also see |getcurpos()| and |setpos()|. | ||||
|    | ||||
|   or({expr}, {expr})					*or()* | ||||
|   		Bitwise OR on the two arguments.  The arguments are converted | ||||
| *************** | ||||
| *** 5347,5353 **** | ||||
|   		Returns 0 when the position could be set, -1 otherwise. | ||||
|   		An error message is given if {expr} is invalid. | ||||
|    | ||||
| ! 		Also see |getpos()| | ||||
|    | ||||
|   		This does not restore the preferred column for moving | ||||
|   		vertically; if you set the cursor position with this, |j| and | ||||
| --- 5369,5375 ---- | ||||
|   		Returns 0 when the position could be set, -1 otherwise. | ||||
|   		An error message is given if {expr} is invalid. | ||||
|    | ||||
| ! 		Also see |getpos()| and |getcurpos()|. | ||||
|    | ||||
|   		This does not restore the preferred column for moving | ||||
|   		vertically; if you set the cursor position with this, |j| and | ||||
| *** ../vim-7.4.312/src/version.c	2014-05-28 18:22:37.880225054 +0200 | ||||
| --- src/version.c	2014-05-28 20:15:52.164284530 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     313, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 225. You sign up for free subscriptions for all the computer magazines | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										178
									
								
								7.4.314
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								7.4.314
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,178 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.314 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.314 | ||||
| Problem:    Completion messages can get in the way of a plugin. | ||||
| Solution:   Add 'c' flag to 'shortmess' option. (Shougo Matsu) | ||||
| Files:	    runtime/doc/options.txt, src/edit.c, src/option.h, src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.313/runtime/doc/options.txt	2014-03-12 18:55:52.096906804 +0100 | ||||
| --- runtime/doc/options.txt	2014-05-28 20:55:14.640305211 +0200 | ||||
| *************** | ||||
| *** 6252,6257 **** | ||||
| --- 6254,6262 ---- | ||||
|   	  A	don't give the "ATTENTION" message when an existing swap file | ||||
|   		is found. | ||||
|   	  I	don't give the intro message when starting Vim |:intro|. | ||||
| + 	  c	don't give |ins-completion-menu| messages.  For example, | ||||
| + 		"-- XXX completion (YYY)", "match 1 of 2", "The only match", | ||||
| + 		"Pattern not found", "Back at original", etc. | ||||
|    | ||||
|   	This gives you the opportunity to avoid that a change between buffers | ||||
|   	requires you to hit <Enter>, but still gives as useful a message as | ||||
| *** ../vim-7.4.313/src/edit.c	2014-04-29 14:44:31.515875819 +0200 | ||||
| --- src/edit.c	2014-05-28 21:33:57.588325545 +0200 | ||||
| *************** | ||||
| *** 3854,3860 **** | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    msg_clr_cmdline();		/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| --- 3854,3861 ---- | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    if (!shortmess(SHM_COMPLETIONMENU)) | ||||
| ! 		msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| *************** | ||||
| *** 5285,5291 **** | ||||
|   	    { | ||||
|   		ctrl_x_mode = 0; | ||||
|   		edit_submode = NULL; | ||||
| ! 		msg_clr_cmdline(); | ||||
|   		return FAIL; | ||||
|   	    } | ||||
|    | ||||
| --- 5286,5293 ---- | ||||
|   	    { | ||||
|   		ctrl_x_mode = 0; | ||||
|   		edit_submode = NULL; | ||||
| ! 		if (!shortmess(SHM_COMPLETIONMENU)) | ||||
| ! 		    msg_clr_cmdline(); | ||||
|   		return FAIL; | ||||
|   	    } | ||||
|    | ||||
| *************** | ||||
| *** 5544,5558 **** | ||||
|    | ||||
|       /* Show a message about what (completion) mode we're in. */ | ||||
|       showmode(); | ||||
| !     if (edit_submode_extra != NULL) | ||||
|       { | ||||
| ! 	if (!p_smd) | ||||
| ! 	    msg_attr(edit_submode_extra, | ||||
| ! 		    edit_submode_highl < HLF_COUNT | ||||
| ! 		    ? hl_attr(edit_submode_highl) : 0); | ||||
|       } | ||||
| -     else | ||||
| - 	msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|    | ||||
|       /* Show the popup menu, unless we got interrupted. */ | ||||
|       if (!compl_interrupted) | ||||
| --- 5546,5563 ---- | ||||
|    | ||||
|       /* Show a message about what (completion) mode we're in. */ | ||||
|       showmode(); | ||||
| !     if (!shortmess(SHM_COMPLETIONMENU)) | ||||
|       { | ||||
| ! 	if (edit_submode_extra != NULL) | ||||
| ! 	{ | ||||
| ! 	    if (!p_smd) | ||||
| ! 		msg_attr(edit_submode_extra, | ||||
| ! 			edit_submode_highl < HLF_COUNT | ||||
| ! 			? hl_attr(edit_submode_highl) : 0); | ||||
| ! 	} | ||||
| ! 	else | ||||
| ! 	    msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|       } | ||||
|    | ||||
|       /* Show the popup menu, unless we got interrupted. */ | ||||
|       if (!compl_interrupted) | ||||
| *** ../vim-7.4.313/src/option.h	2014-03-23 15:12:29.943264337 +0100 | ||||
| --- src/option.h	2014-05-28 21:34:25.244325787 +0200 | ||||
| *************** | ||||
| *** 212,218 **** | ||||
|   #define SHM_SEARCH	's'		/* no search hit bottom messages */ | ||||
|   #define SHM_ATTENTION	'A'		/* no ATTENTION messages */ | ||||
|   #define SHM_INTRO	'I'		/* intro messages */ | ||||
| ! #define SHM_ALL		"rmfixlnwaWtToOsAI" /* all possible flags for 'shm' */ | ||||
|    | ||||
|   /* characters for p_go: */ | ||||
|   #define GO_ASEL		'a'		/* autoselect */ | ||||
| --- 212,219 ---- | ||||
|   #define SHM_SEARCH	's'		/* no search hit bottom messages */ | ||||
|   #define SHM_ATTENTION	'A'		/* no ATTENTION messages */ | ||||
|   #define SHM_INTRO	'I'		/* intro messages */ | ||||
| ! #define SHM_COMPLETIONMENU  'c'		/* completion menu messages */ | ||||
| ! #define SHM_ALL		"rmfixlnwaWtToOsAIc" /* all possible flags for 'shm' */ | ||||
|    | ||||
|   /* characters for p_go: */ | ||||
|   #define GO_ASEL		'a'		/* autoselect */ | ||||
| *** ../vim-7.4.313/src/screen.c	2014-05-22 16:05:16.338382204 +0200 | ||||
| --- src/screen.c	2014-05-28 20:53:20.488304211 +0200 | ||||
| *************** | ||||
| *** 42,48 **** | ||||
|    * | ||||
|    * The part of the buffer that is displayed in a window is set with: | ||||
|    * - w_topline (first buffer line in window) | ||||
| !  * - w_topfill (filler line above the first line) | ||||
|    * - w_leftcol (leftmost window cell in window), | ||||
|    * - w_skipcol (skipped window cells of first line) | ||||
|    * | ||||
| --- 42,48 ---- | ||||
|    * | ||||
|    * The part of the buffer that is displayed in a window is set with: | ||||
|    * - w_topline (first buffer line in window) | ||||
| !  * - w_topfill (filler lines above the first line) | ||||
|    * - w_leftcol (leftmost window cell in window), | ||||
|    * - w_skipcol (skipped window cells of first line) | ||||
|    * | ||||
| *************** | ||||
| *** 9683,9689 **** | ||||
|   	    } | ||||
|   #endif | ||||
|   #ifdef FEAT_INS_EXPAND | ||||
| ! 	    if (edit_submode != NULL)		/* CTRL-X in Insert mode */ | ||||
|   	    { | ||||
|   		/* These messages can get long, avoid a wrap in a narrow | ||||
|   		 * window.  Prefer showing edit_submode_extra. */ | ||||
| --- 9683,9690 ---- | ||||
|   	    } | ||||
|   #endif | ||||
|   #ifdef FEAT_INS_EXPAND | ||||
| ! 	    /* CTRL-X in Insert mode */ | ||||
| ! 	    if (edit_submode != NULL && !shortmess(SHM_COMPLETIONMENU)) | ||||
|   	    { | ||||
|   		/* These messages can get long, avoid a wrap in a narrow | ||||
|   		 * window.  Prefer showing edit_submode_extra. */ | ||||
| *** ../vim-7.4.313/src/version.c	2014-05-28 20:31:37.504292805 +0200 | ||||
| --- src/version.c	2014-05-28 20:54:27.664304800 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     314, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 227. You sleep next to your monitor.  Or on top of it. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										229
									
								
								7.4.315
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										229
									
								
								7.4.315
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,229 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.315 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.315 (after 7.4.309) | ||||
| Problem:    Fixes for computation of topline not tested. | ||||
| Solution:   Add test. (Hirohito Higashi) | ||||
| Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, | ||||
| 	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, | ||||
| 	    src/testdir/Make_vms.mms, src/testdir/Makefile, | ||||
| 	    src/testdir/test107.in, src/testdir/test107.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.314/src/testdir/Make_amiga.mak	2014-04-29 12:15:22.852032651 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-05-28 13:13:32.108062709 +0200 | ||||
| *************** | ||||
| *** 35,41 **** | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test97.out test98.out \ | ||||
|   		test99.out test100.out test101.out test102.out test103.out \ | ||||
| ! 		test104.out test105.out test106.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| --- 35,41 ---- | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test97.out test98.out \ | ||||
|   		test99.out test100.out test101.out test102.out test103.out \ | ||||
| ! 		test104.out test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| *************** | ||||
| *** 161,166 **** | ||||
| --- 161,167 ---- | ||||
|   test104.out: test104.in | ||||
|   test105.out: test105.in | ||||
|   test106.out: test106.in | ||||
| + test107.out: test107.in | ||||
|   test_autoformat_join.out: test_autoformat_join.in | ||||
|   test_eval.out: test_eval.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.314/src/testdir/Make_dos.mak	2014-04-29 12:15:22.852032651 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-05-28 13:13:44.344062816 +0200 | ||||
| *************** | ||||
| *** 34,40 **** | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| --- 34,40 ---- | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out  test107.out\ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| *** ../vim-7.4.314/src/testdir/Make_ming.mak	2014-04-29 12:15:22.852032651 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-05-28 13:13:52.656062889 +0200 | ||||
| *************** | ||||
| *** 54,60 **** | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| --- 54,60 ---- | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| *** ../vim-7.4.314/src/testdir/Make_os2.mak	2014-04-29 12:15:22.852032651 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-05-28 13:14:03.616062985 +0200 | ||||
| *************** | ||||
| *** 36,42 **** | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| --- 36,42 ---- | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test98.out test99.out \ | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
| ! 		test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| *** ../vim-7.4.314/src/testdir/Make_vms.mms	2014-04-29 12:15:22.852032651 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-05-28 13:14:09.724063038 +0200 | ||||
| *************** | ||||
| *** 4,10 **** | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 Mar 12 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| --- 4,10 ---- | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 May 28 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| *************** | ||||
| *** 95,101 **** | ||||
|   	 test90.out test91.out test92.out test93.out test94.out \ | ||||
|   	 test95.out test96.out test98.out test99.out \ | ||||
|   	 test100.out test101.out test103.out test104.out \ | ||||
| ! 	 test105.out test106.out \ | ||||
|   	 test_autoformat_join.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
| --- 95,101 ---- | ||||
|   	 test90.out test91.out test92.out test93.out test94.out \ | ||||
|   	 test95.out test96.out test98.out test99.out \ | ||||
|   	 test100.out test101.out test103.out test104.out \ | ||||
| ! 	 test105.out test106.out test107.out \ | ||||
|   	 test_autoformat_join.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
| *** ../vim-7.4.314/src/testdir/Makefile	2014-05-22 13:12:25.650592983 +0200 | ||||
| --- src/testdir/Makefile	2014-05-28 13:14:28.688063204 +0200 | ||||
| *************** | ||||
| *** 32,38 **** | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test97.out test98.out \ | ||||
|   		test99.out test100.out test101.out test102.out test103.out \ | ||||
| ! 		test104.out test105.out test106.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| --- 32,38 ---- | ||||
|   		test89.out test90.out test91.out test92.out test93.out \ | ||||
|   		test94.out test95.out test96.out test97.out test98.out \ | ||||
|   		test99.out test100.out test101.out test102.out test103.out \ | ||||
| ! 		test104.out test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
| *** ../vim-7.4.314/src/testdir/test107.in	2014-05-29 11:46:48.728773486 +0200 | ||||
| --- src/testdir/test107.in	2014-05-29 11:40:20.096770084 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,38 ---- | ||||
| + Tests for adjusting window and contents     vim: set ft=vim : | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + :new | ||||
| + :call setline(1, range(1,256)) | ||||
| + :let r=[] | ||||
| + :func! GetScreenStr(row) | ||||
| + :   let str = "" | ||||
| + :   for c in range(1,3) | ||||
| + :       let str .= nr2char(screenchar(a:row, c)) | ||||
| + :   endfor | ||||
| + :   return str | ||||
| + :endfunc | ||||
| + : | ||||
| + :exe ":norm! \<C-W>t\<C-W>=1Gzt\<C-W>w\<C-W>+" | ||||
| + :let s3=GetScreenStr(1) | ||||
| + :wincmd p | ||||
| + :call add(r, [line("w0"), s3]) | ||||
| + : | ||||
| + :exe ":norm! \<C-W>t\<C-W>=50Gzt\<C-W>w\<C-W>+" | ||||
| + :let s3=GetScreenStr(1) | ||||
| + :wincmd p | ||||
| + :call add(r, [line("w0"), s3]) | ||||
| + : | ||||
| + :exe ":norm! \<C-W>t\<C-W>=59Gzt\<C-W>w\<C-W>+" | ||||
| + :let s3=GetScreenStr(1) | ||||
| + ::wincmd p | ||||
| + :call add(r, [line("w0"), s3]) | ||||
| + : | ||||
| + :bwipeout! | ||||
| + :$put=r | ||||
| + :call garbagecollect(1) | ||||
| + :" | ||||
| + :/^start:/,$wq! test.out | ||||
| + ENDTEST | ||||
| +  | ||||
| + start: | ||||
| *** ../vim-7.4.314/src/testdir/test107.ok	2014-05-29 11:46:48.736773486 +0200 | ||||
| --- src/testdir/test107.ok	2014-05-29 11:40:20.096770084 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,4 ---- | ||||
| + start: | ||||
| + [1, '1  '] | ||||
| + [50, '50 '] | ||||
| + [59, '59 '] | ||||
| *** ../vim-7.4.314/src/version.c	2014-05-28 21:40:47.092329130 +0200 | ||||
| --- src/version.c	2014-05-29 11:41:47.640770850 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     315, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 229. You spend so much time thinking what to add on this list. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.316
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.316
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.316 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.316 | ||||
| Problem:    Warning from 64-bit compiler. | ||||
| Solution:   Add type cast. (Mike Williams) | ||||
| Files:	    src/ex_getln.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.315/src/ex_getln.c	2014-05-07 18:35:25.665216052 +0200 | ||||
| --- src/ex_getln.c	2014-05-29 14:32:53.584860716 +0200 | ||||
| *************** | ||||
| *** 5202,5208 **** | ||||
|   		    for (i = 0; i < num_p; ++i) | ||||
|   		    { | ||||
|   			((char_u **)ga->ga_data)[ga->ga_len] = | ||||
| ! 					    vim_strnsave(p[i], STRLEN(p[i])); | ||||
|   			++ga->ga_len; | ||||
|   		    } | ||||
|   		} | ||||
| --- 5202,5208 ---- | ||||
|   		    for (i = 0; i < num_p; ++i) | ||||
|   		    { | ||||
|   			((char_u **)ga->ga_data)[ga->ga_len] = | ||||
| ! 					vim_strnsave(p[i], (int)STRLEN(p[i])); | ||||
|   			++ga->ga_len; | ||||
|   		    } | ||||
|   		} | ||||
| *** ../vim-7.4.315/src/version.c	2014-05-29 11:47:19.808773758 +0200 | ||||
| --- src/version.c	2014-05-29 14:33:29.476861030 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     316, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 232. You start conversations with, "Have you gotten an ISDN line?" | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										57
									
								
								7.4.317
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								7.4.317
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.317 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.317 | ||||
| Problem:    Crash when starting gvim.  Issue 230. | ||||
| Solution:   Check for a pointer to be NULL. (Christian Brabandt) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.316/src/window.c	2014-05-28 13:42:59.884078184 +0200 | ||||
| --- src/window.c	2014-06-12 11:36:53.619441640 +0200 | ||||
| *************** | ||||
| *** 4721,4728 **** | ||||
|   win_free_lsize(wp) | ||||
|       win_T	*wp; | ||||
|   { | ||||
| !     vim_free(wp->w_lines); | ||||
| !     wp->w_lines = NULL; | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| --- 4721,4732 ---- | ||||
|   win_free_lsize(wp) | ||||
|       win_T	*wp; | ||||
|   { | ||||
| !     /* TODO: why would wp be NULL here? */ | ||||
| !     if (wp != NULL) | ||||
| !     { | ||||
| ! 	vim_free(wp->w_lines); | ||||
| ! 	wp->w_lines = NULL; | ||||
| !     } | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| *** ../vim-7.4.316/src/version.c	2014-05-29 14:36:26.156862577 +0200 | ||||
| --- src/version.c	2014-06-12 11:37:37.907443315 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     317, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| press CTRL-ALT-DEL for more information | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.318
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.318
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.318 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.318 | ||||
| Problem:    Check for whether a highlight group has settings ignores fg and bg | ||||
| 	    color settings. | ||||
| Solution:   Also check cterm and GUI color settings. (Christian Brabandt) | ||||
| Files:	    src/syntax.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.317/src/syntax.c	2014-03-23 15:12:29.939264336 +0100 | ||||
| --- src/syntax.c	2014-06-12 12:16:13.851530931 +0200 | ||||
| *************** | ||||
| *** 8043,8050 **** | ||||
| --- 8043,8056 ---- | ||||
|   { | ||||
|       return (   HL_TABLE()[idx].sg_term_attr != 0 | ||||
|   	    || HL_TABLE()[idx].sg_cterm_attr != 0 | ||||
| + 	    || HL_TABLE()[idx].sg_cterm_fg != 0 | ||||
| + 	    || HL_TABLE()[idx].sg_cterm_bg != 0 | ||||
|   #ifdef FEAT_GUI | ||||
|   	    || HL_TABLE()[idx].sg_gui_attr != 0 | ||||
| + 	    || HL_TABLE()[idx].sg_gui_fg_name != NULL | ||||
| + 	    || HL_TABLE()[idx].sg_gui_bg_name != NULL | ||||
| + 	    || HL_TABLE()[idx].sg_gui_sp_name != NULL | ||||
| + 	    || HL_TABLE()[idx].sg_font_name != NUL | ||||
|   #endif | ||||
|   	    || (check_link && (HL_TABLE()[idx].sg_set & SG_LINK))); | ||||
|   } | ||||
| *** ../vim-7.4.317/src/version.c	2014-06-12 11:49:42.219470717 +0200 | ||||
| --- src/version.c	2014-06-12 12:17:25.607533645 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     318, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| The software said it requires Windows 95 or better, so I installed Linux. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										55
									
								
								7.4.319
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								7.4.319
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.319 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.319 | ||||
| Problem:    Crash when putting zero bytes on the clipboard. | ||||
| Solution:   Do not support the utf8_atom target when not using an Unicode | ||||
| 	    encoding. (Naofumi Honda) | ||||
| Files:	    src/ui.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.318/src/ui.c	2014-03-23 15:12:29.943264337 +0100 | ||||
| --- src/ui.c	2014-06-12 13:25:21.791687853 +0200 | ||||
| *************** | ||||
| *** 2324,2330 **** | ||||
|       if (       *target != XA_STRING | ||||
|   #ifdef FEAT_MBYTE | ||||
|   	    && *target != vimenc_atom | ||||
| ! 	    && *target != utf8_atom | ||||
|   #endif | ||||
|   	    && *target != vim_atom | ||||
|   	    && *target != text_atom | ||||
| --- 2324,2330 ---- | ||||
|       if (       *target != XA_STRING | ||||
|   #ifdef FEAT_MBYTE | ||||
|   	    && *target != vimenc_atom | ||||
| ! 	    && (*target != utf8_atom || !enc_utf8) | ||||
|   #endif | ||||
|   	    && *target != vim_atom | ||||
|   	    && *target != text_atom | ||||
| *** ../vim-7.4.318/src/version.c	2014-06-12 12:20:50.195541385 +0200 | ||||
| --- src/version.c	2014-06-12 13:26:09.147689645 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     319, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FIRST HEAD:  Oh! quick! get the sword out I want to cut his head off. | ||||
| THIRD HEAD:  Oh, cut your own head off. | ||||
| SECOND HEAD: Yes - do us all a favour. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										143
									
								
								7.4.320
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								7.4.320
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,143 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.320 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.320 | ||||
| Problem:    Possible crash when an BufLeave autocommand deletes the buffer. | ||||
| Solution:   Check for the window pointer being valid.  Postpone freeing the | ||||
| 	    window until autocommands are done. (Yasuhiro Matsumoto) | ||||
| Files:	    src/buffer.c, src/fileio.c, src/globals.h, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.319/src/buffer.c	2014-05-07 16:35:05.029152844 +0200 | ||||
| --- src/buffer.c	2014-06-12 13:47:17.799737639 +0200 | ||||
| *************** | ||||
| *** 371,377 **** | ||||
|   	unload_buf = TRUE; | ||||
|   #endif | ||||
|    | ||||
| !     if (win != NULL) | ||||
|       { | ||||
|   	/* Set b_last_cursor when closing the last window for the buffer. | ||||
|   	 * Remember the last cursor position and window options of the buffer. | ||||
| --- 371,381 ---- | ||||
|   	unload_buf = TRUE; | ||||
|   #endif | ||||
|    | ||||
| !     if (win != NULL | ||||
| ! #ifdef FEAT_WINDOWS | ||||
| ! 	&& win_valid(win)	/* in case autocommands closed the window */ | ||||
| ! #endif | ||||
| ! 	    ) | ||||
|       { | ||||
|   	/* Set b_last_cursor when closing the last window for the buffer. | ||||
|   	 * Remember the last cursor position and window options of the buffer. | ||||
| *** ../vim-7.4.319/src/fileio.c	2014-05-02 15:46:10.731268318 +0200 | ||||
| --- src/fileio.c	2014-06-12 13:53:33.207751842 +0200 | ||||
| *************** | ||||
| *** 9549,9555 **** | ||||
|    | ||||
|       /* | ||||
|        * When stopping to execute autocommands, restore the search patterns and | ||||
| !      * the redo buffer.  Free buffers in the au_pending_free_buf list. | ||||
|        */ | ||||
|       if (!autocmd_busy) | ||||
|       { | ||||
| --- 9549,9556 ---- | ||||
|    | ||||
|       /* | ||||
|        * When stopping to execute autocommands, restore the search patterns and | ||||
| !      * the redo buffer.  Free any buffers in the au_pending_free_buf list and | ||||
| !      * free any windows in the au_pending_free_win list. | ||||
|        */ | ||||
|       if (!autocmd_busy) | ||||
|       { | ||||
| *************** | ||||
| *** 9562,9567 **** | ||||
| --- 9563,9574 ---- | ||||
|   	    vim_free(au_pending_free_buf); | ||||
|   	    au_pending_free_buf = b; | ||||
|   	} | ||||
| + 	while (au_pending_free_win != NULL) | ||||
| + 	{ | ||||
| + 	    win_T *w = au_pending_free_win->w_next; | ||||
| + 	    vim_free(au_pending_free_win); | ||||
| + 	    au_pending_free_win = w; | ||||
| + 	} | ||||
|       } | ||||
|    | ||||
|       /* | ||||
| *** ../vim-7.4.319/src/globals.h	2014-05-28 18:22:37.876225054 +0200 | ||||
| --- src/globals.h	2014-06-12 13:54:29.163753959 +0200 | ||||
| *************** | ||||
| *** 387,396 **** | ||||
|    * which one is preferred, au_new_curbuf is set to it */ | ||||
|   EXTERN buf_T	*au_new_curbuf INIT(= NULL); | ||||
|    | ||||
| ! /* When deleting the buffer and autocmd_busy is TRUE, do not free the buffer | ||||
| !  * but link it in the list starting with au_pending_free_buf, using b_next. | ||||
| !  * Free the buffer when autocmd_busy is set to FALSE. */ | ||||
|   EXTERN buf_T	*au_pending_free_buf INIT(= NULL); | ||||
|   #endif | ||||
|    | ||||
|   #ifdef FEAT_MOUSE | ||||
| --- 387,398 ---- | ||||
|    * which one is preferred, au_new_curbuf is set to it */ | ||||
|   EXTERN buf_T	*au_new_curbuf INIT(= NULL); | ||||
|    | ||||
| ! /* When deleting a buffer/window and autocmd_busy is TRUE, do not free the | ||||
| !  * buffer/window. but link it in the list starting with | ||||
| !  * au_pending_free_buf/ap_pending_free_win, using b_next/w_next. | ||||
| !  * Free the buffer/window when autocmd_busy is being set to FALSE. */ | ||||
|   EXTERN buf_T	*au_pending_free_buf INIT(= NULL); | ||||
| + EXTERN win_T	*au_pending_free_win INIT(= NULL); | ||||
|   #endif | ||||
|    | ||||
|   #ifdef FEAT_MOUSE | ||||
| *** ../vim-7.4.319/src/window.c	2014-06-12 11:49:42.219470717 +0200 | ||||
| --- src/window.c	2014-06-12 13:51:54.939748124 +0200 | ||||
| *************** | ||||
| *** 4597,4603 **** | ||||
|       if (wp != aucmd_win) | ||||
|   #endif | ||||
|   	win_remove(wp, tp); | ||||
| !     vim_free(wp); | ||||
|    | ||||
|   #ifdef FEAT_AUTOCMD | ||||
|       unblock_autocmds(); | ||||
| --- 4597,4609 ---- | ||||
|       if (wp != aucmd_win) | ||||
|   #endif | ||||
|   	win_remove(wp, tp); | ||||
| !     if (autocmd_busy) | ||||
| !     { | ||||
| ! 	wp->w_next = au_pending_free_win; | ||||
| ! 	au_pending_free_win = wp; | ||||
| !     } | ||||
| !     else | ||||
| ! 	vim_free(wp); | ||||
|    | ||||
|   #ifdef FEAT_AUTOCMD | ||||
|       unblock_autocmds(); | ||||
| *** ../vim-7.4.319/src/version.c	2014-06-12 13:28:26.771694851 +0200 | ||||
| --- src/version.c	2014-06-12 13:40:23.507721966 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     320, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Life would be so much easier if we could just look at the source code. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										71
									
								
								7.4.321
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								7.4.321
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.321 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.321 | ||||
| Problem:    Can't build with strawberry perl 5.20 + mingw-w64-4.9.0. | ||||
| Solution:   Define save_strlen. (Ken Takata) | ||||
| Files:	    src/if_perl.xs | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.320/src/if_perl.xs	2014-03-12 17:08:01.508807656 +0100 | ||||
| --- src/if_perl.xs	2014-06-12 16:02:25.584044368 +0200 | ||||
| *************** | ||||
| *** 191,196 **** | ||||
| --- 191,199 ---- | ||||
|   # define Perl_pop_scope dll_Perl_pop_scope | ||||
|   # define Perl_push_scope dll_Perl_push_scope | ||||
|   # define Perl_save_int dll_Perl_save_int | ||||
| + # if (PERL_REVISION == 5) && (PERL_VERSION >= 20) | ||||
| + #  define Perl_save_strlen dll_Perl_save_strlen | ||||
| + # endif | ||||
|   # define Perl_stack_grow dll_Perl_stack_grow | ||||
|   # define Perl_set_context dll_Perl_set_context | ||||
|   # if (PERL_REVISION == 5) && (PERL_VERSION >= 14) | ||||
| *************** | ||||
| *** 311,316 **** | ||||
| --- 314,322 ---- | ||||
|   static void (*Perl_pop_scope)(pTHX); | ||||
|   static void (*Perl_push_scope)(pTHX); | ||||
|   static void (*Perl_save_int)(pTHX_ int*); | ||||
| + #if (PERL_REVISION == 5) && (PERL_VERSION >= 20) | ||||
| + static void (*Perl_save_strlen)(pTHX_ STRLEN* ptr); | ||||
| + #endif | ||||
|   static SV** (*Perl_stack_grow)(pTHX_ SV**, SV**p, int); | ||||
|   static SV** (*Perl_set_context)(void*); | ||||
|   #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) | ||||
| *************** | ||||
| *** 440,445 **** | ||||
| --- 446,454 ---- | ||||
|       {"Perl_pop_scope", (PERL_PROC*)&Perl_pop_scope}, | ||||
|       {"Perl_push_scope", (PERL_PROC*)&Perl_push_scope}, | ||||
|       {"Perl_save_int", (PERL_PROC*)&Perl_save_int}, | ||||
| + #if (PERL_REVISION == 5) && (PERL_VERSION >= 20) | ||||
| +     {"Perl_save_strlen", (PERL_PROC*)&Perl_save_strlen}, | ||||
| + #endif | ||||
|       {"Perl_stack_grow", (PERL_PROC*)&Perl_stack_grow}, | ||||
|       {"Perl_set_context", (PERL_PROC*)&Perl_set_context}, | ||||
|   #if (PERL_REVISION == 5) && (PERL_VERSION >= 14) | ||||
| *** ../vim-7.4.320/src/version.c	2014-06-12 14:01:27.583769788 +0200 | ||||
| --- src/version.c	2014-06-12 16:02:37.156044806 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     321, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Microsoft's definition of a boolean: TRUE, FALSE, MAYBE | ||||
| "Embrace and extend"...? | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										92
									
								
								7.4.322
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								7.4.322
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,92 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.322 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.322 | ||||
| Problem:    Using "msgfmt" is hard coded, cannot use "gmsgfmt". | ||||
| Solution:   Use the msgfmt command found by configure. (Danek Duvall) | ||||
| Files:	    src/config.mk.in, src/po/Makefile | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.321/src/config.mk.in	2010-11-03 22:26:24.000000000 +0100 | ||||
| --- src/config.mk.in	2014-06-12 17:41:12.892268607 +0200 | ||||
| *************** | ||||
| *** 164,169 **** | ||||
| --- 164,171 ---- | ||||
|   ### If the *.po files are to be translated to *.mo files. | ||||
|   MAKEMO		= @MAKEMO@ | ||||
|    | ||||
| + MSGFMT		= @MSGFMT@ | ||||
| +  | ||||
|   # Make sure that "make first" will run "make all" once configure has done its | ||||
|   # work.  This is needed when using the Makefile in the top directory. | ||||
|   first: all | ||||
| *** ../vim-7.4.321/src/po/Makefile	2013-06-23 13:26:12.000000000 +0200 | ||||
| --- src/po/Makefile	2014-06-12 17:45:19.116277922 +0200 | ||||
| *************** | ||||
| *** 1,5 **** | ||||
| --- 1,8 ---- | ||||
|   # Makefile for the Vim message translations. | ||||
|    | ||||
| + # Include stuff found by configure. | ||||
| + include ../auto/config.mk | ||||
| +  | ||||
|   # TODO make this configurable | ||||
|   # Note: ja.sjis, *.cp1250 and zh_CN.cp936 are only for MS-Windows, they are | ||||
|   # not installed on Unix | ||||
| *************** | ||||
| *** 133,139 **** | ||||
|   # tools 0.10.37, which use a slightly different .po file format that is not | ||||
|   # compatible with Solaris (and old gettext implementations) unless these are | ||||
|   # set.  gettext 0.10.36 will not work! | ||||
| ! MSGFMT = OLD_PO_FILE_INPUT=yes msgfmt -v | ||||
|   XGETTEXT = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes xgettext | ||||
|   MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes msgmerge | ||||
|    | ||||
| --- 136,142 ---- | ||||
|   # tools 0.10.37, which use a slightly different .po file format that is not | ||||
|   # compatible with Solaris (and old gettext implementations) unless these are | ||||
|   # set.  gettext 0.10.36 will not work! | ||||
| ! MSGFMTCMD = OLD_PO_FILE_INPUT=yes $(MSGFMT) -v | ||||
|   XGETTEXT = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes xgettext | ||||
|   MSGMERGE = OLD_PO_FILE_INPUT=yes OLD_PO_FILE_OUTPUT=yes msgmerge | ||||
|    | ||||
| *************** | ||||
| *** 142,148 **** | ||||
|   .PHONY: all install uninstall prefixcheck converted check clean checkclean distclean update-po $(LANGUAGES) $(CONVERTED) | ||||
|    | ||||
|   .po.mo: | ||||
| ! 	$(MSGFMT) -o $@ $< | ||||
|    | ||||
|   .po.ck: | ||||
|   	$(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $< | ||||
| --- 145,151 ---- | ||||
|   .PHONY: all install uninstall prefixcheck converted check clean checkclean distclean update-po $(LANGUAGES) $(CONVERTED) | ||||
|    | ||||
|   .po.mo: | ||||
| ! 	$(MSGFMTCMD) -o $@ $< | ||||
|    | ||||
|   .po.ck: | ||||
|   	$(VIM) -u NONE -e -X -S check.vim -c "if error == 0 | q | endif" -c cq $< | ||||
| *** ../vim-7.4.321/src/version.c	2014-06-12 16:03:24.268046589 +0200 | ||||
| --- src/version.c	2014-06-12 17:42:27.584271433 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     322, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| If I tell you "you have a beautiful body", would you hold it against me? | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										96
									
								
								7.4.323
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								7.4.323
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,96 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.323 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.323 | ||||
| Problem:    Substitute() with zero width pattern breaks multi-byte character. | ||||
| Solution:   Take multi-byte character size into account. (Yukihiro Nakadaira) | ||||
| Files:	    src/eval.c src/testdir/test69.in, src/testdir/test69.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.322/src/eval.c	2014-05-28 20:31:37.496292805 +0200 | ||||
| --- src/eval.c	2014-06-12 18:34:22.928389291 +0200 | ||||
| *************** | ||||
| *** 24848,24855 **** | ||||
|   		if (zero_width == regmatch.startp[0]) | ||||
|   		{ | ||||
|   		    /* avoid getting stuck on a match with an empty string */ | ||||
| ! 		    *((char_u *)ga.ga_data + ga.ga_len) = *tail++; | ||||
| ! 		    ++ga.ga_len; | ||||
|   		    continue; | ||||
|   		} | ||||
|   		zero_width = regmatch.startp[0]; | ||||
| --- 24848,24858 ---- | ||||
|   		if (zero_width == regmatch.startp[0]) | ||||
|   		{ | ||||
|   		    /* avoid getting stuck on a match with an empty string */ | ||||
| ! 		    i = MB_PTR2LEN(tail); | ||||
| ! 		    mch_memmove((char_u *)ga.ga_data + ga.ga_len, tail, | ||||
| ! 								   (size_t)i); | ||||
| ! 		    ga.ga_len += i; | ||||
| ! 		    tail += i; | ||||
|   		    continue; | ||||
|   		} | ||||
|   		zero_width = regmatch.startp[0]; | ||||
| *** ../vim-7.4.322/src/testdir/test69.in	2014-02-22 23:49:30.268896843 +0100 | ||||
| --- src/testdir/test69.in	2014-06-12 18:32:43.108385514 +0200 | ||||
| *************** | ||||
| *** 180,185 **** | ||||
| --- 180,192 ---- | ||||
|   byteidxcomp | ||||
|    | ||||
|   STARTTEST | ||||
| + /^substitute | ||||
| + :let y = substitute('123', '\zs', 'a', 'g')    | put =y | ||||
| + ENDTEST | ||||
| +  | ||||
| + substitute | ||||
| +  | ||||
| + STARTTEST | ||||
|   :g/^STARTTEST/.,/^ENDTEST/d | ||||
|   :1;/^Results/,$wq! test.out | ||||
|   ENDTEST | ||||
| *** ../vim-7.4.322/src/testdir/test69.ok	2014-02-22 23:49:30.268896843 +0100 | ||||
| --- src/testdir/test69.ok	2014-06-12 18:32:43.108385514 +0200 | ||||
| *************** | ||||
| *** 160,162 **** | ||||
| --- 160,166 ---- | ||||
|   [0, 1, 3, 4, -1] | ||||
|   [0, 1, 2, 4, 5, -1] | ||||
|    | ||||
| +  | ||||
| + substitute | ||||
| + a1a2a3a | ||||
| +  | ||||
| *** ../vim-7.4.322/src/version.c	2014-06-12 18:03:24.940319000 +0200 | ||||
| --- src/version.c	2014-06-12 18:32:08.356384200 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     323, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|        When danger reared its ugly head, | ||||
|        He bravely turned his tail and fled | ||||
|        Yes, Brave Sir Robin turned about | ||||
|        And gallantly he chickened out | ||||
|        Bravely taking to his feet | ||||
|        He beat a very brave retreat | ||||
|        Bravest of the brave Sir Robin | ||||
|        Petrified of being dead | ||||
|        Soiled his pants then brave Sir Robin | ||||
|        Turned away and fled. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										190
									
								
								7.4.324
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										190
									
								
								7.4.324
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,190 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.324 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.324 | ||||
| Problem:    In Ex mode, cyrillic characters are not handled. (Stas Malavin) | ||||
| Solution:   Support multi-byte characters in Ex mode. (Yukihiro Nakadaira) | ||||
| Files:	    src/ex_getln.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.323/src/ex_getln.c	2014-05-29 14:36:26.156862577 +0200 | ||||
| --- src/ex_getln.c	2014-06-12 19:33:10.440522741 +0200 | ||||
| *************** | ||||
| *** 2188,2193 **** | ||||
| --- 2188,2194 ---- | ||||
|       int		vcol = 0; | ||||
|       char_u	*p; | ||||
|       int		prev_char; | ||||
| +     int		len; | ||||
|    | ||||
|       /* Switch cursor on now.  This avoids that it happens after the "\n", which | ||||
|        * confuses the system function that computes tabstops. */ | ||||
| *************** | ||||
| *** 2264,2270 **** | ||||
|   	    { | ||||
|   		if (line_ga.ga_len > 0) | ||||
|   		{ | ||||
| ! 		    --line_ga.ga_len; | ||||
|   		    goto redraw; | ||||
|   		} | ||||
|   		continue; | ||||
| --- 2265,2281 ---- | ||||
|   	    { | ||||
|   		if (line_ga.ga_len > 0) | ||||
|   		{ | ||||
| ! #ifdef FEAT_MBYTE | ||||
| ! 		    if (has_mbyte) | ||||
| ! 		    { | ||||
| ! 			p = (char_u *)line_ga.ga_data; | ||||
| ! 			p[line_ga.ga_len] = NUL; | ||||
| ! 			len = (*mb_head_off)(p, p + line_ga.ga_len - 1) + 1; | ||||
| ! 			line_ga.ga_len -= len; | ||||
| ! 		    } | ||||
| ! 		    else | ||||
| ! #endif | ||||
| ! 			--line_ga.ga_len; | ||||
|   		    goto redraw; | ||||
|   		} | ||||
|   		continue; | ||||
| *************** | ||||
| *** 2280,2286 **** | ||||
|    | ||||
|   	    if (c1 == Ctrl_T) | ||||
|   	    { | ||||
| ! 		long        sw = get_sw_value(curbuf); | ||||
|    | ||||
|   		p = (char_u *)line_ga.ga_data; | ||||
|   		p[line_ga.ga_len] = NUL; | ||||
| --- 2291,2297 ---- | ||||
|    | ||||
|   	    if (c1 == Ctrl_T) | ||||
|   	    { | ||||
| ! 		long	    sw = get_sw_value(curbuf); | ||||
|    | ||||
|   		p = (char_u *)line_ga.ga_data; | ||||
|   		p[line_ga.ga_len] = NUL; | ||||
| *************** | ||||
| *** 2300,2307 **** | ||||
|   		/* redraw the line */ | ||||
|   		msg_col = startcol; | ||||
|   		vcol = 0; | ||||
| ! 		for (p = (char_u *)line_ga.ga_data; | ||||
| ! 			  p < (char_u *)line_ga.ga_data + line_ga.ga_len; ++p) | ||||
|   		{ | ||||
|   		    if (*p == TAB) | ||||
|   		    { | ||||
| --- 2311,2319 ---- | ||||
|   		/* redraw the line */ | ||||
|   		msg_col = startcol; | ||||
|   		vcol = 0; | ||||
| ! 		p = (char_u *)line_ga.ga_data; | ||||
| ! 		p[line_ga.ga_len] = NUL; | ||||
| ! 		while (p < (char_u *)line_ga.ga_data + line_ga.ga_len) | ||||
|   		{ | ||||
|   		    if (*p == TAB) | ||||
|   		    { | ||||
| *************** | ||||
| *** 2309,2319 **** | ||||
|   			{ | ||||
|   			    msg_putchar(' '); | ||||
|   			} while (++vcol % 8); | ||||
|   		    } | ||||
|   		    else | ||||
|   		    { | ||||
| ! 			msg_outtrans_len(p, 1); | ||||
| ! 			vcol += char2cells(*p); | ||||
|   		    } | ||||
|   		} | ||||
|   		msg_clr_eos(); | ||||
| --- 2321,2334 ---- | ||||
|   			{ | ||||
|   			    msg_putchar(' '); | ||||
|   			} while (++vcol % 8); | ||||
| + 			++p; | ||||
|   		    } | ||||
|   		    else | ||||
|   		    { | ||||
| ! 			len = MB_PTR2LEN(p); | ||||
| ! 			msg_outtrans_len(p, len); | ||||
| ! 			vcol += ptr2cells(p); | ||||
| ! 			p += len; | ||||
|   		    } | ||||
|   		} | ||||
|   		msg_clr_eos(); | ||||
| *************** | ||||
| *** 2362,2368 **** | ||||
|    | ||||
|   	if (IS_SPECIAL(c1)) | ||||
|   	    c1 = '?'; | ||||
| ! 	((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1; | ||||
|   	if (c1 == '\n') | ||||
|   	    msg_putchar('\n'); | ||||
|   	else if (c1 == TAB) | ||||
| --- 2377,2392 ---- | ||||
|    | ||||
|   	if (IS_SPECIAL(c1)) | ||||
|   	    c1 = '?'; | ||||
| ! #ifdef FEAT_MBYTE | ||||
| ! 	if (has_mbyte) | ||||
| ! 	    len = (*mb_char2bytes)(c1, | ||||
| ! 				  (char_u *)line_ga.ga_data + line_ga.ga_len); | ||||
| ! 	else | ||||
| ! #endif | ||||
| ! 	{ | ||||
| ! 	    len = 1; | ||||
| ! 	    ((char_u *)line_ga.ga_data)[line_ga.ga_len] = c1; | ||||
| ! 	} | ||||
|   	if (c1 == '\n') | ||||
|   	    msg_putchar('\n'); | ||||
|   	else if (c1 == TAB) | ||||
| *************** | ||||
| *** 2376,2385 **** | ||||
|   	else | ||||
|   	{ | ||||
|   	    msg_outtrans_len( | ||||
| ! 		     ((char_u *)line_ga.ga_data) + line_ga.ga_len, 1); | ||||
|   	    vcol += char2cells(c1); | ||||
|   	} | ||||
| ! 	++line_ga.ga_len; | ||||
|   	escaped = FALSE; | ||||
|    | ||||
|   	windgoto(msg_row, msg_col); | ||||
| --- 2400,2409 ---- | ||||
|   	else | ||||
|   	{ | ||||
|   	    msg_outtrans_len( | ||||
| ! 		     ((char_u *)line_ga.ga_data) + line_ga.ga_len, len); | ||||
|   	    vcol += char2cells(c1); | ||||
|   	} | ||||
| ! 	line_ga.ga_len += len; | ||||
|   	escaped = FALSE; | ||||
|    | ||||
|   	windgoto(msg_row, msg_col); | ||||
| *** ../vim-7.4.323/src/version.c	2014-06-12 18:39:16.828400409 +0200 | ||||
| --- src/version.c	2014-06-12 19:37:40.296532950 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     324, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ZOOT:  I'm afraid our life must seem very dull and quiet compared to yours. | ||||
|        We are but eightscore young blondes, all between sixteen and | ||||
|        nineteen-and-a-half, cut off in this castle, with no one to protect us. | ||||
|        Oooh.  It is a lonely life ... bathing ...  dressing ... undressing ... | ||||
|        making exciting underwear.... | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										62
									
								
								7.4.325
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								7.4.325
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.325 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.325 | ||||
| Problem:    When starting the gui and changing the window size the status line | ||||
| 	    may not be drawn correctly. | ||||
| Solution:   Catch new_win_height() being called recursively. (Christian | ||||
| 	    Brabandt) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.324/src/window.c	2014-06-12 14:01:27.579769788 +0200 | ||||
| --- src/window.c	2014-06-13 20:04:59.051863582 +0200 | ||||
| *************** | ||||
| *** 5660,5666 **** | ||||
|       if (wp->w_height > 0) | ||||
|       { | ||||
|   	if (wp == curwin) | ||||
| ! 	    validate_cursor();		/* w_wrow needs to be valid */ | ||||
|   	if (wp->w_wrow != wp->w_prev_fraction_row) | ||||
|   	    set_fraction(wp); | ||||
|       } | ||||
| --- 5660,5671 ---- | ||||
|       if (wp->w_height > 0) | ||||
|       { | ||||
|   	if (wp == curwin) | ||||
| ! 	    /* w_wrow needs to be valid. When setting 'laststatus' this may | ||||
| ! 	     * call win_new_height() recursively. */ | ||||
| ! 	    validate_cursor(); | ||||
| ! 	if (wp->w_height != prev_height) | ||||
| ! 	    return;  /* Recursive call already changed the size, bail out here | ||||
| ! 			to avoid the following to mess things up. */ | ||||
|   	if (wp->w_wrow != wp->w_prev_fraction_row) | ||||
|   	    set_fraction(wp); | ||||
|       } | ||||
| *** ../vim-7.4.324/src/version.c	2014-06-12 19:44:45.324549030 +0200 | ||||
| --- src/version.c	2014-06-13 20:06:12.947866378 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     325, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| DINGO:   And after the spanking ... the oral sex. | ||||
| GALAHAD: Oh, dear! Well, I... | ||||
| GIRLS:   The oral sex ...  The oral sex. | ||||
| GALAHAD: Well, I suppose I could stay a BIT longer. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										51
									
								
								7.4.326
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								7.4.326
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.326 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.326 | ||||
| Problem:    Can't build Tiny version. (Elimar Riesebieter) | ||||
| Solution:   Add #ifdef. | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.325/src/window.c	2014-06-13 20:08:41.295871990 +0200 | ||||
| --- src/window.c	2014-06-14 12:51:00.010147123 +0200 | ||||
| *************** | ||||
| *** 4597,4608 **** | ||||
| --- 4597,4610 ---- | ||||
|       if (wp != aucmd_win) | ||||
|   #endif | ||||
|   	win_remove(wp, tp); | ||||
| + #ifdef FEAT_AUTOCMD | ||||
|       if (autocmd_busy) | ||||
|       { | ||||
|   	wp->w_next = au_pending_free_win; | ||||
|   	au_pending_free_win = wp; | ||||
|       } | ||||
|       else | ||||
| + #endif | ||||
|   	vim_free(wp); | ||||
|    | ||||
|   #ifdef FEAT_AUTOCMD | ||||
| *** ../vim-7.4.325/src/version.c	2014-06-13 20:08:41.295871990 +0200 | ||||
| --- src/version.c	2014-06-14 12:53:05.134151857 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     326, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You cannot propel yourself forward by patting yourself on the back. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										163
									
								
								7.4.327
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								7.4.327
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,163 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.327 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.327 | ||||
| Problem:    When 'verbose' is set to display the return value of a function, | ||||
| 	    may get E724 repeatedly. | ||||
| Solution:   Do not give an error for verbose messages. Abort conversion to | ||||
| 	    string after an error. | ||||
| Files:	    src/eval.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.326/src/eval.c	2014-06-12 18:39:16.828400409 +0200 | ||||
| --- src/eval.c	2014-06-17 12:48:12.083946675 +0200 | ||||
| *************** | ||||
| *** 134,139 **** | ||||
| --- 134,142 ---- | ||||
|   #define COPYID_INC 2 | ||||
|   #define COPYID_MASK (~0x1) | ||||
|    | ||||
| + /* Abort conversion to string after a recursion error. */ | ||||
| + static int  did_echo_string_emsg = FALSE; | ||||
| +  | ||||
|   /* | ||||
|    * Array to hold the hashtab with variables local to each sourced script. | ||||
|    * Each item holds a variable (nameless) that points to the dict_T. | ||||
| *************** | ||||
| *** 6686,6691 **** | ||||
| --- 6689,6696 ---- | ||||
|   	} | ||||
|    | ||||
|   	line_breakcheck(); | ||||
| + 	if (did_echo_string_emsg)  /* recursion error, bail out */ | ||||
| + 	    break; | ||||
|       } | ||||
|    | ||||
|       /* Allocate result buffer with its total size, avoid re-allocation and | ||||
| *************** | ||||
| *** 7460,7467 **** | ||||
|   	    if (s != NULL) | ||||
|   		ga_concat(&ga, s); | ||||
|   	    vim_free(tofree); | ||||
| ! 	    if (s == NULL) | ||||
|   		break; | ||||
|   	} | ||||
|       } | ||||
|       if (todo > 0) | ||||
| --- 7465,7474 ---- | ||||
|   	    if (s != NULL) | ||||
|   		ga_concat(&ga, s); | ||||
|   	    vim_free(tofree); | ||||
| ! 	    if (s == NULL || did_echo_string_emsg) | ||||
|   		break; | ||||
| + 	    line_breakcheck(); | ||||
| +  | ||||
|   	} | ||||
|       } | ||||
|       if (todo > 0) | ||||
| *************** | ||||
| *** 7619,7627 **** | ||||
|    | ||||
|       if (recurse >= DICT_MAXNEST) | ||||
|       { | ||||
| ! 	EMSG(_("E724: variable nested too deep for displaying")); | ||||
|   	*tofree = NULL; | ||||
| ! 	return NULL; | ||||
|       } | ||||
|       ++recurse; | ||||
|    | ||||
| --- 7626,7641 ---- | ||||
|    | ||||
|       if (recurse >= DICT_MAXNEST) | ||||
|       { | ||||
| ! 	if (!did_echo_string_emsg) | ||||
| ! 	{ | ||||
| ! 	    /* Only give this message once for a recursive call to avoid | ||||
| ! 	     * flooding the user with errors.  And stop iterating over lists | ||||
| ! 	     * and dicts. */ | ||||
| ! 	    did_echo_string_emsg = TRUE; | ||||
| ! 	    EMSG(_("E724: variable nested too deep for displaying")); | ||||
| ! 	} | ||||
|   	*tofree = NULL; | ||||
| ! 	return (char_u *)"{E724}"; | ||||
|       } | ||||
|       ++recurse; | ||||
|    | ||||
| *************** | ||||
| *** 7689,7695 **** | ||||
|   	    *tofree = NULL; | ||||
|       } | ||||
|    | ||||
| !     --recurse; | ||||
|       return r; | ||||
|   } | ||||
|    | ||||
| --- 7703,7710 ---- | ||||
|   	    *tofree = NULL; | ||||
|       } | ||||
|    | ||||
| !     if (--recurse == 0) | ||||
| ! 	did_echo_string_emsg = FALSE; | ||||
|       return r; | ||||
|   } | ||||
|    | ||||
| *************** | ||||
| *** 23303,23309 **** | ||||
| --- 23318,23327 ---- | ||||
|   			msg_outnum((long)argvars[i].vval.v_number); | ||||
|   		    else | ||||
|   		    { | ||||
| + 			/* Do not want errors such as E724 here. */ | ||||
| + 			++emsg_off; | ||||
|   			s = tv2string(&argvars[i], &tofree, numbuf2, 0); | ||||
| + 			--emsg_off; | ||||
|   			if (s != NULL) | ||||
|   			{ | ||||
|   			    if (vim_strsize(s) > MSG_BUF_CLEN) | ||||
| *************** | ||||
| *** 23395,23402 **** | ||||
|    | ||||
|   	    /* The value may be very long.  Skip the middle part, so that we | ||||
|   	     * have some idea how it starts and ends. smsg() would always | ||||
| ! 	     * truncate it at the end. */ | ||||
|   	    s = tv2string(fc->rettv, &tofree, numbuf2, 0); | ||||
|   	    if (s != NULL) | ||||
|   	    { | ||||
|   		if (vim_strsize(s) > MSG_BUF_CLEN) | ||||
| --- 23413,23422 ---- | ||||
|    | ||||
|   	    /* The value may be very long.  Skip the middle part, so that we | ||||
|   	     * have some idea how it starts and ends. smsg() would always | ||||
| ! 	     * truncate it at the end. Don't want errors such as E724 here. */ | ||||
| ! 	    ++emsg_off; | ||||
|   	    s = tv2string(fc->rettv, &tofree, numbuf2, 0); | ||||
| + 	    --emsg_off; | ||||
|   	    if (s != NULL) | ||||
|   	    { | ||||
|   		if (vim_strsize(s) > MSG_BUF_CLEN) | ||||
| *** ../vim-7.4.326/src/version.c	2014-06-14 12:53:27.394152699 +0200 | ||||
| --- src/version.c	2014-06-17 12:41:45.019932032 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     327, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| TALL KNIGHT: We shall say Ni! again to you if you do not appease us. | ||||
| ARTHUR:      All right!  What do you want? | ||||
| TALL KNIGHT: We want ... a shrubbery! | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										82
									
								
								7.4.328
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								7.4.328
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,82 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.328 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.328 | ||||
| Problem:    Selection of inner block is inconsistent. | ||||
| Solution:   Skip indent not only for '}' but all parens. (Tom McDonald) | ||||
| Files:	    src/search.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.327/src/search.c	2014-03-23 15:12:29.935264336 +0100 | ||||
| --- src/search.c	2014-06-17 12:37:49.075923106 +0200 | ||||
| *************** | ||||
| *** 3608,3628 **** | ||||
|    | ||||
|       /* | ||||
|        * Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE. | ||||
| !      * If the ending '}' is only preceded by indent, skip that indent. | ||||
| !      * But only if the resulting area is not smaller than what we started with. | ||||
|        */ | ||||
|       while (!include) | ||||
|       { | ||||
|   	incl(&start_pos); | ||||
|   	sol = (curwin->w_cursor.col == 0); | ||||
|   	decl(&curwin->w_cursor); | ||||
| ! 	if (what == '{') | ||||
| ! 	    while (inindent(1)) | ||||
| ! 	    { | ||||
| ! 		sol = TRUE; | ||||
| ! 		if (decl(&curwin->w_cursor) != 0) | ||||
| ! 		    break; | ||||
| ! 	    } | ||||
|   	/* | ||||
|   	 * In Visual mode, when the resulting area is not bigger than what we | ||||
|   	 * started with, extend it to the next block, and then exclude again. | ||||
| --- 3608,3629 ---- | ||||
|    | ||||
|       /* | ||||
|        * Try to exclude the '(', '{', ')', '}', etc. when "include" is FALSE. | ||||
| !      * If the ending '}', ')' or ']' is only preceded by indent, skip that | ||||
| !      * indent.  But only if the resulting area is not smaller than what we | ||||
| !      * started with. | ||||
|        */ | ||||
|       while (!include) | ||||
|       { | ||||
|   	incl(&start_pos); | ||||
|   	sol = (curwin->w_cursor.col == 0); | ||||
|   	decl(&curwin->w_cursor); | ||||
| ! 	while (inindent(1)) | ||||
| ! 	{ | ||||
| ! 	    sol = TRUE; | ||||
| ! 	    if (decl(&curwin->w_cursor) != 0) | ||||
| ! 		break; | ||||
| ! 	} | ||||
| !  | ||||
|   	/* | ||||
|   	 * In Visual mode, when the resulting area is not bigger than what we | ||||
|   	 * started with, extend it to the next block, and then exclude again. | ||||
| *** ../vim-7.4.327/src/version.c	2014-06-17 12:51:13.207953527 +0200 | ||||
| --- src/version.c	2014-06-17 12:52:35.279956632 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     328, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FATHER: One day, lad, all this will be yours ... | ||||
| PRINCE: What - the curtains? | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										55
									
								
								7.4.329
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								7.4.329
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.329 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.329 | ||||
| Problem:    When moving the cursor and then switching to another window the | ||||
| 	    previous window isn't scrolled. (Yukihiro Nakadaira) | ||||
| Solution:   Call update_topline() before leaving the window. (Christian | ||||
| 	    Brabandt) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.328/src/window.c	2014-06-14 12:53:27.394152699 +0200 | ||||
| --- src/window.c	2014-06-17 13:44:48.812075178 +0200 | ||||
| *************** | ||||
| *** 4250,4255 **** | ||||
| --- 4250,4260 ---- | ||||
|       /* sync undo before leaving the current buffer */ | ||||
|       if (undo_sync && curbuf != wp->w_buffer) | ||||
|   	u_sync(FALSE); | ||||
| +  | ||||
| +     /* Might need to scroll the old window before switching, e.g., when the | ||||
| +      * cursor was moved. */ | ||||
| +     update_topline(); | ||||
| +  | ||||
|       /* may have to copy the buffer options when 'cpo' contains 'S' */ | ||||
|       if (wp->w_buffer != curbuf) | ||||
|   	buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP); | ||||
| *** ../vim-7.4.328/src/version.c	2014-06-17 13:50:06.148087184 +0200 | ||||
| --- src/version.c	2014-06-17 13:51:09.960089598 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     329, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FATHER:       Make sure the Prince doesn't leave this room until I come and | ||||
|               get him. | ||||
| FIRST GUARD:  Not ... to leave the room ... even if you come and get him. | ||||
| FATHER:       No.  Until I come and get him. | ||||
| SECOND GUARD: Hic. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										47
									
								
								7.4.331
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								7.4.331
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.331 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.331 | ||||
| Problem:    Relative numbering not updated after a linewise yank.  Issue 235. | ||||
| Solution:   Redraw after the yank. (Christian Brabandt) | ||||
| Files:	    src/ops.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.330/src/ops.c	2014-04-29 15:55:39.443801021 +0200 | ||||
| --- src/ops.c	2014-06-17 18:14:36.584687585 +0200 | ||||
| *************** | ||||
| *** 3150,3155 **** | ||||
| --- 3150,3157 ---- | ||||
|   	vim_free(y_current->y_array); | ||||
|   	y_current = curr; | ||||
|       } | ||||
| +     if (curwin->w_p_rnu) | ||||
| + 	redraw_later(SOME_VALID);	/* cursor moved to start */ | ||||
|       if (mess)			/* Display message about yank? */ | ||||
|       { | ||||
|   	if (yanktype == MCHAR | ||||
| *** ../vim-7.4.330/src/version.c	2014-06-17 17:48:21.784628008 +0200 | ||||
| --- src/version.c	2014-06-17 18:13:35.824685286 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     331, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| CONCORDE: Message for you, sir. | ||||
|    He falls forward revealing the arrow with the note. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										118
									
								
								7.4.332
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								7.4.332
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.332 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.332 | ||||
| Problem:    GTK: When a sign icon doesn't fit exactly there can be ugly gaps. | ||||
| Solution:   Scale the sign to fit when the aspect ratio is not too far off. | ||||
| 	    (Christian Brabandt) | ||||
| Files:	    src/gui_gtk_x11.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.331/src/gui_gtk_x11.c	2014-05-13 20:19:53.573808877 +0200 | ||||
| --- src/gui_gtk_x11.c	2014-06-17 18:44:39.900755807 +0200 | ||||
| *************** | ||||
| *** 5965,5991 **** | ||||
|   	 * Decide whether we need to scale.  Allow one pixel of border | ||||
|   	 * width to be cut off, in order to avoid excessive scaling for | ||||
|   	 * tiny differences in font size. | ||||
|   	 */ | ||||
|   	need_scale = (width > SIGN_WIDTH + 2 | ||||
| ! 		      || height > SIGN_HEIGHT + 2 | ||||
|   		      || (width < 3 * SIGN_WIDTH / 4 | ||||
|   			  && height < 3 * SIGN_HEIGHT / 4)); | ||||
|   	if (need_scale) | ||||
|   	{ | ||||
| ! 	    double aspect; | ||||
|    | ||||
|   	    /* Keep the original aspect ratio */ | ||||
|   	    aspect = (double)height / (double)width; | ||||
|   	    width  = (double)SIGN_WIDTH * SIGN_ASPECT / aspect; | ||||
|   	    width  = MIN(width, SIGN_WIDTH); | ||||
| ! 	    height = (double)width * aspect; | ||||
|    | ||||
| ! 	    /* This doesn't seem to be worth caching, and doing so | ||||
| ! 	     * would complicate the code quite a bit. */ | ||||
| ! 	    sign = gdk_pixbuf_scale_simple(sign, width, height, | ||||
| ! 					   GDK_INTERP_BILINEAR); | ||||
| ! 	    if (sign == NULL) | ||||
| ! 		return; /* out of memory */ | ||||
|   	} | ||||
|    | ||||
|   	/* The origin is the upper-left corner of the pixmap.  Therefore | ||||
| --- 5965,6012 ---- | ||||
|   	 * Decide whether we need to scale.  Allow one pixel of border | ||||
|   	 * width to be cut off, in order to avoid excessive scaling for | ||||
|   	 * tiny differences in font size. | ||||
| + 	 * Do scale to fit the height to avoid gaps because of linespacing. | ||||
|   	 */ | ||||
|   	need_scale = (width > SIGN_WIDTH + 2 | ||||
| ! 		      || height != SIGN_HEIGHT | ||||
|   		      || (width < 3 * SIGN_WIDTH / 4 | ||||
|   			  && height < 3 * SIGN_HEIGHT / 4)); | ||||
|   	if (need_scale) | ||||
|   	{ | ||||
| ! 	    double  aspect; | ||||
| ! 	    int	    w = width; | ||||
| ! 	    int	    h = height; | ||||
|    | ||||
|   	    /* Keep the original aspect ratio */ | ||||
|   	    aspect = (double)height / (double)width; | ||||
|   	    width  = (double)SIGN_WIDTH * SIGN_ASPECT / aspect; | ||||
|   	    width  = MIN(width, SIGN_WIDTH); | ||||
| ! 	    if (((double)(MAX(height, SIGN_HEIGHT)) / | ||||
| ! 		 (double)(MIN(height, SIGN_HEIGHT))) < 1.15) | ||||
| ! 	    { | ||||
| ! 		/* Change the aspect ratio by at most 15% to fill the | ||||
| ! 		 * available space completly. */ | ||||
| ! 		height = (double)SIGN_HEIGHT * SIGN_ASPECT / aspect; | ||||
| ! 		height = MIN(height, SIGN_HEIGHT); | ||||
| ! 	    } | ||||
| ! 	    else | ||||
| ! 		height = (double)width * aspect; | ||||
|    | ||||
| ! 	    if (w == width && h == height) | ||||
| ! 	    { | ||||
| ! 		/* no change in dimensions; don't decrease reference counter | ||||
| ! 		 * (below) */ | ||||
| ! 		need_scale = FALSE; | ||||
| ! 	    } | ||||
| ! 	    else | ||||
| ! 	    { | ||||
| ! 		/* This doesn't seem to be worth caching, and doing so would | ||||
| ! 		 * complicate the code quite a bit. */ | ||||
| ! 		sign = gdk_pixbuf_scale_simple(sign, width, height, | ||||
| ! 							 GDK_INTERP_BILINEAR); | ||||
| ! 		if (sign == NULL) | ||||
| ! 		    return; /* out of memory */ | ||||
| ! 	    } | ||||
|   	} | ||||
|    | ||||
|   	/* The origin is the upper-left corner of the pixmap.  Therefore | ||||
| *** ../vim-7.4.331/src/version.c	2014-06-17 18:16:08.420691059 +0200 | ||||
| --- src/version.c	2014-06-17 18:46:49.784760721 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     332, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|        "To whoever finds this note - | ||||
|        I have been imprisoned by my father who wishes me to marry | ||||
|        against my will.  Please please please please come and rescue me. | ||||
|        I am in the tall tower of Swamp Castle." | ||||
|    SIR LAUNCELOT's eyes light up with holy inspiration. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										72
									
								
								7.4.333
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								7.4.333
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,72 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.333 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.333 | ||||
| Problem:    Compiler warning for unused function. | ||||
| Solution:   Put the function inside the #ifdef. | ||||
| Files:	    src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.332/src/screen.c	2014-06-17 17:48:21.784628008 +0200 | ||||
| --- src/screen.c	2014-06-17 23:16:24.121372619 +0200 | ||||
| *************** | ||||
| *** 139,145 **** | ||||
|   static void redraw_custom_statusline __ARGS((win_T *wp)); | ||||
|   #endif | ||||
|   #ifdef FEAT_SEARCH_EXTRA | ||||
| ! #define SEARCH_HL_PRIORITY 0 | ||||
|   static void start_search_hl __ARGS((void)); | ||||
|   static void end_search_hl __ARGS((void)); | ||||
|   static void init_search_hl __ARGS((win_T *wp)); | ||||
| --- 139,145 ---- | ||||
|   static void redraw_custom_statusline __ARGS((win_T *wp)); | ||||
|   #endif | ||||
|   #ifdef FEAT_SEARCH_EXTRA | ||||
| ! # define SEARCH_HL_PRIORITY 0 | ||||
|   static void start_search_hl __ARGS((void)); | ||||
|   static void end_search_hl __ARGS((void)); | ||||
|   static void init_search_hl __ARGS((win_T *wp)); | ||||
| *************** | ||||
| *** 7476,7482 **** | ||||
|   	} | ||||
|       } | ||||
|   } | ||||
| - #endif | ||||
|    | ||||
|       static int | ||||
|   next_search_hl_pos(shl, lnum, posmatch, mincol) | ||||
| --- 7476,7481 ---- | ||||
| *************** | ||||
| *** 7533,7538 **** | ||||
| --- 7532,7538 ---- | ||||
|       } | ||||
|       return FALSE; | ||||
|   } | ||||
| + #endif | ||||
|    | ||||
|         static void | ||||
|   screen_start_highlight(attr) | ||||
| *** ../vim-7.4.332/src/version.c	2014-06-17 18:46:57.880761027 +0200 | ||||
| --- src/version.c	2014-06-17 23:17:14.949374542 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     333, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You had connectors?  Eeee, when I were a lad we 'ad to carry the | ||||
| bits between the computer and the terminal with a spoon... | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										112
									
								
								7.4.334
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								7.4.334
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,112 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.334 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.334 (after 7.4.330) | ||||
| Problem:    Unitialized variables, causing some problems. | ||||
| Solution:   Initialize the variables. (Dominique Pelle) | ||||
| Files:	    src/screen.c, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.333/src/screen.c	2014-06-17 23:17:56.489376113 +0200 | ||||
| --- src/screen.c	2014-06-18 21:16:23.560368846 +0200 | ||||
| *************** | ||||
| *** 7363,7369 **** | ||||
|       match_T	    *shl;	/* points to search_hl or a match */ | ||||
|       linenr_T	    lnum; | ||||
|       colnr_T	    mincol;	/* minimal column for a match */ | ||||
| !     matchitem_T	    *cur;	/* to retrieve match postions if any */ | ||||
|   { | ||||
|       linenr_T	l; | ||||
|       colnr_T	matchcol; | ||||
| --- 7363,7369 ---- | ||||
|       match_T	    *shl;	/* points to search_hl or a match */ | ||||
|       linenr_T	    lnum; | ||||
|       colnr_T	    mincol;	/* minimal column for a match */ | ||||
| !     matchitem_T	    *cur;	/* to retrieve match positions if any */ | ||||
|   { | ||||
|       linenr_T	l; | ||||
|       colnr_T	matchcol; | ||||
| *************** | ||||
| *** 7458,7466 **** | ||||
|   	    } | ||||
|   	} | ||||
|   	else if (cur != NULL) | ||||
| - 	{ | ||||
|   	    nmatched = next_search_hl_pos(shl, lnum, &(cur->pos), matchcol); | ||||
| ! 	} | ||||
|   	if (nmatched == 0) | ||||
|   	{ | ||||
|   	    shl->lnum = 0;		/* no match found */ | ||||
| --- 7458,7466 ---- | ||||
|   	    } | ||||
|   	} | ||||
|   	else if (cur != NULL) | ||||
|   	    nmatched = next_search_hl_pos(shl, lnum, &(cur->pos), matchcol); | ||||
| ! 	else | ||||
| ! 	    nmatched = 0; | ||||
|   	if (nmatched == 0) | ||||
|   	{ | ||||
|   	    shl->lnum = 0;		/* no match found */ | ||||
| *** ../vim-7.4.333/src/window.c	2014-06-17 17:48:21.784628008 +0200 | ||||
| --- src/window.c	2014-06-18 21:12:15.232359452 +0200 | ||||
| *************** | ||||
| *** 6809,6815 **** | ||||
|       } | ||||
|    | ||||
|       /* Build new match. */ | ||||
| !     m = (matchitem_T *)alloc(sizeof(matchitem_T)); | ||||
|       m->id = id; | ||||
|       m->priority = prio; | ||||
|       m->pattern = pat == NULL ? NULL : vim_strsave(pat); | ||||
| --- 6809,6815 ---- | ||||
|       } | ||||
|    | ||||
|       /* Build new match. */ | ||||
| !     m = (matchitem_T *)alloc_clear(sizeof(matchitem_T)); | ||||
|       m->id = id; | ||||
|       m->priority = prio; | ||||
|       m->pattern = pat == NULL ? NULL : vim_strsave(pat); | ||||
| *************** | ||||
| *** 6835,6841 **** | ||||
|   	    int		len = 1; | ||||
|   	    list_T	*subl; | ||||
|   	    listitem_T	*subli; | ||||
| ! 	    int		error; | ||||
|    | ||||
|   	    if (li == NULL) | ||||
|   	    { | ||||
| --- 6835,6841 ---- | ||||
|   	    int		len = 1; | ||||
|   	    list_T	*subl; | ||||
|   	    listitem_T	*subli; | ||||
| ! 	    int		error = FALSE; | ||||
|    | ||||
|   	    if (li == NULL) | ||||
|   	    { | ||||
| *** ../vim-7.4.333/src/version.c	2014-06-17 23:17:56.493376113 +0200 | ||||
| --- src/version.c	2014-06-18 21:14:16.516364040 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     334, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You were lucky. We lived for three months in a brown paper bag in a  | ||||
| septic tank. We used to have to get up at six o'clock in the morning,  | ||||
| clean the bag, eat a crust of stale bread, go to work down mill for  | ||||
| fourteen hours a day week in-week out. When we got home, our Dad | ||||
| would thrash us to sleep with his belt! | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										108
									
								
								7.4.335
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								7.4.335
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,108 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.335 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.335 | ||||
| Problem:    No digraph for the new rouble sign. | ||||
| Solution:   Add the digraphs =R and =P. | ||||
| Files:	    src/digraph.c, runtime/doc/digraph.txt | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.334/src/digraph.c	2012-01-10 21:57:16.000000000 +0100 | ||||
| --- src/digraph.c	2014-06-18 21:36:46.148415099 +0200 | ||||
| *************** | ||||
| *** 1425,1430 **** | ||||
| --- 1425,1432 ---- | ||||
|   	{'W', '=', 0x20a9}, | ||||
|   	{'=', 'e', 0x20ac}, /* euro */ | ||||
|   	{'E', 'u', 0x20ac}, /* euro */ | ||||
| + 	{'=', 'R', 0x20bd}, /* rouble */ | ||||
| + 	{'=', 'P', 0x20bd}, /* rouble */ | ||||
|   	{'o', 'C', 0x2103}, | ||||
|   	{'c', 'o', 0x2105}, | ||||
|   	{'o', 'F', 0x2109}, | ||||
| *** ../vim-7.4.334/runtime/doc/digraph.txt	2013-08-10 13:24:52.000000000 +0200 | ||||
| --- runtime/doc/digraph.txt	2014-06-18 21:35:21.684411903 +0200 | ||||
| *************** | ||||
| *** 147,153 **** | ||||
|   	Two			2	Hook | ||||
|   	Nine			9	Horn | ||||
|    | ||||
| ! 	Equals			=	Cyrillic | ||||
|   	Asterisk		*	Greek | ||||
|   	Percent sign		%	Greek/Cyrillic special | ||||
|   	Plus			+	smalls: Arabic, capitals: Hebrew | ||||
| --- 147,153 ---- | ||||
|   	Two			2	Hook | ||||
|   	Nine			9	Horn | ||||
|    | ||||
| ! 	Equals			=	Cyrillic (= used as second char)  | ||||
|   	Asterisk		*	Greek | ||||
|   	Percent sign		%	Greek/Cyrillic special | ||||
|   	Plus			+	smalls: Arabic, capitals: Hebrew | ||||
| *************** | ||||
| *** 170,175 **** | ||||
| --- 170,180 ---- | ||||
|   used for the euro sign, while both of them are the character 164, 0xa4.  For | ||||
|   compatibility with zsh Eu can also be used for the euro sign. | ||||
|    | ||||
| + ROUBLE | ||||
| +  | ||||
| + The rouble sign was added in 2014 as 0x20bd.  Vim supports the digraphs =R and | ||||
| + =P for this.  Note that R= and P= are other characters. | ||||
| +  | ||||
|   							*digraph-table* | ||||
|   char  digraph	hex	dec	official name ~ | ||||
|   ^@	NU	0x00	  0	NULL (NUL) | ||||
| *************** | ||||
| *** 966,971 **** | ||||
| --- 971,978 ---- | ||||
|   ₧	Pt	20A7	8359	PESETA SIGN | ||||
|   ₩	W=	20A9	8361	WON SIGN | ||||
|   €	Eu	20AC	8364	EURO SIGN | ||||
| + ₽	=R	20AC	8381	ROUBLE SIGN | ||||
| + ₽	=P	20AC	8381	ROUBLE SIGN | ||||
|   ℃	oC	2103	8451	DEGREE CELSIUS | ||||
|   ℅	co	2105	8453	CARE OF | ||||
|   ℉	oF	2109	8457	DEGREE FAHRENHEIT | ||||
| *************** | ||||
| *** 1077,1083 **** | ||||
|   ⊥	-T	22A5	8869	UP TACK | ||||
|   ⋅	.P	22C5	8901	DOT OPERATOR | ||||
|   ⋮	:3	22EE	8942	VERTICAL ELLIPSIS | ||||
| ! ⋯       .3      22EF    8943    MIDLINE HORIZONTAL ELLIPSIS | ||||
|   ⌂	Eh	2302	8962	HOUSE | ||||
|   ⌈	<7	2308	8968	LEFT CEILING | ||||
|   ⌉	>7	2309	8969	RIGHT CEILING | ||||
| --- 1084,1090 ---- | ||||
|   ⊥	-T	22A5	8869	UP TACK | ||||
|   ⋅	.P	22C5	8901	DOT OPERATOR | ||||
|   ⋮	:3	22EE	8942	VERTICAL ELLIPSIS | ||||
| ! ⋯	.3	22EF	8943	MIDLINE HORIZONTAL ELLIPSIS | ||||
|   ⌂	Eh	2302	8962	HOUSE | ||||
|   ⌈	<7	2308	8968	LEFT CEILING | ||||
|   ⌉	>7	2309	8969	RIGHT CEILING | ||||
| *** ../vim-7.4.334/src/version.c	2014-06-18 21:20:07.240377308 +0200 | ||||
| --- src/version.c	2014-06-18 21:36:14.632413906 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     335, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You got to work at a mill?  Lucky!  I got sent back to work in the | ||||
| acid-mines for my daily crust of stale bread... which not even the | ||||
| birds would eat. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										100
									
								
								7.4.336
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								7.4.336
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,100 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.336 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.336 | ||||
| Problem:    Setting 'history' to a big value causes out-of-memory errors. | ||||
| Solution:   Limit the value to 10000. (Hirohito Higashi) | ||||
| Files:	    runtime/doc/options.txt, src/option.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.335/runtime/doc/options.txt	2014-05-28 21:40:47.088329130 +0200 | ||||
| --- runtime/doc/options.txt	2014-06-25 11:44:16.985950668 +0200 | ||||
| *************** | ||||
| *** 3920,3931 **** | ||||
|   	NOTE: This option is reset when 'compatible' is set. | ||||
|    | ||||
|   						*'history'* *'hi'* | ||||
| ! 'history' 'hi'		number	(Vim default: 20, Vi default: 0) | ||||
|   			global | ||||
|   			{not in Vi} | ||||
|   	A history of ":" commands, and a history of previous search patterns | ||||
| ! 	are remembered.  This option decides how many entries may be stored in | ||||
|   	each of these histories (see |cmdline-editing|). | ||||
|   	NOTE: This option is set to the Vi default value when 'compatible' is | ||||
|   	set and to the Vim default value when 'compatible' is reset. | ||||
|    | ||||
| --- 3920,3932 ---- | ||||
|   	NOTE: This option is reset when 'compatible' is set. | ||||
|    | ||||
|   						*'history'* *'hi'* | ||||
| ! 'history' 'hi'		number	(Vim default: 50, Vi default: 0) | ||||
|   			global | ||||
|   			{not in Vi} | ||||
|   	A history of ":" commands, and a history of previous search patterns | ||||
| ! 	is remembered.  This option decides how many entries may be stored in | ||||
|   	each of these histories (see |cmdline-editing|). | ||||
| + 	The maximum value is 10000. | ||||
|   	NOTE: This option is set to the Vi default value when 'compatible' is | ||||
|   	set and to the Vim default value when 'compatible' is reset. | ||||
|    | ||||
| *** ../vim-7.4.335/src/option.c	2014-05-13 12:16:44.037555110 +0200 | ||||
| --- src/option.c	2014-06-25 11:44:48.349951855 +0200 | ||||
| *************** | ||||
| *** 1392,1398 **** | ||||
|   			    SCRIPTID_INIT}, | ||||
|       {"history",	    "hi",   P_NUM|P_VIM, | ||||
|   			    (char_u *)&p_hi, PV_NONE, | ||||
| ! 			    {(char_u *)0L, (char_u *)20L} SCRIPTID_INIT}, | ||||
|       {"hkmap",	    "hk",   P_BOOL|P_VI_DEF|P_VIM, | ||||
|   #ifdef FEAT_RIGHTLEFT | ||||
|   			    (char_u *)&p_hkmap, PV_NONE, | ||||
| --- 1392,1398 ---- | ||||
|   			    SCRIPTID_INIT}, | ||||
|       {"history",	    "hi",   P_NUM|P_VIM, | ||||
|   			    (char_u *)&p_hi, PV_NONE, | ||||
| ! 			    {(char_u *)0L, (char_u *)50L} SCRIPTID_INIT}, | ||||
|       {"hkmap",	    "hk",   P_BOOL|P_VI_DEF|P_VIM, | ||||
|   #ifdef FEAT_RIGHTLEFT | ||||
|   			    (char_u *)&p_hkmap, PV_NONE, | ||||
| *************** | ||||
| *** 8595,8600 **** | ||||
| --- 8595,8605 ---- | ||||
|   	errmsg = e_positive; | ||||
|   	p_hi = 0; | ||||
|       } | ||||
| +     else if (p_hi > 10000) | ||||
| +     { | ||||
| + 	errmsg = e_invarg; | ||||
| + 	p_hi = 10000; | ||||
| +     } | ||||
|       if (p_re < 0 || p_re > 2) | ||||
|       { | ||||
|   	errmsg = e_invarg; | ||||
| *** ../vim-7.4.335/src/version.c	2014-06-18 21:38:12.216418355 +0200 | ||||
| --- src/version.c	2014-06-25 11:45:08.141952604 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     336, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ARTHUR:    Well, it doesn't matter.  Will you go and tell your master that | ||||
|            Arthur from the Court of Camelot is here. | ||||
| GUARD #1:  Listen, in order to maintain air-speed velocity, a swallow | ||||
|            needs to beat its wings 43 times every second, right? | ||||
| ARTHUR:    Please! | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										51
									
								
								7.4.337
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								7.4.337
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.337 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.337 | ||||
| Problem:    When there is an error preparing to edit the command line, the | ||||
| 	    command won't be executed. (Hirohito Higashi) | ||||
| Solution:   Reset did_emsg before editing. | ||||
| Files:	    src/ex_getln.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.336/src/ex_getln.c	2014-06-12 19:44:45.324549030 +0200 | ||||
| --- src/ex_getln.c	2014-06-25 12:06:38.018001402 +0200 | ||||
| *************** | ||||
| *** 342,347 **** | ||||
| --- 342,354 ---- | ||||
|       do_digraph(-1);		/* init digraph typeahead */ | ||||
|   #endif | ||||
|    | ||||
| +     /* If something above caused an error, reset the flags, we do want to type | ||||
| +      * and execute commands. Display may be messed up a bit. */ | ||||
| +     if (did_emsg) | ||||
| + 	redrawcmd(); | ||||
| +     did_emsg = FALSE; | ||||
| +     got_int = FALSE; | ||||
| +  | ||||
|       /* | ||||
|        * Collect the command string, handling editing keys. | ||||
|        */ | ||||
| *** ../vim-7.4.336/src/version.c	2014-06-25 11:48:40.733960646 +0200 | ||||
| --- src/version.c	2014-06-25 12:24:39.442042313 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     337, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Computers are not intelligent.  They only think they are. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										79
									
								
								7.4.339
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								7.4.339
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,79 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.339 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.339 | ||||
| Problem:    Local function is available globally. | ||||
| Solution:   Add "static". | ||||
| Files:	    src/option.c, src/proto/option.pro | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.338/src/option.c	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/option.c	2014-06-25 14:42:33.986355351 +0200 | ||||
| *************** | ||||
| *** 3074,3079 **** | ||||
| --- 3074,3080 ---- | ||||
|   static char_u *get_varp_scope __ARGS((struct vimoption *p, int opt_flags)); | ||||
|   static char_u *get_varp __ARGS((struct vimoption *)); | ||||
|   static void option_value2string __ARGS((struct vimoption *, int opt_flags)); | ||||
| + static void check_winopt __ARGS((winopt_T *wop)); | ||||
|   static int wc_use_keyname __ARGS((char_u *varp, long *wcp)); | ||||
|   #ifdef FEAT_LANGMAP | ||||
|   static void langmap_init __ARGS((void)); | ||||
| *************** | ||||
| *** 10305,10311 **** | ||||
|   /* | ||||
|    * Check for NULL pointers in a winopt_T and replace them with empty_option. | ||||
|    */ | ||||
| !     void | ||||
|   check_winopt(wop) | ||||
|       winopt_T	*wop UNUSED; | ||||
|   { | ||||
| --- 10306,10312 ---- | ||||
|   /* | ||||
|    * Check for NULL pointers in a winopt_T and replace them with empty_option. | ||||
|    */ | ||||
| !     static void | ||||
|   check_winopt(wop) | ||||
|       winopt_T	*wop UNUSED; | ||||
|   { | ||||
| *** ../vim-7.4.338/src/proto/option.pro	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/proto/option.pro	2014-06-25 14:42:38.702355530 +0200 | ||||
| *************** | ||||
| *** 40,46 **** | ||||
|   void win_copy_options __ARGS((win_T *wp_from, win_T *wp_to)); | ||||
|   void copy_winopt __ARGS((winopt_T *from, winopt_T *to)); | ||||
|   void check_win_options __ARGS((win_T *win)); | ||||
| - void check_winopt __ARGS((winopt_T *wop)); | ||||
|   void clear_winopt __ARGS((winopt_T *wop)); | ||||
|   void buf_copy_options __ARGS((buf_T *buf, int flags)); | ||||
|   void reset_modifiable __ARGS((void)); | ||||
| --- 40,45 ---- | ||||
| *** ../vim-7.4.338/src/version.c	2014-06-25 14:39:35.114348584 +0200 | ||||
| --- src/version.c	2014-06-25 14:43:41.502357905 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     339, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| MORTICIAN:    What? | ||||
| CUSTOMER:     Nothing -- here's your nine pence. | ||||
| DEAD PERSON:  I'm not dead! | ||||
| MORTICIAN:    Here -- he says he's not dead! | ||||
| CUSTOMER:     Yes, he is. | ||||
| DEAD PERSON:  I'm not! | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										97
									
								
								7.4.340
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								7.4.340
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,97 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.340 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.340 | ||||
| Problem:    Error from sed about illegal bytes when installing Vim. | ||||
| Solution:   Prepend LC_ALL=C. (Itchyny) | ||||
| Files:	    src/installman.sh | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.339/src/installman.sh	2010-05-15 13:04:07.000000000 +0200 | ||||
| --- src/installman.sh	2014-06-25 14:54:11.742381748 +0200 | ||||
| *************** | ||||
| *** 43,52 **** | ||||
|      fi | ||||
|   fi | ||||
|    | ||||
|   if test $what = "install"; then | ||||
|      # vim.1 | ||||
|      echo installing $destdir/$exename.1 | ||||
| !    sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/doc+$helpsubloc+ \ | ||||
|   	   -e s+$vimloc/print+$printsubloc+ \ | ||||
|   	   -e s+$vimloc/syntax+$synsubloc+ \ | ||||
| --- 43,55 ---- | ||||
|      fi | ||||
|   fi | ||||
|    | ||||
| + # Note: setting LC_ALL to C is required to avoid illegal byte errors from sed | ||||
| + # on some systems. | ||||
| +  | ||||
|   if test $what = "install"; then | ||||
|      # vim.1 | ||||
|      echo installing $destdir/$exename.1 | ||||
| !    LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/doc+$helpsubloc+ \ | ||||
|   	   -e s+$vimloc/print+$printsubloc+ \ | ||||
|   	   -e s+$vimloc/syntax+$synsubloc+ \ | ||||
| *************** | ||||
| *** 64,70 **** | ||||
|    | ||||
|      # vimtutor.1 | ||||
|      echo installing $destdir/$exename""tutor.1 | ||||
| !    sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/tutor+$tutorsubloc+ \ | ||||
|   	   $helpsource/vimtutor$langadd.1 > $destdir/$exename""tutor.1 | ||||
|      chmod $manmod $destdir/$exename""tutor.1 | ||||
| --- 67,73 ---- | ||||
|    | ||||
|      # vimtutor.1 | ||||
|      echo installing $destdir/$exename""tutor.1 | ||||
| !    LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/tutor+$tutorsubloc+ \ | ||||
|   	   $helpsource/vimtutor$langadd.1 > $destdir/$exename""tutor.1 | ||||
|      chmod $manmod $destdir/$exename""tutor.1 | ||||
| *************** | ||||
| *** 76,82 **** | ||||
|    | ||||
|      # evim.1 | ||||
|      echo installing $destdir/$evimname.1 | ||||
| !    sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/evim.vim+$scriptloc/evim.vim+ \ | ||||
|   	   $helpsource/evim$langadd.1 > $destdir/$evimname.1 | ||||
|      chmod $manmod $destdir/$evimname.1 | ||||
| --- 79,85 ---- | ||||
|    | ||||
|      # evim.1 | ||||
|      echo installing $destdir/$evimname.1 | ||||
| !    LC_ALL=C sed -e s+/usr/local/lib/vim+$vimloc+ \ | ||||
|   	   -e s+$vimloc/evim.vim+$scriptloc/evim.vim+ \ | ||||
|   	   $helpsource/evim$langadd.1 > $destdir/$evimname.1 | ||||
|      chmod $manmod $destdir/$evimname.1 | ||||
| *** ../vim-7.4.339/src/version.c	2014-06-25 14:44:04.458358774 +0200 | ||||
| --- src/version.c	2014-06-25 14:55:14.198384111 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     340, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| DEAD PERSON:  I'm getting better! | ||||
| CUSTOMER:     No, you're not -- you'll be stone dead in a moment. | ||||
| MORTICIAN:    Oh, I can't take him like that -- it's against regulations. | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										178
									
								
								7.4.341
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								7.4.341
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,178 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.341 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.341 | ||||
| Problem:    sort() doesn't handle numbers well. | ||||
| Solution:   Add an argument to specify sorting on numbers. (Christian Brabandt) | ||||
| Files:	    runtime/doc/eval.txt, src/eval.c, src/testdir/test55.in, | ||||
| 	    src/testdir/test55.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.340/runtime/doc/eval.txt	2014-06-25 14:39:35.094348583 +0200 | ||||
| --- runtime/doc/eval.txt	2014-06-25 17:05:50.606680574 +0200 | ||||
| *************** | ||||
| *** 5618,5628 **** | ||||
|   		 | ||||
|   		If you want a list to remain unmodified make a copy first: > | ||||
|   			:let sortedlist = sort(copy(mylist)) | ||||
| - <		Uses the string representation of each item to sort on. | ||||
| - 		Numbers sort after Strings, |Lists| after Numbers. | ||||
| - 		For sorting text in the current buffer use |:sort|. | ||||
|    | ||||
| ! 		When {func} is given and it is one then case is ignored. | ||||
|   		When {func} is a |Funcref| or a function name, this function | ||||
|   		is called to compare items.  The function is invoked with two | ||||
|   		items as argument and must return zero if they are equal, 1 or | ||||
| --- 5628,5647 ---- | ||||
|   		 | ||||
|   		If you want a list to remain unmodified make a copy first: > | ||||
|   			:let sortedlist = sort(copy(mylist)) | ||||
|    | ||||
| ! <		When {func} is omitted, is empty or zero, then sort() uses the | ||||
| ! 		string representation of each item to sort on.  Numbers sort | ||||
| ! 		after Strings, |Lists| after Numbers.  For sorting text in the | ||||
| ! 		current buffer use |:sort|. | ||||
| !  | ||||
| ! 		When {func} is given and it is is '1' or 'i' then case is | ||||
| ! 		ignored. | ||||
| ! 		 | ||||
| ! 		When {func} is given and it is 'n' then all items will be | ||||
| ! 		sorted numerical (Implementation detail: This uses the | ||||
| ! 		strtod() function to parse numbers, Strings, Lists, Dicts and | ||||
| ! 		Funcrefs will be considered as being 0). | ||||
| !  | ||||
|   		When {func} is a |Funcref| or a function name, this function | ||||
|   		is called to compare items.  The function is invoked with two | ||||
|   		items as argument and must return zero if they are equal, 1 or | ||||
| *** ../vim-7.4.340/src/eval.c	2014-06-17 17:48:21.776628008 +0200 | ||||
| --- src/eval.c	2014-06-25 17:23:05.466719724 +0200 | ||||
| *************** | ||||
| *** 17330,17335 **** | ||||
| --- 17330,17336 ---- | ||||
|   	item_compare2 __ARGS((const void *s1, const void *s2)); | ||||
|    | ||||
|   static int	item_compare_ic; | ||||
| + static int	item_compare_numeric; | ||||
|   static char_u	*item_compare_func; | ||||
|   static dict_T	*item_compare_selfdict; | ||||
|   static int	item_compare_func_err; | ||||
| *************** | ||||
| *** 17359,17368 **** | ||||
|   	p1 = (char_u *)""; | ||||
|       if (p2 == NULL) | ||||
|   	p2 = (char_u *)""; | ||||
| !     if (item_compare_ic) | ||||
| ! 	res = STRICMP(p1, p2); | ||||
|       else | ||||
| ! 	res = STRCMP(p1, p2); | ||||
|       vim_free(tofree1); | ||||
|       vim_free(tofree2); | ||||
|       return res; | ||||
| --- 17360,17379 ---- | ||||
|   	p1 = (char_u *)""; | ||||
|       if (p2 == NULL) | ||||
|   	p2 = (char_u *)""; | ||||
| !     if (!item_compare_numeric) | ||||
| !     { | ||||
| ! 	if (item_compare_ic) | ||||
| ! 	    res = STRICMP(p1, p2); | ||||
| ! 	else | ||||
| ! 	    res = STRCMP(p1, p2); | ||||
| !     } | ||||
|       else | ||||
| !     { | ||||
| ! 	double n1, n2; | ||||
| ! 	n1 = strtod((char *)p1, (char **)&p1); | ||||
| ! 	n2 = strtod((char *)p2, (char **)&p2); | ||||
| ! 	res = n1 == n2 ? 0 : n1 > n2 ? 1 : -1; | ||||
| !     } | ||||
|       vim_free(tofree1); | ||||
|       vim_free(tofree2); | ||||
|       return res; | ||||
| *************** | ||||
| *** 17439,17444 **** | ||||
| --- 17450,17456 ---- | ||||
|   	    return;	/* short list sorts pretty quickly */ | ||||
|    | ||||
|   	item_compare_ic = FALSE; | ||||
| + 	item_compare_numeric = FALSE; | ||||
|   	item_compare_func = NULL; | ||||
|   	item_compare_selfdict = NULL; | ||||
|   	if (argvars[1].v_type != VAR_UNKNOWN) | ||||
| *************** | ||||
| *** 17457,17462 **** | ||||
| --- 17469,17487 ---- | ||||
|   		    item_compare_ic = TRUE; | ||||
|   		else | ||||
|   		    item_compare_func = get_tv_string(&argvars[1]); | ||||
| + 		if (item_compare_func != NULL) | ||||
| + 		{ | ||||
| + 		    if (STRCMP(item_compare_func, "n") == 0) | ||||
| + 		    { | ||||
| + 			item_compare_func = NULL; | ||||
| + 			item_compare_numeric = TRUE; | ||||
| + 		    } | ||||
| + 		    else if (STRCMP(item_compare_func, "i") == 0) | ||||
| + 		    { | ||||
| + 			item_compare_func = NULL; | ||||
| + 			item_compare_ic = TRUE; | ||||
| + 		    } | ||||
| + 		} | ||||
|   	    } | ||||
|    | ||||
|   	    if (argvars[2].v_type != VAR_UNKNOWN) | ||||
| *** ../vim-7.4.340/src/testdir/test55.in	2014-03-25 18:23:27.062087691 +0100 | ||||
| --- src/testdir/test55.in	2014-06-25 17:20:47.006714486 +0200 | ||||
| *************** | ||||
| *** 332,337 **** | ||||
| --- 332,342 ---- | ||||
|   :$put =string(reverse(sort(l))) | ||||
|   :$put =string(sort(reverse(sort(l)))) | ||||
|   :$put =string(uniq(sort(l))) | ||||
| + :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []] | ||||
| + :$put =string(sort(copy(l), 'n')) | ||||
| + :$put =string(sort(copy(l), 1)) | ||||
| + :$put =string(sort(copy(l), 'i')) | ||||
| + :$put =string(sort(copy(l))) | ||||
|   :" | ||||
|   :" splitting a string to a List | ||||
|   :$put =string(split('  aa  bb ')) | ||||
| *** ../vim-7.4.340/src/testdir/test55.ok	2014-03-25 18:23:27.062087691 +0100 | ||||
| --- src/testdir/test55.ok	2014-06-25 17:23:31.382720704 +0200 | ||||
| *************** | ||||
| *** 101,106 **** | ||||
| --- 101,110 ---- | ||||
|   [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0'] | ||||
|   ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]] | ||||
|   ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]] | ||||
| + [-1, 0, 0, 'foo', 'FOOBAR', {}, [], 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255] | ||||
| + ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| + ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| + ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['aa', 'bb'] | ||||
|   ['aa', 'bb'] | ||||
|   ['', 'aa', 'bb', ''] | ||||
| *** ../vim-7.4.340/src/version.c	2014-06-25 15:02:29.250400570 +0200 | ||||
| --- src/version.c	2014-06-25 16:46:45.438637250 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     341, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| We do not stumble over mountains, but over molehills. | ||||
| 				Confucius | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										67
									
								
								7.4.342
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								7.4.342
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.342 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.342 | ||||
| Problem:    Clang gives warnings. | ||||
| Solution:   Add an else block. (Dominique Pelle) | ||||
| Files:	    src/gui_beval.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.341/src/gui_beval.c	2013-05-06 04:06:04.000000000 +0200 | ||||
| --- src/gui_beval.c	2014-06-25 17:40:40.818759649 +0200 | ||||
| *************** | ||||
| *** 1193,1203 **** | ||||
|   	    XmFontList fl; | ||||
|    | ||||
|   	    fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset); | ||||
| ! 	    if (fl != NULL) | ||||
|   	    { | ||||
| ! 		XmStringExtent(fl, s, &w, &h); | ||||
| ! 		XmFontListFree(fl); | ||||
|   	    } | ||||
|   	} | ||||
|   	w += gui.border_offset << 1; | ||||
|   	h += gui.border_offset << 1; | ||||
| --- 1193,1205 ---- | ||||
|   	    XmFontList fl; | ||||
|    | ||||
|   	    fl = gui_motif_fontset2fontlist(&gui.tooltip_fontset); | ||||
| ! 	    if (fl == NULL) | ||||
|   	    { | ||||
| ! 		XmStringFree(s); | ||||
| ! 		return; | ||||
|   	    } | ||||
| + 	    XmStringExtent(fl, s, &w, &h); | ||||
| + 	    XmFontListFree(fl); | ||||
|   	} | ||||
|   	w += gui.border_offset << 1; | ||||
|   	h += gui.border_offset << 1; | ||||
| *** ../vim-7.4.341/src/version.c	2014-06-25 17:31:04.942737863 +0200 | ||||
| --- src/version.c	2014-06-25 17:40:56.902760258 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     342, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| CUSTOMER:     Well, can you hang around a couple of minutes?  He won't be | ||||
|               long. | ||||
| MORTICIAN:    Naaah, I got to go on to Robinson's -- they've lost nine today. | ||||
| CUSTOMER:     Well, when is your next round? | ||||
| MORTICIAN:    Thursday. | ||||
| DEAD PERSON:  I think I'll go for a walk. | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										60
									
								
								7.4.343
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								7.4.343
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,60 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.343 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.343 | ||||
| Problem:    matchdelete() does not always update the right lines. | ||||
| Solution:   Fix off-by-one error.  (Ozaki Kiichi) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.342/src/window.c	2014-06-18 21:20:07.236377308 +0200 | ||||
| --- src/window.c	2014-06-25 17:55:34.190793447 +0200 | ||||
| *************** | ||||
| *** 6891,6898 **** | ||||
|   	    } | ||||
|   	    if (toplnum == 0 || lnum < toplnum) | ||||
|   		toplnum = lnum; | ||||
| ! 	    if (botlnum == 0 || lnum > botlnum) | ||||
| ! 		botlnum = lnum; | ||||
|   	} | ||||
|    | ||||
|   	/* Calculate top and bottom lines for redrawing area */ | ||||
| --- 6891,6898 ---- | ||||
|   	    } | ||||
|   	    if (toplnum == 0 || lnum < toplnum) | ||||
|   		toplnum = lnum; | ||||
| ! 	    if (botlnum == 0 || lnum >= botlnum) | ||||
| ! 		botlnum = lnum + 1; | ||||
|   	} | ||||
|    | ||||
|   	/* Calculate top and bottom lines for redrawing area */ | ||||
| *** ../vim-7.4.342/src/version.c	2014-06-25 17:44:45.850768919 +0200 | ||||
| --- src/version.c	2014-06-25 17:54:14.258790423 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     343, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| CUSTOMER:     You're not fooling anyone y'know.  Look, isn't there something | ||||
|               you can do? | ||||
| DEAD PERSON:  I feel happy... I feel happy. | ||||
|     [whop] | ||||
| CUSTOMER:     Ah, thanks very much. | ||||
| MORTICIAN:    Not at all.  See you on Thursday. | ||||
| CUSTOMER:     Right. | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										180
									
								
								7.4.344
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										180
									
								
								7.4.344
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,180 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.344 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.344 | ||||
| Problem:    Unessecary initializations and other things related to | ||||
| 	    matchaddpos(). | ||||
| Solution:   Code cleanup. (Alexey Radkov) | ||||
| Files:	    runtime/doc/eval.txt, src/screen.c, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.343/runtime/doc/eval.txt	2014-06-25 17:31:04.934737863 +0200 | ||||
| --- runtime/doc/eval.txt	2014-06-25 18:08:50.790823583 +0200 | ||||
| *************** | ||||
| *** 4353,4369 **** | ||||
|   		required, for example to highlight matching parentheses. | ||||
|    | ||||
|   		The list {pos} can contain one of these items: | ||||
| ! 		- A number.  This while line will be highlighted.  The first | ||||
|   		  line has number 1. | ||||
|   		- A list with one number, e.g., [23]. The whole line with this | ||||
|   		  number will be highlighted. | ||||
|   		- A list with two numbers, e.g., [23, 11]. The first number is | ||||
| ! 		  the line number, the second one the column number (first | ||||
| ! 		  column is 1).  The character at this position will be | ||||
| ! 		  highlighted. | ||||
|   		- A list with three numbers, e.g., [23, 11, 3]. As above, but | ||||
| ! 		  the third number gives the length of the highlight in screen | ||||
| ! 		  cells. | ||||
|   		 | ||||
|   		The maximum number of positions is 8. | ||||
|    | ||||
| --- 4391,4407 ---- | ||||
|   		required, for example to highlight matching parentheses. | ||||
|    | ||||
|   		The list {pos} can contain one of these items: | ||||
| ! 		- A number.  This whole line will be highlighted.  The first | ||||
|   		  line has number 1. | ||||
|   		- A list with one number, e.g., [23]. The whole line with this | ||||
|   		  number will be highlighted. | ||||
|   		- A list with two numbers, e.g., [23, 11]. The first number is | ||||
| ! 		  the line number, the second one is the column number (first | ||||
| ! 		  column is 1, the value must correspond to the byte index as | ||||
| ! 		  |col()| would return).  The character at this position will | ||||
| ! 		  be highlighted. | ||||
|   		- A list with three numbers, e.g., [23, 11, 3]. As above, but | ||||
| ! 		  the third number gives the length of the highlight in bytes. | ||||
|   		 | ||||
|   		The maximum number of positions is 8. | ||||
|    | ||||
| *** ../vim-7.4.343/src/screen.c	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/screen.c	2014-06-25 18:10:11.906826652 +0200 | ||||
| *************** | ||||
| *** 7531,7537 **** | ||||
|       colnr_T	    mincol;	/* minimal column for a match */ | ||||
|   { | ||||
|       int	    i; | ||||
| !     int     bot = -1; | ||||
|    | ||||
|       shl->lnum = 0; | ||||
|       for (i = posmatch->cur; i < MAXPOSMATCH; i++) | ||||
| --- 7531,7537 ---- | ||||
|       colnr_T	    mincol;	/* minimal column for a match */ | ||||
|   { | ||||
|       int	    i; | ||||
| !     int	    bot = -1; | ||||
|    | ||||
|       shl->lnum = 0; | ||||
|       for (i = posmatch->cur; i < MAXPOSMATCH; i++) | ||||
| *** ../vim-7.4.343/src/window.c	2014-06-25 17:58:07.346799241 +0200 | ||||
| --- src/window.c	2014-06-25 18:10:45.698827930 +0200 | ||||
| *************** | ||||
| *** 6813,6819 **** | ||||
|       m->id = id; | ||||
|       m->priority = prio; | ||||
|       m->pattern = pat == NULL ? NULL : vim_strsave(pat); | ||||
| -     m->pos.cur = 0; | ||||
|       m->hlg_id = hlg_id; | ||||
|       m->match.regprog = regprog; | ||||
|       m->match.rmm_ic = FALSE; | ||||
| --- 6813,6818 ---- | ||||
| *************** | ||||
| *** 6827,6833 **** | ||||
|   	listitem_T	*li; | ||||
|   	int		i; | ||||
|    | ||||
| ! 	for (i = 0, li = pos_list->lv_first; i < MAXPOSMATCH; | ||||
|   							i++, li = li->li_next) | ||||
|   	{ | ||||
|   	    linenr_T	lnum = 0; | ||||
| --- 6826,6832 ---- | ||||
|   	listitem_T	*li; | ||||
|   	int		i; | ||||
|    | ||||
| ! 	for (i = 0, li = pos_list->lv_first; li != NULL && i < MAXPOSMATCH; | ||||
|   							i++, li = li->li_next) | ||||
|   	{ | ||||
|   	    linenr_T	lnum = 0; | ||||
| *************** | ||||
| *** 6837,6847 **** | ||||
|   	    listitem_T	*subli; | ||||
|   	    int		error = FALSE; | ||||
|    | ||||
| - 	    if (li == NULL) | ||||
| - 	    { | ||||
| - 		m->pos.pos[i].lnum = 0; | ||||
| - 		break; | ||||
| - 	    } | ||||
|   	    if (li->li_tv.v_type == VAR_LIST) | ||||
|   	    { | ||||
|   		subl = li->li_tv.vval.v_list; | ||||
| --- 6836,6841 ---- | ||||
| *************** | ||||
| *** 6853,6864 **** | ||||
|   		lnum = get_tv_number_chk(&subli->li_tv, &error); | ||||
|   		if (error == TRUE) | ||||
|   		    goto fail; | ||||
| - 		m->pos.pos[i].lnum = lnum; | ||||
|   		if (lnum == 0) | ||||
|   		{ | ||||
|   		    --i; | ||||
|   		    continue; | ||||
|   		} | ||||
|   		subli = subli->li_next; | ||||
|   		if (subli != NULL) | ||||
|   		{ | ||||
| --- 6847,6858 ---- | ||||
|   		lnum = get_tv_number_chk(&subli->li_tv, &error); | ||||
|   		if (error == TRUE) | ||||
|   		    goto fail; | ||||
|   		if (lnum == 0) | ||||
|   		{ | ||||
|   		    --i; | ||||
|   		    continue; | ||||
|   		} | ||||
| + 		m->pos.pos[i].lnum = lnum; | ||||
|   		subli = subli->li_next; | ||||
|   		if (subli != NULL) | ||||
|   		{ | ||||
| *************** | ||||
| *** 6879,6885 **** | ||||
| --- 6873,6882 ---- | ||||
|   	    else if (li->li_tv.v_type == VAR_NUMBER) | ||||
|   	    { | ||||
|   		if (li->li_tv.vval.v_number == 0) | ||||
| + 		{ | ||||
| + 		    --i; | ||||
|   		    continue; | ||||
| + 		} | ||||
|   		m->pos.pos[i].lnum = li->li_tv.vval.v_number; | ||||
|   		m->pos.pos[i].col = 0; | ||||
|   		m->pos.pos[i].len = 0; | ||||
| *** ../vim-7.4.343/src/version.c	2014-06-25 17:58:07.346799241 +0200 | ||||
| --- src/version.c	2014-06-25 18:07:06.170819625 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     344, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|     [clop clop] | ||||
| MORTICIAN:  Who's that then? | ||||
| CUSTOMER:   I don't know. | ||||
| MORTICIAN:  Must be a king. | ||||
| CUSTOMER:   Why? | ||||
| MORTICIAN:  He hasn't got shit all over him. | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										73
									
								
								7.4.345
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								7.4.345
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.345 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.345 (after 7.4.338) | ||||
| Problem:    Indent is not updated when deleting indent. | ||||
| Solution:   Remember changedtick. | ||||
| Files:	    src/misc1.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.344/src/misc1.c	2014-06-25 14:39:35.106348584 +0200 | ||||
| --- src/misc1.c	2014-06-25 22:51:32.955465286 +0200 | ||||
| *************** | ||||
| *** 497,502 **** | ||||
| --- 497,503 ---- | ||||
|       static int	    prev_indent = 0;  /* cached indent value */ | ||||
|       static long	    prev_ts     = 0L; /* cached tabstop value */ | ||||
|       static char_u   *prev_line = NULL; /* cached pointer to line */ | ||||
| +     static int	    prev_tick = 0;   /* changedtick of cached value */ | ||||
|       int		    bri = 0; | ||||
|       /* window width minus window margin space, i.e. what rests for text */ | ||||
|       const int	    eff_wwidth = W_WIDTH(wp) | ||||
| *************** | ||||
| *** 505,514 **** | ||||
|   						? number_width(wp) + 1 : 0); | ||||
|    | ||||
|       /* used cached indent, unless pointer or 'tabstop' changed */ | ||||
| !     if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts) | ||||
|       { | ||||
|   	prev_line = line; | ||||
|   	prev_ts = wp->w_buffer->b_p_ts; | ||||
|   	prev_indent = get_indent_str(line, | ||||
|   		  (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift; | ||||
|       } | ||||
| --- 506,517 ---- | ||||
|   						? number_width(wp) + 1 : 0); | ||||
|    | ||||
|       /* used cached indent, unless pointer or 'tabstop' changed */ | ||||
| !     if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts | ||||
| ! 				  || prev_tick != wp->w_buffer->b_changedtick) | ||||
|       { | ||||
|   	prev_line = line; | ||||
|   	prev_ts = wp->w_buffer->b_p_ts; | ||||
| + 	prev_tick = wp->w_buffer->b_changedtick; | ||||
|   	prev_indent = get_indent_str(line, | ||||
|   		  (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift; | ||||
|       } | ||||
| *** ../vim-7.4.344/src/version.c	2014-06-25 18:15:18.446838249 +0200 | ||||
| --- src/version.c	2014-06-25 22:52:55.971468427 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     345, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ARTHUR:  Well, I can't just call you `Man'. | ||||
| DENNIS:  Well, you could say `Dennis'. | ||||
| ARTHUR:  Well, I didn't know you were called `Dennis.' | ||||
| DENNIS:  Well, you didn't bother to find out, did you? | ||||
|                                   The Quest for the Holy Grail (Monty Python) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										61
									
								
								7.4.346
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								7.4.346
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,61 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.346 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.346 (after 7.4.338) | ||||
| Problem:    Indent is not updated when changing 'breakindentopt'. (itchyny) | ||||
| Solution:   Do not cache "brishift". (Christian Brabandt) | ||||
| Files:	    src/misc1.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.345/src/misc1.c	2014-06-25 22:55:34.783474435 +0200 | ||||
| --- src/misc1.c	2014-06-26 21:15:46.970516542 +0200 | ||||
| *************** | ||||
| *** 513,523 **** | ||||
|   	prev_ts = wp->w_buffer->b_p_ts; | ||||
|   	prev_tick = wp->w_buffer->b_changedtick; | ||||
|   	prev_indent = get_indent_str(line, | ||||
| ! 		  (int)wp->w_buffer->b_p_ts, wp->w_p_list) + wp->w_p_brishift; | ||||
|       } | ||||
|    | ||||
|       /* indent minus the length of the showbreak string */ | ||||
| -     bri = prev_indent; | ||||
|       if (wp->w_p_brisbr) | ||||
|   	bri -= vim_strsize(p_sbr); | ||||
|    | ||||
| --- 513,523 ---- | ||||
|   	prev_ts = wp->w_buffer->b_p_ts; | ||||
|   	prev_tick = wp->w_buffer->b_changedtick; | ||||
|   	prev_indent = get_indent_str(line, | ||||
| ! 				     (int)wp->w_buffer->b_p_ts, wp->w_p_list); | ||||
|       } | ||||
| +     bri = prev_indent + wp->w_p_brishift; | ||||
|    | ||||
|       /* indent minus the length of the showbreak string */ | ||||
|       if (wp->w_p_brisbr) | ||||
|   	bri -= vim_strsize(p_sbr); | ||||
|    | ||||
| *** ../vim-7.4.345/src/version.c	2014-06-25 22:55:34.783474435 +0200 | ||||
| --- src/version.c	2014-06-26 21:17:10.342519697 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     346, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| A computer programmer is a device for turning requirements into | ||||
| undocumented features.  It runs on cola, pizza and Dilbert cartoons. | ||||
| 					Bram Moolenaar | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										74
									
								
								7.4.347
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								7.4.347
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,74 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.347 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.347 | ||||
| Problem:    test55 fails on some systems. | ||||
| Solution:   Remove the elements that all result in zero and can end up in an | ||||
| 	    arbitrary position. | ||||
| Files:	    src/testdir/test55.in, src/testdir/test55.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.346/src/testdir/test55.in	2014-06-25 17:31:04.942737863 +0200 | ||||
| --- src/testdir/test55.in	2014-06-26 22:25:33.078674909 +0200 | ||||
| *************** | ||||
| *** 332,339 **** | ||||
|   :$put =string(reverse(sort(l))) | ||||
|   :$put =string(sort(reverse(sort(l)))) | ||||
|   :$put =string(uniq(sort(l))) | ||||
| ! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []] | ||||
|   :$put =string(sort(copy(l), 'n')) | ||||
|   :$put =string(sort(copy(l), 1)) | ||||
|   :$put =string(sort(copy(l), 'i')) | ||||
|   :$put =string(sort(copy(l))) | ||||
| --- 332,340 ---- | ||||
|   :$put =string(reverse(sort(l))) | ||||
|   :$put =string(sort(reverse(sort(l)))) | ||||
|   :$put =string(uniq(sort(l))) | ||||
| ! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0.22, 'foo'] | ||||
|   :$put =string(sort(copy(l), 'n')) | ||||
| + :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []] | ||||
|   :$put =string(sort(copy(l), 1)) | ||||
|   :$put =string(sort(copy(l), 'i')) | ||||
|   :$put =string(sort(copy(l))) | ||||
| *** ../vim-7.4.346/src/testdir/test55.ok	2014-06-25 17:31:04.942737863 +0200 | ||||
| --- src/testdir/test55.ok	2014-06-26 22:26:38.662677390 +0200 | ||||
| *************** | ||||
| *** 101,107 **** | ||||
|   [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0'] | ||||
|   ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]] | ||||
|   ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]] | ||||
| ! [-1, 0, 0, 'foo', 'FOOBAR', {}, [], 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255] | ||||
|   ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| --- 101,107 ---- | ||||
|   [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0'] | ||||
|   ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]] | ||||
|   ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]] | ||||
| ! [-1, 'foo', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255] | ||||
|   ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| *** ../vim-7.4.346/src/version.c	2014-06-26 21:24:53.134537205 +0200 | ||||
| --- src/version.c	2014-06-26 22:28:15.402681050 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     347, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Witches prefer brooms: vacuum-cleaners need extension cords! | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										58
									
								
								7.4.348
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								7.4.348
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.348 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.348 | ||||
| Problem:    When using "J1" in 'cinoptions' a line below a continuation line | ||||
| 	    gets too much indent. | ||||
| Solution:   Fix parenthesis in condition. | ||||
| Files:	    src/misc1.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.347/src/misc1.c	2014-06-26 21:24:53.134537205 +0200 | ||||
| --- src/misc1.c	2014-07-02 16:58:08.854208322 +0200 | ||||
| *************** | ||||
| *** 7497,7505 **** | ||||
|   	     *			ldfd) { | ||||
|   	     *		    } | ||||
|   	     */ | ||||
| ! 	    if (curbuf->b_ind_js || (curbuf->b_ind_keep_case_label | ||||
| ! 			   && cin_iscase(skipwhite(ml_get_curline()), FALSE))) | ||||
|   		amount = get_indent(); | ||||
|   	    else | ||||
|   		amount = skip_label(lnum, &l); | ||||
|    | ||||
| --- 7497,7507 ---- | ||||
|   	     *			ldfd) { | ||||
|   	     *		    } | ||||
|   	     */ | ||||
| ! 	    if ((curbuf->b_ind_js || curbuf->b_ind_keep_case_label) | ||||
| ! 			   && cin_iscase(skipwhite(ml_get_curline()), FALSE)) | ||||
|   		amount = get_indent(); | ||||
| + 	    else if (curbuf->b_ind_js) | ||||
| + 		amount = get_indent_lnum(lnum); | ||||
|   	    else | ||||
|   		amount = skip_label(lnum, &l); | ||||
|    | ||||
| *** ../vim-7.4.347/src/version.c	2014-06-26 22:33:47.850693627 +0200 | ||||
| --- src/version.c	2014-07-02 16:46:14.934197383 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     348, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| 5 out of 4 people have trouble with fractions. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										111
									
								
								7.4.349
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								7.4.349
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,111 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.349 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.349 | ||||
| Problem:    When there are matches to highlight the whole window is redrawn, | ||||
| 	    which is slow. | ||||
| Solution:   Only redraw everything when lines were inserted or deleted. | ||||
| 	    Reset b_mod_xlines when needed.  (Alexey Radkov) | ||||
| Files:	    src/screen.c, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.348/src/screen.c	2014-06-25 18:15:18.446838249 +0200 | ||||
| --- src/screen.c	2014-06-28 15:35:18.868836570 +0200 | ||||
| *************** | ||||
| *** 1769,1776 **** | ||||
|   					syntax_check_changed(lnum))) | ||||
|   #endif | ||||
|   #ifdef FEAT_SEARCH_EXTRA | ||||
| ! 				/* match in fixed position might need redraw */ | ||||
| ! 				||  wp->w_match_head != NULL | ||||
|   #endif | ||||
|   				))))) | ||||
|   	{ | ||||
| --- 1769,1778 ---- | ||||
|   					syntax_check_changed(lnum))) | ||||
|   #endif | ||||
|   #ifdef FEAT_SEARCH_EXTRA | ||||
| ! 				/* match in fixed position might need redraw | ||||
| ! 				 * if lines were inserted or deleted */ | ||||
| ! 				|| (wp->w_match_head != NULL | ||||
| ! 						    && buf->b_mod_xlines != 0) | ||||
|   #endif | ||||
|   				))))) | ||||
|   	{ | ||||
| *** ../vim-7.4.348/src/window.c	2014-06-25 18:15:18.446838249 +0200 | ||||
| --- src/window.c	2014-06-28 15:38:51.952839835 +0200 | ||||
| *************** | ||||
| *** 6904,6915 **** | ||||
|   	    } | ||||
|   	    else | ||||
|   	    { | ||||
|   		wp->w_buffer->b_mod_top = toplnum; | ||||
|   		wp->w_buffer->b_mod_bot = botlnum; | ||||
|   	    } | ||||
|   	    m->pos.toplnum = toplnum; | ||||
|   	    m->pos.botlnum = botlnum; | ||||
| - 	    wp->w_buffer->b_mod_set = TRUE; | ||||
|   	    rtype = VALID; | ||||
|   	} | ||||
|       } | ||||
| --- 6904,6916 ---- | ||||
|   	    } | ||||
|   	    else | ||||
|   	    { | ||||
| + 		wp->w_buffer->b_mod_set = TRUE; | ||||
|   		wp->w_buffer->b_mod_top = toplnum; | ||||
|   		wp->w_buffer->b_mod_bot = botlnum; | ||||
| + 		wp->w_buffer->b_mod_xlines = 0; | ||||
|   	    } | ||||
|   	    m->pos.toplnum = toplnum; | ||||
|   	    m->pos.botlnum = botlnum; | ||||
|   	    rtype = VALID; | ||||
|   	} | ||||
|       } | ||||
| *************** | ||||
| *** 6986,6995 **** | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    wp->w_buffer->b_mod_top = cur->pos.toplnum; | ||||
|   	    wp->w_buffer->b_mod_bot = cur->pos.botlnum; | ||||
|   	} | ||||
| - 	wp->w_buffer->b_mod_set = TRUE; | ||||
|   	rtype = VALID; | ||||
|       } | ||||
|       vim_free(cur); | ||||
| --- 6987,6997 ---- | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| + 	    wp->w_buffer->b_mod_set = TRUE; | ||||
|   	    wp->w_buffer->b_mod_top = cur->pos.toplnum; | ||||
|   	    wp->w_buffer->b_mod_bot = cur->pos.botlnum; | ||||
| + 	    wp->w_buffer->b_mod_xlines = 0; | ||||
|   	} | ||||
|   	rtype = VALID; | ||||
|       } | ||||
|       vim_free(cur); | ||||
| *** ../vim-7.4.348/src/version.c	2014-07-02 17:02:29.726212319 +0200 | ||||
| --- src/version.c	2014-07-02 17:15:58.646224714 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     349, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Trees moving back and forth is what makes the wind blow. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										139
									
								
								7.4.350
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										139
									
								
								7.4.350
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,139 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.350 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.350 | ||||
| Problem:    Using C indenting for Javascript does not work well for a {} block | ||||
| 	    inside parenthesis. | ||||
| Solution:   When looking for a matching paren ignore one that is before the | ||||
| 	    start of a {} block. | ||||
| Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.349/src/misc1.c	2014-07-02 17:02:29.722212319 +0200 | ||||
| --- src/misc1.c	2014-07-02 18:09:39.670274070 +0200 | ||||
| *************** | ||||
| *** 6614,6620 **** | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| !  * Find the matching '(', failing if it is in a comment. | ||||
|    * Return NULL if no match found. | ||||
|    */ | ||||
|       static pos_T * | ||||
| --- 6614,6620 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| !  * Find the matching '(', ignoring it if it is in a comment. | ||||
|    * Return NULL if no match found. | ||||
|    */ | ||||
|       static pos_T * | ||||
| *************** | ||||
| *** 6645,6650 **** | ||||
| --- 6645,6676 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| +  * Find the matching '(', ignoring it if it is in a comment or before an | ||||
| +  * unmatched {. | ||||
| +  * Return NULL if no match found. | ||||
| +  */ | ||||
| +     static pos_T * | ||||
| + find_match_paren_after_brace(ind_maxparen)	    /* XXX */ | ||||
| +     int		ind_maxparen; | ||||
| + { | ||||
| +     pos_T	*trypos = find_match_paren(ind_maxparen); | ||||
| +  | ||||
| +     if (trypos != NULL) | ||||
| +     { | ||||
| + 	pos_T	*tryposBrace = find_start_brace(); | ||||
| +  | ||||
| + 	/* If both an unmatched '(' and '{' is found.  Ignore the '(' | ||||
| + 	 * position if the '{' is further down. */ | ||||
| + 	if (tryposBrace != NULL | ||||
| + 		&& (trypos->lnum != tryposBrace->lnum | ||||
| + 		    ? trypos->lnum < tryposBrace->lnum | ||||
| + 		    : trypos->col < tryposBrace->col)) | ||||
| + 	    trypos = NULL; | ||||
| +     } | ||||
| +     return trypos; | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
|    * Return ind_maxparen corrected for the difference in line number between the | ||||
|    * cursor position and "startpos".  This makes sure that searching for a | ||||
|    * matching paren above the cursor line doesn't find a match because of | ||||
| *************** | ||||
| *** 7419,7425 **** | ||||
|   		{ | ||||
|   		    curwin->w_cursor.lnum = our_paren_pos.lnum; | ||||
|   		    curwin->w_cursor.col = col; | ||||
| ! 		    if (find_match_paren(curbuf->b_ind_maxparen) != NULL) | ||||
|   			amount += curbuf->b_ind_unclosed2; | ||||
|   		    else | ||||
|   		    { | ||||
| --- 7445,7452 ---- | ||||
|   		{ | ||||
|   		    curwin->w_cursor.lnum = our_paren_pos.lnum; | ||||
|   		    curwin->w_cursor.col = col; | ||||
| ! 		    if (find_match_paren_after_brace(curbuf->b_ind_maxparen) | ||||
| ! 								      != NULL) | ||||
|   			amount += curbuf->b_ind_unclosed2; | ||||
|   		    else | ||||
|   		    { | ||||
| *** ../vim-7.4.349/src/testdir/test3.in	2013-03-07 12:39:35.000000000 +0100 | ||||
| --- src/testdir/test3.in	2014-07-02 18:08:06.430272641 +0200 | ||||
| *************** | ||||
| *** 1950,1955 **** | ||||
| --- 1950,1959 ---- | ||||
|   JSSTART | ||||
|   (function($){ | ||||
|    | ||||
| + if (cond && | ||||
| + cond) { | ||||
| + stmt; | ||||
| + } | ||||
|   var class_name='myclass'; | ||||
|    | ||||
|   function private_method() { | ||||
| *** ../vim-7.4.349/src/testdir/test3.ok	2013-03-07 12:40:03.000000000 +0100 | ||||
| --- src/testdir/test3.ok	2014-07-02 18:09:14.470273684 +0200 | ||||
| *************** | ||||
| *** 1728,1733 **** | ||||
| --- 1728,1737 ---- | ||||
|   JSSTART | ||||
|   (function($){ | ||||
|    | ||||
| + 	if (cond && | ||||
| + 			cond) { | ||||
| + 		stmt; | ||||
| + 	} | ||||
|   	var class_name='myclass'; | ||||
|    | ||||
|   	function private_method() { | ||||
| *** ../vim-7.4.349/src/version.c	2014-07-02 17:16:51.334225522 +0200 | ||||
| --- src/version.c	2014-07-02 18:06:31.330271184 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     350, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FATHER:    You killed eight wedding guests in all! | ||||
| LAUNCELOT: Er, Well ... the thing is ... I thought your son was a lady. | ||||
| FATHER:    I can understand that. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										160
									
								
								7.4.351
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								7.4.351
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,160 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.351 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.351 | ||||
| Problem:    sort() is not stable. | ||||
| Solution:   When the items are identical, compare the pointers. | ||||
| Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.350/src/eval.c	2014-06-25 17:31:04.942737863 +0200 | ||||
| --- src/eval.c	2014-07-02 18:52:19.102313288 +0200 | ||||
| *************** | ||||
| *** 17334,17339 **** | ||||
| --- 17334,17340 ---- | ||||
|   static char_u	*item_compare_func; | ||||
|   static dict_T	*item_compare_selfdict; | ||||
|   static int	item_compare_func_err; | ||||
| + static int	item_compare_keep_zero; | ||||
|   static void	do_sort_uniq __ARGS((typval_T *argvars, typval_T *rettv, int sort)); | ||||
|   #define ITEM_COMPARE_FAIL 999 | ||||
|    | ||||
| *************** | ||||
| *** 17374,17379 **** | ||||
| --- 17375,17386 ---- | ||||
|   	n2 = strtod((char *)p2, (char **)&p2); | ||||
|   	res = n1 == n2 ? 0 : n1 > n2 ? 1 : -1; | ||||
|       } | ||||
| +  | ||||
| +     /* When the result would be zero, compare the pointers themselves.  Makes | ||||
| +      * the sort stable. */ | ||||
| +     if (res == 0 && !item_compare_keep_zero) | ||||
| + 	res = s1 > s2 ? 1 : -1; | ||||
| +  | ||||
|       vim_free(tofree1); | ||||
|       vim_free(tofree2); | ||||
|       return res; | ||||
| *************** | ||||
| *** 17396,17402 **** | ||||
|       if (item_compare_func_err) | ||||
|   	return 0; | ||||
|    | ||||
| !     /* copy the values.  This is needed to be able to set v_lock to VAR_FIXED | ||||
|        * in the copy without changing the original list items. */ | ||||
|       copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]); | ||||
|       copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]); | ||||
| --- 17403,17409 ---- | ||||
|       if (item_compare_func_err) | ||||
|   	return 0; | ||||
|    | ||||
| !     /* Copy the values.  This is needed to be able to set v_lock to VAR_FIXED | ||||
|        * in the copy without changing the original list items. */ | ||||
|       copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]); | ||||
|       copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]); | ||||
| *************** | ||||
| *** 17415,17420 **** | ||||
| --- 17422,17433 ---- | ||||
|       if (item_compare_func_err) | ||||
|   	res = ITEM_COMPARE_FAIL;  /* return value has wrong type */ | ||||
|       clear_tv(&rettv); | ||||
| +  | ||||
| +     /* When the result would be zero, compare the pointers themselves.  Makes | ||||
| +      * the sort stable. */ | ||||
| +     if (res == 0 && !item_compare_keep_zero) | ||||
| + 	res = s1 > s2 ? 1 : -1; | ||||
| +  | ||||
|       return res; | ||||
|   } | ||||
|    | ||||
| *************** | ||||
| *** 17509,17514 **** | ||||
| --- 17522,17528 ---- | ||||
|   		ptrs[i++] = li; | ||||
|    | ||||
|   	    item_compare_func_err = FALSE; | ||||
| + 	    item_compare_keep_zero = FALSE; | ||||
|   	    /* test the compare function */ | ||||
|   	    if (item_compare_func != NULL | ||||
|   		    && item_compare2((void *)&ptrs[0], (void *)&ptrs[1]) | ||||
| *************** | ||||
| *** 17536,17541 **** | ||||
| --- 17550,17556 ---- | ||||
|    | ||||
|   	    /* f_uniq(): ptrs will be a stack of items to remove */ | ||||
|   	    item_compare_func_err = FALSE; | ||||
| + 	    item_compare_keep_zero = TRUE; | ||||
|   	    item_compare_func_ptr = item_compare_func | ||||
|   					       ? item_compare2 : item_compare; | ||||
|    | ||||
| *** ../vim-7.4.350/src/testdir/test55.in	2014-06-26 22:33:47.850693627 +0200 | ||||
| --- src/testdir/test55.in	2014-07-02 19:00:09.238320492 +0200 | ||||
| *************** | ||||
| *** 332,340 **** | ||||
|   :$put =string(reverse(sort(l))) | ||||
|   :$put =string(sort(reverse(sort(l)))) | ||||
|   :$put =string(uniq(sort(l))) | ||||
| ! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0.22, 'foo'] | ||||
|   :$put =string(sort(copy(l), 'n')) | ||||
| ! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'foo', 'FOOBAR',{}, []] | ||||
|   :$put =string(sort(copy(l), 1)) | ||||
|   :$put =string(sort(copy(l), 'i')) | ||||
|   :$put =string(sort(copy(l))) | ||||
| --- 332,340 ---- | ||||
|   :$put =string(reverse(sort(l))) | ||||
|   :$put =string(sort(reverse(sort(l)))) | ||||
|   :$put =string(uniq(sort(l))) | ||||
| ! :let l=[7, 9, 'one', 18, 12, 22, 'two', 10.0e-16, -1, 'three', 0xff, 0.22, 'four'] | ||||
|   :$put =string(sort(copy(l), 'n')) | ||||
| ! :let l=[7, 9, 18, 12, 22, 10.0e-16, -1, 0xff, 0, -0, 0.22, 'bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', {}, []] | ||||
|   :$put =string(sort(copy(l), 1)) | ||||
|   :$put =string(sort(copy(l), 'i')) | ||||
|   :$put =string(sort(copy(l))) | ||||
| *** ../vim-7.4.350/src/testdir/test55.ok	2014-06-26 22:33:47.850693627 +0200 | ||||
| --- src/testdir/test55.ok	2014-07-02 19:00:57.078321225 +0200 | ||||
| *************** | ||||
| *** 101,110 **** | ||||
|   [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0'] | ||||
|   ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]] | ||||
|   ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]] | ||||
| ! [-1, 'foo', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255] | ||||
| ! ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| ! ['foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| ! ['FOOBAR', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['aa', 'bb'] | ||||
|   ['aa', 'bb'] | ||||
|   ['', 'aa', 'bb', ''] | ||||
| --- 101,110 ---- | ||||
|   [[0, 1, 2], [0, 1, 2], 4, 2, 2, 1.5, 'xaaa', 'x8', 'foo6', 'foo', 'foo', 'A11', '-0'] | ||||
|   ['-0', 'A11', 'foo', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 2, 4, [0, 1, 2], [0, 1, 2]] | ||||
|   ['-0', 'A11', 'foo', 'foo6', 'x8', 'xaaa', 1.5, 2, 4, [0, 1, 2]] | ||||
| ! [-1, 'one', 'two', 'three', 'four', 1.0e-15, 0.22, 7, 9, 12, 18, 22, 255] | ||||
| ! ['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| ! ['bar', 'BAR', 'Bar', 'Foo', 'FOO', 'foo', 'FOOBAR', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
| ! ['BAR', 'Bar', 'FOO', 'FOOBAR', 'Foo', 'bar', 'foo', -1, 0, 0, 0.22, 1.0e-15, 12, 18, 22, 255, 7, 9, [], {}] | ||||
|   ['aa', 'bb'] | ||||
|   ['aa', 'bb'] | ||||
|   ['', 'aa', 'bb', ''] | ||||
| *** ../vim-7.4.350/src/version.c	2014-07-02 18:27:44.662290695 +0200 | ||||
| --- src/version.c	2014-07-02 18:46:38.230308065 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     351, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| The early bird gets the worm. If you want something else for | ||||
| breakfast, get up later. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										101
									
								
								7.4.352
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								7.4.352
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,101 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.352 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.352 | ||||
| Problem:    With 'linebreak' a tab causes missing line break. | ||||
| Solution:   Count a tab for what it's worth also for shorter lines. | ||||
| 	    (Christian Brabandt) | ||||
| Files:	    src/charset.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.351/src/charset.c	2014-06-25 14:39:35.098348584 +0200 | ||||
| --- src/charset.c	2014-07-02 19:34:28.142352040 +0200 | ||||
| *************** | ||||
| *** 1078,1083 **** | ||||
| --- 1078,1084 ---- | ||||
|       int		c; | ||||
|       int		size; | ||||
|       colnr_T	col2; | ||||
| +     colnr_T	col_adj = 0; /* col + screen size of tab */ | ||||
|       colnr_T	colmax; | ||||
|       int		added; | ||||
|   # ifdef FEAT_MBYTE | ||||
| *************** | ||||
| *** 1109,1114 **** | ||||
| --- 1110,1117 ---- | ||||
|        */ | ||||
|       size = win_chartabsize(wp, s, col); | ||||
|       c = *s; | ||||
| +     if (tab_corr) | ||||
| + 	col_adj = size - 1; | ||||
|    | ||||
|       /* | ||||
|        * If 'linebreak' set check at a blank before a non-blank if the line | ||||
| *************** | ||||
| *** 1130,1141 **** | ||||
|   	 */ | ||||
|   	numberextra = win_col_off(wp); | ||||
|   	col2 = col; | ||||
| ! 	colmax = (colnr_T)(W_WIDTH(wp) - numberextra); | ||||
|   	if (col >= colmax) | ||||
|   	{ | ||||
| ! 	    n = colmax + win_col_off2(wp); | ||||
|   	    if (n > 0) | ||||
| ! 		colmax += (((col - colmax) / n) + 1) * n; | ||||
|   	} | ||||
|    | ||||
|   	for (;;) | ||||
| --- 1133,1145 ---- | ||||
|   	 */ | ||||
|   	numberextra = win_col_off(wp); | ||||
|   	col2 = col; | ||||
| ! 	colmax = (colnr_T)(W_WIDTH(wp) - numberextra - col_adj); | ||||
|   	if (col >= colmax) | ||||
|   	{ | ||||
| ! 	    colmax += col_adj; | ||||
| ! 	    n = colmax +  win_col_off2(wp); | ||||
|   	    if (n > 0) | ||||
| ! 		colmax += (((col - colmax) / n) + 1) * n - col_adj; | ||||
|   	} | ||||
|    | ||||
|   	for (;;) | ||||
| *************** | ||||
| *** 1152,1158 **** | ||||
|   	    col2 += win_chartabsize(wp, s, col2); | ||||
|   	    if (col2 >= colmax)		/* doesn't fit */ | ||||
|   	    { | ||||
| ! 		size = colmax - col; | ||||
|   		tab_corr = FALSE; | ||||
|   		break; | ||||
|   	    } | ||||
| --- 1156,1162 ---- | ||||
|   	    col2 += win_chartabsize(wp, s, col2); | ||||
|   	    if (col2 >= colmax)		/* doesn't fit */ | ||||
|   	    { | ||||
| ! 		size = colmax - col + col_adj; | ||||
|   		tab_corr = FALSE; | ||||
|   		break; | ||||
|   	    } | ||||
| *** ../vim-7.4.351/src/version.c	2014-07-02 19:06:14.686326091 +0200 | ||||
| --- src/version.c	2014-07-02 19:32:50.218350540 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     352, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| The early bird gets the worm. The second mouse gets the cheese. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										446
									
								
								7.4.353
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										446
									
								
								7.4.353
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,446 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.353 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.353 | ||||
| Problem:    'linebreak' doesn't work with the 'list' option. | ||||
| Solution:   Make it work. (Christian Brabandt) | ||||
| Files:	    src/charset.c, src/screen.c, | ||||
| 	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, | ||||
| 	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, | ||||
| 	    src/testdir/Make_vms.mms, src/testdir/Makefile, | ||||
| 	    src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.352/src/charset.c	2014-07-02 19:37:38.462354956 +0200 | ||||
| --- src/charset.c	2014-07-02 19:47:21.602363892 +0200 | ||||
| *************** | ||||
| *** 1120,1126 **** | ||||
|       if (wp->w_p_lbr | ||||
|   	    && vim_isbreak(c) | ||||
|   	    && !vim_isbreak(s[1]) | ||||
| - 	    && !wp->w_p_list | ||||
|   	    && wp->w_p_wrap | ||||
|   # ifdef FEAT_VERTSPLIT | ||||
|   	    && wp->w_width != 0 | ||||
| --- 1120,1125 ---- | ||||
| *** ../vim-7.4.352/src/screen.c	2014-07-02 17:16:51.330225522 +0200 | ||||
| --- src/screen.c	2014-07-02 19:51:42.082367883 +0200 | ||||
| *************** | ||||
| *** 2843,2848 **** | ||||
| --- 2843,2849 ---- | ||||
|       char_u	extra[18];		/* "%ld" and 'fdc' must fit in here */ | ||||
|       int		n_extra = 0;		/* number of extra chars */ | ||||
|       char_u	*p_extra = NULL;	/* string of extra chars, plus NUL */ | ||||
| +     char_u	*p_extra_free = NULL;   /* p_extra needs to be freed */ | ||||
|       int		c_extra = NUL;		/* extra chars, all the same */ | ||||
|       int		extra_attr = 0;		/* attributes when n_extra != 0 */ | ||||
|       static char_u *at_end_str = (char_u *)""; /* used for p_extra when | ||||
| *************** | ||||
| *** 4053,4058 **** | ||||
| --- 4054,4064 ---- | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| + 	    if (p_extra_free != NULL) | ||||
| + 	    { | ||||
| + 		vim_free(p_extra_free); | ||||
| + 		p_extra_free = NULL; | ||||
| + 	    } | ||||
|   	    /* | ||||
|   	     * Get a character from the line itself. | ||||
|   	     */ | ||||
| *************** | ||||
| *** 4424,4431 **** | ||||
|   		/* | ||||
|   		 * Found last space before word: check for line break. | ||||
|   		 */ | ||||
| ! 		if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr) | ||||
| ! 							     && !wp->w_p_list) | ||||
|   		{ | ||||
|   		    char_u *p = ptr - ( | ||||
|   # ifdef FEAT_MBYTE | ||||
| --- 4430,4436 ---- | ||||
|   		/* | ||||
|   		 * Found last space before word: check for line break. | ||||
|   		 */ | ||||
| ! 		if (wp->w_p_lbr && vim_isbreak(c) && !vim_isbreak(*ptr)) | ||||
|   		{ | ||||
|   		    char_u *p = ptr - ( | ||||
|   # ifdef FEAT_MBYTE | ||||
| *************** | ||||
| *** 4433,4439 **** | ||||
|   # endif | ||||
|   				1); | ||||
|   		    /* TODO: is passing p for start of the line OK? */ | ||||
| ! 		    n_extra = win_lbr_chartabsize(wp, p, p, (colnr_T)vcol, | ||||
|   								    NULL) - 1; | ||||
|   		    c_extra = ' '; | ||||
|   		    if (vim_iswhite(c)) | ||||
| --- 4438,4444 ---- | ||||
|   # endif | ||||
|   				1); | ||||
|   		    /* TODO: is passing p for start of the line OK? */ | ||||
| ! 		    n_extra = win_lbr_chartabsize(wp, line, p, (colnr_T)vcol, | ||||
|   								    NULL) - 1; | ||||
|   		    c_extra = ' '; | ||||
|   		    if (vim_iswhite(c)) | ||||
| *************** | ||||
| *** 4443,4449 **** | ||||
|   			    /* See "Tab alignment" below. */ | ||||
|   			    FIX_FOR_BOGUSCOLS; | ||||
|   #endif | ||||
| ! 			c = ' '; | ||||
|   		    } | ||||
|   		} | ||||
|   #endif | ||||
| --- 4448,4455 ---- | ||||
|   			    /* See "Tab alignment" below. */ | ||||
|   			    FIX_FOR_BOGUSCOLS; | ||||
|   #endif | ||||
| ! 			if (!wp->w_p_list) | ||||
| ! 			    c = ' '; | ||||
|   		    } | ||||
|   		} | ||||
|   #endif | ||||
| *************** | ||||
| *** 4483,4491 **** | ||||
|   		 */ | ||||
|   		if (c == TAB && (!wp->w_p_list || lcs_tab1)) | ||||
|   		{ | ||||
|   		    /* tab amount depends on current column */ | ||||
| ! 		    n_extra = (int)wp->w_buffer->b_p_ts | ||||
|   					- vcol % (int)wp->w_buffer->b_p_ts - 1; | ||||
|   #ifdef FEAT_CONCEAL | ||||
|   		    /* Tab alignment should be identical regardless of | ||||
|   		     * 'conceallevel' value. So tab compensates of all | ||||
| --- 4489,4538 ---- | ||||
|   		 */ | ||||
|   		if (c == TAB && (!wp->w_p_list || lcs_tab1)) | ||||
|   		{ | ||||
| + 		    int tab_len = 0; | ||||
|   		    /* tab amount depends on current column */ | ||||
| ! 		    tab_len = (int)wp->w_buffer->b_p_ts | ||||
|   					- vcol % (int)wp->w_buffer->b_p_ts - 1; | ||||
| + #ifdef FEAT_LINEBREAK | ||||
| + 		    if (!wp->w_p_lbr) | ||||
| + #endif | ||||
| + 		    /* tab amount depends on current column */ | ||||
| + 			n_extra = tab_len; | ||||
| + #ifdef FEAT_LINEBREAK | ||||
| + 		    else | ||||
| + 		    { | ||||
| + 			char_u *p; | ||||
| + 			int	len = n_extra; | ||||
| + 			int	i; | ||||
| + 			int	saved_nextra = n_extra; | ||||
| +  | ||||
| + 			/* if n_extra > 0, it gives the number of chars, to | ||||
| + 			 * use for a tab, else we need to calculate the width | ||||
| + 			 * for a tab */ | ||||
| + #ifdef FEAT_MBYTE | ||||
| + 			len = (tab_len * mb_char2len(lcs_tab2)); | ||||
| + 			if (n_extra > 0) | ||||
| + 			    len += n_extra - tab_len; | ||||
| + #endif | ||||
| + 			c = lcs_tab1; | ||||
| + 			p = alloc((unsigned)(len + 1)); | ||||
| + 			vim_memset(p, ' ', len); | ||||
| + 			p[len] = NUL; | ||||
| + 			p_extra_free = p; | ||||
| + 			for (i = 0; i < tab_len; i++) | ||||
| + 			{ | ||||
| + #ifdef FEAT_MBYTE | ||||
| + 			    mb_char2bytes(lcs_tab2, p); | ||||
| + 			    p += mb_char2len(lcs_tab2); | ||||
| + 			    n_extra += mb_char2len(lcs_tab2) | ||||
| + 						 - (saved_nextra > 0 ? 1 : 0); | ||||
| + #else | ||||
| + 			    p[i] = lcs_tab2; | ||||
| + #endif | ||||
| + 			} | ||||
| + 			p_extra = p_extra_free; | ||||
| + 		    } | ||||
| + #endif | ||||
|   #ifdef FEAT_CONCEAL | ||||
|   		    /* Tab alignment should be identical regardless of | ||||
|   		     * 'conceallevel' value. So tab compensates of all | ||||
| *************** | ||||
| *** 4501,4508 **** | ||||
|   		    if (wp->w_p_list) | ||||
|   		    { | ||||
|   			c = lcs_tab1; | ||||
| ! 			c_extra = lcs_tab2; | ||||
| ! 			n_attr = n_extra + 1; | ||||
|   			extra_attr = hl_attr(HLF_8); | ||||
|   			saved_attr2 = char_attr; /* save current attr */ | ||||
|   #ifdef FEAT_MBYTE | ||||
| --- 4548,4560 ---- | ||||
|   		    if (wp->w_p_list) | ||||
|   		    { | ||||
|   			c = lcs_tab1; | ||||
| ! #ifdef FEAT_LINEBREAK | ||||
| ! 			if (wp->w_p_lbr) | ||||
| ! 			    c_extra = NUL; /* using p_extra from above */ | ||||
| ! 			else | ||||
| ! #endif | ||||
| ! 			    c_extra = lcs_tab2; | ||||
| ! 			n_attr = tab_len + 1; | ||||
|   			extra_attr = hl_attr(HLF_8); | ||||
|   			saved_attr2 = char_attr; /* save current attr */ | ||||
|   #ifdef FEAT_MBYTE | ||||
| *************** | ||||
| *** 4598,4606 **** | ||||
|   		    if ((dy_flags & DY_UHEX) && wp->w_p_rl) | ||||
|   			rl_mirror(p_extra);	/* reverse "<12>" */ | ||||
|   #endif | ||||
| - 		    n_extra = byte2cells(c) - 1; | ||||
|   		    c_extra = NUL; | ||||
| ! 		    c = *p_extra++; | ||||
|   		    if (!attr_pri) | ||||
|   		    { | ||||
|   			n_attr = n_extra + 1; | ||||
| --- 4650,4674 ---- | ||||
|   		    if ((dy_flags & DY_UHEX) && wp->w_p_rl) | ||||
|   			rl_mirror(p_extra);	/* reverse "<12>" */ | ||||
|   #endif | ||||
|   		    c_extra = NUL; | ||||
| ! #ifdef FEAT_LINEBREAK | ||||
| ! 		    if (wp->w_p_lbr) | ||||
| ! 		    { | ||||
| ! 			char_u *p; | ||||
| !  | ||||
| ! 			c = *p_extra; | ||||
| ! 			p = alloc((unsigned)n_extra + 1); | ||||
| ! 			vim_memset(p, ' ', n_extra); | ||||
| ! 			STRNCPY(p, p_extra + 1, STRLEN(p_extra) - 1); | ||||
| ! 			p[n_extra] = NUL; | ||||
| ! 			p_extra_free = p_extra = p; | ||||
| ! 		    } | ||||
| ! 		    else | ||||
| ! #endif | ||||
| ! 		    { | ||||
| ! 			n_extra = byte2cells(c) - 1; | ||||
| ! 			c = *p_extra++; | ||||
| ! 		    } | ||||
|   		    if (!attr_pri) | ||||
|   		    { | ||||
|   			n_attr = n_extra + 1; | ||||
| *** ../vim-7.4.352/src/testdir/Make_amiga.mak	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 38,43 **** | ||||
| --- 38,44 ---- | ||||
|   		test104.out test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *************** | ||||
| *** 165,169 **** | ||||
| --- 166,171 ---- | ||||
|   test107.out: test107.in | ||||
|   test_autoformat_join.out: test_autoformat_join.in | ||||
|   test_breakindent.out: test_breakindent.in | ||||
| + test_listlbr.out: test_listlbr.in | ||||
|   test_eval.out: test_eval.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.352/src/testdir/Make_dos.mak	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 37,42 **** | ||||
| --- 37,43 ---- | ||||
|   		test105.out test106.out  test107.out\ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.352/src/testdir/Make_ming.mak	2014-06-25 14:39:35.110348584 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 57,62 **** | ||||
| --- 57,63 ---- | ||||
|   		test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.352/src/testdir/Make_os2.mak	2014-06-25 14:39:35.114348584 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   .SUFFIXES: .in .out | ||||
| *** ../vim-7.4.352/src/testdir/Make_vms.mms	2014-06-25 14:39:35.114348584 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 98,103 **** | ||||
| --- 98,104 ---- | ||||
|   	 test105.out test106.out test107.out \ | ||||
|   	 test_autoformat_join.out \ | ||||
|   	 test_breakindent.out \ | ||||
| + 	 test_listlbr.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
|    | ||||
| *** ../vim-7.4.352/src/testdir/Makefile	2014-06-25 14:39:35.114348584 +0200 | ||||
| --- src/testdir/Makefile	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 35,40 **** | ||||
| --- 35,41 ---- | ||||
|   		test104.out test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.352/src/testdir/test_listlbr.in	2014-07-02 19:58:25.642374067 +0200 | ||||
| --- src/testdir/test_listlbr.in	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,62 ---- | ||||
| + Test for linebreak and list option | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif | ||||
| + :10new|:vsp|:vert resize 20 | ||||
| + :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" | ||||
| + :norm! zt | ||||
| + :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap | ||||
| + :fu! ScreenChar(width) | ||||
| + :	let c='' | ||||
| + :	for j in range(1,4) | ||||
| + :	    for i in range(1,a:width) | ||||
| + :	    	let c.=nr2char(screenchar(j, i)) | ||||
| + :	    endfor | ||||
| + :           let c.="\n" | ||||
| + :	endfor | ||||
| + :	return c | ||||
| + :endfu | ||||
| + :fu! DoRecordScreen() | ||||
| + :	wincmd l | ||||
| + :	$put =printf(\"\n%s\", g:test) | ||||
| + :	$put =g:line | ||||
| + :	wincmd p | ||||
| + :endfu | ||||
| + :let g:test="Test 1: set linebreak" | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test="Test 2: set linebreak + set list" | ||||
| + :set linebreak list listchars= | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test ="Test 3: set linebreak + set list + fancy listchars" | ||||
| + :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test ="Test 4: set linebreak nolist" | ||||
| + :set nolist linebreak | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test ="Test 5: set nolinebreak list" | ||||
| + :set list nolinebreak | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!" | ||||
| + :set nolist linebreak ts=8 | ||||
| + :let line="1\t".repeat('a', winwidth(0)-2) | ||||
| + :$put =line | ||||
| + :$ | ||||
| + :norm! zt | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :%w! test.out | ||||
| + :qa! | ||||
| + ENDTEST | ||||
| + dummy text | ||||
| *** ../vim-7.4.352/src/testdir/test_listlbr.ok	2014-07-02 19:58:25.646374067 +0200 | ||||
| --- src/testdir/test_listlbr.ok	2014-07-02 19:47:21.610363892 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,39 ---- | ||||
| +  | ||||
| + 	abcdef hijklmn	pqrstuvwxyz 1060ABCDEFGHIJKLMNOP  | ||||
| +  | ||||
| + Test 1: set linebreak | ||||
| +     abcdef           | ||||
| + +hijklmn             | ||||
| + +pqrstuvwxyz 1060ABC | ||||
| + +DEFGHIJKLMNOP       | ||||
| +  | ||||
| + Test 2: set linebreak + set list | ||||
| + ^Iabcdef hijklmn^I   | ||||
| + +pqrstuvwxyz 1060ABC | ||||
| + +DEFGHIJKLMNOP       | ||||
| +                      | ||||
| +  | ||||
| + Test 3: set linebreak + set list + fancy listchars | ||||
| + ▕———abcdef           | ||||
| + +hijklmn▕———         | ||||
| + +pqrstuvwxyz␣1060ABC | ||||
| + +DEFGHIJKLMNOPˑ¶     | ||||
| +  | ||||
| + Test 4: set linebreak nolist | ||||
| +     abcdef           | ||||
| + +hijklmn             | ||||
| + +pqrstuvwxyz 1060ABC | ||||
| + +DEFGHIJKLMNOP       | ||||
| +  | ||||
| + Test 5: set nolinebreak list | ||||
| + ▕———abcdef hijklmn▕— | ||||
| + +pqrstuvwxyz␣1060ABC | ||||
| + +DEFGHIJKLMNOPˑ¶     | ||||
| + ¶                    | ||||
| + 1	aaaaaaaaaaaaaaaaaa | ||||
| +  | ||||
| + Test 6: set linebreak with tab and 1 line as long as screen: should break! | ||||
| + 1                    | ||||
| + +aaaaaaaaaaaaaaaaaa  | ||||
| + ~                    | ||||
| + ~                    | ||||
| *** ../vim-7.4.352/src/version.c	2014-07-02 19:37:38.462354956 +0200 | ||||
| --- src/version.c	2014-07-02 19:57:44.066373430 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     353, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FATHER:    You only killed the bride's father - that's all - | ||||
| LAUNCELOT: Oh dear, I didn't really mean to... | ||||
| FATHER:    Didn't mean to?  You put your sword right through his head! | ||||
| LAUNCELOT: Gosh - Is he all right? | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										56
									
								
								7.4.354
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								7.4.354
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.354 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.354 | ||||
| Problem:    Compiler warning. | ||||
| Solution:   Change NUL to NULL. (Ken Takata) | ||||
| Files:	    src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.353/src/screen.c	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/screen.c	2014-07-03 14:08:03.579375847 +0200 | ||||
| *************** | ||||
| *** 3704,3710 **** | ||||
|   		    if (diff_hlf != (hlf_T)0) | ||||
|   			char_attr = hl_attr(diff_hlf); | ||||
|   #endif | ||||
| ! 		    p_extra = NUL; | ||||
|   		    c_extra = ' '; | ||||
|   		    n_extra = get_breakindent_win(wp, | ||||
|   				       ml_get_buf(wp->w_buffer, lnum, FALSE)); | ||||
| --- 3704,3710 ---- | ||||
|   		    if (diff_hlf != (hlf_T)0) | ||||
|   			char_attr = hl_attr(diff_hlf); | ||||
|   #endif | ||||
| ! 		    p_extra = NULL; | ||||
|   		    c_extra = ' '; | ||||
|   		    n_extra = get_breakindent_win(wp, | ||||
|   				       ml_get_buf(wp->w_buffer, lnum, FALSE)); | ||||
| *** ../vim-7.4.353/src/version.c	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/version.c	2014-07-03 14:08:38.875376388 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     354, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|    [SIR LAUNCELOT runs back up the stairs, grabs a rope | ||||
|    of the wall and swings out over the heads of the CROWD in a | ||||
|    swashbuckling manner towards a large window.  He stops just short | ||||
|    of the window and is left swing pathetically back and forth.] | ||||
| LAUNCELOT: Excuse me ... could somebody give me a push ... | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										929
									
								
								7.4.355
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										929
									
								
								7.4.355
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,929 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.355 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.355 | ||||
| Problem:    Several problems with Javascript indenting. | ||||
| Solution:   Improve Javascript indenting. | ||||
| Files:	    src/misc1.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.354/src/misc1.c	2014-07-02 18:27:44.662290695 +0200 | ||||
| --- src/misc1.c	2014-07-03 22:42:20.315848662 +0200 | ||||
| *************** | ||||
| *** 5382,5387 **** | ||||
| --- 5382,5388 ---- | ||||
|   static char_u	*cin_skipcomment __ARGS((char_u *)); | ||||
|   static int	cin_nocode __ARGS((char_u *)); | ||||
|   static pos_T	*find_line_comment __ARGS((void)); | ||||
| + static int	cin_has_js_key __ARGS((char_u *text)); | ||||
|   static int	cin_islabel_skip __ARGS((char_u **)); | ||||
|   static int	cin_isdefault __ARGS((char_u *)); | ||||
|   static char_u	*after_label __ARGS((char_u *l)); | ||||
| *************** | ||||
| *** 5410,5415 **** | ||||
| --- 5411,5417 ---- | ||||
|   static int	cin_skip2pos __ARGS((pos_T *trypos)); | ||||
|   static pos_T	*find_start_brace __ARGS((void)); | ||||
|   static pos_T	*find_match_paren __ARGS((int)); | ||||
| + static pos_T	*find_match_char __ARGS((int c, int ind_maxparen)); | ||||
|   static int	corr_ind_maxparen __ARGS((pos_T *startpos)); | ||||
|   static int	find_last_paren __ARGS((char_u *l, int start, int end)); | ||||
|   static int	find_match __ARGS((int lookfor, linenr_T ourscope)); | ||||
| *************** | ||||
| *** 5494,5500 **** | ||||
| --- 5496,5533 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| +  * Return TRUE if "text" starts with "key:". | ||||
| +  */ | ||||
| +     static int | ||||
| + cin_has_js_key(text) | ||||
| +     char_u *text; | ||||
| + { | ||||
| +     char_u *s = skipwhite(text); | ||||
| +     int	    quote = 0; | ||||
| +  | ||||
| +     if (*s == '\'' || *s == '"') | ||||
| +     { | ||||
| + 	/* can be 'key': or "key": */ | ||||
| + 	quote = *s; | ||||
| + 	++s; | ||||
| +     } | ||||
| +     if (!vim_isIDc(*s))	    /* need at least one ID character */ | ||||
| + 	return FALSE; | ||||
| +  | ||||
| +     while (vim_isIDc(*s)) | ||||
| + 	++s; | ||||
| +     if (*s == quote) | ||||
| + 	++s; | ||||
| +  | ||||
| +     s = cin_skipcomment(s); | ||||
| +  | ||||
| +     /* "::" is not a label, it's C++ */ | ||||
| +     return (*s == ':' && s[1] != ':'); | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
|    * Check if string matches "label:"; move to character after ':' if true. | ||||
| +  * "*s" must point to the start of the label, if there is one. | ||||
|    */ | ||||
|       static int | ||||
|   cin_islabel_skip(s) | ||||
| *************** | ||||
| *** 6621,6632 **** | ||||
|   find_match_paren(ind_maxparen)	    /* XXX */ | ||||
|       int		ind_maxparen; | ||||
|   { | ||||
|       pos_T	cursor_save; | ||||
|       pos_T	*trypos; | ||||
|       static pos_T pos_copy; | ||||
|    | ||||
|       cursor_save = curwin->w_cursor; | ||||
| !     if ((trypos = findmatchlimit(NULL, '(', 0, ind_maxparen)) != NULL) | ||||
|       { | ||||
|   	/* check if the ( is in a // comment */ | ||||
|   	if ((colnr_T)cin_skip2pos(trypos) > trypos->col) | ||||
| --- 6654,6673 ---- | ||||
|   find_match_paren(ind_maxparen)	    /* XXX */ | ||||
|       int		ind_maxparen; | ||||
|   { | ||||
| +     return find_match_char('(', ind_maxparen); | ||||
| + } | ||||
| +  | ||||
| +     static pos_T * | ||||
| + find_match_char(c, ind_maxparen)	    /* XXX */ | ||||
| +     int		c; | ||||
| +     int		ind_maxparen; | ||||
| + { | ||||
|       pos_T	cursor_save; | ||||
|       pos_T	*trypos; | ||||
|       static pos_T pos_copy; | ||||
|    | ||||
|       cursor_save = curwin->w_cursor; | ||||
| !     if ((trypos = findmatchlimit(NULL, c, 0, ind_maxparen)) != NULL) | ||||
|       { | ||||
|   	/* check if the ( is in a // comment */ | ||||
|   	if ((colnr_T)cin_skip2pos(trypos) > trypos->col) | ||||
| *************** | ||||
| *** 6976,6981 **** | ||||
| --- 7017,7024 ---- | ||||
|   #define LOOKFOR_NOBREAK		8 | ||||
|   #define LOOKFOR_CPP_BASECLASS	9 | ||||
|   #define LOOKFOR_ENUM_OR_INIT	10 | ||||
| + #define LOOKFOR_JS_KEY		11 | ||||
| + #define LOOKFOR_NO_COMMA	12 | ||||
|    | ||||
|       int		whilelevel; | ||||
|       linenr_T	lnum; | ||||
| *************** | ||||
| *** 6986,6991 **** | ||||
| --- 7029,7035 ---- | ||||
|       int		cont_amount = 0;    /* amount for continuation line */ | ||||
|       int		original_line_islabel; | ||||
|       int		added_to_amount = 0; | ||||
| +     int		js_cur_has_key = 0; | ||||
|    | ||||
|       /* make a copy, value is changed below */ | ||||
|       int		ind_continuation = curbuf->b_ind_continuation; | ||||
| *************** | ||||
| *** 7209,7214 **** | ||||
| --- 7253,7268 ---- | ||||
|       } | ||||
|    | ||||
|       /* | ||||
| +      * Are we looking at a ']' that has a match? | ||||
| +      */ | ||||
| +     else if (*skipwhite(theline) == ']' | ||||
| + 	    && (trypos = find_match_char('[', curbuf->b_ind_maxparen)) != NULL) | ||||
| +     { | ||||
| + 	/* align with the line containing the '['. */ | ||||
| + 	amount = get_indent_lnum(trypos->lnum); | ||||
| +     } | ||||
| +  | ||||
| +     /* | ||||
|        * Are we inside parentheses or braces? | ||||
|        */						    /* XXX */ | ||||
|       else if (((trypos = find_match_paren(curbuf->b_ind_maxparen)) != NULL | ||||
| *************** | ||||
| *** 7473,7486 **** | ||||
|   	if (cin_iscomment(theline)) | ||||
|   	    amount += curbuf->b_ind_comment; | ||||
|         } | ||||
| -  | ||||
| -       /* | ||||
| -        * Are we at least inside braces, then? | ||||
| -        */ | ||||
|         else | ||||
|         { | ||||
|   	trypos = tryposBrace; | ||||
| -  | ||||
|   	ourscope = trypos->lnum; | ||||
|   	start = ml_get(ourscope); | ||||
|    | ||||
| --- 7527,7539 ---- | ||||
|   	if (cin_iscomment(theline)) | ||||
|   	    amount += curbuf->b_ind_comment; | ||||
|         } | ||||
|         else | ||||
|         { | ||||
| + 	/* | ||||
| + 	 * We are inside braces, there is a { before this line at the position | ||||
| + 	 * stored in tryposBrace. | ||||
| + 	 */ | ||||
|   	trypos = tryposBrace; | ||||
|   	ourscope = trypos->lnum; | ||||
|   	start = ml_get(ourscope); | ||||
|    | ||||
| *************** | ||||
| *** 7502,7525 **** | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    /* | ||||
| ! 	     * that opening brace might have been on a continuation | ||||
| ! 	     * line.  if so, find the start of the line. | ||||
| ! 	     */ | ||||
|   	    curwin->w_cursor.lnum = ourscope; | ||||
|    | ||||
| ! 	    /* | ||||
| ! 	     * position the cursor over the rightmost paren, so that | ||||
| ! 	     * matching it will take us back to the start of the line. | ||||
| ! 	     */ | ||||
|   	    lnum = ourscope; | ||||
|   	    if (find_last_paren(start, '(', ')') | ||||
|   			&& (trypos = find_match_paren(curbuf->b_ind_maxparen)) | ||||
|   								      != NULL) | ||||
|   		lnum = trypos->lnum; | ||||
|    | ||||
| ! 	    /* | ||||
| ! 	     * It could have been something like | ||||
|   	     *	   case 1: if (asdf && | ||||
|   	     *			ldfd) { | ||||
|   	     *		    } | ||||
| --- 7555,7573 ---- | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    /* That opening brace might have been on a continuation | ||||
| ! 	     * line.  if so, find the start of the line. */ | ||||
|   	    curwin->w_cursor.lnum = ourscope; | ||||
|    | ||||
| ! 	    /* Position the cursor over the rightmost paren, so that | ||||
| ! 	     * matching it will take us back to the start of the line. */ | ||||
|   	    lnum = ourscope; | ||||
|   	    if (find_last_paren(start, '(', ')') | ||||
|   			&& (trypos = find_match_paren(curbuf->b_ind_maxparen)) | ||||
|   								      != NULL) | ||||
|   		lnum = trypos->lnum; | ||||
|    | ||||
| ! 	    /* It could have been something like | ||||
|   	     *	   case 1: if (asdf && | ||||
|   	     *			ldfd) { | ||||
|   	     *		    } | ||||
| *************** | ||||
| *** 7535,7542 **** | ||||
|   	    start_brace = BRACE_AT_END; | ||||
|   	} | ||||
|    | ||||
|   	/* | ||||
| ! 	 * if we're looking at a closing brace, that's where | ||||
|   	 * we want to be.  otherwise, add the amount of room | ||||
|   	 * that an indent is supposed to be. | ||||
|   	 */ | ||||
| --- 7583,7594 ---- | ||||
|   	    start_brace = BRACE_AT_END; | ||||
|   	} | ||||
|    | ||||
| + 	/* For Javascript check if the line starts with "key:". */ | ||||
| + 	if (curbuf->b_ind_js) | ||||
| + 	    js_cur_has_key = cin_has_js_key(theline); | ||||
| +  | ||||
|   	/* | ||||
| ! 	 * If we're looking at a closing brace, that's where | ||||
|   	 * we want to be.  otherwise, add the amount of room | ||||
|   	 * that an indent is supposed to be. | ||||
|   	 */ | ||||
| *************** | ||||
| *** 7643,7649 **** | ||||
|   	     * Search backwards.  If we find something we recognize, line up | ||||
|   	     * with that. | ||||
|   	     * | ||||
| ! 	     * if we're looking at an open brace, indent | ||||
|   	     * the usual amount relative to the conditional | ||||
|   	     * that opens the block. | ||||
|   	     */ | ||||
| --- 7695,7701 ---- | ||||
|   	     * Search backwards.  If we find something we recognize, line up | ||||
|   	     * with that. | ||||
|   	     * | ||||
| ! 	     * If we're looking at an open brace, indent | ||||
|   	     * the usual amount relative to the conditional | ||||
|   	     * that opens the block. | ||||
|   	     */ | ||||
| *************** | ||||
| *** 8051,8056 **** | ||||
| --- 8103,8143 ---- | ||||
|   		 */ | ||||
|   		terminated = cin_isterminated(l, FALSE, TRUE); | ||||
|    | ||||
| + 		if (js_cur_has_key) | ||||
| + 		{ | ||||
| + 		    js_cur_has_key = 0; /* only check the first line */ | ||||
| + 		    if (curbuf->b_ind_js && terminated == ',') | ||||
| + 		    { | ||||
| + 			/* For Javascript we might be inside an object: | ||||
| + 			 *   key: something,  <- align with this | ||||
| + 			 *   key: something | ||||
| + 			 * or: | ||||
| + 			 *   key: something +  <- align with this | ||||
| + 			 *       something, | ||||
| + 			 *   key: something | ||||
| + 			 */ | ||||
| + 			lookfor = LOOKFOR_JS_KEY; | ||||
| + 		    } | ||||
| + 		} | ||||
| + 		if (lookfor == LOOKFOR_JS_KEY && cin_has_js_key(l)) | ||||
| + 		{ | ||||
| + 		    amount = get_indent(); | ||||
| + 		    break; | ||||
| + 		} | ||||
| + 		if (lookfor == LOOKFOR_NO_COMMA) | ||||
| + 		{ | ||||
| + 		    if (terminated != ',') | ||||
| + 			/* line below current line is the one that starts a | ||||
| + 			 * (possibly broken) line ending in a comma. */ | ||||
| + 			break; | ||||
| + 		    amount = get_indent(); | ||||
| + 		    if (curwin->w_cursor.lnum - 1 == ourscope) | ||||
| + 			/* line above is start of the scope, thus current line | ||||
| + 			 * is the one that stars a (possibly broken) line | ||||
| + 			 * ending in a comma. */ | ||||
| + 			break; | ||||
| + 		} | ||||
| +  | ||||
|   		if (terminated == 0 || (lookfor != LOOKFOR_UNTERM | ||||
|   							&& terminated == ',')) | ||||
|   		{ | ||||
| *************** | ||||
| *** 8062,8072 **** | ||||
|   		     *		    bar ) | ||||
|   		     */ | ||||
|   		    /* | ||||
| ! 		     * position the cursor over the rightmost paren, so that | ||||
|   		     * matching it will take us back to the start of the line. | ||||
|   		     */ | ||||
|   		    (void)find_last_paren(l, '(', ')'); | ||||
|   		    trypos = find_match_paren(corr_ind_maxparen(&cur_curpos)); | ||||
|    | ||||
|   		    /* | ||||
|   		     * If we are looking for ',', we also look for matching | ||||
| --- 8149,8164 ---- | ||||
|   		     *		    bar ) | ||||
|   		     */ | ||||
|   		    /* | ||||
| ! 		     * Position the cursor over the rightmost paren, so that | ||||
|   		     * matching it will take us back to the start of the line. | ||||
| + 		     * Ignore a match before the start of the block. | ||||
|   		     */ | ||||
|   		    (void)find_last_paren(l, '(', ')'); | ||||
|   		    trypos = find_match_paren(corr_ind_maxparen(&cur_curpos)); | ||||
| + 		    if (trypos != NULL && (trypos->lnum < tryposBrace->lnum | ||||
| + 				|| (trypos->lnum == tryposBrace->lnum | ||||
| + 				    && trypos->col < tryposBrace->col))) | ||||
| + 			trypos = NULL; | ||||
|    | ||||
|   		    /* | ||||
|   		     * If we are looking for ',', we also look for matching | ||||
| *************** | ||||
| *** 8117,8126 **** | ||||
|   		     * Get indent and pointer to text for current line, | ||||
|   		     * ignoring any jump label.	    XXX | ||||
|   		     */ | ||||
| ! 		    if (!curbuf->b_ind_js) | ||||
| ! 			cur_amount = skip_label(curwin->w_cursor.lnum, &l); | ||||
| ! 		    else | ||||
|   			cur_amount = get_indent(); | ||||
|   		    /* | ||||
|   		     * If this is just above the line we are indenting, and it | ||||
|   		     * starts with a '{', line it up with this line. | ||||
| --- 8209,8218 ---- | ||||
|   		     * Get indent and pointer to text for current line, | ||||
|   		     * ignoring any jump label.	    XXX | ||||
|   		     */ | ||||
| ! 		    if (curbuf->b_ind_js) | ||||
|   			cur_amount = get_indent(); | ||||
| + 		    else | ||||
| + 			cur_amount = skip_label(curwin->w_cursor.lnum, &l); | ||||
|   		    /* | ||||
|   		     * If this is just above the line we are indenting, and it | ||||
|   		     * starts with a '{', line it up with this line. | ||||
| *************** | ||||
| *** 8142,8148 **** | ||||
|   			if (*skipwhite(l) != '{') | ||||
|   			    amount += curbuf->b_ind_open_extra; | ||||
|    | ||||
| ! 			if (curbuf->b_ind_cpp_baseclass) | ||||
|   			{ | ||||
|   			    /* have to look back, whether it is a cpp base | ||||
|   			     * class declaration or initialization */ | ||||
| --- 8234,8240 ---- | ||||
|   			if (*skipwhite(l) != '{') | ||||
|   			    amount += curbuf->b_ind_open_extra; | ||||
|    | ||||
| ! 			if (curbuf->b_ind_cpp_baseclass && !curbuf->b_ind_js) | ||||
|   			{ | ||||
|   			    /* have to look back, whether it is a cpp base | ||||
|   			     * class declaration or initialization */ | ||||
| *************** | ||||
| *** 8302,8309 **** | ||||
|   			     */ | ||||
|   			    if (lookfor == LOOKFOR_INITIAL && terminated == ',') | ||||
|   			    { | ||||
| ! 				lookfor = LOOKFOR_ENUM_OR_INIT; | ||||
| ! 				cont_amount = cin_first_id_amount(); | ||||
|   			    } | ||||
|   			    else | ||||
|   			    { | ||||
| --- 8394,8434 ---- | ||||
|   			     */ | ||||
|   			    if (lookfor == LOOKFOR_INITIAL && terminated == ',') | ||||
|   			    { | ||||
| ! 				if (curbuf->b_ind_js) | ||||
| ! 				{ | ||||
| ! 				    /* Search for a line ending in a comma | ||||
| ! 				     * and line up with the line below it | ||||
| ! 				     * (could be the current line). | ||||
| ! 				     * some = [ | ||||
| ! 				     *     1,     <- line up here | ||||
| ! 				     *     2, | ||||
| ! 				     * some = [ | ||||
| ! 				     *     3 +    <- line up here | ||||
| ! 				     *       4 * | ||||
| ! 				     *        5, | ||||
| ! 				     *     6, | ||||
| ! 				     */ | ||||
| ! 				    lookfor = LOOKFOR_NO_COMMA; | ||||
| ! 				    amount = get_indent();	    /* XXX */ | ||||
| ! 				    trypos = find_match_char('[', | ||||
| ! 						      curbuf->b_ind_maxparen); | ||||
| ! 				    if (trypos != NULL) | ||||
| ! 				    { | ||||
| ! 					if (trypos->lnum | ||||
| ! 						 == curwin->w_cursor.lnum - 1) | ||||
| ! 					{ | ||||
| ! 					    /* Current line is first inside | ||||
| ! 					     * [], line up with it. */ | ||||
| ! 					    break; | ||||
| ! 					} | ||||
| ! 					ourscope = trypos->lnum; | ||||
| ! 				    } | ||||
| ! 				} | ||||
| ! 				else | ||||
| ! 				{ | ||||
| ! 				    lookfor = LOOKFOR_ENUM_OR_INIT; | ||||
| ! 				    cont_amount = cin_first_id_amount(); | ||||
| ! 				} | ||||
|   			    } | ||||
|   			    else | ||||
|   			    { | ||||
| *************** | ||||
| *** 8313,8319 **** | ||||
|   								/* XXX */ | ||||
|   				    cont_amount = cin_get_equal_amount( | ||||
|   						       curwin->w_cursor.lnum); | ||||
| ! 				if (lookfor != LOOKFOR_TERM) | ||||
|   				    lookfor = LOOKFOR_UNTERM; | ||||
|   			    } | ||||
|   			} | ||||
| --- 8438,8445 ---- | ||||
|   								/* XXX */ | ||||
|   				    cont_amount = cin_get_equal_amount( | ||||
|   						       curwin->w_cursor.lnum); | ||||
| ! 				if (lookfor != LOOKFOR_TERM | ||||
| ! 						 && lookfor != LOOKFOR_JS_KEY) | ||||
|   				    lookfor = LOOKFOR_UNTERM; | ||||
|   			    } | ||||
|   			} | ||||
| *************** | ||||
| *** 8324,8331 **** | ||||
|   		 * Check if we are after a while (cond); | ||||
|   		 * If so: Ignore until the matching "do". | ||||
|   		 */ | ||||
| ! 							/* XXX */ | ||||
| ! 		else if (cin_iswhileofdo_end(terminated)) | ||||
|   		{ | ||||
|   		    /* | ||||
|   		     * Found an unterminated line after a while ();, line up | ||||
| --- 8450,8456 ---- | ||||
|   		 * Check if we are after a while (cond); | ||||
|   		 * If so: Ignore until the matching "do". | ||||
|   		 */ | ||||
| ! 		else if (cin_iswhileofdo_end(terminated)) /* XXX */ | ||||
|   		{ | ||||
|   		    /* | ||||
|   		     * Found an unterminated line after a while ();, line up | ||||
| *************** | ||||
| *** 8538,8555 **** | ||||
|         if (curbuf->b_ind_jump_label > 0 && original_line_islabel) | ||||
|   	  amount -= curbuf->b_ind_jump_label; | ||||
|       } | ||||
| -  | ||||
| -     /* | ||||
| -      * ok -- we're not inside any sort of structure at all! | ||||
| -      * | ||||
| -      * this means we're at the top level, and everything should | ||||
| -      * basically just match where the previous line is, except | ||||
| -      * for the lines immediately following a function declaration, | ||||
| -      * which are K&R-style parameters and need to be indented. | ||||
| -      */ | ||||
|       else | ||||
|       { | ||||
|   	/* | ||||
|   	 * if our line starts with an open brace, forget about any | ||||
|   	 * prevailing indent and make sure it looks like the start | ||||
|   	 * of a function | ||||
| --- 8663,8678 ---- | ||||
|         if (curbuf->b_ind_jump_label > 0 && original_line_islabel) | ||||
|   	  amount -= curbuf->b_ind_jump_label; | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|   	/* | ||||
| + 	 * ok -- we're not inside any sort of structure at all! | ||||
| + 	 * | ||||
| + 	 * This means we're at the top level, and everything should | ||||
| + 	 * basically just match where the previous line is, except | ||||
| + 	 * for the lines immediately following a function declaration, | ||||
| + 	 * which are K&R-style parameters and need to be indented. | ||||
| + 	 * | ||||
|   	 * if our line starts with an open brace, forget about any | ||||
|   	 * prevailing indent and make sure it looks like the start | ||||
|   	 * of a function | ||||
| *************** | ||||
| *** 8700,8705 **** | ||||
| --- 8823,8840 ---- | ||||
|   		    break; | ||||
|    | ||||
|   		/* | ||||
| + 		 * If the previous line ends on '[' we are probably in an | ||||
| + 		 * array constant: | ||||
| + 		 * something = [ | ||||
| + 		 *     234,  <- extra indent | ||||
| + 		 */ | ||||
| + 		if (cin_ends_in(l, (char_u *)"[", NULL)) | ||||
| + 		{ | ||||
| + 		    amount = get_indent() + ind_continuation; | ||||
| + 		    break; | ||||
| + 		} | ||||
| +  | ||||
| + 		/* | ||||
|   		 * Find a line only has a semicolon that belongs to a previous | ||||
|   		 * line ending in '}', e.g. before an #endif.  Don't increase | ||||
|   		 * indent then. | ||||
| *** ../vim-7.4.354/src/testdir/test3.in	2014-07-02 18:27:44.662290695 +0200 | ||||
| --- src/testdir/test3.in	2014-07-03 22:41:38.743848025 +0200 | ||||
| *************** | ||||
| *** 1432,1438 **** | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino=(0,ts | ||||
| ! 2kdd=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(int a | ||||
| --- 1432,1438 ---- | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino=(0,ts | ||||
| ! 2kdd2j=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(int a | ||||
| *************** | ||||
| *** 1446,1452 **** | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino=(0 | ||||
| ! 2kdd=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void | ||||
| --- 1446,1452 ---- | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino=(0 | ||||
| ! 2kdd2j=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void | ||||
| *************** | ||||
| *** 1461,1467 **** | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd=7][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| --- 1461,1467 ---- | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd2j=7][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| *************** | ||||
| *** 1538,1544 **** | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
|   :set cino+=l1 | ||||
| ! 2kdd=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| --- 1538,1544 ---- | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
|   :set cino+=l1 | ||||
| ! 2kdd2j=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| *************** | ||||
| *** 1567,1573 **** | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| --- 1567,1573 ---- | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd2j=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| *************** | ||||
| *** 1592,1598 **** | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| --- 1592,1598 ---- | ||||
|    | ||||
|   STARTTEST | ||||
|   :set cino& | ||||
| ! 2kdd2j=][ | ||||
|   ENDTEST | ||||
|    | ||||
|   void func(void) | ||||
| *************** | ||||
| *** 1919,1928 **** | ||||
|    | ||||
|   JSSTART | ||||
|   var foo = [ | ||||
| ! 1,  // indent 8 more | ||||
|   2, | ||||
|   3 | ||||
| ! ];  // indent 8 less | ||||
|   JSEND | ||||
|    | ||||
|   STARTTEST | ||||
| --- 1919,1928 ---- | ||||
|    | ||||
|   JSSTART | ||||
|   var foo = [ | ||||
| ! 1, | ||||
|   2, | ||||
|   3 | ||||
| ! ]; | ||||
|   JSEND | ||||
|    | ||||
|   STARTTEST | ||||
| *************** | ||||
| *** 1937,1943 **** | ||||
|   1, | ||||
|   2, | ||||
|   3 | ||||
| ! ];  // indent 16 less | ||||
|   } | ||||
|   JSEND | ||||
|    | ||||
| --- 1937,1943 ---- | ||||
|   1, | ||||
|   2, | ||||
|   3 | ||||
| ! ]; | ||||
|   } | ||||
|   JSEND | ||||
|    | ||||
| *************** | ||||
| *** 1954,1959 **** | ||||
| --- 1954,1961 ---- | ||||
|   cond) { | ||||
|   stmt; | ||||
|   } | ||||
| + window.something.left = | ||||
| + (width - 50 + offset) + "px"; | ||||
|   var class_name='myclass'; | ||||
|    | ||||
|   function private_method() { | ||||
| *************** | ||||
| *** 1969,1983 **** | ||||
|    | ||||
|   $(this).data(class_name+'_public',$.extend({},{ | ||||
|   foo: 'bar', | ||||
| ! bar: 2,  // indent 8 more | ||||
| ! foobar: [  // indent 8 more | ||||
| ! 1,  // indent 8 more | ||||
| ! 2,  // indent 16 more | ||||
| ! 3   // indent 16 more | ||||
|   ], | ||||
| ! callback: function(){  // indent 8 more | ||||
| ! return true;  // indent 8 more | ||||
| ! }  // indent 8 more | ||||
|   }, options||{})); | ||||
|   } | ||||
|    | ||||
| --- 1971,1985 ---- | ||||
|    | ||||
|   $(this).data(class_name+'_public',$.extend({},{ | ||||
|   foo: 'bar', | ||||
| ! bar: 2, | ||||
| ! foobar: [ | ||||
| ! 1, | ||||
| ! 2, | ||||
| ! 3 | ||||
|   ], | ||||
| ! callback: function(){ | ||||
| ! return true; | ||||
| ! } | ||||
|   }, options||{})); | ||||
|   } | ||||
|    | ||||
| *************** | ||||
| *** 2018,2026 **** | ||||
|   foo: 'bar', | ||||
|   bar: 2, | ||||
|   foobar: [ | ||||
| ! 1,  // indent 8 more | ||||
| ! 2,  // indent 8 more | ||||
| ! 3   // indent 8 more | ||||
|   ], | ||||
|   callback: function(){ | ||||
|   return true; | ||||
| --- 2020,2028 ---- | ||||
|   foo: 'bar', | ||||
|   bar: 2, | ||||
|   foobar: [ | ||||
| ! 1, | ||||
| ! 2, | ||||
| ! 3 | ||||
|   ], | ||||
|   callback: function(){ | ||||
|   return true; | ||||
| *************** | ||||
| *** 2040,2054 **** | ||||
|   function init(options) { | ||||
|   $(this).data(class_name+'_public',$.extend({},{ | ||||
|   foo: 'bar', | ||||
| ! bar: 2,  // indent 8 more | ||||
| ! foobar: [  // indent 8 more | ||||
| ! 1,  // indent 8 more | ||||
| ! 2,  // indent 16 more | ||||
| ! 3  // indent 16 more | ||||
|   ], | ||||
| ! callback: function(){  // indent 8 more | ||||
| ! return true;  // indent 8 more | ||||
| ! }  // indent 8 more | ||||
|   }, options||{})); | ||||
|   } | ||||
|   })(jQuery); | ||||
| --- 2042,2056 ---- | ||||
|   function init(options) { | ||||
|   $(this).data(class_name+'_public',$.extend({},{ | ||||
|   foo: 'bar', | ||||
| ! bar: 2, | ||||
| ! foobar: [ | ||||
| ! 1, | ||||
| ! 2, | ||||
| ! 3 | ||||
|   ], | ||||
| ! callback: function(){ | ||||
| ! return true; | ||||
| ! } | ||||
|   }, options||{})); | ||||
|   } | ||||
|   })(jQuery); | ||||
| *** ../vim-7.4.354/src/testdir/test3.ok	2014-07-02 18:27:44.662290695 +0200 | ||||
| --- src/testdir/test3.ok	2014-07-03 22:18:58.167827177 +0200 | ||||
| *************** | ||||
| *** 1707,1716 **** | ||||
|    | ||||
|   JSSTART | ||||
|   var foo = [ | ||||
| ! 1,  // indent 8 more | ||||
|   	2, | ||||
|   	3 | ||||
| ! 	];  // indent 8 less | ||||
|   JSEND | ||||
|    | ||||
|    | ||||
| --- 1707,1716 ---- | ||||
|    | ||||
|   JSSTART | ||||
|   var foo = [ | ||||
| ! 	1, | ||||
|   	2, | ||||
|   	3 | ||||
| ! ]; | ||||
|   JSEND | ||||
|    | ||||
|    | ||||
| *************** | ||||
| *** 1720,1726 **** | ||||
|   		1, | ||||
|   		2, | ||||
|   		3 | ||||
| ! 			];  // indent 16 less | ||||
|   } | ||||
|   JSEND | ||||
|    | ||||
| --- 1720,1726 ---- | ||||
|   		1, | ||||
|   		2, | ||||
|   		3 | ||||
| ! 	]; | ||||
|   } | ||||
|   JSEND | ||||
|    | ||||
| *************** | ||||
| *** 1732,1737 **** | ||||
| --- 1732,1739 ---- | ||||
|   			cond) { | ||||
|   		stmt; | ||||
|   	} | ||||
| + 	window.something.left = | ||||
| + 		(width - 50 + offset) + "px"; | ||||
|   	var class_name='myclass'; | ||||
|    | ||||
|   	function private_method() { | ||||
| *************** | ||||
| *** 1747,1761 **** | ||||
|    | ||||
|   		$(this).data(class_name+'_public',$.extend({},{ | ||||
|   			foo: 'bar', | ||||
| ! 		bar: 2,  // indent 8 more | ||||
| ! 		foobar: [  // indent 8 more | ||||
| ! 			1,  // indent 8 more | ||||
| ! 		2,  // indent 16 more | ||||
| ! 		3   // indent 16 more | ||||
|   			], | ||||
| ! 		callback: function(){  // indent 8 more | ||||
| ! 			return true;  // indent 8 more | ||||
| ! 		}  // indent 8 more | ||||
|   		}, options||{})); | ||||
|   	} | ||||
|    | ||||
| --- 1749,1763 ---- | ||||
|    | ||||
|   		$(this).data(class_name+'_public',$.extend({},{ | ||||
|   			foo: 'bar', | ||||
| ! 			bar: 2, | ||||
| ! 			foobar: [ | ||||
| ! 				1, | ||||
| ! 				2, | ||||
| ! 				3 | ||||
|   			], | ||||
| ! 			callback: function(){ | ||||
| ! 				return true; | ||||
| ! 			} | ||||
|   		}, options||{})); | ||||
|   	} | ||||
|    | ||||
| *************** | ||||
| *** 1791,1799 **** | ||||
|   		foo: 'bar', | ||||
|   		bar: 2, | ||||
|   		foobar: [ | ||||
| ! 		1,  // indent 8 more | ||||
| ! 		2,  // indent 8 more | ||||
| ! 		3   // indent 8 more | ||||
|   		], | ||||
|   		callback: function(){ | ||||
|   			return true; | ||||
| --- 1793,1801 ---- | ||||
|   		foo: 'bar', | ||||
|   		bar: 2, | ||||
|   		foobar: [ | ||||
| ! 			1, | ||||
| ! 			2, | ||||
| ! 			3 | ||||
|   		], | ||||
|   		callback: function(){ | ||||
|   			return true; | ||||
| *************** | ||||
| *** 1808,1822 **** | ||||
|   	function init(options) { | ||||
|   		$(this).data(class_name+'_public',$.extend({},{ | ||||
|   			foo: 'bar', | ||||
| ! 		bar: 2,  // indent 8 more | ||||
| ! 		foobar: [  // indent 8 more | ||||
| ! 			1,  // indent 8 more | ||||
| ! 		2,  // indent 16 more | ||||
| ! 		3  // indent 16 more | ||||
|   			], | ||||
| ! 		callback: function(){  // indent 8 more | ||||
| ! 			return true;  // indent 8 more | ||||
| ! 		}  // indent 8 more | ||||
|   		}, options||{})); | ||||
|   	} | ||||
|   })(jQuery); | ||||
| --- 1810,1824 ---- | ||||
|   	function init(options) { | ||||
|   		$(this).data(class_name+'_public',$.extend({},{ | ||||
|   			foo: 'bar', | ||||
| ! 			bar: 2, | ||||
| ! 			foobar: [ | ||||
| ! 				1, | ||||
| ! 				2, | ||||
| ! 				3 | ||||
|   			], | ||||
| ! 			callback: function(){ | ||||
| ! 				return true; | ||||
| ! 			} | ||||
|   		}, options||{})); | ||||
|   	} | ||||
|   })(jQuery); | ||||
| *** ../vim-7.4.354/src/version.c	2014-07-03 22:54:04.911859458 +0200 | ||||
| --- src/version.c	2014-07-03 22:54:40.971860011 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     355, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| MESKIMEN'S LAW | ||||
|     There's never time to do it right, but always time to do it over. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										38
									
								
								7.4.356
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								7.4.356
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.356 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.356 | ||||
| Problem:    Mercurial does not ignore memfile_test. (Daniel Hahler) | ||||
| Solution:   Add memfile_test to ignored files, remove trailing spaces. | ||||
| Files:	    .hgignore | ||||
| 
 | ||||
| 
 | ||||
| Note: This patch was made empty, because .hgignore is not part of the | ||||
| distributed files. | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.355/src/version.c	2014-07-03 22:57:51.299862927 +0200 | ||||
| --- src/version.c	2014-07-09 13:41:39.855060005 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     356, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| In Africa some of the native tribes have a custom of beating the ground | ||||
| with clubs and uttering spine chilling cries.  Anthropologists call | ||||
| this a form of primitive self-expression.  In America we call it golf. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.357
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.357
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.357 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.357 | ||||
| Problem:    After completion some characters are not redrawn. | ||||
| Solution:   Clear the command line unconditionally. (Jacob Niehus) | ||||
| Files:	    src/edit.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.356/src/edit.c	2014-06-25 14:39:35.102348584 +0200 | ||||
| --- src/edit.c	2014-07-09 13:22:22.747075922 +0200 | ||||
| *************** | ||||
| *** 3854,3861 **** | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    if (!shortmess(SHM_COMPLETIONMENU)) | ||||
| ! 		msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| --- 3854,3860 ---- | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| *** ../vim-7.4.356/src/version.c	2014-07-09 13:43:18.399058649 +0200 | ||||
| --- src/version.c	2014-07-09 13:58:35.483046034 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     357, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Why isn't there mouse-flavored cat food? | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										290
									
								
								7.4.358
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										290
									
								
								7.4.358
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,290 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.358 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.358 (after 7.4.351) | ||||
| Problem:    Sort is not always stable. | ||||
| Solution:   Add an index instead of relying on the pointer to remain the same. | ||||
| 	    Idea by Jun Takimoto. | ||||
| Files:	    src/eval.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.357/src/eval.c	2014-07-02 19:06:14.686326091 +0200 | ||||
| --- src/eval.c	2014-07-09 17:42:05.699813489 +0200 | ||||
| *************** | ||||
| *** 17329,17334 **** | ||||
| --- 17329,17341 ---- | ||||
|   #endif | ||||
|   	item_compare2 __ARGS((const void *s1, const void *s2)); | ||||
|    | ||||
| + /* struct used in the array that's given to qsort() */ | ||||
| + typedef struct | ||||
| + { | ||||
| +     listitem_T	*item; | ||||
| +     int		idx; | ||||
| + } sortItem_T; | ||||
| +  | ||||
|   static int	item_compare_ic; | ||||
|   static int	item_compare_numeric; | ||||
|   static char_u	*item_compare_func; | ||||
| *************** | ||||
| *** 17349,17362 **** | ||||
|       const void	*s1; | ||||
|       const void	*s2; | ||||
|   { | ||||
|       char_u	*p1, *p2; | ||||
|       char_u	*tofree1, *tofree2; | ||||
|       int		res; | ||||
|       char_u	numbuf1[NUMBUFLEN]; | ||||
|       char_u	numbuf2[NUMBUFLEN]; | ||||
|    | ||||
| !     p1 = tv2string(&(*(listitem_T **)s1)->li_tv, &tofree1, numbuf1, 0); | ||||
| !     p2 = tv2string(&(*(listitem_T **)s2)->li_tv, &tofree2, numbuf2, 0); | ||||
|       if (p1 == NULL) | ||||
|   	p1 = (char_u *)""; | ||||
|       if (p2 == NULL) | ||||
| --- 17356,17372 ---- | ||||
|       const void	*s1; | ||||
|       const void	*s2; | ||||
|   { | ||||
| +     sortItem_T  *si1, *si2; | ||||
|       char_u	*p1, *p2; | ||||
|       char_u	*tofree1, *tofree2; | ||||
|       int		res; | ||||
|       char_u	numbuf1[NUMBUFLEN]; | ||||
|       char_u	numbuf2[NUMBUFLEN]; | ||||
|    | ||||
| !     si1 = (sortItem_T *)s1; | ||||
| !     si2 = (sortItem_T *)s2; | ||||
| !     p1 = tv2string(&si1->item->li_tv, &tofree1, numbuf1, 0); | ||||
| !     p2 = tv2string(&si2->item->li_tv, &tofree2, numbuf2, 0); | ||||
|       if (p1 == NULL) | ||||
|   	p1 = (char_u *)""; | ||||
|       if (p2 == NULL) | ||||
| *************** | ||||
| *** 17379,17385 **** | ||||
|       /* When the result would be zero, compare the pointers themselves.  Makes | ||||
|        * the sort stable. */ | ||||
|       if (res == 0 && !item_compare_keep_zero) | ||||
| ! 	res = s1 > s2 ? 1 : -1; | ||||
|    | ||||
|       vim_free(tofree1); | ||||
|       vim_free(tofree2); | ||||
| --- 17389,17395 ---- | ||||
|       /* When the result would be zero, compare the pointers themselves.  Makes | ||||
|        * the sort stable. */ | ||||
|       if (res == 0 && !item_compare_keep_zero) | ||||
| ! 	res = si1->idx > si2->idx ? 1 : -1; | ||||
|    | ||||
|       vim_free(tofree1); | ||||
|       vim_free(tofree2); | ||||
| *************** | ||||
| *** 17394,17399 **** | ||||
| --- 17404,17410 ---- | ||||
|       const void	*s1; | ||||
|       const void	*s2; | ||||
|   { | ||||
| +     sortItem_T  *si1, *si2; | ||||
|       int		res; | ||||
|       typval_T	rettv; | ||||
|       typval_T	argv[3]; | ||||
| *************** | ||||
| *** 17403,17412 **** | ||||
|       if (item_compare_func_err) | ||||
|   	return 0; | ||||
|    | ||||
|       /* Copy the values.  This is needed to be able to set v_lock to VAR_FIXED | ||||
|        * in the copy without changing the original list items. */ | ||||
| !     copy_tv(&(*(listitem_T **)s1)->li_tv, &argv[0]); | ||||
| !     copy_tv(&(*(listitem_T **)s2)->li_tv, &argv[1]); | ||||
|    | ||||
|       rettv.v_type = VAR_UNKNOWN;		/* clear_tv() uses this */ | ||||
|       res = call_func(item_compare_func, (int)STRLEN(item_compare_func), | ||||
| --- 17414,17426 ---- | ||||
|       if (item_compare_func_err) | ||||
|   	return 0; | ||||
|    | ||||
| +     si1 = (sortItem_T *)s1; | ||||
| +     si2 = (sortItem_T *)s2; | ||||
| +  | ||||
|       /* Copy the values.  This is needed to be able to set v_lock to VAR_FIXED | ||||
|        * in the copy without changing the original list items. */ | ||||
| !     copy_tv(&si1->item->li_tv, &argv[0]); | ||||
| !     copy_tv(&si2->item->li_tv, &argv[1]); | ||||
|    | ||||
|       rettv.v_type = VAR_UNKNOWN;		/* clear_tv() uses this */ | ||||
|       res = call_func(item_compare_func, (int)STRLEN(item_compare_func), | ||||
| *************** | ||||
| *** 17426,17432 **** | ||||
|       /* When the result would be zero, compare the pointers themselves.  Makes | ||||
|        * the sort stable. */ | ||||
|       if (res == 0 && !item_compare_keep_zero) | ||||
| ! 	res = s1 > s2 ? 1 : -1; | ||||
|    | ||||
|       return res; | ||||
|   } | ||||
| --- 17440,17446 ---- | ||||
|       /* When the result would be zero, compare the pointers themselves.  Makes | ||||
|        * the sort stable. */ | ||||
|       if (res == 0 && !item_compare_keep_zero) | ||||
| ! 	res = si1->idx > si2->idx ? 1 : -1; | ||||
|    | ||||
|       return res; | ||||
|   } | ||||
| *************** | ||||
| *** 17442,17448 **** | ||||
|   { | ||||
|       list_T	*l; | ||||
|       listitem_T	*li; | ||||
| !     listitem_T	**ptrs; | ||||
|       long	len; | ||||
|       long	i; | ||||
|    | ||||
| --- 17456,17462 ---- | ||||
|   { | ||||
|       list_T	*l; | ||||
|       listitem_T	*li; | ||||
| !     sortItem_T	*ptrs; | ||||
|       long	len; | ||||
|       long	i; | ||||
|    | ||||
| *************** | ||||
| *** 17510,17516 **** | ||||
|   	} | ||||
|    | ||||
|   	/* Make an array with each entry pointing to an item in the List. */ | ||||
| ! 	ptrs = (listitem_T **)alloc((int)(len * sizeof(listitem_T *))); | ||||
|   	if (ptrs == NULL) | ||||
|   	    return; | ||||
|    | ||||
| --- 17524,17530 ---- | ||||
|   	} | ||||
|    | ||||
|   	/* Make an array with each entry pointing to an item in the List. */ | ||||
| ! 	ptrs = (sortItem_T *)alloc((int)(len * sizeof(sortItem_T))); | ||||
|   	if (ptrs == NULL) | ||||
|   	    return; | ||||
|    | ||||
| *************** | ||||
| *** 17519,17525 **** | ||||
|   	{ | ||||
|   	    /* sort(): ptrs will be the list to sort */ | ||||
|   	    for (li = l->lv_first; li != NULL; li = li->li_next) | ||||
| ! 		ptrs[i++] = li; | ||||
|    | ||||
|   	    item_compare_func_err = FALSE; | ||||
|   	    item_compare_keep_zero = FALSE; | ||||
| --- 17533,17543 ---- | ||||
|   	{ | ||||
|   	    /* sort(): ptrs will be the list to sort */ | ||||
|   	    for (li = l->lv_first; li != NULL; li = li->li_next) | ||||
| ! 	    { | ||||
| ! 		ptrs[i].item = li; | ||||
| ! 		ptrs[i].idx = i; | ||||
| ! 		++i; | ||||
| ! 	    } | ||||
|    | ||||
|   	    item_compare_func_err = FALSE; | ||||
|   	    item_compare_keep_zero = FALSE; | ||||
| *************** | ||||
| *** 17531,17537 **** | ||||
|   	    else | ||||
|   	    { | ||||
|   		/* Sort the array with item pointers. */ | ||||
| ! 		qsort((void *)ptrs, (size_t)len, sizeof(listitem_T *), | ||||
|   		    item_compare_func == NULL ? item_compare : item_compare2); | ||||
|    | ||||
|   		if (!item_compare_func_err) | ||||
| --- 17549,17555 ---- | ||||
|   	    else | ||||
|   	    { | ||||
|   		/* Sort the array with item pointers. */ | ||||
| ! 		qsort((void *)ptrs, (size_t)len, sizeof(sortItem_T), | ||||
|   		    item_compare_func == NULL ? item_compare : item_compare2); | ||||
|    | ||||
|   		if (!item_compare_func_err) | ||||
| *************** | ||||
| *** 17540,17546 **** | ||||
|   		    l->lv_first = l->lv_last = l->lv_idx_item = NULL; | ||||
|   		    l->lv_len = 0; | ||||
|   		    for (i = 0; i < len; ++i) | ||||
| ! 			list_append(l, ptrs[i]); | ||||
|   		} | ||||
|   	    } | ||||
|   	} | ||||
| --- 17558,17564 ---- | ||||
|   		    l->lv_first = l->lv_last = l->lv_idx_item = NULL; | ||||
|   		    l->lv_len = 0; | ||||
|   		    for (i = 0; i < len; ++i) | ||||
| ! 			list_append(l, ptrs[i].item); | ||||
|   		} | ||||
|   	    } | ||||
|   	} | ||||
| *************** | ||||
| *** 17559,17565 **** | ||||
|   	    { | ||||
|   		if (item_compare_func_ptr((void *)&li, (void *)&li->li_next) | ||||
|   									 == 0) | ||||
| ! 		    ptrs[i++] = li; | ||||
|   		if (item_compare_func_err) | ||||
|   		{ | ||||
|   		    EMSG(_("E882: Uniq compare function failed")); | ||||
| --- 17577,17583 ---- | ||||
|   	    { | ||||
|   		if (item_compare_func_ptr((void *)&li, (void *)&li->li_next) | ||||
|   									 == 0) | ||||
| ! 		    ptrs[i++].item = li; | ||||
|   		if (item_compare_func_err) | ||||
|   		{ | ||||
|   		    EMSG(_("E882: Uniq compare function failed")); | ||||
| *************** | ||||
| *** 17571,17582 **** | ||||
|   	    { | ||||
|   		while (--i >= 0) | ||||
|   		{ | ||||
| ! 		    li = ptrs[i]->li_next; | ||||
| ! 		    ptrs[i]->li_next = li->li_next; | ||||
|   		    if (li->li_next != NULL) | ||||
| ! 			li->li_next->li_prev = ptrs[i]; | ||||
|   		    else | ||||
| ! 			l->lv_last = ptrs[i]; | ||||
|   		    list_fix_watch(l, li); | ||||
|   		    listitem_free(li); | ||||
|   		    l->lv_len--; | ||||
| --- 17589,17600 ---- | ||||
|   	    { | ||||
|   		while (--i >= 0) | ||||
|   		{ | ||||
| ! 		    li = ptrs[i].item->li_next; | ||||
| ! 		    ptrs[i].item->li_next = li->li_next; | ||||
|   		    if (li->li_next != NULL) | ||||
| ! 			li->li_next->li_prev = ptrs[i].item; | ||||
|   		    else | ||||
| ! 			l->lv_last = ptrs[i].item; | ||||
|   		    list_fix_watch(l, li); | ||||
|   		    listitem_free(li); | ||||
|   		    l->lv_len--; | ||||
| *** ../vim-7.4.357/src/version.c	2014-07-09 14:00:45.175044250 +0200 | ||||
| --- src/version.c	2014-07-09 17:23:12.791836515 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     358, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| An indication you must be a manager: | ||||
| You can explain to somebody the difference between "re-engineering", | ||||
| "down-sizing", "right-sizing", and "firing people's asses". | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										103
									
								
								7.4.359
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								7.4.359
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,103 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.359 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.359 | ||||
| Problem:    When 'ttymouse' is set to 'uxterm' the xterm version is not | ||||
| 	    requested. (Tomas Janousek) | ||||
| Solution:   Do not mark uxterm as a conflict mouse and add | ||||
| 	    resume_get_esc_sequence(). | ||||
| Files:	    src/term.c, src/os_unix.c, src/proto/term.pro | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.358/src/term.c	2014-05-22 21:22:15.361995652 +0200 | ||||
| --- src/term.c	2014-07-09 18:49:57.127730739 +0200 | ||||
| *************** | ||||
| *** 3330,3335 **** | ||||
| --- 3330,3348 ---- | ||||
|       return crv_status == CRV_SENT || u7_status == U7_SENT | ||||
|   						|| xt_index_out > xt_index_in; | ||||
|   } | ||||
| +  | ||||
| + /* | ||||
| +  * If requesting the version was disabled in did_request_esc_sequence(), | ||||
| +  * enable it again. | ||||
| +  */ | ||||
| +     void | ||||
| + resume_get_esc_sequence() | ||||
| + { | ||||
| +     if (crv_status == 0) | ||||
| + 	crv_status = CRV_GET; | ||||
| +     if (u7_status == 0) | ||||
| + 	u7_status = U7_GET; | ||||
| + } | ||||
|   # endif | ||||
|    | ||||
|    | ||||
| *** ../vim-7.4.358/src/os_unix.c	2014-05-22 21:22:15.361995652 +0200 | ||||
| --- src/os_unix.c	2014-07-09 18:56:58.483722175 +0200 | ||||
| *************** | ||||
| *** 3780,3788 **** | ||||
|   # ifdef FEAT_MOUSE_URXVT | ||||
|       /* same as the dec mouse */ | ||||
|       if (use_xterm_mouse() == 3 | ||||
| - #  ifdef FEAT_TERMRESPONSE | ||||
| - 	    && !did_request_esc_sequence() | ||||
| - #  endif | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
|   #  endif | ||||
| --- 3780,3785 ---- | ||||
| *************** | ||||
| *** 3797,3803 **** | ||||
|   	    mch_setmouse(FALSE); | ||||
|   	    setmouse(); | ||||
|   	} | ||||
| ! 	xterm_conflict_mouse = TRUE; | ||||
|       } | ||||
|       else | ||||
|   	del_mouse_termcode(KS_URXVT_MOUSE); | ||||
| --- 3794,3801 ---- | ||||
|   	    mch_setmouse(FALSE); | ||||
|   	    setmouse(); | ||||
|   	} | ||||
| ! 	/* It's OK to request the xterm version for uxterm. */ | ||||
| ! 	resume_get_esc_sequence(); | ||||
|       } | ||||
|       else | ||||
|   	del_mouse_termcode(KS_URXVT_MOUSE); | ||||
| *** ../vim-7.4.358/src/proto/term.pro	2014-05-22 18:14:27.570224664 +0200 | ||||
| --- src/proto/term.pro	2014-07-09 18:53:31.827726375 +0200 | ||||
| *************** | ||||
| *** 35,40 **** | ||||
| --- 35,41 ---- | ||||
|   void starttermcap __ARGS((void)); | ||||
|   void stoptermcap __ARGS((void)); | ||||
|   int did_request_esc_sequence __ARGS((void)); | ||||
| + void resume_get_esc_sequence __ARGS((void)); | ||||
|   void may_req_termresponse __ARGS((void)); | ||||
|   void may_req_ambiguous_char_width __ARGS((void)); | ||||
|   int swapping_screen __ARGS((void)); | ||||
| *** ../vim-7.4.358/src/version.c	2014-07-09 17:51:46.075801693 +0200 | ||||
| --- src/version.c	2014-07-09 18:50:55.515729552 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     359, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| An indication you must be a manager: | ||||
| You give constructive feedback to your dog. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										80
									
								
								7.4.360
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								7.4.360
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,80 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.360 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.360 | ||||
| Problem:    In a regexp pattern a "$" followed by \v or \V is not seen as the | ||||
| 	    end-of-line. | ||||
| Solution:   Handle the situation. (Ozaki Kiichi) | ||||
| Files:	    src/regexp.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.359/src/regexp.c	2014-05-13 19:37:19.489786520 +0200 | ||||
| --- src/regexp.c	2014-07-09 19:28:51.871683287 +0200 | ||||
| *************** | ||||
| *** 3109,3123 **** | ||||
|   	    if (reg_magic >= MAGIC_OFF) | ||||
|   	    { | ||||
|   		char_u *p = regparse + 1; | ||||
|    | ||||
| ! 		/* ignore \c \C \m and \M after '$' */ | ||||
|   		while (p[0] == '\\' && (p[1] == 'c' || p[1] == 'C' | ||||
| ! 				|| p[1] == 'm' || p[1] == 'M' || p[1] == 'Z')) | ||||
|   		    p += 2; | ||||
|   		if (p[0] == NUL | ||||
|   			|| (p[0] == '\\' | ||||
|   			    && (p[1] == '|' || p[1] == '&' || p[1] == ')' | ||||
|   				|| p[1] == 'n')) | ||||
|   			|| reg_magic == MAGIC_ALL) | ||||
|   		    curchr = Magic('$'); | ||||
|   	    } | ||||
| --- 3109,3133 ---- | ||||
|   	    if (reg_magic >= MAGIC_OFF) | ||||
|   	    { | ||||
|   		char_u *p = regparse + 1; | ||||
| + 		int is_magic_all = (reg_magic == MAGIC_ALL); | ||||
|    | ||||
| ! 		/* ignore \c \C \m \M \v \V and \Z after '$' */ | ||||
|   		while (p[0] == '\\' && (p[1] == 'c' || p[1] == 'C' | ||||
| ! 				|| p[1] == 'm' || p[1] == 'M' | ||||
| ! 				|| p[1] == 'v' || p[1] == 'V' || p[1] == 'Z')) | ||||
| ! 		{ | ||||
| ! 		    if (p[1] == 'v') | ||||
| ! 			is_magic_all = TRUE; | ||||
| ! 		    else if (p[1] == 'm' || p[1] == 'M' || p[1] == 'V') | ||||
| ! 			is_magic_all = FALSE; | ||||
|   		    p += 2; | ||||
| + 		} | ||||
|   		if (p[0] == NUL | ||||
|   			|| (p[0] == '\\' | ||||
|   			    && (p[1] == '|' || p[1] == '&' || p[1] == ')' | ||||
|   				|| p[1] == 'n')) | ||||
| + 			|| (is_magic_all | ||||
| + 			       && (p[0] == '|' || p[0] == '&' || p[0] == ')')) | ||||
|   			|| reg_magic == MAGIC_ALL) | ||||
|   		    curchr = Magic('$'); | ||||
|   	    } | ||||
| *** ../vim-7.4.359/src/version.c	2014-07-09 19:13:45.007701718 +0200 | ||||
| --- src/version.c	2014-07-09 19:18:36.599695792 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     360, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| An indication you must be a manager: | ||||
| You believe you never have any problems in your life, just | ||||
| "issues" and "improvement opportunities". | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										48
									
								
								7.4.361
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								7.4.361
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.361 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.361 | ||||
| Problem:    Lots of flickering when filling the preview window for 'omnifunc'. | ||||
| Solution:   Disable redrawing. (Hirohito Higashi) | ||||
| Files:	    src/popupmnu.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.360/src/popupmnu.c	2013-11-06 04:04:29.000000000 +0100 | ||||
| --- src/popupmnu.c	2014-07-09 19:56:25.663649674 +0200 | ||||
| *************** | ||||
| *** 567,573 **** | ||||
| --- 567,575 ---- | ||||
|   	    g_do_tagpreview = 3; | ||||
|   	    if (p_pvh > 0 && p_pvh < g_do_tagpreview) | ||||
|   		g_do_tagpreview = p_pvh; | ||||
| + 	    ++RedrawingDisabled; | ||||
|   	    resized = prepare_tagpreview(FALSE); | ||||
| + 	    --RedrawingDisabled; | ||||
|   	    g_do_tagpreview = 0; | ||||
|    | ||||
|   	    if (curwin->w_p_pvw) | ||||
| *** ../vim-7.4.360/src/version.c	2014-07-09 19:32:30.939678834 +0200 | ||||
| --- src/version.c	2014-07-09 19:55:48.995650419 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     361, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Lose weight, NEVER Diet again with | ||||
|                   The "Invisible Weight Loss Patch" | ||||
| 						(spam e-mail) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										53
									
								
								7.4.362
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								7.4.362
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,53 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.362 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.362 | ||||
| Problem:    When matchaddpos() uses a length smaller than the number of bytes | ||||
| 	    in the (last) character the highlight continues until the end of | ||||
| 	    the line. | ||||
| Solution:   Change condition from equal to larger-or-equal. | ||||
| Files:	    src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.361/src/screen.c	2014-07-03 22:54:04.911859458 +0200 | ||||
| --- src/screen.c	2014-07-09 20:14:46.611627298 +0200 | ||||
| *************** | ||||
| *** 3852,3858 **** | ||||
|   			{ | ||||
|   			    shl->attr_cur = shl->attr; | ||||
|   			} | ||||
| ! 			else if (v == (long)shl->endcol) | ||||
|   			{ | ||||
|   			    shl->attr_cur = 0; | ||||
|   			    next_search_hl(wp, shl, lnum, (colnr_T)v, cur); | ||||
| --- 3852,3858 ---- | ||||
|   			{ | ||||
|   			    shl->attr_cur = shl->attr; | ||||
|   			} | ||||
| ! 			else if (v >= (long)shl->endcol) | ||||
|   			{ | ||||
|   			    shl->attr_cur = 0; | ||||
|   			    next_search_hl(wp, shl, lnum, (colnr_T)v, cur); | ||||
| *** ../vim-7.4.361/src/version.c	2014-07-09 19:58:21.115647328 +0200 | ||||
| --- src/version.c	2014-07-09 20:20:14.423620635 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     362, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Compilation process failed successfully. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										160
									
								
								7.4.363
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								7.4.363
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,160 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.363 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.363 | ||||
| Problem:    In Windows console typing 0xCE does not work. | ||||
| Solution:   Convert 0xCE to K_NUL 3. (Nobuhiro Takasaki et al.) | ||||
| Files:	    src/os_win32.c, src/term.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.362/src/os_win32.c	2014-04-01 21:00:45.436733663 +0200 | ||||
| --- src/os_win32.c	2014-07-09 20:29:30.787609327 +0200 | ||||
| *************** | ||||
| *** 619,625 **** | ||||
|   	return FALSE; | ||||
|       } | ||||
|    | ||||
| !     tokenPrivileges.PrivilegeCount           = 1; | ||||
|       tokenPrivileges.Privileges[0].Luid       = luid; | ||||
|       tokenPrivileges.Privileges[0].Attributes = bEnable ? | ||||
|   						    SE_PRIVILEGE_ENABLED : 0; | ||||
| --- 619,625 ---- | ||||
|   	return FALSE; | ||||
|       } | ||||
|    | ||||
| !     tokenPrivileges.PrivilegeCount	     = 1; | ||||
|       tokenPrivileges.Privileges[0].Luid       = luid; | ||||
|       tokenPrivileges.Privileges[0].Attributes = bEnable ? | ||||
|   						    SE_PRIVILEGE_ENABLED : 0; | ||||
| *************** | ||||
| *** 1785,1797 **** | ||||
|   #endif | ||||
|   	    { | ||||
|   		int	n = 1; | ||||
|    | ||||
| - 		/* A key may have one or two bytes. */ | ||||
|   		typeahead[typeaheadlen] = c; | ||||
|   		if (ch2 != NUL) | ||||
|   		{ | ||||
| ! 		    typeahead[typeaheadlen + 1] = ch2; | ||||
| ! 		    ++n; | ||||
|   		} | ||||
|   #ifdef FEAT_MBYTE | ||||
|   		/* Only convert normal characters, not special keys.  Need to | ||||
| --- 1785,1798 ---- | ||||
|   #endif | ||||
|   	    { | ||||
|   		int	n = 1; | ||||
| + 		int     conv = FALSE; | ||||
|    | ||||
|   		typeahead[typeaheadlen] = c; | ||||
|   		if (ch2 != NUL) | ||||
|   		{ | ||||
| ! 		    typeahead[typeaheadlen + 1] = 3; | ||||
| ! 		    typeahead[typeaheadlen + 2] = ch2; | ||||
| ! 		    n += 2; | ||||
|   		} | ||||
|   #ifdef FEAT_MBYTE | ||||
|   		/* Only convert normal characters, not special keys.  Need to | ||||
| *************** | ||||
| *** 1800,1805 **** | ||||
| --- 1801,1807 ---- | ||||
|   		if (input_conv.vc_type != CONV_NONE | ||||
|   						&& (ch2 == NUL || c != K_NUL)) | ||||
|   		{ | ||||
| + 		    conv = TRUE; | ||||
|   		    typeaheadlen -= unconverted; | ||||
|   		    n = convert_input_safe(typeahead + typeaheadlen, | ||||
|   				n + unconverted, TYPEAHEADLEN - typeaheadlen, | ||||
| *************** | ||||
| *** 1807,1812 **** | ||||
| --- 1809,1832 ---- | ||||
|   		} | ||||
|   #endif | ||||
|    | ||||
| + 		if (conv) | ||||
| + 		{ | ||||
| + 		    char_u *p = typeahead + typeaheadlen; | ||||
| + 		    char_u *e = typeahead + TYPEAHEADLEN; | ||||
| +  | ||||
| + 		    while (*p && p < e) | ||||
| + 		    { | ||||
| + 			if (*p == K_NUL) | ||||
| + 			{ | ||||
| + 			    ++p; | ||||
| + 			    mch_memmove(p + 1, p, ((size_t)(e - p)) - 1); | ||||
| + 			    *p = 3; | ||||
| + 			    ++n; | ||||
| + 			} | ||||
| + 			++p; | ||||
| + 		    } | ||||
| + 		} | ||||
| +  | ||||
|   		/* Use the ALT key to set the 8th bit of the character | ||||
|   		 * when it's one byte, the 8th bit isn't set yet and not | ||||
|   		 * using a double-byte encoding (would become a lead | ||||
| *** ../vim-7.4.362/src/term.c	2014-07-09 19:13:45.003701718 +0200 | ||||
| --- src/term.c	2014-07-09 20:26:28.655613029 +0200 | ||||
| *************** | ||||
| *** 3724,3730 **** | ||||
| --- 3724,3734 ---- | ||||
|   	return; | ||||
|       } | ||||
|    | ||||
| + #if defined(WIN3264) && !defined(FEAT_GUI) | ||||
| +     s = vim_strnsave(string, (int)STRLEN(string) + 1); | ||||
| + #else | ||||
|       s = vim_strsave(string); | ||||
| + #endif | ||||
|       if (s == NULL) | ||||
|   	return; | ||||
|    | ||||
| *************** | ||||
| *** 3734,3739 **** | ||||
| --- 3738,3752 ---- | ||||
|   	STRMOVE(s, s + 1); | ||||
|   	s[0] = term_7to8bit(string); | ||||
|       } | ||||
| +  | ||||
| + #if defined(WIN3264) && !defined(FEAT_GUI) | ||||
| +     if (s[0] == K_NUL) | ||||
| +     { | ||||
| +         STRMOVE(s + 1, s); | ||||
| +         s[1] = 3; | ||||
| +     } | ||||
| + #endif | ||||
| +  | ||||
|       len = (int)STRLEN(s); | ||||
|    | ||||
|       need_gather = TRUE;		/* need to fill termleader[] */ | ||||
| *** ../vim-7.4.362/src/version.c	2014-07-09 20:20:40.359620108 +0200 | ||||
| --- src/version.c	2014-07-09 20:26:38.903612821 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     363, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One. | ||||
| ANOTHER MONK:    And St.  Attila raised his hand grenade up on high saying "O | ||||
|                  Lord bless this thy hand grenade that with it thou mayest | ||||
|                  blow thine enemies to tiny bits, in thy mercy. "and the Lord | ||||
|                  did grin and people did feast upon the lambs and sloths and | ||||
|                  carp and anchovies and orang-utans and breakfast cereals and | ||||
|                  fruit bats and... | ||||
| BROTHER MAYNARD: Skip a bit brother ... | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										70
									
								
								7.4.364
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								7.4.364
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,70 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.364 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.364 | ||||
| Problem:    When the viminfo file can't be renamed there is no error message. | ||||
| 	    (Vladimir Berezhnoy) | ||||
| Solution:   Check for the rename to fail. | ||||
| Files:	    src/ex_cmds.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.363/src/ex_cmds.c	2014-05-22 14:00:12.694534712 +0200 | ||||
| --- src/ex_cmds.c	2014-07-09 21:11:44.531557830 +0200 | ||||
| *************** | ||||
| *** 2004,2014 **** | ||||
|       { | ||||
|   	fclose(fp_in); | ||||
|    | ||||
| ! 	/* | ||||
| ! 	 * In case of an error keep the original viminfo file. | ||||
| ! 	 * Otherwise rename the newly written file. | ||||
| ! 	 */ | ||||
| ! 	if (viminfo_errcnt || vim_rename(tempname, fname) == -1) | ||||
|   	    mch_remove(tempname); | ||||
|    | ||||
|   #ifdef WIN3264 | ||||
| --- 2004,2017 ---- | ||||
|       { | ||||
|   	fclose(fp_in); | ||||
|    | ||||
| ! 	/* In case of an error keep the original viminfo file.  Otherwise | ||||
| ! 	 * rename the newly written file.  Give an error if that fails. */ | ||||
| ! 	if (viminfo_errcnt == 0 && vim_rename(tempname, fname) == -1) | ||||
| ! 	{ | ||||
| ! 	    ++viminfo_errcnt; | ||||
| ! 	    EMSG2(_("E886: Can't rename viminfo file to %s!"), fname); | ||||
| ! 	} | ||||
| ! 	if (viminfo_errcnt > 0) | ||||
|   	    mch_remove(tempname); | ||||
|    | ||||
|   #ifdef WIN3264 | ||||
| *** ../vim-7.4.363/src/version.c	2014-07-09 20:51:04.519583033 +0200 | ||||
| --- src/version.c	2014-07-09 21:13:18.575555919 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     364, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| MONK: ... and the Lord spake, saying, "First shalt thou take out the Holy Pin, | ||||
|       then shalt thou count to three, no more, no less.  Three shalt be the | ||||
|       number thou shalt count, and the number of the counting shalt be three. | ||||
|       Four shalt thou not count, neither count thou two, excepting that thou | ||||
|       then proceed to three.  Five is right out.  Once the number three, being | ||||
|       the third number, be reached, then lobbest thou thy Holy Hand Grenade of | ||||
|       Antioch towards thou foe, who being naughty in my sight, shall snuff it. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										159
									
								
								7.4.365
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								7.4.365
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,159 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.365 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.365 | ||||
| Problem:    Crash when using ":botright split" when there isn't much space. | ||||
| Solution:   Add a check for the minimum width/height. (Yukihiro Nakadaira) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.364/src/window.c	2014-07-02 17:16:51.334225522 +0200 | ||||
| --- src/window.c	2014-07-16 14:14:37.751774230 +0200 | ||||
| *************** | ||||
| *** 686,691 **** | ||||
| --- 686,693 ---- | ||||
|       int		layout; | ||||
|       frame_T	*frp, *curfrp; | ||||
|       int		before; | ||||
| +     int		minwidth; | ||||
| +     int		minheight; | ||||
|    | ||||
|       if (flags & WSP_TOP) | ||||
|   	oldwin = firstwin; | ||||
| *************** | ||||
| *** 725,735 **** | ||||
|   	    needed += p_wiw - p_wmw; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
|   	    available = topframe->fr_width; | ||||
| ! 	    needed += frame_minwidth(topframe, NULL); | ||||
|   	} | ||||
|   	else | ||||
|   	    available = oldwin->w_width; | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
|   	    EMSG(_(e_noroom)); | ||||
| --- 727,741 ---- | ||||
|   	    needed += p_wiw - p_wmw; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| + 	    minwidth = frame_minwidth(topframe, NULL); | ||||
|   	    available = topframe->fr_width; | ||||
| ! 	    needed += minwidth; | ||||
|   	} | ||||
|   	else | ||||
| + 	{ | ||||
| + 	    minwidth = frame_minwidth(oldwin->w_frame, NULL); | ||||
|   	    available = oldwin->w_width; | ||||
| + 	} | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
|   	    EMSG(_(e_noroom)); | ||||
| *************** | ||||
| *** 739,744 **** | ||||
| --- 745,752 ---- | ||||
|   	    new_size = oldwin->w_width / 2; | ||||
|   	if (new_size > oldwin->w_width - p_wmw - 1) | ||||
|   	    new_size = oldwin->w_width - p_wmw - 1; | ||||
| + 	if (new_size > available - minwidth - 1) | ||||
| + 	    new_size = available - minwidth - 1; | ||||
|   	if (new_size < p_wmw) | ||||
|   	    new_size = p_wmw; | ||||
|    | ||||
| *************** | ||||
| *** 786,796 **** | ||||
|   	    needed += p_wh - p_wmh; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
|   	    available = topframe->fr_height; | ||||
| ! 	    needed += frame_minheight(topframe, NULL); | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    available = oldwin->w_height; | ||||
|   	    needed += p_wmh; | ||||
|   	} | ||||
| --- 794,806 ---- | ||||
|   	    needed += p_wh - p_wmh; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| + 	    minheight = frame_minheight(topframe, NULL); | ||||
|   	    available = topframe->fr_height; | ||||
| ! 	    needed += minheight; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| + 	    minheight = frame_minheight(oldwin->w_frame, NULL); | ||||
|   	    available = oldwin->w_height; | ||||
|   	    needed += p_wmh; | ||||
|   	} | ||||
| *************** | ||||
| *** 810,815 **** | ||||
| --- 820,827 ---- | ||||
|    | ||||
|   	if (new_size > oldwin_height - p_wmh - STATUS_HEIGHT) | ||||
|   	    new_size = oldwin_height - p_wmh - STATUS_HEIGHT; | ||||
| + 	if (new_size > available - minheight - STATUS_HEIGHT) | ||||
| + 	    new_size = available - minheight - STATUS_HEIGHT; | ||||
|   	if (new_size < p_wmh) | ||||
|   	    new_size = p_wmh; | ||||
|    | ||||
| *************** | ||||
| *** 5732,5738 **** | ||||
|   		    --wp->w_wrow; | ||||
|   		} | ||||
|   	    } | ||||
| !             set_topline(wp, lnum); | ||||
|   	} | ||||
|   	else if (sline > 0) | ||||
|   	{ | ||||
| --- 5744,5750 ---- | ||||
|   		    --wp->w_wrow; | ||||
|   		} | ||||
|   	    } | ||||
| ! 	    set_topline(wp, lnum); | ||||
|   	} | ||||
|   	else if (sline > 0) | ||||
|   	{ | ||||
| *************** | ||||
| *** 5778,5784 **** | ||||
|   		wp->w_wrow -= sline; | ||||
|   	    } | ||||
|    | ||||
| !             set_topline(wp, lnum); | ||||
|   	} | ||||
|       } | ||||
|    | ||||
| --- 5790,5796 ---- | ||||
|   		wp->w_wrow -= sline; | ||||
|   	    } | ||||
|    | ||||
| ! 	    set_topline(wp, lnum); | ||||
|   	} | ||||
|       } | ||||
|    | ||||
| *** ../vim-7.4.364/src/version.c	2014-07-09 21:17:59.755550204 +0200 | ||||
| --- src/version.c	2014-07-16 14:10:41.191779038 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     365, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| "Software is like sex... it's better when it's free." | ||||
| 		-- Linus Torvalds, initiator of the free Linux OS | ||||
| Makes me wonder what FSF stands for...? | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										53
									
								
								7.4.366
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								7.4.366
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,53 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.366 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.366 | ||||
| Problem:    Can't run the linebreak test on MS-Windows. | ||||
| Solution:   Fix the output file name. (Taro Muraoka) | ||||
| Files:	    src/testdir/Make_dos.mak | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.365/src/testdir/Make_dos.mak	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-16 14:19:39.719768093 +0200 | ||||
| *************** | ||||
| *** 37,43 **** | ||||
|   		test105.out test106.out  test107.out\ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| ! 		test_listlbr \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| --- 37,43 ---- | ||||
|   		test105.out test106.out  test107.out\ | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
| ! 		test_listlbr.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.365/src/version.c	2014-07-16 14:16:41.519771715 +0200 | ||||
| --- src/version.c	2014-07-16 14:18:43.307769239 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     366, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| <Beeth> Girls are like internet domain names, | ||||
|         the ones I like are already taken. | ||||
| <honx>  Well, you can stil get one from a strange country :-P | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										67
									
								
								7.4.367
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								7.4.367
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.367 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.367 (after 7.4.357) | ||||
| Problem:    Other solution for redrawing after completion. | ||||
| Solution:   Schedule a window redraw instead of just clearing the command | ||||
| 	    line. (Jacob Niehus) | ||||
| Files:	    src/edit.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.366/src/edit.c	2014-07-09 14:00:45.175044250 +0200 | ||||
| --- src/edit.c	2014-07-16 14:36:00.679748155 +0200 | ||||
| *************** | ||||
| *** 3854,3860 **** | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| --- 3854,3861 ---- | ||||
|   	    ins_compl_free(); | ||||
|   	    compl_started = FALSE; | ||||
|   	    compl_matches = 0; | ||||
| ! 	    if (!shortmess(SHM_COMPLETIONMENU)) | ||||
| ! 		msg_clr_cmdline();	/* necessary for "noshowmode" */ | ||||
|   	    ctrl_x_mode = 0; | ||||
|   	    compl_enter_selects = FALSE; | ||||
|   	    if (edit_submode != NULL) | ||||
| *************** | ||||
| *** 4591,4597 **** | ||||
| --- 4592,4601 ---- | ||||
|        */ | ||||
|       i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0); | ||||
|       backspace_until_column(i); | ||||
| +  | ||||
| +     /* Not sure what is still valid, better redraw everything. */ | ||||
|       changed_cline_bef_curs(); | ||||
| +     redraw_curbuf_later(NOT_VALID); | ||||
|   } | ||||
|    | ||||
|   /* Insert the new text being completed. */ | ||||
| *** ../vim-7.4.366/src/version.c	2014-07-16 14:20:38.255766903 +0200 | ||||
| --- src/version.c	2014-07-16 14:42:23.059740384 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     367, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| No children may attend school with their breath smelling of "wild onions." | ||||
| 		[real standing law in West Virginia, United States of America] | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										79
									
								
								7.4.368
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								7.4.368
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,79 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.368 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.368 | ||||
| Problem:    Restoring the window sizes after closing the command line window | ||||
| 	    doesn't work properly if there are nested splits. | ||||
| Solution:   Restore the sizes twice. (Hirohito Higashi) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.367/src/window.c	2014-07-16 14:16:41.519771715 +0200 | ||||
| --- src/window.c	2014-07-16 15:13:52.895701974 +0200 | ||||
| *************** | ||||
| *** 4848,4862 **** | ||||
|       garray_T	*gap; | ||||
|   { | ||||
|       win_T	*wp; | ||||
| !     int		i; | ||||
|    | ||||
|       if (win_count() * 2 == gap->ga_len) | ||||
|       { | ||||
| ! 	i = 0; | ||||
| ! 	for (wp = firstwin; wp != NULL; wp = wp->w_next) | ||||
|   	{ | ||||
| ! 	    frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]); | ||||
| ! 	    win_setheight_win(((int *)gap->ga_data)[i++], wp); | ||||
|   	} | ||||
|   	/* recompute the window positions */ | ||||
|   	(void)win_comp_pos(); | ||||
| --- 4848,4867 ---- | ||||
|       garray_T	*gap; | ||||
|   { | ||||
|       win_T	*wp; | ||||
| !     int		i, j; | ||||
|    | ||||
|       if (win_count() * 2 == gap->ga_len) | ||||
|       { | ||||
| ! 	/* The order matters, because frames contain other frames, but it's | ||||
| ! 	 * difficult to get right. The easy way out is to do it twice. */ | ||||
| ! 	for (j = 0; j < 2; ++j) | ||||
|   	{ | ||||
| ! 	    i = 0; | ||||
| ! 	    for (wp = firstwin; wp != NULL; wp = wp->w_next) | ||||
| ! 	    { | ||||
| ! 		frame_setwidth(wp->w_frame, ((int *)gap->ga_data)[i++]); | ||||
| ! 		win_setheight_win(((int *)gap->ga_data)[i++], wp); | ||||
| ! 	    } | ||||
|   	} | ||||
|   	/* recompute the window positions */ | ||||
|   	(void)win_comp_pos(); | ||||
| *** ../vim-7.4.367/src/version.c	2014-07-16 14:42:37.923740082 +0200 | ||||
| --- src/version.c	2014-07-16 15:14:46.035700894 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     368, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| FROG: How you English say:  I one more time, mac, I unclog my nose towards | ||||
|       you, sons of a window-dresser,  so, you think you could out-clever us | ||||
|       French fellows with your silly knees-bent creeping about advancing | ||||
|       behaviour.  (blows a raspberry) I wave my private parts at your aunties, | ||||
|       you brightly-coloured, mealy-templed, cranberry-smelling, electric | ||||
|       donkey-bottom biters. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										70
									
								
								7.4.369
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								7.4.369
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,70 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.369 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.369 | ||||
| Problem:    Using freed memory when exiting while compiled with EXITFREE. | ||||
| Solution:   Set curwin to NULL and check for that. (Dominique Pelle) | ||||
| Files:	    src/buffer.c, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.368/src/buffer.c	2014-06-12 14:01:27.571769788 +0200 | ||||
| --- src/buffer.c	2014-07-16 16:20:04.443621254 +0200 | ||||
| *************** | ||||
| *** 5702,5709 **** | ||||
|       signlist_T	*next; | ||||
|    | ||||
|       /* When deleting the last sign need to redraw the windows to remove the | ||||
| !      * sign column. */ | ||||
| !     if (buf->b_signlist != NULL) | ||||
|       { | ||||
|   	redraw_buf_later(buf, NOT_VALID); | ||||
|   	changed_cline_bef_curs(); | ||||
| --- 5702,5709 ---- | ||||
|       signlist_T	*next; | ||||
|    | ||||
|       /* When deleting the last sign need to redraw the windows to remove the | ||||
| !      * sign column. Not when curwin is NULL (this means we're exiting). */ | ||||
| !     if (buf->b_signlist != NULL && curwin != NULL) | ||||
|       { | ||||
|   	redraw_buf_later(buf, NOT_VALID); | ||||
|   	changed_cline_bef_curs(); | ||||
| *** ../vim-7.4.368/src/window.c	2014-07-16 15:18:22.903696486 +0200 | ||||
| --- src/window.c	2014-07-16 16:15:41.063626607 +0200 | ||||
| *************** | ||||
| *** 2489,2494 **** | ||||
| --- 2489,2498 ---- | ||||
|    | ||||
|       while (firstwin != NULL) | ||||
|   	(void)win_free_mem(firstwin, &dummy, NULL); | ||||
| +  | ||||
| +     /* No window should be used after this. Set curwin to NULL to crash | ||||
| +      * instead of using freed memory. */ | ||||
| +     curwin = NULL; | ||||
|   } | ||||
|   #endif | ||||
|    | ||||
| *** ../vim-7.4.368/src/version.c	2014-07-16 15:18:22.907696486 +0200 | ||||
| --- src/version.c	2014-07-16 16:18:36.827623035 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     369, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ARTHUR: If you do not open these doors, we will take this castle by force ... | ||||
|    [A bucket of slops land on ARTHUR.  He tries to retain his dignity.] | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										316
									
								
								7.4.370
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										316
									
								
								7.4.370
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,316 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.370 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.370 | ||||
| Problem:    Linebreak test fails when encoding is not utf-8. (Danek Duvall) | ||||
| Solution:   Split the test in a single byte one and a utf-8 one. (Christian | ||||
| 	    Brabandt) | ||||
| Files:	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, | ||||
| 	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, | ||||
| 	    src/testdir/Make_vms.mms, src/testdir/Makefile, | ||||
| 	    src/testdir/test_listlbr.in, src/testdir/test_listlbr.ok, | ||||
| 	    src/testdir/test_listlbr_utf8.in, src/testdir/test_listlbr_utf8.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.369/src/testdir/Make_amiga.mak	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 39,44 **** | ||||
| --- 39,45 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *************** | ||||
| *** 167,171 **** | ||||
| --- 168,173 ---- | ||||
|   test_autoformat_join.out: test_autoformat_join.in | ||||
|   test_breakindent.out: test_breakindent.in | ||||
|   test_listlbr.out: test_listlbr.in | ||||
| + test_listlbr_utf8.out: test_listlbr_utf8.in | ||||
|   test_eval.out: test_eval.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.369/src/testdir/Make_dos.mak	2014-07-16 14:20:38.255766903 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-16 16:56:02.423577394 +0200 | ||||
| *************** | ||||
| *** 38,43 **** | ||||
| --- 38,44 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.369/src/testdir/Make_ming.mak	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 58,63 **** | ||||
| --- 58,64 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.369/src/testdir/Make_os2.mak	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_breakindent.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.369/src/testdir/Make_vms.mms	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 99,104 **** | ||||
| --- 99,105 ---- | ||||
|   	 test_autoformat_join.out \ | ||||
|   	 test_breakindent.out \ | ||||
|   	 test_listlbr.out \ | ||||
| + 	 test_listlbr_utf8.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
|    | ||||
| *** ../vim-7.4.369/src/testdir/Makefile	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/Makefile	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 36,41 **** | ||||
| --- 36,42 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.369/src/testdir/test_listlbr.in	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/test_listlbr.in	2014-07-16 16:55:15.311578352 +0200 | ||||
| *************** | ||||
| *** 1,10 **** | ||||
| ! Test for linebreak and list option | ||||
|    | ||||
|   STARTTEST | ||||
|   :so small.vim | ||||
|   :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif | ||||
|   :10new|:vsp|:vert resize 20 | ||||
| ! :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" | ||||
|   :norm! zt | ||||
|   :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap | ||||
|   :fu! ScreenChar(width) | ||||
| --- 1,10 ---- | ||||
| ! Test for linebreak and list option (non-utf8) | ||||
|    | ||||
|   STARTTEST | ||||
|   :so small.vim | ||||
|   :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif | ||||
|   :10new|:vsp|:vert resize 20 | ||||
| ! :put =\"\tabcdef hijklmn\tpqrstuvwxyz_1060ABCDEFGHIJKLMNOP \" | ||||
|   :norm! zt | ||||
|   :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap | ||||
|   :fu! ScreenChar(width) | ||||
| *************** | ||||
| *** 32,53 **** | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| ! :let g:test ="Test 3: set linebreak + set list + fancy listchars" | ||||
| ! :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" | ||||
| ! :redraw! | ||||
| ! :let line=ScreenChar(winwidth(0)) | ||||
| ! :call DoRecordScreen() | ||||
| ! :let g:test ="Test 4: set linebreak nolist" | ||||
|   :set nolist linebreak | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| ! :let g:test ="Test 5: set nolinebreak list" | ||||
| ! :set list nolinebreak | ||||
| ! :redraw! | ||||
| ! :let line=ScreenChar(winwidth(0)) | ||||
| ! :call DoRecordScreen() | ||||
| ! :let g:test ="Test 6: set linebreak with tab and 1 line as long as screen: should break!" | ||||
|   :set nolist linebreak ts=8 | ||||
|   :let line="1\t".repeat('a', winwidth(0)-2) | ||||
|   :$put =line | ||||
| --- 32,43 ---- | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| ! :let g:test ="Test 3: set linebreak nolist" | ||||
|   :set nolist linebreak | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| ! :let g:test ="Test 4: set linebreak with tab and 1 line as long as screen: should break!" | ||||
|   :set nolist linebreak ts=8 | ||||
|   :let line="1\t".repeat('a', winwidth(0)-2) | ||||
|   :$put =line | ||||
| *** ../vim-7.4.369/src/testdir/test_listlbr.ok	2014-07-02 19:59:35.454375136 +0200 | ||||
| --- src/testdir/test_listlbr.ok	2014-07-16 16:55:15.315578352 +0200 | ||||
| *************** | ||||
| *** 1,38 **** | ||||
|    | ||||
| ! 	abcdef hijklmn	pqrstuvwxyz 1060ABCDEFGHIJKLMNOP  | ||||
|    | ||||
|   Test 1: set linebreak | ||||
|       abcdef           | ||||
|   +hijklmn             | ||||
| ! +pqrstuvwxyz 1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
|    | ||||
|   Test 2: set linebreak + set list | ||||
|   ^Iabcdef hijklmn^I   | ||||
| ! +pqrstuvwxyz 1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
|                        | ||||
|    | ||||
| ! Test 3: set linebreak + set list + fancy listchars | ||||
| ! ▕———abcdef           | ||||
| ! +hijklmn▕———         | ||||
| ! +pqrstuvwxyz␣1060ABC | ||||
| ! +DEFGHIJKLMNOPˑ¶     | ||||
| !  | ||||
| ! Test 4: set linebreak nolist | ||||
|       abcdef           | ||||
|   +hijklmn             | ||||
| ! +pqrstuvwxyz 1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
| -  | ||||
| - Test 5: set nolinebreak list | ||||
| - ▕———abcdef hijklmn▕— | ||||
| - +pqrstuvwxyz␣1060ABC | ||||
| - +DEFGHIJKLMNOPˑ¶     | ||||
| - ¶                    | ||||
|   1	aaaaaaaaaaaaaaaaaa | ||||
|    | ||||
| ! Test 6: set linebreak with tab and 1 line as long as screen: should break! | ||||
|   1                    | ||||
|   +aaaaaaaaaaaaaaaaaa  | ||||
|   ~                    | ||||
| --- 1,26 ---- | ||||
|    | ||||
| ! 	abcdef hijklmn	pqrstuvwxyz_1060ABCDEFGHIJKLMNOP  | ||||
|    | ||||
|   Test 1: set linebreak | ||||
|       abcdef           | ||||
|   +hijklmn             | ||||
| ! +pqrstuvwxyz_1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
|    | ||||
|   Test 2: set linebreak + set list | ||||
|   ^Iabcdef hijklmn^I   | ||||
| ! +pqrstuvwxyz_1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
|                        | ||||
|    | ||||
| ! Test 3: set linebreak nolist | ||||
|       abcdef           | ||||
|   +hijklmn             | ||||
| ! +pqrstuvwxyz_1060ABC | ||||
|   +DEFGHIJKLMNOP       | ||||
|   1	aaaaaaaaaaaaaaaaaa | ||||
|    | ||||
| ! Test 4: set linebreak with tab and 1 line as long as screen: should break! | ||||
|   1                    | ||||
|   +aaaaaaaaaaaaaaaaaa  | ||||
|   ~                    | ||||
| *** ../vim-7.4.369/src/testdir/test_listlbr_utf8.in	2014-07-16 17:01:25.415570829 +0200 | ||||
| --- src/testdir/test_listlbr_utf8.in	2014-07-16 16:55:15.315578352 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,41 ---- | ||||
| + Test for linebreak and list option in utf-8 mode | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + :if !exists("+linebreak") | e! test.ok | w! test.out | qa! | endif | ||||
| + :so mbyte.vim | ||||
| + :if &enc !=? 'utf-8'|:e! test.ok|:w! test.out|qa!|endif | ||||
| + :10new|:vsp|:vert resize 20 | ||||
| + :put =\"\tabcdef hijklmn\tpqrstuvwxyz\u00a01060ABCDEFGHIJKLMNOP \" | ||||
| + :norm! zt | ||||
| + :set ts=4 sw=4 sts=4 linebreak sbr=+ wrap | ||||
| + :fu! ScreenChar(width) | ||||
| + :	let c='' | ||||
| + :	for j in range(1,4) | ||||
| + :	    for i in range(1,a:width) | ||||
| + :	    	let c.=nr2char(screenchar(j, i)) | ||||
| + :	    endfor | ||||
| + :           let c.="\n" | ||||
| + :	endfor | ||||
| + :	return c | ||||
| + :endfu | ||||
| + :fu! DoRecordScreen() | ||||
| + :	wincmd l | ||||
| + :	$put =printf(\"\n%s\", g:test) | ||||
| + :	$put =g:line | ||||
| + :	wincmd p | ||||
| + :endfu | ||||
| + :let g:test ="Test 1: set linebreak + set list + fancy listchars" | ||||
| + :exe "set linebreak list listchars=nbsp:\u2423,tab:\u2595\u2014,trail:\u02d1,eol:\ub6" | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :let g:test ="Test 2: set nolinebreak list" | ||||
| + :set list nolinebreak | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :%w! test.out | ||||
| + :qa! | ||||
| + ENDTEST | ||||
| + dummy text | ||||
| *** ../vim-7.4.369/src/testdir/test_listlbr_utf8.ok	2014-07-16 17:01:25.419570829 +0200 | ||||
| --- src/testdir/test_listlbr_utf8.ok	2014-07-16 16:55:15.315578352 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,14 ---- | ||||
| +  | ||||
| + 	abcdef hijklmn	pqrstuvwxyz 1060ABCDEFGHIJKLMNOP  | ||||
| +  | ||||
| + Test 1: set linebreak + set list + fancy listchars | ||||
| + ▕———abcdef           | ||||
| + +hijklmn▕———         | ||||
| + +pqrstuvwxyz␣1060ABC | ||||
| + +DEFGHIJKLMNOPˑ¶     | ||||
| +  | ||||
| + Test 2: set nolinebreak list | ||||
| + ▕———abcdef hijklmn▕— | ||||
| + +pqrstuvwxyz␣1060ABC | ||||
| + +DEFGHIJKLMNOPˑ¶     | ||||
| + ¶                    | ||||
| *** ../vim-7.4.369/src/version.c	2014-07-16 16:30:21.647608710 +0200 | ||||
| --- src/version.c	2014-07-16 16:56:38.755576656 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     370, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|    Another bucket of what can only be described as human ordure hits ARTHUR. | ||||
| ARTHUR: ... Right!  (to the KNIGHTS) That settles it! | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										59
									
								
								7.4.371
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								7.4.371
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.371 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.371 | ||||
| Problem:    When 'linebreak' is set control characters are not correctly | ||||
| 	    displayed. (Kimmy Lindvall) | ||||
| Solution:   Set n_extra. (Christian Brabandt) | ||||
| Files:	    src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.370/src/screen.c	2014-07-09 20:20:40.359620108 +0200 | ||||
| --- src/screen.c	2014-07-16 17:12:38.599557147 +0200 | ||||
| *************** | ||||
| *** 4646,4651 **** | ||||
| --- 4646,4653 ---- | ||||
|   		else if (c != NUL) | ||||
|   		{ | ||||
|   		    p_extra = transchar(c); | ||||
| + 		    if (n_extra == 0) | ||||
| + 			n_extra = byte2cells(c) - 1; | ||||
|   #ifdef FEAT_RIGHTLEFT | ||||
|   		    if ((dy_flags & DY_UHEX) && wp->w_p_rl) | ||||
|   			rl_mirror(p_extra);	/* reverse "<12>" */ | ||||
| *** ../vim-7.4.370/src/version.c	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/version.c	2014-07-16 17:13:21.815556269 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     371, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| LETTERS TO THE EDITOR (The Times of London) | ||||
| 
 | ||||
| Dear Sir, | ||||
| 
 | ||||
| I am firmly opposed to the spread of microchips either to the home or | ||||
| to the office.  We have more than enough of them foisted upon us in | ||||
| public places.  They are a disgusting Americanism, and can only result | ||||
| in the farmers being forced to grow smaller potatoes, which in turn | ||||
| will cause massive unemployment in the already severely depressed | ||||
| agricultural industry. | ||||
| 
 | ||||
| Yours faithfully, | ||||
|         Capt. Quinton D'Arcy, J. P. | ||||
|         Sevenoaks | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										188
									
								
								7.4.372
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								7.4.372
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,188 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.372 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.372 | ||||
| Problem:    When 'winminheight' is zero there might not be one line for the | ||||
| 	    current window. | ||||
| Solution:   Change the size computations. (Yukihiro Nakadaira) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.371/src/window.c	2014-07-16 16:30:21.647608710 +0200 | ||||
| --- src/window.c	2014-07-16 18:06:53.123491001 +0200 | ||||
| *************** | ||||
| *** 688,693 **** | ||||
| --- 688,695 ---- | ||||
|       int		before; | ||||
|       int		minwidth; | ||||
|       int		minheight; | ||||
| +     int		wmw1; | ||||
| +     int		wmh1; | ||||
|    | ||||
|       if (flags & WSP_TOP) | ||||
|   	oldwin = firstwin; | ||||
| *************** | ||||
| *** 722,740 **** | ||||
|   	 * Check if we are able to split the current window and compute its | ||||
|   	 * width. | ||||
|   	 */ | ||||
| ! 	needed = p_wmw + 1; | ||||
|   	if (flags & WSP_ROOM) | ||||
| ! 	    needed += p_wiw - p_wmw; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| ! 	    minwidth = frame_minwidth(topframe, NULL); | ||||
|   	    available = topframe->fr_width; | ||||
|   	    needed += minwidth; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    minwidth = frame_minwidth(oldwin->w_frame, NULL); | ||||
| ! 	    available = oldwin->w_width; | ||||
|   	} | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
| --- 724,745 ---- | ||||
|   	 * Check if we are able to split the current window and compute its | ||||
|   	 * width. | ||||
|   	 */ | ||||
| ! 	/* Current window requires at least 1 space. */ | ||||
| ! 	wmw1 = (p_wmw == 0 ? 1 : p_wmw); | ||||
| ! 	needed = wmw1 + 1; | ||||
|   	if (flags & WSP_ROOM) | ||||
| ! 	    needed += p_wiw - wmw1; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| ! 	    minwidth = frame_minwidth(topframe, NOWIN); | ||||
|   	    available = topframe->fr_width; | ||||
|   	    needed += minwidth; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    minwidth = frame_minwidth(oldwin->w_frame, NOWIN); | ||||
| ! 	    available = oldwin->w_frame->fr_width; | ||||
| ! 	    needed += minwidth; | ||||
|   	} | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
| *************** | ||||
| *** 743,754 **** | ||||
|   	} | ||||
|   	if (new_size == 0) | ||||
|   	    new_size = oldwin->w_width / 2; | ||||
| - 	if (new_size > oldwin->w_width - p_wmw - 1) | ||||
| - 	    new_size = oldwin->w_width - p_wmw - 1; | ||||
|   	if (new_size > available - minwidth - 1) | ||||
|   	    new_size = available - minwidth - 1; | ||||
| ! 	if (new_size < p_wmw) | ||||
| ! 	    new_size = p_wmw; | ||||
|    | ||||
|   	/* if it doesn't fit in the current window, need win_equal() */ | ||||
|   	if (oldwin->w_width - new_size - 1 < p_wmw) | ||||
| --- 748,757 ---- | ||||
|   	} | ||||
|   	if (new_size == 0) | ||||
|   	    new_size = oldwin->w_width / 2; | ||||
|   	if (new_size > available - minwidth - 1) | ||||
|   	    new_size = available - minwidth - 1; | ||||
| ! 	if (new_size < wmw1) | ||||
| ! 	    new_size = wmw1; | ||||
|    | ||||
|   	/* if it doesn't fit in the current window, need win_equal() */ | ||||
|   	if (oldwin->w_width - new_size - 1 < p_wmw) | ||||
| *************** | ||||
| *** 789,808 **** | ||||
|   	 * Check if we are able to split the current window and compute its | ||||
|   	 * height. | ||||
|   	 */ | ||||
| ! 	needed = p_wmh + STATUS_HEIGHT + need_status; | ||||
|   	if (flags & WSP_ROOM) | ||||
| ! 	    needed += p_wh - p_wmh; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| ! 	    minheight = frame_minheight(topframe, NULL); | ||||
|   	    available = topframe->fr_height; | ||||
|   	    needed += minheight; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    minheight = frame_minheight(oldwin->w_frame, NULL); | ||||
| ! 	    available = oldwin->w_height; | ||||
| ! 	    needed += p_wmh; | ||||
|   	} | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
| --- 792,813 ---- | ||||
|   	 * Check if we are able to split the current window and compute its | ||||
|   	 * height. | ||||
|   	 */ | ||||
| ! 	/* Current window requires at least 1 space. */ | ||||
| ! 	wmh1 = (p_wmh == 0 ? 1 : p_wmh); | ||||
| ! 	needed = wmh1 + STATUS_HEIGHT; | ||||
|   	if (flags & WSP_ROOM) | ||||
| ! 	    needed += p_wh - wmh1; | ||||
|   	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
| ! 	    minheight = frame_minheight(topframe, NOWIN) + need_status; | ||||
|   	    available = topframe->fr_height; | ||||
|   	    needed += minheight; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
| ! 	    minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; | ||||
| ! 	    available = oldwin->w_frame->fr_height; | ||||
| ! 	    needed += minheight; | ||||
|   	} | ||||
|   	if (available < needed && new_wp == NULL) | ||||
|   	{ | ||||
| *************** | ||||
| *** 817,829 **** | ||||
|   	} | ||||
|   	if (new_size == 0) | ||||
|   	    new_size = oldwin_height / 2; | ||||
| -  | ||||
| - 	if (new_size > oldwin_height - p_wmh - STATUS_HEIGHT) | ||||
| - 	    new_size = oldwin_height - p_wmh - STATUS_HEIGHT; | ||||
|   	if (new_size > available - minheight - STATUS_HEIGHT) | ||||
|   	    new_size = available - minheight - STATUS_HEIGHT; | ||||
| ! 	if (new_size < p_wmh) | ||||
| ! 	    new_size = p_wmh; | ||||
|    | ||||
|   	/* if it doesn't fit in the current window, need win_equal() */ | ||||
|   	if (oldwin_height - new_size - STATUS_HEIGHT < p_wmh) | ||||
| --- 822,831 ---- | ||||
|   	} | ||||
|   	if (new_size == 0) | ||||
|   	    new_size = oldwin_height / 2; | ||||
|   	if (new_size > available - minheight - STATUS_HEIGHT) | ||||
|   	    new_size = available - minheight - STATUS_HEIGHT; | ||||
| ! 	if (new_size < wmh1) | ||||
| ! 	    new_size = wmh1; | ||||
|    | ||||
|   	/* if it doesn't fit in the current window, need win_equal() */ | ||||
|   	if (oldwin_height - new_size - STATUS_HEIGHT < p_wmh) | ||||
| *** ../vim-7.4.371/src/version.c	2014-07-16 17:29:46.691536252 +0200 | ||||
| --- src/version.c	2014-07-16 17:34:14.795530803 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     372, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
|    [The rest of the ARMY stand around looking at a loss.] | ||||
| INSPECTOR END OF FILM: (picks up megaphone) All right!  Clear off!  Go on! | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										98
									
								
								7.4.373
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								7.4.373
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,98 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.373 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.373 | ||||
| Problem:    Compiler warning for unused argument and unused variable. | ||||
| Solution:   Add UNUSED.  Move variable inside #ifdef. | ||||
| Files:	    src/charset.c, src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.372/src/charset.c	2014-07-02 19:59:35.450375136 +0200 | ||||
| --- src/charset.c	2014-07-16 23:36:51.211088615 +0200 | ||||
| *************** | ||||
| *** 1024,1030 **** | ||||
|    */ | ||||
|       int | ||||
|   lbr_chartabsize(line, s, col) | ||||
| !     char_u		*line; /* start of the line */ | ||||
|       unsigned char	*s; | ||||
|       colnr_T		col; | ||||
|   { | ||||
| --- 1024,1030 ---- | ||||
|    */ | ||||
|       int | ||||
|   lbr_chartabsize(line, s, col) | ||||
| !     char_u		*line UNUSED; /* start of the line */ | ||||
|       unsigned char	*s; | ||||
|       colnr_T		col; | ||||
|   { | ||||
| *************** | ||||
| *** 1069,1075 **** | ||||
|       int | ||||
|   win_lbr_chartabsize(wp, line, s, col, headp) | ||||
|       win_T	*wp; | ||||
| !     char_u	*line; /* start of the line */ | ||||
|       char_u	*s; | ||||
|       colnr_T	col; | ||||
|       int		*headp UNUSED; | ||||
| --- 1069,1075 ---- | ||||
|       int | ||||
|   win_lbr_chartabsize(wp, line, s, col, headp) | ||||
|       win_T	*wp; | ||||
| !     char_u	*line UNUSED; /* start of the line */ | ||||
|       char_u	*s; | ||||
|       colnr_T	col; | ||||
|       int		*headp UNUSED; | ||||
| *** ../vim-7.4.372/src/window.c	2014-07-16 18:19:22.911475762 +0200 | ||||
| --- src/window.c	2014-07-16 23:38:31.567086575 +0200 | ||||
| *************** | ||||
| *** 686,694 **** | ||||
|       int		layout; | ||||
|       frame_T	*frp, *curfrp; | ||||
|       int		before; | ||||
| -     int		minwidth; | ||||
|       int		minheight; | ||||
| -     int		wmw1; | ||||
|       int		wmh1; | ||||
|    | ||||
|       if (flags & WSP_TOP) | ||||
| --- 686,692 ---- | ||||
| *************** | ||||
| *** 718,723 **** | ||||
| --- 716,724 ---- | ||||
|   #ifdef FEAT_VERTSPLIT | ||||
|       if (flags & WSP_VERT) | ||||
|       { | ||||
| + 	int	wmw1; | ||||
| + 	int	minwidth; | ||||
| +  | ||||
|   	layout = FR_ROW; | ||||
|    | ||||
|   	/* | ||||
| *** ../vim-7.4.372/src/version.c	2014-07-16 18:19:22.915475762 +0200 | ||||
| --- src/version.c	2014-07-16 23:36:20.775089233 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     373, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| INSPECTOR END OF FILM: Move along.  There's nothing to see!  Keep moving! | ||||
|    [Suddenly he notices the cameras.] | ||||
| INSPECTOR END OF FILM: (to Camera) All right, put that away sonny. | ||||
|    [He walks over to it and puts his hand over the lens.] | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										71
									
								
								7.4.374
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								7.4.374
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.374 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.374 | ||||
| Problem:    Character after "fb" command not mapped if it might be a composing | ||||
| 	    character. | ||||
| Solution:   Don't disable mapping when looking for a composing character. | ||||
| 	    (Jacob Niehus) | ||||
| Files:	    src/normal.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.373/src/normal.c	2014-04-29 12:15:22.856032651 +0200 | ||||
| --- src/normal.c	2014-07-23 12:26:26.811992854 +0200 | ||||
| *************** | ||||
| *** 1076,1082 **** | ||||
|   #ifdef FEAT_MBYTE | ||||
|   	    /* When getting a text character and the next character is a | ||||
|   	     * multi-byte character, it could be a composing character. | ||||
| ! 	     * However, don't wait for it to arrive. */ | ||||
|   	    while (enc_utf8 && lang && (c = vpeekc()) > 0 | ||||
|   				 && (c >= 0x100 || MB_BYTE2LEN(vpeekc()) > 1)) | ||||
|   	    { | ||||
| --- 1076,1085 ---- | ||||
|   #ifdef FEAT_MBYTE | ||||
|   	    /* When getting a text character and the next character is a | ||||
|   	     * multi-byte character, it could be a composing character. | ||||
| ! 	     * However, don't wait for it to arrive. Also, do enable mapping, | ||||
| ! 	     * because if it's put back with vungetc() it's too late to apply | ||||
| ! 	     * mapping. */ | ||||
| ! 	    --no_mapping; | ||||
|   	    while (enc_utf8 && lang && (c = vpeekc()) > 0 | ||||
|   				 && (c >= 0x100 || MB_BYTE2LEN(vpeekc()) > 1)) | ||||
|   	    { | ||||
| *************** | ||||
| *** 1091,1096 **** | ||||
| --- 1094,1100 ---- | ||||
|   		else | ||||
|   		    ca.ncharC2 = c; | ||||
|   	    } | ||||
| + 	    ++no_mapping; | ||||
|   #endif | ||||
|   	} | ||||
|   	--no_mapping; | ||||
| *** ../vim-7.4.373/src/version.c	2014-07-16 23:39:50.251084976 +0200 | ||||
| --- src/version.c	2014-07-23 12:27:50.483992253 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     374, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| CART DRIVER: Bring out your dead! | ||||
|    There are legs stick out of windows and doors.  Two MEN are fighting in the | ||||
|    mud - covered from head to foot in it.  Another MAN is on his hands in | ||||
|    knees shovelling mud into his mouth.  We just catch sight of a MAN falling | ||||
|    into a well. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										59
									
								
								7.4.375
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								7.4.375
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,59 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.375 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.375 | ||||
| Problem:    Test 63 fails when run with GUI-only Vim. | ||||
| Solution:   Add guibg attributes. (suggested by Mike Soyka) | ||||
| Files:	    src/testdir/test63.in | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.374/src/testdir/test63.in	2014-06-17 17:48:21.784628008 +0200 | ||||
| --- src/testdir/test63.in	2014-07-23 13:12:20.727973060 +0200 | ||||
| *************** | ||||
| *** 6,14 **** | ||||
|   :" --- Check that "matcharg()" returns the correct group and pattern if a match | ||||
|   :" --- is defined. | ||||
|   :let @r = "*** Test 1: " | ||||
| ! :highlight MyGroup1 ctermbg=red | ||||
| ! :highlight MyGroup2 ctermbg=green | ||||
| ! :highlight MyGroup3 ctermbg=blue | ||||
|   :match MyGroup1 /TODO/ | ||||
|   :2match MyGroup2 /FIXME/ | ||||
|   :3match MyGroup3 /XXX/ | ||||
| --- 6,14 ---- | ||||
|   :" --- Check that "matcharg()" returns the correct group and pattern if a match | ||||
|   :" --- is defined. | ||||
|   :let @r = "*** Test 1: " | ||||
| ! :highlight MyGroup1 ctermbg=red guibg=red | ||||
| ! :highlight MyGroup2 ctermbg=green guibg=green | ||||
| ! :highlight MyGroup3 ctermbg=blue guibg=blue | ||||
|   :match MyGroup1 /TODO/ | ||||
|   :2match MyGroup2 /FIXME/ | ||||
|   :3match MyGroup3 /XXX/ | ||||
| *** ../vim-7.4.374/src/version.c	2014-07-23 12:31:17.207990767 +0200 | ||||
| --- src/version.c	2014-07-23 13:13:15.167972669 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     375, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| BODY:        I'm not dead! | ||||
| CART DRIVER: 'Ere.  He says he's not dead. | ||||
| LARGE MAN:   Yes he is. | ||||
| BODY:        I'm not! | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										57
									
								
								7.4.376
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								7.4.376
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.376 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.376 (after 7.4.367) | ||||
| Problem:    Popup menu flickers too much. | ||||
| Solution:   Remove the forced redraw. (Hirohito Higashi) | ||||
| Files:	    src/edit.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.375/src/edit.c	2014-07-16 14:42:37.923740082 +0200 | ||||
| --- src/edit.c	2014-07-23 13:49:03.535957228 +0200 | ||||
| *************** | ||||
| *** 4593,4601 **** | ||||
|       i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0); | ||||
|       backspace_until_column(i); | ||||
|    | ||||
| !     /* Not sure what is still valid, better redraw everything. */ | ||||
|       changed_cline_bef_curs(); | ||||
| -     redraw_curbuf_later(NOT_VALID); | ||||
|   } | ||||
|    | ||||
|   /* Insert the new text being completed. */ | ||||
| --- 4593,4601 ---- | ||||
|       i = compl_col + (compl_cont_status & CONT_ADDING ? compl_length : 0); | ||||
|       backspace_until_column(i); | ||||
|    | ||||
| !     /* TODO: is this sufficient for redrawing?  Redrawing everything causes | ||||
| !      * flicker, thus we can't do that. */ | ||||
|       changed_cline_bef_curs(); | ||||
|   } | ||||
|    | ||||
|   /* Insert the new text being completed. */ | ||||
| *** ../vim-7.4.375/src/version.c	2014-07-23 13:16:26.727971292 +0200 | ||||
| --- src/version.c	2014-07-23 13:48:02.031957670 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     376, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Why I like vim: | ||||
| > I like VIM because, when I ask a question in this newsgroup, I get a | ||||
| > one-line answer.  With xemacs, I get a 1Kb lisp script with bugs in it ;-) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										144
									
								
								7.4.377
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										144
									
								
								7.4.377
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,144 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.377 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.377 | ||||
| Problem:    When 'equalalways' is set a split may report "no room" even though | ||||
| 	    there is plenty of room. | ||||
| Solution:   Compute the available room properly. (Yukihiro Nakadaira) | ||||
| Files:	    src/window.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.376/src/window.c	2014-07-16 23:39:50.251084976 +0200 | ||||
| --- src/window.c	2014-07-23 15:19:10.491918366 +0200 | ||||
| *************** | ||||
| *** 684,690 **** | ||||
|       int		available; | ||||
|       int		oldwin_height = 0; | ||||
|       int		layout; | ||||
| !     frame_T	*frp, *curfrp; | ||||
|       int		before; | ||||
|       int		minheight; | ||||
|       int		wmh1; | ||||
| --- 684,690 ---- | ||||
|       int		available; | ||||
|       int		oldwin_height = 0; | ||||
|       int		layout; | ||||
| !     frame_T	*frp, *curfrp, *frp2, *prevfrp; | ||||
|       int		before; | ||||
|       int		minheight; | ||||
|       int		wmh1; | ||||
| *************** | ||||
| *** 730,741 **** | ||||
|   	needed = wmw1 + 1; | ||||
|   	if (flags & WSP_ROOM) | ||||
|   	    needed += p_wiw - wmw1; | ||||
| ! 	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
|   	    minwidth = frame_minwidth(topframe, NOWIN); | ||||
|   	    available = topframe->fr_width; | ||||
|   	    needed += minwidth; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    minwidth = frame_minwidth(oldwin->w_frame, NOWIN); | ||||
| --- 730,758 ---- | ||||
|   	needed = wmw1 + 1; | ||||
|   	if (flags & WSP_ROOM) | ||||
|   	    needed += p_wiw - wmw1; | ||||
| ! 	if (flags & (WSP_BOT | WSP_TOP)) | ||||
|   	{ | ||||
|   	    minwidth = frame_minwidth(topframe, NOWIN); | ||||
|   	    available = topframe->fr_width; | ||||
|   	    needed += minwidth; | ||||
|   	} | ||||
| + 	else if (p_ea) | ||||
| + 	{ | ||||
| + 	    minwidth = frame_minwidth(oldwin->w_frame, NOWIN); | ||||
| + 	    prevfrp = oldwin->w_frame; | ||||
| + 	    for (frp = oldwin->w_frame->fr_parent; frp != NULL; | ||||
| + 							frp = frp->fr_parent) | ||||
| + 	    { | ||||
| + 		if (frp->fr_layout == FR_ROW) | ||||
| + 		    for (frp2 = frp->fr_child; frp2 != NULL; | ||||
| + 							frp2 = frp2->fr_next) | ||||
| + 			if (frp2 != prevfrp) | ||||
| + 			    minwidth += frame_minwidth(frp2, NOWIN); | ||||
| + 		prevfrp = frp; | ||||
| + 	    } | ||||
| + 	    available = topframe->fr_width; | ||||
| + 	    needed += minwidth; | ||||
| + 	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    minwidth = frame_minwidth(oldwin->w_frame, NOWIN); | ||||
| *************** | ||||
| *** 798,809 **** | ||||
|   	needed = wmh1 + STATUS_HEIGHT; | ||||
|   	if (flags & WSP_ROOM) | ||||
|   	    needed += p_wh - wmh1; | ||||
| ! 	if (p_ea || (flags & (WSP_BOT | WSP_TOP))) | ||||
|   	{ | ||||
|   	    minheight = frame_minheight(topframe, NOWIN) + need_status; | ||||
|   	    available = topframe->fr_height; | ||||
|   	    needed += minheight; | ||||
|   	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; | ||||
| --- 815,843 ---- | ||||
|   	needed = wmh1 + STATUS_HEIGHT; | ||||
|   	if (flags & WSP_ROOM) | ||||
|   	    needed += p_wh - wmh1; | ||||
| ! 	if (flags & (WSP_BOT | WSP_TOP)) | ||||
|   	{ | ||||
|   	    minheight = frame_minheight(topframe, NOWIN) + need_status; | ||||
|   	    available = topframe->fr_height; | ||||
|   	    needed += minheight; | ||||
|   	} | ||||
| + 	else if (p_ea) | ||||
| + 	{ | ||||
| + 	    minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; | ||||
| + 	    prevfrp = oldwin->w_frame; | ||||
| + 	    for (frp = oldwin->w_frame->fr_parent; frp != NULL; | ||||
| + 							frp = frp->fr_parent) | ||||
| + 	    { | ||||
| + 		if (frp->fr_layout == FR_COL) | ||||
| + 		    for (frp2 = frp->fr_child; frp2 != NULL; | ||||
| + 							frp2 = frp2->fr_next) | ||||
| + 			if (frp2 != prevfrp) | ||||
| + 			    minheight += frame_minheight(frp2, NOWIN); | ||||
| + 		prevfrp = frp; | ||||
| + 	    } | ||||
| + 	    available = topframe->fr_height; | ||||
| + 	    needed += minheight; | ||||
| + 	} | ||||
|   	else | ||||
|   	{ | ||||
|   	    minheight = frame_minheight(oldwin->w_frame, NOWIN) + need_status; | ||||
| *** ../vim-7.4.376/src/version.c	2014-07-23 13:50:41.839956521 +0200 | ||||
| --- src/version.c	2014-07-23 15:20:33.227917771 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     377, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| LARGE MAN:   Who's that then? | ||||
| CART DRIVER: (Grudgingly) I dunno, Must be a king. | ||||
| LARGE MAN:   Why? | ||||
| CART DRIVER: He hasn't got shit all over him. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										336
									
								
								7.4.378
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										336
									
								
								7.4.378
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,336 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.378 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.378 | ||||
| Problem:    Title of quickfist list is not kept for setqflist(list, 'r'). | ||||
| Solution:   Keep the title.  Add a test. (Lcd) | ||||
| Files:	    src/quickfix.c, src/testdir/Make_amiga.mak, | ||||
| 	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, | ||||
| 	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, | ||||
| 	    src/testdir/Makefile, src/testdir/test_qf_title.in, | ||||
| 	    src/testdir/test_qf_title.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.377/src/quickfix.c	2014-03-27 17:02:22.080660944 +0100 | ||||
| --- src/quickfix.c	2014-07-23 15:37:30.551910459 +0200 | ||||
| *************** | ||||
| *** 107,112 **** | ||||
| --- 107,113 ---- | ||||
|   }; | ||||
|    | ||||
|   static int	qf_init_ext __ARGS((qf_info_T *qi, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast, char_u *qf_title)); | ||||
| + static void	qf_store_title __ARGS((qf_info_T *qi, char_u *title)); | ||||
|   static void	qf_new_list __ARGS((qf_info_T *qi, char_u *qf_title)); | ||||
|   static void	ll_free_all __ARGS((qf_info_T **pqi)); | ||||
|   static int	qf_add_entry __ARGS((qf_info_T *qi, qfline_T **prevp, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid)); | ||||
| *************** | ||||
| *** 126,132 **** | ||||
|   static win_T	*qf_find_win __ARGS((qf_info_T *qi)); | ||||
|   static buf_T	*qf_find_buf __ARGS((qf_info_T *qi)); | ||||
|   static void	qf_update_buffer __ARGS((qf_info_T *qi)); | ||||
| ! static void	qf_set_title __ARGS((qf_info_T *qi)); | ||||
|   static void	qf_fill_buffer __ARGS((qf_info_T *qi)); | ||||
|   #endif | ||||
|   static char_u	*get_mef_name __ARGS((void)); | ||||
| --- 127,133 ---- | ||||
|   static win_T	*qf_find_win __ARGS((qf_info_T *qi)); | ||||
|   static buf_T	*qf_find_buf __ARGS((qf_info_T *qi)); | ||||
|   static void	qf_update_buffer __ARGS((qf_info_T *qi)); | ||||
| ! static void	qf_set_title_var __ARGS((qf_info_T *qi)); | ||||
|   static void	qf_fill_buffer __ARGS((qf_info_T *qi)); | ||||
|   #endif | ||||
|   static char_u	*get_mef_name __ARGS((void)); | ||||
| *************** | ||||
| *** 884,889 **** | ||||
| --- 885,905 ---- | ||||
|       return retval; | ||||
|   } | ||||
|    | ||||
| +     static void | ||||
| + qf_store_title(qi, title) | ||||
| +     qf_info_T	*qi; | ||||
| +     char_u	*title; | ||||
| + { | ||||
| +     if (title != NULL) | ||||
| +     { | ||||
| + 	char_u *p = alloc((int)STRLEN(title) + 2); | ||||
| +  | ||||
| + 	qi->qf_lists[qi->qf_curlist].qf_title = p; | ||||
| + 	if (p != NULL) | ||||
| + 	    sprintf((char *)p, ":%s", (char *)title); | ||||
| +     } | ||||
| + } | ||||
| +  | ||||
|   /* | ||||
|    * Prepare for adding a new quickfix list. | ||||
|    */ | ||||
| *************** | ||||
| *** 895,901 **** | ||||
|       int		i; | ||||
|    | ||||
|       /* | ||||
| !      * If the current entry is not the last entry, delete entries below | ||||
|        * the current entry.  This makes it possible to browse in a tree-like | ||||
|        * way with ":grep'. | ||||
|        */ | ||||
| --- 911,917 ---- | ||||
|       int		i; | ||||
|    | ||||
|       /* | ||||
| !      * If the current entry is not the last entry, delete entries beyond | ||||
|        * the current entry.  This makes it possible to browse in a tree-like | ||||
|        * way with ":grep'. | ||||
|        */ | ||||
| *************** | ||||
| *** 916,929 **** | ||||
|       else | ||||
|   	qi->qf_curlist = qi->qf_listcount++; | ||||
|       vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T))); | ||||
| !     if (qf_title != NULL) | ||||
| !     { | ||||
| ! 	char_u *p = alloc((int)STRLEN(qf_title) + 2); | ||||
| !  | ||||
| ! 	qi->qf_lists[qi->qf_curlist].qf_title = p; | ||||
| ! 	if (p != NULL) | ||||
| ! 	    sprintf((char *)p, ":%s", (char *)qf_title); | ||||
| !     } | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| --- 932,938 ---- | ||||
|       else | ||||
|   	qi->qf_curlist = qi->qf_listcount++; | ||||
|       vim_memset(&qi->qf_lists[qi->qf_curlist], 0, (size_t)(sizeof(qf_list_T))); | ||||
| !     qf_store_title(qi, qf_title); | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| *************** | ||||
| *** 2444,2450 **** | ||||
|       qf_fill_buffer(qi); | ||||
|    | ||||
|       if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) | ||||
| ! 	qf_set_title(qi); | ||||
|    | ||||
|       curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; | ||||
|       curwin->w_cursor.col = 0; | ||||
| --- 2453,2459 ---- | ||||
|       qf_fill_buffer(qi); | ||||
|    | ||||
|       if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) | ||||
| ! 	qf_set_title_var(qi); | ||||
|    | ||||
|       curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; | ||||
|       curwin->w_cursor.col = 0; | ||||
| *************** | ||||
| *** 2599,2605 **** | ||||
|   	{ | ||||
|   	    curwin_save = curwin; | ||||
|   	    curwin = win; | ||||
| ! 	    qf_set_title(qi); | ||||
|   	    curwin = curwin_save; | ||||
|    | ||||
|   	} | ||||
| --- 2608,2614 ---- | ||||
|   	{ | ||||
|   	    curwin_save = curwin; | ||||
|   	    curwin = win; | ||||
| ! 	    qf_set_title_var(qi); | ||||
|   	    curwin = curwin_save; | ||||
|    | ||||
|   	} | ||||
| *************** | ||||
| *** 2612,2618 **** | ||||
|   } | ||||
|    | ||||
|       static void | ||||
| ! qf_set_title(qi) | ||||
|       qf_info_T	*qi; | ||||
|   { | ||||
|       set_internal_string_var((char_u *)"w:quickfix_title", | ||||
| --- 2621,2627 ---- | ||||
|   } | ||||
|    | ||||
|       static void | ||||
| ! qf_set_title_var(qi) | ||||
|       qf_info_T	*qi; | ||||
|   { | ||||
|       set_internal_string_var((char_u *)"w:quickfix_title", | ||||
| *************** | ||||
| *** 3845,3851 **** | ||||
| --- 3854,3863 ---- | ||||
|   	     prevp->qf_next != prevp; prevp = prevp->qf_next) | ||||
|   	    ; | ||||
|       else if (action == 'r') | ||||
| +     { | ||||
|   	qf_free(qi, qi->qf_curlist); | ||||
| + 	qf_store_title(qi, title); | ||||
| +     } | ||||
|    | ||||
|       for (li = list->lv_first; li != NULL; li = li->li_next) | ||||
|       { | ||||
| *** ../vim-7.4.377/src/testdir/Make_amiga.mak	2014-07-16 17:01:38.275570568 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-07-23 15:26:51.455915053 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
| + 		test_qf_title.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *************** | ||||
| *** 169,173 **** | ||||
| --- 170,175 ---- | ||||
|   test_breakindent.out: test_breakindent.in | ||||
|   test_listlbr.out: test_listlbr.in | ||||
|   test_listlbr_utf8.out: test_listlbr_utf8.in | ||||
| + test_qf_title.out: test_qf_title.in | ||||
|   test_eval.out: test_eval.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.377/src/testdir/Make_dos.mak	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-23 15:27:01.231914983 +0200 | ||||
| *************** | ||||
| *** 39,44 **** | ||||
| --- 39,45 ---- | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
| + 		test_qf_title.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.377/src/testdir/Make_ming.mak	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-07-23 15:27:13.163914897 +0200 | ||||
| *************** | ||||
| *** 59,64 **** | ||||
| --- 59,65 ---- | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
| + 		test_qf_title.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.377/src/testdir/Make_os2.mak	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-07-23 15:27:25.999914805 +0200 | ||||
| *************** | ||||
| *** 40,47 **** | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_breakindent.out \ | ||||
| - 		test_listlbr_utf8.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   .SUFFIXES: .in .out | ||||
| --- 40,48 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| + 		test_listlbr_utf8.out \ | ||||
| + 		test_qf_title.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   .SUFFIXES: .in .out | ||||
| *** ../vim-7.4.377/src/testdir/Make_vms.mms	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-07-23 15:27:34.787914741 +0200 | ||||
| *************** | ||||
| *** 4,10 **** | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 May 28 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| --- 4,10 ---- | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 Jul 23 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| *************** | ||||
| *** 100,105 **** | ||||
| --- 100,106 ---- | ||||
|   	 test_breakindent.out \ | ||||
|   	 test_listlbr.out \ | ||||
|   	 test_listlbr_utf8.out \ | ||||
| + 	 test_qf_title.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
|    | ||||
| *** ../vim-7.4.377/src/testdir/Makefile	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/Makefile	2014-07-23 15:27:46.947914654 +0200 | ||||
| *************** | ||||
| *** 37,42 **** | ||||
| --- 37,43 ---- | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
| + 		test_qf_title.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.377/src/testdir/test_qf_title.in	2014-07-23 15:53:26.279903590 +0200 | ||||
| --- src/testdir/test_qf_title.in	2014-07-23 15:26:02.495915405 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,18 ---- | ||||
| + Tests for quickfix window's title     vim: set ft=vim : | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + :if !has('quickfix') | e! test.ok | wq! test.out | endif | ||||
| + :set efm=%E%f:%l:%c:%m | ||||
| + :cgetexpr ['file:1:1:message'] | ||||
| + :let qflist=getqflist() | ||||
| + :call setqflist(qflist, 'r') | ||||
| + :copen | ||||
| + :let g:quickfix_title=w:quickfix_title | ||||
| + :wincmd p | ||||
| + :$put =g:quickfix_title | ||||
| + :/^Results/,$w test.out | ||||
| + :qa! | ||||
| + ENDTEST | ||||
| +  | ||||
| + Results of test_qf_title: | ||||
| *** ../vim-7.4.377/src/testdir/test_qf_title.ok	2014-07-23 15:53:26.283903590 +0200 | ||||
| --- src/testdir/test_qf_title.ok	2014-07-23 15:25:55.303915456 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,2 ---- | ||||
| + Results of test_qf_title: | ||||
| + :setqflist() | ||||
| *** ../vim-7.4.377/src/version.c	2014-07-23 15:21:16.247917462 +0200 | ||||
| --- src/version.c	2014-07-23 15:28:57.251914149 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     378, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ARTHUR: Old woman! | ||||
| DENNIS: Man! | ||||
| ARTHUR: Man.  I'm sorry.  Old man, What knight live in that castle over there? | ||||
| DENNIS: I'm thirty-seven. | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										45
									
								
								7.4.379
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								7.4.379
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.379 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.379 | ||||
| Problem:    Accessing freed memory after using setqflist(list, 'r'). (Lcd) | ||||
| Solution:   Reset qf_index. | ||||
| Files:	    src/quickfix.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.378/src/quickfix.c	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/quickfix.c	2014-07-23 16:11:59.915895586 +0200 | ||||
| *************** | ||||
| *** 2173,2178 **** | ||||
| --- 2173,2179 ---- | ||||
|       } | ||||
|       vim_free(qi->qf_lists[idx].qf_title); | ||||
|       qi->qf_lists[idx].qf_title = NULL; | ||||
| +     qi->qf_lists[idx].qf_index = 0; | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| *** ../vim-7.4.378/src/version.c	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/version.c	2014-07-23 16:14:43.995894407 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     379, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| "Lisp has all the visual appeal of oatmeal with nail clippings thrown in." | ||||
|                                                          -- Larry Wall | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										115
									
								
								7.4.380
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								7.4.380
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,115 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.380 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.380 | ||||
| Problem:    Loading python may cause Vim to exit. | ||||
| Solution:   Avoid loading the "site" module. (Taro Muraoka) | ||||
| Files:	    src/if_python.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.379/src/if_python.c	2014-03-30 16:11:37.176530823 +0200 | ||||
| --- src/if_python.c	2014-07-23 16:46:42.863880615 +0200 | ||||
| *************** | ||||
| *** 295,300 **** | ||||
| --- 295,303 ---- | ||||
|   #  define PyCObject_FromVoidPtr dll_PyCObject_FromVoidPtr | ||||
|   #  define PyCObject_AsVoidPtr dll_PyCObject_AsVoidPtr | ||||
|   # endif | ||||
| + # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| + #  define Py_NoSiteFlag (*dll_Py_NoSiteFlag) | ||||
| + # endif | ||||
|    | ||||
|   /* | ||||
|    * Pointers for dynamic link | ||||
| *************** | ||||
| *** 440,445 **** | ||||
| --- 443,451 ---- | ||||
|   static PyObject* (*dll_PyCObject_FromVoidPtr)(void *cobj, void (*destr)(void *)); | ||||
|   static void* (*dll_PyCObject_AsVoidPtr)(PyObject *); | ||||
|   # endif | ||||
| + # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| + static int* dll_Py_NoSiteFlag; | ||||
| + # endif | ||||
|    | ||||
|   static HINSTANCE hinstPython = 0; /* Instance of python.dll */ | ||||
|    | ||||
| *************** | ||||
| *** 633,638 **** | ||||
| --- 639,647 ---- | ||||
|       {"PyCObject_FromVoidPtr", (PYTHON_PROC*)&dll_PyCObject_FromVoidPtr}, | ||||
|       {"PyCObject_AsVoidPtr", (PYTHON_PROC*)&dll_PyCObject_AsVoidPtr}, | ||||
|   # endif | ||||
| + # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| +     {"Py_NoSiteFlag", (PYTHON_PROC*)&dll_Py_NoSiteFlag}, | ||||
| + # endif | ||||
|       {"", NULL}, | ||||
|   }; | ||||
|    | ||||
| *************** | ||||
| *** 901,906 **** | ||||
| --- 910,919 ---- | ||||
|   { | ||||
|       if (!initialised) | ||||
|       { | ||||
| + #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| + 	PyObject *site; | ||||
| + #endif | ||||
| +  | ||||
|   #ifdef DYNAMIC_PYTHON | ||||
|   	if (!python_enabled(TRUE)) | ||||
|   	{ | ||||
| *************** | ||||
| *** 915,925 **** | ||||
| --- 928,956 ---- | ||||
|    | ||||
|   	init_structs(); | ||||
|    | ||||
| + #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| + 	/* Disable implicit 'import site', because it may cause Vim to exit | ||||
| + 	 * when it can't be found. */ | ||||
| + 	Py_NoSiteFlag++; | ||||
| + #endif | ||||
| +  | ||||
|   #if !defined(MACOS) || defined(MACOS_X_UNIX) | ||||
|   	Py_Initialize(); | ||||
|   #else | ||||
|   	PyMac_Initialize(); | ||||
|   #endif | ||||
| +  | ||||
| + #if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000 | ||||
| + 	/* 'import site' explicitly. */ | ||||
| + 	site = PyImport_ImportModule("site"); | ||||
| + 	if (site == NULL) | ||||
| + 	{ | ||||
| + 	    EMSG(_("E887: Sorry, this command is disabled, the Python's site module could not be loaded.")); | ||||
| + 	    goto fail; | ||||
| + 	} | ||||
| + 	Py_DECREF(site); | ||||
| + #endif | ||||
| +  | ||||
|   	/* Initialise threads, and below save the state using | ||||
|   	 * PyEval_SaveThread.  Without the call to PyEval_SaveThread, thread | ||||
|   	 * specific state (such as the system trace hook), will be lost | ||||
| *** ../vim-7.4.379/src/version.c	2014-07-23 16:33:04.079886500 +0200 | ||||
| --- src/version.c	2014-07-23 16:43:47.939881872 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     380, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Looking at Perl through Lisp glasses, Perl looks atrocious. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										45
									
								
								7.4.381
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								7.4.381
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.381 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.381 | ||||
| Problem:    Get u_undo error when backspacing in Insert mode deletes more than | ||||
| 	    one line break. (Ayberk Ozgur) | ||||
| Solution:   Also decrement Insstart.lnum. | ||||
| Files:	    src/edit.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.380/src/edit.c	2014-07-23 13:50:41.839956521 +0200 | ||||
| --- src/edit.c	2014-07-23 17:35:05.747859751 +0200 | ||||
| *************** | ||||
| *** 8833,8838 **** | ||||
| --- 8833,8839 ---- | ||||
|   		return FALSE; | ||||
|   	    --Insstart_orig.lnum; | ||||
|   	    Insstart_orig.col = MAXCOL; | ||||
| + 	    Insstart = Insstart_orig; | ||||
|   	} | ||||
|   	/* | ||||
|   	 * In replace mode: | ||||
| *** ../vim-7.4.380/src/version.c	2014-07-23 16:56:56.587876204 +0200 | ||||
| --- src/version.c	2014-07-23 17:38:54.467858107 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     381, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Friends?  I have lots of friends!  In fact, I have all episodes ever made. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.382
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.382
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.382 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.382 | ||||
| Problem:    Mapping characters may not work after typing Esc in Insert mode. | ||||
| Solution:   Fix the noremap flags for inserted characters. (Jacob Niehus) | ||||
| Files:	    src/getchar.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.381/src/getchar.c	2014-06-25 14:39:35.102348584 +0200 | ||||
| --- src/getchar.c	2014-07-23 20:10:25.651792765 +0200 | ||||
| *************** | ||||
| *** 2731,2736 **** | ||||
| --- 2731,2741 ---- | ||||
|   		} | ||||
|   		if (c < 0) | ||||
|   		    continue;	/* end of input script reached */ | ||||
| +  | ||||
| + 		/* Allow mapping for just typed characters. When we get here c | ||||
| + 		 * is the number of extra bytes and typebuf.tb_len is 1. */ | ||||
| + 		for (n = 1; n <= c; ++n) | ||||
| + 		    typebuf.tb_noremap[typebuf.tb_off + n] = RM_YES; | ||||
|   		typebuf.tb_len += c; | ||||
|    | ||||
|   		/* buffer full, don't map */ | ||||
| *** ../vim-7.4.381/src/version.c	2014-07-23 17:39:21.815857910 +0200 | ||||
| --- src/version.c	2014-07-23 18:26:42.663837492 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     382, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| DENNIS: Oh, very nice. King, eh!  I expect you've got a palace and fine | ||||
|         clothes and courtiers and plenty of food.  And how d'you get that?  By | ||||
|         exploiting the workers! By hanging on to outdated imperialist dogma | ||||
|         which perpetuates the social and economic differences in our society! | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.383
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.383
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.383 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.383 | ||||
| Problem:    Bad interaction between preview window and omnifunc. | ||||
| Solution:   Avoid redrawing the status line. (Hirohito Higashi) | ||||
| Files:	    src/popupmnu.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.382/src/popupmnu.c	2014-07-09 19:58:21.111647328 +0200 | ||||
| --- src/popupmnu.c	2014-07-23 20:56:17.131772989 +0200 | ||||
| *************** | ||||
| *** 643,648 **** | ||||
| --- 643,654 ---- | ||||
|    | ||||
|   		    if (curwin != curwin_save && win_valid(curwin_save)) | ||||
|   		    { | ||||
| + 			/* When the first completion is done and the preview | ||||
| + 			 * window is not resized, skip the preview window's | ||||
| + 			 * status line redrawing. */ | ||||
| + 			if (ins_compl_active() && !resized) | ||||
| + 			    curwin->w_redr_status = FALSE; | ||||
| +  | ||||
|   			/* Return cursor to where we were */ | ||||
|   			validate_cursor(); | ||||
|   			redraw_later(SOME_VALID); | ||||
| *** ../vim-7.4.382/src/version.c	2014-07-23 20:41:09.895779510 +0200 | ||||
| --- src/version.c	2014-07-23 20:58:12.079772163 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     383, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| ARTHUR:    ... and I am your king .... | ||||
| OLD WOMAN: Ooooh!  I didn't know we had a king.  I thought we were an | ||||
|            autonomous collective ... | ||||
|                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										47
									
								
								7.4.384
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								7.4.384
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.384 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.384 | ||||
| Problem:    Test 102 fails when compiled with small features. | ||||
| Solution:   Source small.vim. (Jacob Niehus) | ||||
| Files:	    src/testdir/test102.in | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.383/src/testdir/test102.in	2013-11-12 05:28:08.000000000 +0100 | ||||
| --- src/testdir/test102.in	2014-07-27 21:10:34.881282860 +0200 | ||||
| *************** | ||||
| *** 1,6 **** | ||||
| --- 1,7 ---- | ||||
|   Test if fnameescape is correct for special chars like ! | ||||
|    | ||||
|   STARTTEST | ||||
| + :so small.vim | ||||
|   :%d | ||||
|   :let fname = 'Xspa ce' | ||||
|   :try | exe "w! " . fnameescape(fname) | put='Space' | endtry  | ||||
| *** ../vim-7.4.383/src/version.c	2014-07-23 21:10:39.867766788 +0200 | ||||
| --- src/version.c	2014-07-30 13:15:18.047624849 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     384, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| An easy way to determine if you have enough teamwork to be doomed is simply to | ||||
| measure how long it takes from the time you decide to go to lunch together | ||||
| until the time you actually eat. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										76
									
								
								7.4.385
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								7.4.385
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,76 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.385 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.385 | ||||
| Problem:    When building with tiny or small features building the .mo files | ||||
| 	    fails. | ||||
| Solution:   In autoconf do not setup for building the .mo files when it would | ||||
| 	    fail. | ||||
| Files:	    src/configure.in, src/auto/configure | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.384/src/configure.in	2014-05-22 14:44:08.094481148 +0200 | ||||
| --- src/configure.in	2014-07-27 21:26:39.349275928 +0200 | ||||
| *************** | ||||
| *** 3818,3824 **** | ||||
|       else | ||||
|         AC_MSG_RESULT([msgfmt not found - disabled]); | ||||
|       fi | ||||
| !     if test $have_gettext = "yes"; then | ||||
|         AC_DEFINE(HAVE_GETTEXT) | ||||
|         MAKEMO=yes | ||||
|         AC_SUBST(MAKEMO) | ||||
| --- 3818,3824 ---- | ||||
|       else | ||||
|         AC_MSG_RESULT([msgfmt not found - disabled]); | ||||
|       fi | ||||
| !     if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then | ||||
|         AC_DEFINE(HAVE_GETTEXT) | ||||
|         MAKEMO=yes | ||||
|         AC_SUBST(MAKEMO) | ||||
| *** ../vim-7.4.384/src/auto/configure	2014-05-22 14:44:08.098481148 +0200 | ||||
| --- src/auto/configure	2014-07-27 21:26:41.969275909 +0200 | ||||
| *************** | ||||
| *** 12966,12972 **** | ||||
|         { $as_echo "$as_me:${as_lineno-$LINENO}: result: msgfmt not found - disabled" >&5 | ||||
|   $as_echo "msgfmt not found - disabled" >&6; }; | ||||
|       fi | ||||
| !     if test $have_gettext = "yes"; then | ||||
|         $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h | ||||
|    | ||||
|         MAKEMO=yes | ||||
| --- 12966,12972 ---- | ||||
|         { $as_echo "$as_me:${as_lineno-$LINENO}: result: msgfmt not found - disabled" >&5 | ||||
|   $as_echo "msgfmt not found - disabled" >&6; }; | ||||
|       fi | ||||
| !     if test $have_gettext = "yes" -a "x$features" != "xtiny" -a "x$features" != "xsmall"; then | ||||
|         $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h | ||||
|    | ||||
|         MAKEMO=yes | ||||
| *** ../vim-7.4.384/src/version.c	2014-07-30 13:20:35.719622565 +0200 | ||||
| --- src/version.c	2014-07-30 13:22:07.295621907 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     385, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| "You're fired." (1980) | ||||
| "You're laid off." (1985) | ||||
| "You're downsized." (1990) | ||||
| "You're rightsized." (1992) | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										186
									
								
								7.4.386
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								7.4.386
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,186 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.386 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.386 | ||||
| Problem:    When splitting a window the changelist position is wrong. | ||||
| Solution:   Copy the changelist position. (Jacob Niehus) | ||||
| Files:	    src/window.c, src/testdir/Make_amiga.mak, | ||||
| 	    src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, | ||||
| 	    src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, | ||||
| 	    src/testdir/Makefile, src/testdir/test_changelist.in, | ||||
| 	    src/testdir/test_changelist.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.385/src/window.c	2014-07-23 15:21:16.247917462 +0200 | ||||
| --- src/window.c	2014-07-30 13:55:49.275607374 +0200 | ||||
| *************** | ||||
| *** 1178,1183 **** | ||||
| --- 1178,1188 ---- | ||||
|   	    p_wh = size; | ||||
|       } | ||||
|    | ||||
| + #ifdef FEAT_JUMPLIST | ||||
| +     /* Keep same changelist position in new window. */ | ||||
| +     wp->w_changelistidx = oldwin->w_changelistidx; | ||||
| + #endif | ||||
| +  | ||||
|       /* | ||||
|        * make the new window the current window | ||||
|        */ | ||||
| *** ../vim-7.4.385/src/testdir/Make_amiga.mak	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-07-30 13:54:06.871608110 +0200 | ||||
| *************** | ||||
| *** 41,46 **** | ||||
| --- 41,47 ---- | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
|   		test_qf_title.out \ | ||||
| + 		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *************** | ||||
| *** 171,175 **** | ||||
| --- 172,177 ---- | ||||
|   test_listlbr.out: test_listlbr.in | ||||
|   test_listlbr_utf8.out: test_listlbr_utf8.in | ||||
|   test_qf_title.out: test_qf_title.in | ||||
| + test_changelist.out: test_changelist.in | ||||
|   test_eval.out: test_eval.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.385/src/testdir/Make_dos.mak	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-30 13:54:16.091608044 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
|   		test_qf_title.out \ | ||||
| + 		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.385/src/testdir/Make_ming.mak	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-07-30 13:54:19.775608018 +0200 | ||||
| *************** | ||||
| *** 60,65 **** | ||||
| --- 60,66 ---- | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
|   		test_qf_title.out \ | ||||
| + 		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.385/src/testdir/Make_os2.mak	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-07-30 13:54:24.207607986 +0200 | ||||
| *************** | ||||
| *** 38,43 **** | ||||
| --- 38,44 ---- | ||||
|   		test100.out test101.out test102.out test103.out test104.out \ | ||||
|   		test105.out test106.out test107.out \ | ||||
|   		test_autoformat_join.out \ | ||||
| + 		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
| *** ../vim-7.4.385/src/testdir/Make_vms.mms	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-07-30 13:54:31.151607936 +0200 | ||||
| *************** | ||||
| *** 4,10 **** | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 Jul 23 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| --- 4,10 ---- | ||||
|   # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com> | ||||
|   #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu> | ||||
|   # | ||||
| ! # Last change:  2014 Jul 30 | ||||
|   # | ||||
|   # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. | ||||
|   # Edit the lines in the Configuration section below to select. | ||||
| *************** | ||||
| *** 101,106 **** | ||||
| --- 101,107 ---- | ||||
|   	 test_listlbr.out \ | ||||
|   	 test_listlbr_utf8.out \ | ||||
|   	 test_qf_title.out \ | ||||
| + 	 test_changelist.out \ | ||||
|   	 test_eval.out \ | ||||
|   	 test_options.out | ||||
|    | ||||
| *** ../vim-7.4.385/src/testdir/Makefile	2014-07-23 15:54:43.443903036 +0200 | ||||
| --- src/testdir/Makefile	2014-07-30 13:54:45.291607834 +0200 | ||||
| *************** | ||||
| *** 38,43 **** | ||||
| --- 38,44 ---- | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
|   		test_qf_title.out \ | ||||
| + 		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
|   		test_options.out | ||||
|    | ||||
| *** ../vim-7.4.385/src/testdir/test_changelist.in	2014-07-30 14:04:27.507603650 +0200 | ||||
| --- src/testdir/test_changelist.in	2014-07-30 13:52:21.363608869 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,22 ---- | ||||
| + Test changelist position after splitting window | ||||
| + Set 'undolevels' to make changelist for sourced file | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + Gkylp:set ul=100 | ||||
| + Gylp:set ul=100 | ||||
| + gg | ||||
| + :vsplit | ||||
| + :try | ||||
| + :  normal g; | ||||
| + :  normal ggVGcpass | ||||
| + :catch | ||||
| + :  normal ggVGcfail | ||||
| + :finally | ||||
| + :  %w! test.out | ||||
| + :endtry | ||||
| + :qa! | ||||
| + ENDTEST | ||||
| +  | ||||
| + 1 | ||||
| + 2 | ||||
| *** ../vim-7.4.385/src/testdir/test_changelist.ok	2014-07-30 14:04:27.515603650 +0200 | ||||
| --- src/testdir/test_changelist.ok	2014-07-30 13:53:41.991608289 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1 ---- | ||||
| + pass | ||||
| *** ../vim-7.4.385/src/version.c	2014-07-30 13:22:48.271621613 +0200 | ||||
| --- src/version.c	2014-07-30 13:56:49.951606938 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     386, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Our job was to build a computer information system for the branch banks.  We | ||||
| were the perfect people for the job: Dean had seen a computer once, and I had | ||||
| heard Dean talk about it. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										199
									
								
								7.4.387
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								7.4.387
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,199 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.387 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.387 | ||||
| Problem:    "4gro" replaces one character then executes "ooo". (Urtica Dioica) | ||||
| Solution:   Write the ESC in the second stuff buffer. | ||||
| Files:	    src/getchar.c, src/proto/getchar.pro, src/edit.c, | ||||
| 	    src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, | ||||
| 	    src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, | ||||
| 	    src/testdir/Make_vms.mms, src/testdir/Makefile, | ||||
| 	    src/testdir/test_insertcount.in, src/testdir/test_insertcount.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.386/src/getchar.c	2014-07-23 20:41:09.891779510 +0200 | ||||
| --- src/getchar.c	2014-07-30 14:35:08.831590415 +0200 | ||||
| *************** | ||||
| *** 678,683 **** | ||||
| --- 678,694 ---- | ||||
|       add_buff(&readbuf1, s, -1L); | ||||
|   } | ||||
|    | ||||
| + /* | ||||
| +  * Append string "s" to the redo stuff buffer. | ||||
| +  * CSI and K_SPECIAL must already have been escaped. | ||||
| +  */ | ||||
| +     void | ||||
| + stuffRedoReadbuff(s) | ||||
| +     char_u	*s; | ||||
| + { | ||||
| +     add_buff(&readbuf2, s, -1L); | ||||
| + } | ||||
| +  | ||||
|       void | ||||
|   stuffReadbuffLen(s, len) | ||||
|       char_u	*s; | ||||
| *** ../vim-7.4.386/src/proto/getchar.pro	2014-02-11 15:10:38.134111836 +0100 | ||||
| --- src/proto/getchar.pro	2014-07-30 14:36:18.851589912 +0200 | ||||
| *************** | ||||
| *** 15,20 **** | ||||
| --- 15,21 ---- | ||||
|   void AppendCharToRedobuff __ARGS((int c)); | ||||
|   void AppendNumberToRedobuff __ARGS((long n)); | ||||
|   void stuffReadbuff __ARGS((char_u *s)); | ||||
| + void stuffRedoReadbuff __ARGS((char_u *s)); | ||||
|   void stuffReadbuffLen __ARGS((char_u *s, long len)); | ||||
|   void stuffReadbuffSpec __ARGS((char_u *s)); | ||||
|   void stuffcharReadbuff __ARGS((int c)); | ||||
| *** ../vim-7.4.386/src/edit.c	2014-07-23 17:39:21.815857910 +0200 | ||||
| --- src/edit.c	2014-07-30 14:47:56.875584895 +0200 | ||||
| *************** | ||||
| *** 8389,8395 **** | ||||
|    | ||||
|   	    (void)start_redo_ins(); | ||||
|   	    if (cmdchar == 'r' || cmdchar == 'v') | ||||
| ! 		stuffReadbuff(ESC_STR);	/* no ESC in redo buffer */ | ||||
|   	    ++RedrawingDisabled; | ||||
|   	    disabled_redraw = TRUE; | ||||
|   	    return FALSE;	/* repeat the insert */ | ||||
| --- 8389,8395 ---- | ||||
|    | ||||
|   	    (void)start_redo_ins(); | ||||
|   	    if (cmdchar == 'r' || cmdchar == 'v') | ||||
| ! 		stuffRedoReadbuff(ESC_STR);	/* no ESC in redo buffer */ | ||||
|   	    ++RedrawingDisabled; | ||||
|   	    disabled_redraw = TRUE; | ||||
|   	    return FALSE;	/* repeat the insert */ | ||||
| *** ../vim-7.4.386/src/testdir/Make_amiga.mak	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Make_amiga.mak	2014-07-30 15:57:52.819554737 +0200 | ||||
| *************** | ||||
| *** 43,48 **** | ||||
| --- 43,49 ---- | ||||
|   		test_qf_title.out \ | ||||
|   		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
| + 		test_insertcount.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   .SUFFIXES: .in .out | ||||
| *************** | ||||
| *** 174,177 **** | ||||
| --- 175,179 ---- | ||||
|   test_qf_title.out: test_qf_title.in | ||||
|   test_changelist.out: test_changelist.in | ||||
|   test_eval.out: test_eval.in | ||||
| + test_insertcount.out: test_insertcount.in | ||||
|   test_options.out: test_options.in | ||||
| *** ../vim-7.4.386/src/testdir/Make_dos.mak	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Make_dos.mak	2014-07-30 15:57:59.071554692 +0200 | ||||
| *************** | ||||
| *** 42,47 **** | ||||
| --- 42,48 ---- | ||||
|   		test_qf_title.out \ | ||||
|   		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
| + 		test_insertcount.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   SCRIPTS32 =	test50.out test70.out | ||||
| *** ../vim-7.4.386/src/testdir/Make_ming.mak	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Make_ming.mak	2014-07-30 15:58:02.351554669 +0200 | ||||
| *************** | ||||
| *** 62,67 **** | ||||
| --- 62,68 ---- | ||||
|   		test_qf_title.out \ | ||||
|   		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
| + 		test_insertcount.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   SCRIPTS32 =	test50.out test70.out | ||||
| *** ../vim-7.4.386/src/testdir/Make_os2.mak	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Make_os2.mak	2014-07-30 15:58:05.975554643 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_autoformat_join.out \ | ||||
|   		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
| + 		test_insertcount.out \ | ||||
|   		test_breakindent.out \ | ||||
|   		test_listlbr.out \ | ||||
|   		test_listlbr_utf8.out \ | ||||
| *** ../vim-7.4.386/src/testdir/Make_vms.mms	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Make_vms.mms	2014-07-30 15:58:10.099554613 +0200 | ||||
| *************** | ||||
| *** 103,108 **** | ||||
| --- 103,109 ---- | ||||
|   	 test_qf_title.out \ | ||||
|   	 test_changelist.out \ | ||||
|   	 test_eval.out \ | ||||
| + 	 test_insertcount.out \ | ||||
|   	 test_options.out | ||||
|    | ||||
|   # Known problems: | ||||
| *** ../vim-7.4.386/src/testdir/Makefile	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/testdir/Makefile	2014-07-30 15:58:16.539554567 +0200 | ||||
| *************** | ||||
| *** 40,45 **** | ||||
| --- 40,46 ---- | ||||
|   		test_qf_title.out \ | ||||
|   		test_changelist.out \ | ||||
|   		test_eval.out \ | ||||
| + 		test_insertcount.out \ | ||||
|   		test_options.out | ||||
|    | ||||
|   SCRIPTS_GUI = test16.out | ||||
| *** ../vim-7.4.386/src/testdir/test_insertcount.in	2014-07-30 15:56:12.087555461 +0200 | ||||
| --- src/testdir/test_insertcount.in	2014-07-30 14:47:36.335585043 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,14 ---- | ||||
| + Tests for repeating insert and replace. | ||||
| +  | ||||
| + STARTTEST | ||||
| + :so small.vim | ||||
| + :/Second | ||||
| + 4gro | ||||
| + :/^First/,$wq! test.out | ||||
| + :" get here when failed and in Insert mode | ||||
| + :.wq! test.out | ||||
| + ENDTEST | ||||
| +  | ||||
| + First line | ||||
| + Second line | ||||
| + Last line | ||||
| *** ../vim-7.4.386/src/testdir/test_insertcount.ok	2014-07-30 15:56:12.091555461 +0200 | ||||
| --- src/testdir/test_insertcount.ok	2014-07-30 14:45:43.491585854 +0200 | ||||
| *************** | ||||
| *** 0 **** | ||||
| --- 1,3 ---- | ||||
| + First line | ||||
| + ooooecond line | ||||
| + Last line | ||||
| *** ../vim-7.4.386/src/version.c	2014-07-30 14:04:49.131603494 +0200 | ||||
| --- src/version.c	2014-07-30 14:48:45.039584549 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     387, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| If your company is not involved in something called "ISO 9000" you probably | ||||
| have no idea what it is.  If your company _is_ involved in ISO 9000 then you | ||||
| definitely have no idea what it is. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										98
									
								
								7.4.388
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								7.4.388
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,98 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.388 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.388 | ||||
| Problem:    With 'linebreak' set and 'list' unset a Tab is not counted | ||||
| 	    properly. (Kent Sibilev) | ||||
| Solution:   Check the 'list' option. (Christian Brabandt) | ||||
| Files:	    src/screen.c, src/testdir/test_listlbr_utf8.in, | ||||
| 	    src/testdir/test_listlbr_utf8.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.387/src/screen.c	2014-07-16 17:29:46.691536252 +0200 | ||||
| --- src/screen.c	2014-07-30 16:41:15.167536033 +0200 | ||||
| *************** | ||||
| *** 4494,4500 **** | ||||
|   		    tab_len = (int)wp->w_buffer->b_p_ts | ||||
|   					- vcol % (int)wp->w_buffer->b_p_ts - 1; | ||||
|   #ifdef FEAT_LINEBREAK | ||||
| ! 		    if (!wp->w_p_lbr) | ||||
|   #endif | ||||
|   		    /* tab amount depends on current column */ | ||||
|   			n_extra = tab_len; | ||||
| --- 4494,4500 ---- | ||||
|   		    tab_len = (int)wp->w_buffer->b_p_ts | ||||
|   					- vcol % (int)wp->w_buffer->b_p_ts - 1; | ||||
|   #ifdef FEAT_LINEBREAK | ||||
| ! 		    if (!wp->w_p_lbr || !wp->w_p_list) | ||||
|   #endif | ||||
|   		    /* tab amount depends on current column */ | ||||
|   			n_extra = tab_len; | ||||
| *** ../vim-7.4.387/src/testdir/test_listlbr_utf8.in	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/test_listlbr_utf8.in	2014-07-30 16:37:26.703537675 +0200 | ||||
| *************** | ||||
| *** 30,40 **** | ||||
| --- 30,51 ---- | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| + :" | ||||
|   :let g:test ="Test 2: set nolinebreak list" | ||||
|   :set list nolinebreak | ||||
|   :redraw! | ||||
|   :let line=ScreenChar(winwidth(0)) | ||||
|   :call DoRecordScreen() | ||||
| + :" | ||||
| + :let g:test ="Test 3: set linebreak nolist" | ||||
| + :$put =\"\t*mask = nil;\" | ||||
| + :$ | ||||
| + :norm! zt | ||||
| + :set nolist linebreak | ||||
| + :redraw! | ||||
| + :let line=ScreenChar(winwidth(0)) | ||||
| + :call DoRecordScreen() | ||||
| + :" | ||||
|   :%w! test.out | ||||
|   :qa! | ||||
|   ENDTEST | ||||
| *** ../vim-7.4.387/src/testdir/test_listlbr_utf8.ok	2014-07-16 17:01:38.279570568 +0200 | ||||
| --- src/testdir/test_listlbr_utf8.ok	2014-07-30 16:40:17.043536451 +0200 | ||||
| *************** | ||||
| *** 12,14 **** | ||||
| --- 12,21 ---- | ||||
|   +pqrstuvwxyz␣1060ABC | ||||
|   +DEFGHIJKLMNOPˑ¶     | ||||
|   ¶                    | ||||
| + 	*mask = nil; | ||||
| +  | ||||
| + Test 3: set linebreak nolist | ||||
| +     *mask = nil;     | ||||
| + ~                    | ||||
| + ~                    | ||||
| + ~                    | ||||
| *** ../vim-7.4.387/src/version.c	2014-07-30 16:00:45.551553496 +0200 | ||||
| --- src/version.c	2014-07-30 16:40:57.659536159 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     388, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You can test a person's importance in the organization by asking how much RAM | ||||
| his computer has.  Anybody who knows the answer to that question is not a | ||||
| decision-maker. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										490
									
								
								7.4.389
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										490
									
								
								7.4.389
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,490 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.389 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.389 | ||||
| Problem:    Still sometimes Vim enters Replace mode when starting up. | ||||
| Solution:   Use a different solution in detecting the termresponse and | ||||
| 	    location response. (Hayaki Saito) | ||||
| Files:	    src/globals.h, src/os_unix.c, src/term.c, src/proto/term.pro | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.388/src/globals.h	2014-06-12 14:01:27.575769788 +0200 | ||||
| --- src/globals.h	2014-07-30 17:02:57.711526671 +0200 | ||||
| *************** | ||||
| *** 1336,1344 **** | ||||
|   #if defined(UNIX) || defined(VMS) | ||||
|   EXTERN int	term_is_xterm INIT(= FALSE);	/* xterm-like 'term' */ | ||||
|   #endif | ||||
| - #if defined(UNIX) | ||||
| - EXTERN int	xterm_conflict_mouse INIT(= FALSE); | ||||
| - #endif | ||||
|    | ||||
|   #ifdef BACKSLASH_IN_FILENAME | ||||
|   EXTERN char	psepc INIT(= '\\');	/* normal path separator character */ | ||||
| --- 1336,1341 ---- | ||||
| *** ../vim-7.4.388/src/os_unix.c	2014-07-09 19:13:45.007701718 +0200 | ||||
| --- src/os_unix.c	2014-07-30 17:06:02.375525344 +0200 | ||||
| *************** | ||||
| *** 3667,3674 **** | ||||
|       void | ||||
|   check_mouse_termcode() | ||||
|   { | ||||
| -     xterm_conflict_mouse = FALSE; | ||||
| -  | ||||
|   # ifdef FEAT_MOUSE_XTERM | ||||
|       if (use_xterm_mouse() | ||||
|   # ifdef FEAT_MOUSE_URXVT | ||||
| --- 3667,3672 ---- | ||||
| *************** | ||||
| *** 3713,3719 **** | ||||
|   # endif | ||||
|    | ||||
|   # ifdef FEAT_MOUSE_JSB | ||||
| !     /* There is no conflict, but it was disabled for xterm before. */ | ||||
|       if (!use_xterm_mouse() | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
| --- 3711,3717 ---- | ||||
|   # endif | ||||
|    | ||||
|   # ifdef FEAT_MOUSE_JSB | ||||
| !     /* Conflicts with xterm mouse: "\033[" and "\033[M" ??? */ | ||||
|       if (!use_xterm_mouse() | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
| *************** | ||||
| *** 3740,3784 **** | ||||
|   # endif | ||||
|    | ||||
|   # ifdef FEAT_MOUSE_DEC | ||||
| !     /* Conflicts with xterm mouse: "\033[" and "\033[M". | ||||
| !      * Also conflicts with the xterm termresponse, skip this if it was | ||||
| !      * requested already. */ | ||||
|       if (!use_xterm_mouse() | ||||
| - #  ifdef FEAT_TERMRESPONSE | ||||
| - 	    && !did_request_esc_sequence() | ||||
| - #  endif | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
|   #  endif | ||||
|   	    ) | ||||
| -     { | ||||
|   	set_mouse_termcode(KS_DEC_MOUSE, (char_u *)(term_is_8bit(T_NAME) | ||||
|   		     ? IF_EB("\233", CSI_STR) : IF_EB("\033[", ESC_STR "["))); | ||||
| - 	xterm_conflict_mouse = TRUE; | ||||
| -     } | ||||
|       else | ||||
|   	del_mouse_termcode(KS_DEC_MOUSE); | ||||
|   # endif | ||||
|   # ifdef FEAT_MOUSE_PTERM | ||||
| !     /* same as the dec mouse */ | ||||
|       if (!use_xterm_mouse() | ||||
| - #  ifdef FEAT_TERMRESPONSE | ||||
| - 	    && !did_request_esc_sequence() | ||||
| - #  endif | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
|   #  endif | ||||
|   	    ) | ||||
| -     { | ||||
|   	set_mouse_termcode(KS_PTERM_MOUSE, | ||||
|   				      (char_u *) IF_EB("\033[", ESC_STR "[")); | ||||
| - 	xterm_conflict_mouse = TRUE; | ||||
| -     } | ||||
|       else | ||||
|   	del_mouse_termcode(KS_PTERM_MOUSE); | ||||
|   # endif | ||||
|   # ifdef FEAT_MOUSE_URXVT | ||||
| !     /* same as the dec mouse */ | ||||
|       if (use_xterm_mouse() == 3 | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
| --- 3738,3768 ---- | ||||
|   # endif | ||||
|    | ||||
|   # ifdef FEAT_MOUSE_DEC | ||||
| !     /* Conflicts with xterm mouse: "\033[" and "\033[M" */ | ||||
|       if (!use_xterm_mouse() | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
|   #  endif | ||||
|   	    ) | ||||
|   	set_mouse_termcode(KS_DEC_MOUSE, (char_u *)(term_is_8bit(T_NAME) | ||||
|   		     ? IF_EB("\233", CSI_STR) : IF_EB("\033[", ESC_STR "["))); | ||||
|       else | ||||
|   	del_mouse_termcode(KS_DEC_MOUSE); | ||||
|   # endif | ||||
|   # ifdef FEAT_MOUSE_PTERM | ||||
| !     /* same conflict as the dec mouse */ | ||||
|       if (!use_xterm_mouse() | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
|   #  endif | ||||
|   	    ) | ||||
|   	set_mouse_termcode(KS_PTERM_MOUSE, | ||||
|   				      (char_u *) IF_EB("\033[", ESC_STR "[")); | ||||
|       else | ||||
|   	del_mouse_termcode(KS_PTERM_MOUSE); | ||||
|   # endif | ||||
|   # ifdef FEAT_MOUSE_URXVT | ||||
| !     /* same conflict as the dec mouse */ | ||||
|       if (use_xterm_mouse() == 3 | ||||
|   #  ifdef FEAT_GUI | ||||
|   	    && !gui.in_use | ||||
| *************** | ||||
| *** 3794,3801 **** | ||||
|   	    mch_setmouse(FALSE); | ||||
|   	    setmouse(); | ||||
|   	} | ||||
| - 	/* It's OK to request the xterm version for uxterm. */ | ||||
| - 	resume_get_esc_sequence(); | ||||
|       } | ||||
|       else | ||||
|   	del_mouse_termcode(KS_URXVT_MOUSE); | ||||
| --- 3778,3783 ---- | ||||
| *** ../vim-7.4.388/src/term.c	2014-07-09 20:51:04.519583033 +0200 | ||||
| --- src/term.c	2014-07-30 17:20:54.915518929 +0200 | ||||
| *************** | ||||
| *** 153,163 **** | ||||
|   static char_u *vim_tgetstr __ARGS((char *s, char_u **pp)); | ||||
|   #endif /* HAVE_TGETENT */ | ||||
|    | ||||
| - #if defined(FEAT_TERMRESPONSE) | ||||
| - static int xt_index_in = 0; | ||||
| - static int xt_index_out = 0; | ||||
| - #endif | ||||
| -  | ||||
|   static int  detected_8bit = FALSE;	/* detected 8-bit terminal */ | ||||
|    | ||||
|   static struct builtin_term builtin_termcaps[] = | ||||
| --- 153,158 ---- | ||||
| *************** | ||||
| *** 3312,3351 **** | ||||
|   } | ||||
|    | ||||
|   #if defined(FEAT_TERMRESPONSE) || defined(PROTO) | ||||
| - # if defined(UNIX) || defined(PROTO) | ||||
| - /* | ||||
| -  * Return TRUE when the xterm version was requested or anything else that | ||||
| -  * would send an ESC sequence back to Vim. | ||||
| -  * If not sent yet, prevent it from being sent soon. | ||||
| -  * Used to check whether it is OK to enable checking for DEC mouse codes, | ||||
| -  * which conflict with may xterm ESC sequences. | ||||
| -  */ | ||||
| -     int | ||||
| - did_request_esc_sequence() | ||||
| - { | ||||
| -     if (crv_status == CRV_GET) | ||||
| - 	crv_status = 0; | ||||
| -     if (u7_status == U7_GET) | ||||
| - 	u7_status = 0; | ||||
| -     return crv_status == CRV_SENT || u7_status == U7_SENT | ||||
| - 						|| xt_index_out > xt_index_in; | ||||
| - } | ||||
| -  | ||||
| - /* | ||||
| -  * If requesting the version was disabled in did_request_esc_sequence(), | ||||
| -  * enable it again. | ||||
| -  */ | ||||
| -     void | ||||
| - resume_get_esc_sequence() | ||||
| - { | ||||
| -     if (crv_status == 0) | ||||
| - 	crv_status = CRV_GET; | ||||
| -     if (u7_status == 0) | ||||
| - 	u7_status = U7_GET; | ||||
| - } | ||||
| - # endif | ||||
| -  | ||||
| -  | ||||
|   /* | ||||
|    * Request version string (for xterm) when needed. | ||||
|    * Only do this after switching to raw mode, otherwise the result will be | ||||
| --- 3307,3312 ---- | ||||
| *************** | ||||
| *** 3358,3365 **** | ||||
|    * Insert mode. | ||||
|    * On Unix only do it when both output and input are a tty (avoid writing | ||||
|    * request to terminal while reading from a file). | ||||
| -  * Do not do this when a mouse is being detected that starts with the same ESC | ||||
| -  * sequence as the termresponse. | ||||
|    * The result is caught in check_termcode(). | ||||
|    */ | ||||
|       void | ||||
| --- 3319,3324 ---- | ||||
| *************** | ||||
| *** 3373,3379 **** | ||||
|   # ifdef UNIX | ||||
|   	    && isatty(1) | ||||
|   	    && isatty(read_cmd_fd) | ||||
| - 	    && !xterm_conflict_mouse | ||||
|   # endif | ||||
|   	    && *T_CRV != NUL) | ||||
|       { | ||||
| --- 3332,3337 ---- | ||||
| *************** | ||||
| *** 3742,3749 **** | ||||
|   #if defined(WIN3264) && !defined(FEAT_GUI) | ||||
|       if (s[0] == K_NUL) | ||||
|       { | ||||
| !         STRMOVE(s + 1, s); | ||||
| !         s[1] = 3; | ||||
|       } | ||||
|   #endif | ||||
|    | ||||
| --- 3700,3707 ---- | ||||
|   #if defined(WIN3264) && !defined(FEAT_GUI) | ||||
|       if (s[0] == K_NUL) | ||||
|       { | ||||
| ! 	STRMOVE(s + 1, s); | ||||
| ! 	s[1] = 3; | ||||
|       } | ||||
|   #endif | ||||
|    | ||||
| *************** | ||||
| *** 4212,4235 **** | ||||
|    | ||||
|   #ifdef FEAT_TERMRESPONSE | ||||
|   	if (key_name[0] == NUL | ||||
| ! 	    /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */ | ||||
|   	    || key_name[0] == KS_URXVT_MOUSE | ||||
| - # ifdef FEAT_MBYTE | ||||
| - 	    || u7_status == U7_SENT | ||||
|   # endif | ||||
| !             ) | ||||
|   	{ | ||||
| ! 	    /* Check for some responses from terminal start with "<Esc>[" or | ||||
| ! 	     * CSI. | ||||
|   	     * | ||||
| ! 	     * - xterm version string: <Esc>[>{x};{vers};{y}c | ||||
|   	     *   Also eat other possible responses to t_RV, rxvt returns | ||||
|   	     *   "<Esc>[?1;2c". Also accept CSI instead of <Esc>[. | ||||
|   	     *   mrxvt has been reported to have "+" in the version. Assume | ||||
|   	     *   the escape sequence ends with a letter or one of "{|}~". | ||||
|   	     * | ||||
| ! 	     * - cursor position report: <Esc>[{row};{col}R | ||||
| ! 	     *   The final byte is 'R'. now it is only used for checking for | ||||
|   	     *   ambiguous-width character state. | ||||
|   	     */ | ||||
|   	    p = tp[0] == CSI ? tp + 1 : tp + 2; | ||||
| --- 4170,4200 ---- | ||||
|    | ||||
|   #ifdef FEAT_TERMRESPONSE | ||||
|   	if (key_name[0] == NUL | ||||
| ! 	    /* Mouse codes of DEC, pterm, and URXVT start with <ESC>[.  When | ||||
| ! 	     * detecting the start of these mouse codes they might as well be | ||||
| ! 	     * another key code or terminal response. */ | ||||
| ! # ifdef FEAT_MOUSE_DEC | ||||
| ! 	    || key_name[0] == KS_DEC_MOUSE | ||||
| ! # endif | ||||
| ! # ifdef FEAT_MOUSE_PTERM | ||||
| ! 	    || key_name[0] == KS_PTERM_MOUSE | ||||
| ! # endif | ||||
| ! # ifdef FEAT_MOUSE_URXVT | ||||
|   	    || key_name[0] == KS_URXVT_MOUSE | ||||
|   # endif | ||||
| ! 	   ) | ||||
|   	{ | ||||
| ! 	    /* Check for some responses from the terminal starting with | ||||
| ! 	     * "<Esc>[" or CSI: | ||||
|   	     * | ||||
| ! 	     * - Xterm version string: <Esc>[>{x};{vers};{y}c | ||||
|   	     *   Also eat other possible responses to t_RV, rxvt returns | ||||
|   	     *   "<Esc>[?1;2c". Also accept CSI instead of <Esc>[. | ||||
|   	     *   mrxvt has been reported to have "+" in the version. Assume | ||||
|   	     *   the escape sequence ends with a letter or one of "{|}~". | ||||
|   	     * | ||||
| ! 	     * - Cursor position report: <Esc>[{row};{col}R | ||||
| ! 	     *   The final byte must be 'R'. It is used for checking the | ||||
|   	     *   ambiguous-width character state. | ||||
|   	     */ | ||||
|   	    p = tp[0] == CSI ? tp + 1 : tp + 2; | ||||
| *************** | ||||
| *** 4269,4304 **** | ||||
|   		 * u7_status is not "sent", it may be from a previous Vim that | ||||
|   		 * just exited.  But not for <S-F3>, it sends something | ||||
|   		 * similar, check for row and column to make sense. */ | ||||
| ! 		if (j == 1 && tp[i] == 'R' && row_char == '2' && col >= 2) | ||||
|   		{ | ||||
| ! 		    char *aw = NULL; | ||||
|    | ||||
| ! 		    LOG_TR("Received U7 status"); | ||||
| ! 		    u7_status = U7_GOT; | ||||
|   # ifdef FEAT_AUTOCMD | ||||
| ! 		    did_cursorhold = TRUE; | ||||
|   # endif | ||||
| ! 		    if (col == 2) | ||||
| ! 			aw = "single"; | ||||
| ! 		    else if (col == 3) | ||||
| ! 			aw = "double"; | ||||
| ! 		    if (aw != NULL && STRCMP(aw, p_ambw) != 0) | ||||
| ! 		    { | ||||
| ! 			/* Setting the option causes a screen redraw. Do that | ||||
| ! 			 * right away if possible, keeping any messages. */ | ||||
| ! 			set_option_value((char_u *)"ambw", 0L, (char_u *)aw, 0); | ||||
| ! # ifdef DEBUG_TERMRESPONSE | ||||
|   			{ | ||||
| ! 			    char buf[100]; | ||||
| ! 			    int  r = redraw_asap(CLEAR); | ||||
|    | ||||
| ! 			    sprintf(buf, "set 'ambiwidth', redraw_asap(): %d", | ||||
| ! 									   r); | ||||
| ! 			    log_tr(buf); | ||||
| ! 			} | ||||
|   # else | ||||
| ! 			redraw_asap(CLEAR); | ||||
|   # endif | ||||
|   		    } | ||||
|   		    key_name[0] = (int)KS_EXTRA; | ||||
|   		    key_name[1] = (int)KE_IGNORE; | ||||
| --- 4234,4275 ---- | ||||
|   		 * u7_status is not "sent", it may be from a previous Vim that | ||||
|   		 * just exited.  But not for <S-F3>, it sends something | ||||
|   		 * similar, check for row and column to make sense. */ | ||||
| ! 		if (j == 1 && tp[i] == 'R') | ||||
|   		{ | ||||
| ! 		    if (row_char == '2' && col >= 2) | ||||
| ! 		    { | ||||
| ! 			char *aw = NULL; | ||||
|    | ||||
| ! 			LOG_TR("Received U7 status"); | ||||
| ! 			u7_status = U7_GOT; | ||||
|   # ifdef FEAT_AUTOCMD | ||||
| ! 			did_cursorhold = TRUE; | ||||
|   # endif | ||||
| ! 			if (col == 2) | ||||
| ! 			    aw = "single"; | ||||
| ! 			else if (col == 3) | ||||
| ! 			    aw = "double"; | ||||
| ! 			if (aw != NULL && STRCMP(aw, p_ambw) != 0) | ||||
|   			{ | ||||
| ! 			    /* Setting the option causes a screen redraw. Do | ||||
| ! 			     * that right away if possible, keeping any | ||||
| ! 			     * messages. */ | ||||
| ! 			    set_option_value((char_u *)"ambw", 0L, | ||||
| ! 					     (char_u *)aw, 0); | ||||
| ! # ifdef DEBUG_TERMRESPONSE | ||||
| ! 			    { | ||||
| ! 				char buf[100]; | ||||
| ! 				int  r = redraw_asap(CLEAR); | ||||
|    | ||||
| ! 				sprintf(buf, | ||||
| ! 					"set 'ambiwidth', redraw_asap(): %d", | ||||
| ! 					r); | ||||
| ! 				log_tr(buf); | ||||
| ! 			    } | ||||
|   # else | ||||
| ! 			    redraw_asap(CLEAR); | ||||
|   # endif | ||||
| + 			} | ||||
|   		    } | ||||
|   		    key_name[0] = (int)KS_EXTRA; | ||||
|   		    key_name[1] = (int)KE_IGNORE; | ||||
| *************** | ||||
| *** 4563,4581 **** | ||||
|   			return -1; | ||||
|    | ||||
|   		    /* when mouse reporting is SGR, add 32 to mouse code */ | ||||
| !                     if (key_name[0] == KS_SGR_MOUSE) | ||||
| !                         mouse_code += 32; | ||||
|    | ||||
|   		    mouse_col = getdigits(&p) - 1; | ||||
|   		    if (*p++ != ';') | ||||
|   			return -1; | ||||
|    | ||||
|   		    mouse_row = getdigits(&p) - 1; | ||||
| !                     if (key_name[0] == KS_SGR_MOUSE && *p == 'm') | ||||
|   			mouse_code |= MOUSE_RELEASE; | ||||
| !                     else if (*p != 'M') | ||||
|   			return -1; | ||||
| !                     p++; | ||||
|    | ||||
|   		    slen += (int)(p - (tp + slen)); | ||||
|    | ||||
| --- 4534,4552 ---- | ||||
|   			return -1; | ||||
|    | ||||
|   		    /* when mouse reporting is SGR, add 32 to mouse code */ | ||||
| ! 		    if (key_name[0] == KS_SGR_MOUSE) | ||||
| ! 			mouse_code += 32; | ||||
|    | ||||
|   		    mouse_col = getdigits(&p) - 1; | ||||
|   		    if (*p++ != ';') | ||||
|   			return -1; | ||||
|    | ||||
|   		    mouse_row = getdigits(&p) - 1; | ||||
| ! 		    if (key_name[0] == KS_SGR_MOUSE && *p == 'm') | ||||
|   			mouse_code |= MOUSE_RELEASE; | ||||
| ! 		    else if (*p != 'M') | ||||
|   			return -1; | ||||
| ! 		    p++; | ||||
|    | ||||
|   		    slen += (int)(p - (tp + slen)); | ||||
|    | ||||
| *************** | ||||
| *** 4592,4598 **** | ||||
|   			for (slen2 = slen; slen2 < len; slen2++) | ||||
|   			{ | ||||
|   			    if (tp[slen2] == 'M' | ||||
| !                                 || (key_name[0] == KS_SGR_MOUSE | ||||
|   							 && tp[slen2] == 'm')) | ||||
|   			    { | ||||
|   				cmd_complete = 1; | ||||
| --- 4563,4569 ---- | ||||
|   			for (slen2 = slen; slen2 < len; slen2++) | ||||
|   			{ | ||||
|   			    if (tp[slen2] == 'M' | ||||
| ! 				    || (key_name[0] == KS_SGR_MOUSE | ||||
|   							 && tp[slen2] == 'm')) | ||||
|   			    { | ||||
|   				cmd_complete = 1; | ||||
| *************** | ||||
| *** 5769,5774 **** | ||||
| --- 5740,5748 ---- | ||||
|    * termcap codes from the terminal itself. | ||||
|    * We get them one by one to avoid a very long response string. | ||||
|    */ | ||||
| + static int xt_index_in = 0; | ||||
| + static int xt_index_out = 0; | ||||
| +  | ||||
|       static void | ||||
|   req_codes_from_term() | ||||
|   { | ||||
| *** ../vim-7.4.388/src/proto/term.pro	2014-07-09 19:13:45.007701718 +0200 | ||||
| --- src/proto/term.pro	2014-07-30 17:04:40.791525930 +0200 | ||||
| *************** | ||||
| *** 34,41 **** | ||||
|   void settmode __ARGS((int tmode)); | ||||
|   void starttermcap __ARGS((void)); | ||||
|   void stoptermcap __ARGS((void)); | ||||
| - int did_request_esc_sequence __ARGS((void)); | ||||
| - void resume_get_esc_sequence __ARGS((void)); | ||||
|   void may_req_termresponse __ARGS((void)); | ||||
|   void may_req_ambiguous_char_width __ARGS((void)); | ||||
|   int swapping_screen __ARGS((void)); | ||||
| --- 34,39 ---- | ||||
| *** ../vim-7.4.388/src/version.c	2014-07-30 16:44:17.503534723 +0200 | ||||
| --- src/version.c	2014-07-30 17:03:13.715526556 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     389, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| The only way the average employee can speak to an executive is by taking a | ||||
| second job as a golf caddie. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										51
									
								
								7.4.390
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								7.4.390
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.390 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.390 | ||||
| Problem:    Advancing pointer over end of a string. | ||||
| Solution:   Init quote character to -1 instead of zero. (Dominique Pelle) | ||||
| Files:	    src/misc1.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.389/src/misc1.c	2014-07-03 22:57:51.299862927 +0200 | ||||
| --- src/misc1.c	2014-08-06 12:43:33.191291602 +0200 | ||||
| *************** | ||||
| *** 5503,5509 **** | ||||
|       char_u *text; | ||||
|   { | ||||
|       char_u *s = skipwhite(text); | ||||
| !     int	    quote = 0; | ||||
|    | ||||
|       if (*s == '\'' || *s == '"') | ||||
|       { | ||||
| --- 5503,5509 ---- | ||||
|       char_u *text; | ||||
|   { | ||||
|       char_u *s = skipwhite(text); | ||||
| !     int	    quote = -1; | ||||
|    | ||||
|       if (*s == '\'' || *s == '"') | ||||
|       { | ||||
| *** ../vim-7.4.389/src/version.c	2014-07-30 17:21:53.819518506 +0200 | ||||
| --- src/version.c	2014-08-06 12:44:31.643291182 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     390, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| A radioactive cat has eighteen half-lives. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										118
									
								
								7.4.391
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								7.4.391
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.391 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.391 | ||||
| Problem:    No 'cursorline' highlighting when the cursor is on a line with | ||||
| 	    diff highlighting. (Benjamin Fritz) | ||||
| Solution:   Combine the highlight attributes. (Christian Brabandt) | ||||
| Files:	    src/screen.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.390/src/screen.c	2014-07-30 16:44:17.499534723 +0200 | ||||
| --- src/screen.c	2014-08-06 13:14:02.163278457 +0200 | ||||
| *************** | ||||
| *** 3702,3708 **** | ||||
| --- 3702,3713 ---- | ||||
|   		    char_attr = 0; /* was: hl_attr(HLF_AT); */ | ||||
|   #ifdef FEAT_DIFF | ||||
|   		    if (diff_hlf != (hlf_T)0) | ||||
| + 		    { | ||||
|   			char_attr = hl_attr(diff_hlf); | ||||
| + 			if (wp->w_p_cul && lnum == wp->w_cursor.lnum) | ||||
| + 			    char_attr = hl_combine_attr(char_attr, | ||||
| + 							    hl_attr(HLF_CUL)); | ||||
| + 		    } | ||||
|   #endif | ||||
|   		    p_extra = NULL; | ||||
|   		    c_extra = ' '; | ||||
| *************** | ||||
| *** 3753,3759 **** | ||||
|   #ifdef FEAT_SYN_HL | ||||
|   		    /* combine 'showbreak' with 'cursorline' */ | ||||
|   		    if (wp->w_p_cul && lnum == wp->w_cursor.lnum) | ||||
| ! 			char_attr = hl_combine_attr(char_attr, HLF_CLN); | ||||
|   #endif | ||||
|   		} | ||||
|   # endif | ||||
| --- 3758,3765 ---- | ||||
|   #ifdef FEAT_SYN_HL | ||||
|   		    /* combine 'showbreak' with 'cursorline' */ | ||||
|   		    if (wp->w_p_cul && lnum == wp->w_cursor.lnum) | ||||
| ! 			char_attr = hl_combine_attr(char_attr, | ||||
| ! 							    hl_attr(HLF_CUL)); | ||||
|   #endif | ||||
|   		} | ||||
|   # endif | ||||
| *************** | ||||
| *** 3931,3936 **** | ||||
| --- 3937,3944 ---- | ||||
|   							      && n_extra == 0) | ||||
|   		    diff_hlf = HLF_CHD;		/* changed line */ | ||||
|   		line_attr = hl_attr(diff_hlf); | ||||
| + 		if (wp->w_p_cul && lnum == wp->w_cursor.lnum) | ||||
| + 		    line_attr = hl_combine_attr(line_attr, hl_attr(HLF_CUL)); | ||||
|   	    } | ||||
|   #endif | ||||
|    | ||||
| *************** | ||||
| *** 4729,4735 **** | ||||
| --- 4737,4748 ---- | ||||
|   		    { | ||||
|   			diff_hlf = HLF_CHD; | ||||
|   			if (attr == 0 || char_attr != attr) | ||||
| + 			{ | ||||
|   			    char_attr = hl_attr(diff_hlf); | ||||
| + 			    if (wp->w_p_cul && lnum == wp->w_cursor.lnum) | ||||
| + 				char_attr = hl_combine_attr(char_attr, | ||||
| + 							    hl_attr(HLF_CUL)); | ||||
| + 			} | ||||
|   		    } | ||||
|   # endif | ||||
|   		} | ||||
| *************** | ||||
| *** 10174,10182 **** | ||||
|   			break; | ||||
|   		    screen_puts_len(NameBuff, len, 0, col, | ||||
|   #if defined(FEAT_SYN_HL) | ||||
| ! 					   hl_combine_attr(attr, hl_attr(HLF_T)) | ||||
|   #else | ||||
| ! 					   attr | ||||
|   #endif | ||||
|   					       ); | ||||
|   		    col += len; | ||||
| --- 10187,10195 ---- | ||||
|   			break; | ||||
|   		    screen_puts_len(NameBuff, len, 0, col, | ||||
|   #if defined(FEAT_SYN_HL) | ||||
| ! 					 hl_combine_attr(attr, hl_attr(HLF_T)) | ||||
|   #else | ||||
| ! 					 attr | ||||
|   #endif | ||||
|   					       ); | ||||
|   		    col += len; | ||||
| *** ../vim-7.4.390/src/version.c	2014-08-06 12:49:06.711289205 +0200 | ||||
| --- src/version.c	2014-08-06 13:19:19.135276179 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     391, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| It's totally unfair to suggest - as many have - that engineers are socially | ||||
| inept.  Engineers simply have different objectives when it comes to social | ||||
| interaction. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										86
									
								
								7.4.392
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								7.4.392
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,86 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.392 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.392 | ||||
| Problem:    Not easy to detect type of command line window. | ||||
| Solution:   Add the getcmdwintype() function. (Jacob Niehus) | ||||
| Files:	    src/eval.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.391/src/eval.c	2014-07-09 17:51:46.075801693 +0200 | ||||
| --- src/eval.c	2014-08-06 13:35:59.303268990 +0200 | ||||
| *************** | ||||
| *** 554,559 **** | ||||
| --- 554,560 ---- | ||||
|   static void f_getcmdline __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getcmdpos __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getcmdtype __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| + static void f_getcmdwintype __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getcwd __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getfontname __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
|   static void f_getfperm __ARGS((typval_T *argvars, typval_T *rettv)); | ||||
| *************** | ||||
| *** 7984,7989 **** | ||||
| --- 7985,7991 ---- | ||||
|       {"getcmdline",	0, 0, f_getcmdline}, | ||||
|       {"getcmdpos",	0, 0, f_getcmdpos}, | ||||
|       {"getcmdtype",	0, 0, f_getcmdtype}, | ||||
| +     {"getcmdwintype",	0, 0, f_getcmdwintype}, | ||||
|       {"getcurpos",	0, 0, f_getcurpos}, | ||||
|       {"getcwd",		0, 0, f_getcwd}, | ||||
|       {"getfontname",	0, 1, f_getfontname}, | ||||
| *************** | ||||
| *** 11503,11508 **** | ||||
| --- 11505,11530 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| +  * "getcmdwintype()" function | ||||
| +  */ | ||||
| +     static void | ||||
| + f_getcmdwintype(argvars, rettv) | ||||
| +     typval_T	*argvars UNUSED; | ||||
| +     typval_T	*rettv; | ||||
| + { | ||||
| +     rettv->v_type = VAR_STRING; | ||||
| +     rettv->vval.v_string = NULL; | ||||
| + #ifdef FEAT_CMDWIN | ||||
| +     rettv->vval.v_string = alloc(2); | ||||
| +     if (rettv->vval.v_string != NULL) | ||||
| +     { | ||||
| + 	rettv->vval.v_string[0] = cmdwin_type; | ||||
| + 	rettv->vval.v_string[1] = NUL; | ||||
| +     } | ||||
| + #endif | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
|    * "getcwd()" function | ||||
|    */ | ||||
|       static void | ||||
| *** ../vim-7.4.391/src/version.c	2014-08-06 13:20:51.799275513 +0200 | ||||
| --- src/version.c	2014-08-06 13:34:42.903269539 +0200 | ||||
| *************** | ||||
| *** 736,737 **** | ||||
| --- 736,739 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     392, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| I learned the customs and mannerisms of engineers by observing them, much the | ||||
| way Jane Goodall learned about the great apes, but without the hassle of | ||||
| grooming. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										56
									
								
								7.4.394
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								7.4.394
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.394 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.394 (after 7.4.393) | ||||
| Problem:    When using DirectX last italic character is incomplete. | ||||
| Solution:   Add one to the number of cells. (Ken Takata) | ||||
| Files:	    src/gui_w32.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.393/src/gui_w32.c	2014-08-06 14:52:05.043236174 +0200 | ||||
| --- src/gui_w32.c	2014-08-06 16:45:56.927187071 +0200 | ||||
| *************** | ||||
| *** 2590,2597 **** | ||||
|   #if defined(FEAT_DIRECTX) | ||||
|   	if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector) | ||||
|   	{ | ||||
|   	    DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen, | ||||
| ! 		    TEXT_X(col), TEXT_Y(row), FILL_X(cells), FILL_Y(1), | ||||
|   		    gui.char_width, gui.currFgColor); | ||||
|   	} | ||||
|   	else | ||||
| --- 2590,2598 ---- | ||||
|   #if defined(FEAT_DIRECTX) | ||||
|   	if (IS_ENABLE_DIRECTX() && font_is_ttf_or_vector) | ||||
|   	{ | ||||
| + 	    /* Add one to "cells" for italics. */ | ||||
|   	    DWriteContext_DrawText(s_dwc, s_hdc, unicodebuf, wlen, | ||||
| ! 		    TEXT_X(col), TEXT_Y(row), FILL_X(cells + 1), FILL_Y(1), | ||||
|   		    gui.char_width, gui.currFgColor); | ||||
|   	} | ||||
|   	else | ||||
| *** ../vim-7.4.393/src/version.c	2014-08-06 14:52:05.047236174 +0200 | ||||
| --- src/version.c	2014-08-06 16:46:54.279186658 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     394, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| The average life of an organization chart is six months.  You can safely | ||||
| ignore any order from your boss that would take six months to complete. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										99
									
								
								7.4.395
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								7.4.395
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,99 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.395 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.395 (after 7.4.355) | ||||
| Problem:    C indent is wrong below an if with wrapped condition followed by | ||||
| 	    curly braces. (Trevor Powell) | ||||
| Solution:   Make a copy of tryposBrace. | ||||
| Files:	    src/misc1.c, src/testdir/test3.in, src/testdir/test3.ok | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.394/src/misc1.c	2014-08-06 12:49:06.711289205 +0200 | ||||
| --- src/misc1.c	2014-08-06 17:35:45.003165594 +0200 | ||||
| *************** | ||||
| *** 6995,7000 **** | ||||
| --- 6995,7001 ---- | ||||
|       char_u	*linecopy; | ||||
|       pos_T	*trypos; | ||||
|       pos_T	*tryposBrace = NULL; | ||||
| +     pos_T	tryposBraceCopy; | ||||
|       pos_T	our_paren_pos; | ||||
|       char_u	*start; | ||||
|       int		start_brace; | ||||
| *************** | ||||
| *** 7532,7538 **** | ||||
| --- 7533,7543 ---- | ||||
|   	/* | ||||
|   	 * We are inside braces, there is a { before this line at the position | ||||
|   	 * stored in tryposBrace. | ||||
| + 	 * Make a copy of tryposBrace, it may point to pos_copy inside | ||||
| + 	 * find_start_brace(), which may be changed somewhere. | ||||
|   	 */ | ||||
| + 	tryposBraceCopy = *tryposBrace; | ||||
| + 	tryposBrace = &tryposBraceCopy; | ||||
|   	trypos = tryposBrace; | ||||
|   	ourscope = trypos->lnum; | ||||
|   	start = ml_get(ourscope); | ||||
| *** ../vim-7.4.394/src/testdir/test3.in	2014-07-03 22:57:51.299862927 +0200 | ||||
| --- src/testdir/test3.in	2014-08-06 17:19:41.099172522 +0200 | ||||
| *************** | ||||
| *** 464,469 **** | ||||
| --- 464,477 ---- | ||||
|   	asdfasdf | ||||
|   } | ||||
|    | ||||
| + { | ||||
| + for ( int i = 0; | ||||
| + 	i < 10; i++ ) | ||||
| + { | ||||
| + } | ||||
| + 	i = 0; | ||||
| + } | ||||
| +  | ||||
|   class bob | ||||
|   { | ||||
|   	int foo() {return 1;} | ||||
| *** ../vim-7.4.394/src/testdir/test3.ok	2014-07-03 22:57:51.299862927 +0200 | ||||
| --- src/testdir/test3.ok	2014-08-06 17:20:11.867172301 +0200 | ||||
| *************** | ||||
| *** 452,457 **** | ||||
| --- 452,465 ---- | ||||
|   	asdfasdf | ||||
|   } | ||||
|    | ||||
| + { | ||||
| + 	for ( int i = 0; | ||||
| + 			i < 10; i++ ) | ||||
| + 	{ | ||||
| + 	} | ||||
| + 	i = 0; | ||||
| + } | ||||
| +  | ||||
|   class bob | ||||
|   { | ||||
|   	int foo() {return 1;} | ||||
| *** ../vim-7.4.394/src/version.c	2014-08-06 16:49:51.203185387 +0200 | ||||
| --- src/version.c	2014-08-06 17:43:44.243162150 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     395, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| An operatingsystem is just a name you give to the rest of bloating | ||||
| idiosyncratic machine-based-features you left out of your editor. | ||||
| 			(author unknown) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										291
									
								
								7.4.396
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										291
									
								
								7.4.396
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,291 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.396 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.396 | ||||
| Problem:    When 'clipboard' is "unnamed", :g/pat/d is very slow. (Praful) | ||||
| Solution:   Only set the clipboard after the last delete. (Christian Brabandt) | ||||
| Files:	    src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/globals.h, | ||||
| 	    src/ops.c, src/proto/ui.pro, src/ui.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.395/src/ex_cmds.c	2014-07-09 21:17:59.755550204 +0200 | ||||
| --- src/ex_cmds.c	2014-08-06 18:06:37.931152276 +0200 | ||||
| *************** | ||||
| *** 5514,5520 **** | ||||
| --- 5514,5528 ---- | ||||
|   	    smsg((char_u *)_("Pattern not found: %s"), pat); | ||||
|       } | ||||
|       else | ||||
| +     { | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| + 	start_global_changes(); | ||||
| + #endif | ||||
|   	global_exe(cmd); | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| + 	end_global_changes(); | ||||
| + #endif | ||||
| +     } | ||||
|    | ||||
|       ml_clearmarked();	   /* clear rest of the marks */ | ||||
|       vim_regfree(regmatch.regprog); | ||||
| *** ../vim-7.4.395/src/ex_cmds2.c	2014-04-05 19:44:36.903160723 +0200 | ||||
| --- src/ex_cmds2.c	2014-08-06 18:05:07.563152926 +0200 | ||||
| *************** | ||||
| *** 2464,2469 **** | ||||
| --- 2464,2472 ---- | ||||
|   	 * great speed improvement. */ | ||||
|   	save_ei = au_event_disable(",Syntax"); | ||||
|   #endif | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| +     start_global_changes(); | ||||
| + #endif | ||||
|    | ||||
|       if (eap->cmdidx == CMD_windo | ||||
|   	    || eap->cmdidx == CMD_tabdo | ||||
| *************** | ||||
| *** 2591,2596 **** | ||||
| --- 2594,2602 ---- | ||||
|   					       curbuf->b_fname, TRUE, curbuf); | ||||
|       } | ||||
|   #endif | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| +     end_global_changes(); | ||||
| + #endif | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| *************** | ||||
| *** 2750,2757 **** | ||||
|    * used. | ||||
|    * Returns OK when at least one match found, FAIL otherwise. | ||||
|    * | ||||
| !  * If "name" is NULL calls callback for each entry in runtimepath. Cookie is  | ||||
| !  * passed by reference in this case, setting it to NULL indicates that callback  | ||||
|    * has done its job. | ||||
|    */ | ||||
|       int | ||||
| --- 2756,2763 ---- | ||||
|    * used. | ||||
|    * Returns OK when at least one match found, FAIL otherwise. | ||||
|    * | ||||
| !  * If "name" is NULL calls callback for each entry in runtimepath. Cookie is | ||||
| !  * passed by reference in this case, setting it to NULL indicates that callback | ||||
|    * has done its job. | ||||
|    */ | ||||
|       int | ||||
| *** ../vim-7.4.395/src/ex_docmd.c	2014-06-17 17:48:21.780628008 +0200 | ||||
| --- src/ex_docmd.c	2014-08-06 18:05:07.563152926 +0200 | ||||
| *************** | ||||
| *** 11534,11539 **** | ||||
| --- 11534,11543 ---- | ||||
|   { | ||||
|       linenr_T	lnum; | ||||
|    | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| +     start_global_changes(); | ||||
| + #endif | ||||
| +  | ||||
|       /* First set the marks for all lines closed/open. */ | ||||
|       for (lnum = eap->line1; lnum <= eap->line2; ++lnum) | ||||
|   	if (hasFolding(lnum, NULL, NULL) == (eap->cmdidx == CMD_folddoclosed)) | ||||
| *************** | ||||
| *** 11542,11546 **** | ||||
| --- 11546,11553 ---- | ||||
|       /* Execute the command on the marked lines. */ | ||||
|       global_exe(eap->arg); | ||||
|       ml_clearmarked();	   /* clear rest of the marks */ | ||||
| + #ifdef FEAT_CLIPBOARD | ||||
| +     end_global_changes(); | ||||
| + #endif | ||||
|   } | ||||
|   #endif | ||||
| *** ../vim-7.4.395/src/globals.h	2014-07-30 17:21:53.815518506 +0200 | ||||
| --- src/globals.h	2014-08-06 18:05:07.563152926 +0200 | ||||
| *************** | ||||
| *** 533,538 **** | ||||
| --- 533,540 ---- | ||||
|   EXTERN int	clip_autoselectml INIT(= FALSE); | ||||
|   EXTERN int	clip_html INIT(= FALSE); | ||||
|   EXTERN regprog_T *clip_exclude_prog INIT(= NULL); | ||||
| + EXTERN int	clip_did_set_selection INIT(= TRUE); | ||||
| + EXTERN int	clip_unnamed_saved INIT(= 0); | ||||
|   #endif | ||||
|    | ||||
|   /* | ||||
| *** ../vim-7.4.395/src/ops.c	2014-06-25 14:39:35.106348584 +0200 | ||||
| --- src/ops.c	2014-08-06 18:05:07.563152926 +0200 | ||||
| *************** | ||||
| *** 1597,1605 **** | ||||
|   { | ||||
|       /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard', | ||||
|        * use '*' or '+' reg, respectively. "unnamedplus" prevails. */ | ||||
| !     if (*rp == 0 && clip_unnamed != 0) | ||||
| ! 	*rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available) | ||||
|   								  ? '+' : '*'; | ||||
|       if (!clip_star.available && *rp == '*') | ||||
|   	*rp = 0; | ||||
|       if (!clip_plus.available && *rp == '+') | ||||
| --- 1597,1611 ---- | ||||
|   { | ||||
|       /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard', | ||||
|        * use '*' or '+' reg, respectively. "unnamedplus" prevails. */ | ||||
| !     if (*rp == 0 && (clip_unnamed != 0 || clip_unnamed_saved != 0)) | ||||
| !     { | ||||
| ! 	if (clip_unnamed != 0) | ||||
| ! 	    *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available) | ||||
| ! 								  ? '+' : '*'; | ||||
| ! 	else | ||||
| ! 	    *rp = ((clip_unnamed_saved & CLIP_UNNAMED_PLUS) && clip_plus.available) | ||||
|   								  ? '+' : '*'; | ||||
| +     } | ||||
|       if (!clip_star.available && *rp == '*') | ||||
|   	*rp = 0; | ||||
|       if (!clip_plus.available && *rp == '+') | ||||
| *************** | ||||
| *** 3203,3209 **** | ||||
|       if (clip_star.available | ||||
|   	    && (curr == &(y_regs[STAR_REGISTER]) | ||||
|   		|| (!deleting && oap->regname == 0 | ||||
| ! 					   && (clip_unnamed & CLIP_UNNAMED)))) | ||||
|       { | ||||
|   	if (curr != &(y_regs[STAR_REGISTER])) | ||||
|   	    /* Copy the text from register 0 to the clipboard register. */ | ||||
| --- 3209,3215 ---- | ||||
|       if (clip_star.available | ||||
|   	    && (curr == &(y_regs[STAR_REGISTER]) | ||||
|   		|| (!deleting && oap->regname == 0 | ||||
| ! 		   && ((clip_unnamed | clip_unnamed_saved) & CLIP_UNNAMED)))) | ||||
|       { | ||||
|   	if (curr != &(y_regs[STAR_REGISTER])) | ||||
|   	    /* Copy the text from register 0 to the clipboard register. */ | ||||
| *************** | ||||
| *** 3224,3230 **** | ||||
|       if (clip_plus.available | ||||
|   	    && (curr == &(y_regs[PLUS_REGISTER]) | ||||
|   		|| (!deleting && oap->regname == 0 | ||||
| ! 				      && (clip_unnamed & CLIP_UNNAMED_PLUS)))) | ||||
|       { | ||||
|   	if (curr != &(y_regs[PLUS_REGISTER])) | ||||
|   	    /* Copy the text from register 0 to the clipboard register. */ | ||||
| --- 3230,3237 ---- | ||||
|       if (clip_plus.available | ||||
|   	    && (curr == &(y_regs[PLUS_REGISTER]) | ||||
|   		|| (!deleting && oap->regname == 0 | ||||
| ! 		  && ((clip_unnamed | clip_unnamed_saved) & | ||||
| ! 		      CLIP_UNNAMED_PLUS)))) | ||||
|       { | ||||
|   	if (curr != &(y_regs[PLUS_REGISTER])) | ||||
|   	    /* Copy the text from register 0 to the clipboard register. */ | ||||
| *** ../vim-7.4.395/src/proto/ui.pro	2013-08-10 13:37:29.000000000 +0200 | ||||
| --- src/proto/ui.pro	2014-08-06 18:05:07.563152926 +0200 | ||||
| *************** | ||||
| *** 14,19 **** | ||||
| --- 14,21 ---- | ||||
|   void clip_update_selection __ARGS((VimClipboard *clip)); | ||||
|   void clip_own_selection __ARGS((VimClipboard *cbd)); | ||||
|   void clip_lose_selection __ARGS((VimClipboard *cbd)); | ||||
| + void start_global_changes __ARGS((void)); | ||||
| + void end_global_changes __ARGS((void)); | ||||
|   void clip_auto_select __ARGS((void)); | ||||
|   int clip_isautosel_star __ARGS((void)); | ||||
|   int clip_isautosel_plus __ARGS((void)); | ||||
| *** ../vim-7.4.395/src/ui.c	2014-06-25 14:39:35.114348584 +0200 | ||||
| --- src/ui.c	2014-08-06 18:13:13.475149434 +0200 | ||||
| *************** | ||||
| *** 558,563 **** | ||||
| --- 558,608 ---- | ||||
|   } | ||||
|    | ||||
|   /* | ||||
| +  * Save and restore clip_unnamed before doing possibly many changes. This | ||||
| +  * prevents accessing the clipboard very often which might slow down Vim | ||||
| +  * considerably. | ||||
| +  */ | ||||
| +  | ||||
| + /* | ||||
| +  * Save clip_unnamed and reset it. | ||||
| +  */ | ||||
| +     void | ||||
| + start_global_changes() | ||||
| + { | ||||
| +     clip_unnamed_saved = clip_unnamed; | ||||
| +  | ||||
| +     if (clip_did_set_selection) | ||||
| +     { | ||||
| + 	clip_unnamed = FALSE; | ||||
| + 	clip_did_set_selection = FALSE; | ||||
| +     } | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
| +  * Restore clip_unnamed and set the selection when needed. | ||||
| +  */ | ||||
| +     void | ||||
| + end_global_changes() | ||||
| + { | ||||
| +     if (!clip_did_set_selection) | ||||
| +     { | ||||
| + 	clip_did_set_selection = TRUE; | ||||
| + 	clip_unnamed = clip_unnamed_saved; | ||||
| + 	if (clip_unnamed & CLIP_UNNAMED) | ||||
| + 	{ | ||||
| + 	    clip_own_selection(&clip_star); | ||||
| + 	    clip_gen_set_selection(&clip_star); | ||||
| + 	} | ||||
| + 	if (clip_unnamed & CLIP_UNNAMED_PLUS) | ||||
| + 	{ | ||||
| + 	    clip_own_selection(&clip_plus); | ||||
| + 	    clip_gen_set_selection(&clip_plus); | ||||
| + 	} | ||||
| +     } | ||||
| +     clip_unnamed_saved = FALSE; | ||||
| + } | ||||
| +  | ||||
| + /* | ||||
|    * Called when Visual mode is ended: update the selection. | ||||
|    */ | ||||
|       void | ||||
| *************** | ||||
| *** 1428,1433 **** | ||||
| --- 1473,1487 ---- | ||||
|   clip_gen_set_selection(cbd) | ||||
|       VimClipboard	*cbd; | ||||
|   { | ||||
| +     if (!clip_did_set_selection) | ||||
| +     { | ||||
| + 	/* Updating postponed, so that accessing the system clipboard won't | ||||
| + 	 * hang Vim when accessing it many times (e.g. on a :g comand). */ | ||||
| + 	if (cbd == &clip_plus && (clip_unnamed_saved & CLIP_UNNAMED_PLUS)) | ||||
| + 	    return; | ||||
| + 	else if (cbd == &clip_star && (clip_unnamed_saved & CLIP_UNNAMED)) | ||||
| + 	    return; | ||||
| +     } | ||||
|   #ifdef FEAT_XCLIPBOARD | ||||
|   # ifdef FEAT_GUI | ||||
|       if (gui.in_use) | ||||
| *** ../vim-7.4.395/src/version.c	2014-08-06 17:44:09.867161966 +0200 | ||||
| --- src/version.c	2014-08-06 18:04:47.359153071 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     396, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| You have heard the saying that if you put a thousand monkeys in a room with a | ||||
| thousand typewriters and waited long enough, eventually you would have a room | ||||
| full of dead monkeys. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										150
									
								
								7.4.397
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								7.4.397
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,150 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.397 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.397 | ||||
| Problem:    Matchparen only uses the topmost syntax item. | ||||
| Solution:   Go through the syntax stack to find items. (James McCoy) | ||||
|             Also use getcurpos() when possible. | ||||
| Files:      runtime/plugin/matchparen.vim | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.396/runtime/plugin/matchparen.vim	2014-06-17 17:48:21.772628007 +0200 | ||||
| --- runtime/plugin/matchparen.vim	2014-08-06 19:02:04.967128364 +0200 | ||||
| *************** | ||||
| *** 1,6 **** | ||||
|   " Vim plugin for showing matching parens | ||||
|   " Maintainer:  Bram Moolenaar <Bram@vim.org> | ||||
| ! " Last Change: 2014 Jun 17 | ||||
|    | ||||
|   " Exit quickly when: | ||||
|   " - this plugin was already loaded (or disabled) | ||||
| --- 1,6 ---- | ||||
|   " Vim plugin for showing matching parens | ||||
|   " Maintainer:  Bram Moolenaar <Bram@vim.org> | ||||
| ! " Last Change: 2014 Jul 19 | ||||
|    | ||||
|   " Exit quickly when: | ||||
|   " - this plugin was already loaded (or disabled) | ||||
| *************** | ||||
| *** 54,67 **** | ||||
|     let c_col = col('.') | ||||
|     let before = 0 | ||||
|    | ||||
| !   let c = getline(c_lnum)[c_col - 1] | ||||
|     let plist = split(&matchpairs, '.\zs[:,]') | ||||
|     let i = index(plist, c) | ||||
|     if i < 0 | ||||
|       " not found, in Insert mode try character before the cursor | ||||
|       if c_col > 1 && (mode() == 'i' || mode() == 'R') | ||||
|         let before = 1 | ||||
| !       let c = getline(c_lnum)[c_col - 2] | ||||
|         let i = index(plist, c) | ||||
|       endif | ||||
|       if i < 0 | ||||
| --- 54,68 ---- | ||||
|     let c_col = col('.') | ||||
|     let before = 0 | ||||
|    | ||||
| !   let text = getline(c_lnum) | ||||
| !   let c = text[c_col - 1] | ||||
|     let plist = split(&matchpairs, '.\zs[:,]') | ||||
|     let i = index(plist, c) | ||||
|     if i < 0 | ||||
|       " not found, in Insert mode try character before the cursor | ||||
|       if c_col > 1 && (mode() == 'i' || mode() == 'R') | ||||
|         let before = 1 | ||||
| !       let c = text[c_col - 2] | ||||
|         let i = index(plist, c) | ||||
|       endif | ||||
|       if i < 0 | ||||
| *************** | ||||
| *** 87,100 **** | ||||
|     " Find the match.  When it was just before the cursor move it there for a | ||||
|     " moment. | ||||
|     if before > 0 | ||||
| !     let save_cursor = winsaveview() | ||||
|       call cursor(c_lnum, c_col - before) | ||||
|     endif | ||||
|    | ||||
| !   " When not in a string or comment ignore matches inside them. | ||||
|     " We match "escape" for special items, such as lispEscapeSpecial. | ||||
| !   let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' . | ||||
| ! 	\ '=~?  "string\\|character\\|singlequote\\|escape\\|comment"' | ||||
|     execute 'if' s_skip '| let s_skip = 0 | endif' | ||||
|    | ||||
|     " Limit the search to lines visible in the window. | ||||
| --- 88,114 ---- | ||||
|     " Find the match.  When it was just before the cursor move it there for a | ||||
|     " moment. | ||||
|     if before > 0 | ||||
| !     let has_getcurpos = exists("*getcurpos") | ||||
| !     if has_getcurpos | ||||
| !       " getcurpos() is more efficient but doesn't exist before 7.4.313. | ||||
| !       let save_cursor = getcurpos() | ||||
| !     else | ||||
| !       let save_cursor = winsaveview() | ||||
| !     endif | ||||
|       call cursor(c_lnum, c_col - before) | ||||
|     endif | ||||
|    | ||||
| !   " Build an expression that detects whether the current cursor position is in | ||||
| !   " certain syntax types (string, comment, etc.), for use as searchpairpos()'s | ||||
| !   " skip argument. | ||||
|     " We match "escape" for special items, such as lispEscapeSpecial. | ||||
| !   let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' . | ||||
| ! 	\ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))' | ||||
| !   " If executing the expression determines that the cursor is currently in | ||||
| !   " one of the syntax types, then we want searchpairpos() to find the pair | ||||
| !   " within those syntax types (i.e., not skip).  Otherwise, the cursor is | ||||
| !   " outside of the syntax types and s_skip should keep its value so we skip any | ||||
| !   " matching pair inside the syntax types. | ||||
|     execute 'if' s_skip '| let s_skip = 0 | endif' | ||||
|    | ||||
|     " Limit the search to lines visible in the window. | ||||
| *************** | ||||
| *** 147,153 **** | ||||
|     endtry | ||||
|    | ||||
|     if before > 0 | ||||
| !     call winrestview(save_cursor) | ||||
|     endif | ||||
|    | ||||
|     " If a match is found setup match highlighting. | ||||
| --- 161,171 ---- | ||||
|     endtry | ||||
|    | ||||
|     if before > 0 | ||||
| !     if has_getcurpos | ||||
| !       call setpos('.', save_cursor) | ||||
| !     else | ||||
| !       call winrestview(save_cursor) | ||||
| !     endif | ||||
|     endif | ||||
|    | ||||
|     " If a match is found setup match highlighting. | ||||
| *** ../vim-7.4.396/src/version.c	2014-08-06 18:17:03.475147780 +0200 | ||||
| --- src/version.c	2014-08-06 19:06:44.627126354 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     397, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Often you're less important than your furniture.  If you think about it, you | ||||
| can get fired but your furniture stays behind, gainfully employed at the | ||||
| company that didn't need _you_ anymore. | ||||
| 				(Scott Adams - The Dilbert principle) | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										52
									
								
								7.4.398
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								7.4.398
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,52 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.398 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.398 (after 7.4.393) | ||||
| Problem:    Gcc error for the argument of InterlockedIncrement() and | ||||
| 	    InterlockedDecrement(). (Axel Bender) | ||||
| Solution:   Remove "unsigned" from the cRefCount_ declaration. | ||||
| Files:	    src/gui_dwrite.cpp | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.397/src/gui_dwrite.cpp	2014-08-06 14:52:05.043236174 +0200 | ||||
| --- src/gui_dwrite.cpp	2014-08-06 18:39:01.611138306 +0200 | ||||
| *************** | ||||
| *** 377,383 **** | ||||
|       } | ||||
|    | ||||
|   private: | ||||
| !     unsigned long cRefCount_; | ||||
|       IDWriteBitmapRenderTarget* pRenderTarget_; | ||||
|       IDWriteRenderingParams* pRenderingParams_; | ||||
|   }; | ||||
| --- 377,383 ---- | ||||
|       } | ||||
|    | ||||
|   private: | ||||
| !     long cRefCount_; | ||||
|       IDWriteBitmapRenderTarget* pRenderTarget_; | ||||
|       IDWriteRenderingParams* pRenderingParams_; | ||||
|   }; | ||||
| *** ../vim-7.4.397/src/version.c	2014-08-06 19:08:33.563125571 +0200 | ||||
| --- src/version.c	2014-08-07 13:54:40.162639943 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     398, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| A)bort, R)etry, D)o it right this time | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										69
									
								
								7.4.400
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								7.4.400
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.400 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.400 | ||||
| Problem:    List of distributed files is incomplete. | ||||
| Solution:   Add recently added files. | ||||
| Files:	    Filelist | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.399/Filelist	2014-05-13 13:52:34.817605451 +0200 | ||||
| --- Filelist	2014-08-10 13:43:31.612781775 +0200 | ||||
| *************** | ||||
| *** 11,16 **** | ||||
| --- 11,18 ---- | ||||
|   		src/blowfish.c \ | ||||
|   		src/buffer.c \ | ||||
|   		src/charset.c \ | ||||
| + 		src/crypt.c \ | ||||
| + 		src/crypt_zip.c \ | ||||
|   		src/diff.c \ | ||||
|   		src/digraph.c \ | ||||
|   		src/edit.c \ | ||||
| *************** | ||||
| *** 103,108 **** | ||||
| --- 105,112 ---- | ||||
|   		src/proto/blowfish.pro \ | ||||
|   		src/proto/buffer.pro \ | ||||
|   		src/proto/charset.pro \ | ||||
| + 		src/proto/crypt.pro \ | ||||
| + 		src/proto/crypt_zip.pro \ | ||||
|   		src/proto/diff.pro \ | ||||
|   		src/proto/digraph.pro \ | ||||
|   		src/proto/edit.pro \ | ||||
| *************** | ||||
| *** 289,294 **** | ||||
| --- 293,300 ---- | ||||
|   		src/dosinst.h \ | ||||
|   		src/glbl_ime.cpp \ | ||||
|   		src/glbl_ime.h \ | ||||
| + 		src/gui_dwrite.cpp \ | ||||
| + 		src/gui_dwrite.h \ | ||||
|   		src/gui_w16.c \ | ||||
|   		src/gui_w32.c \ | ||||
|   		src/gui_w48.c \ | ||||
| *** ../vim-7.4.399/src/version.c	2014-08-10 13:34:59.064785459 +0200 | ||||
| --- src/version.c	2014-08-10 13:45:45.800780810 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     400, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| hundred-and-one symptoms of being an internet addict: | ||||
| 17. You turn on your intercom when leaving the room so you can hear if new | ||||
|     e-mail arrives. | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										357
									
								
								7.4.401
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										357
									
								
								7.4.401
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,357 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.401 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.401 (after 7.4.399) | ||||
| Problem:    Can't build on MS-Windows. | ||||
| Solution:   Include the new files in all the Makefiles. | ||||
| Files:	    src/Make_bc3.mak, src/Make_bc5.mak, src/Make_cyg.mak, | ||||
| 	    src/Make_dice.mak, src/Make_djg.mak, src/Make_ivc.mak, | ||||
| 	    src/Make_manx.mak, src/Make_ming.mak, src/Make_morph.mak, | ||||
| 	    src/Make_mvc.mak, src/Make_os2.mak, src/Make_sas.mak, | ||||
| 	    Make_vms.mms | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.400/src/Make_bc3.mak	2010-05-18 20:27:58.000000000 +0200 | ||||
| --- src/Make_bc3.mak	2014-08-10 16:20:20.068714153 +0200 | ||||
| *************** | ||||
| *** 54,59 **** | ||||
| --- 54,61 ---- | ||||
|   	blowfish.obj \ | ||||
|   	buffer.obj \ | ||||
|   	charset.obj \ | ||||
| + 	crypt.obj \ | ||||
| + 	crypt_zip.obj \ | ||||
|   	diff.obj \ | ||||
|   	digraph.obj \ | ||||
|   	edit.obj \ | ||||
| *** ../vim-7.4.400/src/Make_bc5.mak	2014-01-10 18:16:00.000000000 +0100 | ||||
| --- src/Make_bc5.mak	2014-08-10 16:20:39.684714012 +0200 | ||||
| *************** | ||||
| *** 580,585 **** | ||||
| --- 580,587 ---- | ||||
|   	$(OBJDIR)\blowfish.obj \ | ||||
|   	$(OBJDIR)\buffer.obj \ | ||||
|   	$(OBJDIR)\charset.obj \ | ||||
| + 	$(OBJDIR)\crypt.obj \ | ||||
| + 	$(OBJDIR)\crypt_zip.obj \ | ||||
|   	$(OBJDIR)\diff.obj \ | ||||
|   	$(OBJDIR)\digraph.obj \ | ||||
|   	$(OBJDIR)\edit.obj \ | ||||
| *** ../vim-7.4.400/src/Make_cyg.mak	2014-08-06 14:52:05.039236174 +0200 | ||||
| --- src/Make_cyg.mak	2014-08-10 16:30:48.656709635 +0200 | ||||
| *************** | ||||
| *** 1,6 **** | ||||
|   # | ||||
|   # Makefile for VIM on Win32, using Cygnus gcc | ||||
| ! # Last updated by Dan Sharp.  Last Change: 2013 Dec 11 | ||||
|   # | ||||
|   # Also read INSTALLpc.txt! | ||||
|   # | ||||
| --- 1,7 ---- | ||||
|   # | ||||
|   # Makefile for VIM on Win32, using Cygnus gcc | ||||
| ! # Updated by Dan Sharp. | ||||
| ! # Last Change: 2014 Aug 10 | ||||
|   # | ||||
|   # Also read INSTALLpc.txt! | ||||
|   # | ||||
| *************** | ||||
| *** 546,551 **** | ||||
| --- 547,554 ---- | ||||
|   	$(OUTDIR)/blowfish.o \ | ||||
|   	$(OUTDIR)/buffer.o \ | ||||
|   	$(OUTDIR)/charset.o \ | ||||
| + 	$(OUTDIR)/crypt.o \ | ||||
| + 	$(OUTDIR)/crypt_zip.o \ | ||||
|   	$(OUTDIR)/diff.o \ | ||||
|   	$(OUTDIR)/digraph.o \ | ||||
|   	$(OUTDIR)/edit.o \ | ||||
| *** ../vim-7.4.400/src/Make_dice.mak	2010-05-18 20:29:00.000000000 +0200 | ||||
| --- src/Make_dice.mak	2014-08-10 16:21:53.740713479 +0200 | ||||
| *************** | ||||
| *** 29,34 **** | ||||
| --- 29,36 ---- | ||||
|   	blowfish.c \ | ||||
|   	buffer.c \ | ||||
|   	charset.c \ | ||||
| + 	crypt.c \ | ||||
| + 	crypt_zip.c \ | ||||
|   	diff.c \ | ||||
|   	digraph.c \ | ||||
|   	edit.c \ | ||||
| *************** | ||||
| *** 75,80 **** | ||||
| --- 77,84 ---- | ||||
|   OBJ =	o/blowfish.o \ | ||||
|   	o/buffer.o \ | ||||
|   	o/charset.o \ | ||||
| + 	o/crypt.o \ | ||||
| + 	o/crypt_zip.o \ | ||||
|   	o/diff.o \ | ||||
|   	o/digraph.o \ | ||||
|   	o/edit.o \ | ||||
| *************** | ||||
| *** 143,148 **** | ||||
| --- 147,156 ---- | ||||
|    | ||||
|   o/charset.o:	charset.c  $(SYMS) | ||||
|    | ||||
| + o/crypt.o:	crypt.c  $(SYMS) | ||||
| +  | ||||
| + o/crypt_zip.o:	crypt_zip.c  $(SYMS) | ||||
| +  | ||||
|   o/diff.o:	diff.c	$(SYMS) | ||||
|    | ||||
|   o/digraph.o:	digraph.c  $(SYMS) | ||||
| *** ../vim-7.4.400/src/Make_djg.mak	2010-05-18 20:29:18.000000000 +0200 | ||||
| --- src/Make_djg.mak	2014-08-10 16:22:13.084713340 +0200 | ||||
| *************** | ||||
| *** 22,27 **** | ||||
| --- 22,29 ---- | ||||
|   	obj/blowfish.o \ | ||||
|   	obj/buffer.o \ | ||||
|   	obj/charset.o \ | ||||
| + 	obj/crypt.o \ | ||||
| + 	obj/crypt_zip.o \ | ||||
|   	obj/diff.o \ | ||||
|   	obj/digraph.o \ | ||||
|   	obj/edit.o \ | ||||
| *** ../vim-7.4.400/src/Make_ivc.mak	2013-02-26 14:18:19.000000000 +0100 | ||||
| --- src/Make_ivc.mak	2014-08-10 16:22:46.268713102 +0200 | ||||
| *************** | ||||
| *** 213,218 **** | ||||
| --- 213,220 ---- | ||||
|   	"$(INTDIR)/blowfish.obj" \ | ||||
|   	"$(INTDIR)/buffer.obj" \ | ||||
|   	"$(INTDIR)/charset.obj" \ | ||||
| + 	"$(INTDIR)/crypt.obj" \ | ||||
| + 	"$(INTDIR)/crypt_zip.obj" \ | ||||
|   	"$(INTDIR)/diff.obj" \ | ||||
|   	"$(INTDIR)/digraph.obj" \ | ||||
|   	"$(INTDIR)/edit.obj" \ | ||||
| *************** | ||||
| *** 339,344 **** | ||||
| --- 341,354 ---- | ||||
|   # End Source File | ||||
|   # Begin Source File | ||||
|    | ||||
| + SOURCE=.\crypt.c | ||||
| + # End Source File | ||||
| + # Begin Source File | ||||
| +  | ||||
| + SOURCE=.\crypt_zip.c | ||||
| + # End Source File | ||||
| + # Begin Source File | ||||
| +  | ||||
|   SOURCE=.\diff.c | ||||
|   # End Source File | ||||
|   # Begin Source File | ||||
| *** ../vim-7.4.400/src/Make_manx.mak	2010-05-18 20:30:54.000000000 +0200 | ||||
| --- src/Make_manx.mak	2014-08-10 16:23:43.648712689 +0200 | ||||
| *************** | ||||
| *** 37,42 **** | ||||
| --- 37,44 ---- | ||||
|   SRC =	blowfish.c \ | ||||
|   	buffer.c \ | ||||
|   	charset.c \ | ||||
| + 	crypt.c \ | ||||
| + 	crypt_zip.c \ | ||||
|   	diff.c \ | ||||
|   	digraph.c \ | ||||
|   	edit.c \ | ||||
| *************** | ||||
| *** 85,90 **** | ||||
| --- 87,94 ---- | ||||
|   OBJ =	obj/blowfish.o \ | ||||
|   	obj/buffer.o \ | ||||
|   	obj/charset.o \ | ||||
| + 	obj/crypt.o \ | ||||
| + 	obj/crypt_zip.o \ | ||||
|   	obj/diff.o \ | ||||
|   	obj/digraph.o \ | ||||
|   	obj/edit.o \ | ||||
| *************** | ||||
| *** 131,136 **** | ||||
| --- 135,142 ---- | ||||
|   PRO =	proto/blowfish.pro \ | ||||
|   	proto/buffer.pro \ | ||||
|   	proto/charset.pro \ | ||||
| + 	proto/crypt.pro \ | ||||
| + 	proto/crypt_zip.pro \ | ||||
|   	proto/diff.pro \ | ||||
|   	proto/digraph.pro \ | ||||
|   	proto/edit.pro \ | ||||
| *************** | ||||
| *** 227,232 **** | ||||
| --- 233,244 ---- | ||||
|   obj/charset.o:	charset.c | ||||
|   	$(CCSYM) $@ charset.c | ||||
|    | ||||
| + obj/crypt.o:	crypt.c | ||||
| + 	$(CCSYM) $@ crypt.c | ||||
| +  | ||||
| + obj/crypt_zip.o: crypt_zip.c | ||||
| + 	$(CCSYM) $@ crypt_zip.c | ||||
| +  | ||||
|   obj/diff.o:	diff.c | ||||
|   	$(CCSYM) $@ diff.c | ||||
|    | ||||
| *** ../vim-7.4.400/src/Make_ming.mak	2014-08-06 14:52:05.039236174 +0200 | ||||
| --- src/Make_ming.mak	2014-08-10 16:24:07.064712521 +0200 | ||||
| *************** | ||||
| *** 517,522 **** | ||||
| --- 517,524 ---- | ||||
|   	$(OUTDIR)/blowfish.o \ | ||||
|   	$(OUTDIR)/buffer.o \ | ||||
|   	$(OUTDIR)/charset.o \ | ||||
| + 	$(OUTDIR)/crypt.o \ | ||||
| + 	$(OUTDIR)/crypt_zip.o \ | ||||
|   	$(OUTDIR)/diff.o \ | ||||
|   	$(OUTDIR)/digraph.o \ | ||||
|   	$(OUTDIR)/edit.o \ | ||||
| *** ../vim-7.4.400/src/Make_morph.mak	2010-05-18 20:31:26.000000000 +0200 | ||||
| --- src/Make_morph.mak	2014-08-10 16:24:39.900712285 +0200 | ||||
| *************** | ||||
| *** 27,32 **** | ||||
| --- 27,34 ---- | ||||
|   SRC =	blowfish.c						\ | ||||
|   	buffer.c						\ | ||||
|   	charset.c						\ | ||||
| + 	crypt.c							\ | ||||
| + 	crypt_zip.c						\ | ||||
|   	diff.c							\ | ||||
|   	digraph.c						\ | ||||
|   	edit.c							\ | ||||
| *** ../vim-7.4.400/src/Make_mvc.mak	2014-08-06 14:52:05.039236174 +0200 | ||||
| --- src/Make_mvc.mak	2014-08-10 16:25:19.752711999 +0200 | ||||
| *************** | ||||
| *** 547,552 **** | ||||
| --- 547,554 ---- | ||||
|   	$(OUTDIR)\blowfish.obj \ | ||||
|   	$(OUTDIR)\buffer.obj \ | ||||
|   	$(OUTDIR)\charset.obj \ | ||||
| + 	$(OUTDIR)\crypt.obj \ | ||||
| + 	$(OUTDIR)\crypt_zip.obj \ | ||||
|   	$(OUTDIR)\diff.obj \ | ||||
|   	$(OUTDIR)\digraph.obj \ | ||||
|   	$(OUTDIR)\edit.obj \ | ||||
| *************** | ||||
| *** 1092,1097 **** | ||||
| --- 1094,1103 ---- | ||||
|    | ||||
|   $(OUTDIR)/charset.obj:	$(OUTDIR) charset.c  $(INCL) | ||||
|    | ||||
| + $(OUTDIR)/crypt.obj:	$(OUTDIR) crypt.c  $(INCL) | ||||
| +  | ||||
| + $(OUTDIR)/crypt_zip.obj: $(OUTDIR) crypt_zip.c  $(INCL) | ||||
| +  | ||||
|   $(OUTDIR)/diff.obj:	$(OUTDIR) diff.c  $(INCL) | ||||
|    | ||||
|   $(OUTDIR)/digraph.obj:	$(OUTDIR) digraph.c  $(INCL) | ||||
| *************** | ||||
| *** 1278,1283 **** | ||||
| --- 1284,1291 ---- | ||||
|   	proto/blowfish.pro \ | ||||
|   	proto/buffer.pro \ | ||||
|   	proto/charset.pro \ | ||||
| + 	proto/crypt.pro \ | ||||
| + 	proto/crypt_zip.pro \ | ||||
|   	proto/diff.pro \ | ||||
|   	proto/digraph.pro \ | ||||
|   	proto/edit.pro \ | ||||
| *** ../vim-7.4.400/src/Make_os2.mak	2010-05-18 20:32:32.000000000 +0200 | ||||
| --- src/Make_os2.mak	2014-08-10 16:25:47.928711796 +0200 | ||||
| *************** | ||||
| *** 42,47 **** | ||||
| --- 42,49 ---- | ||||
|   	blowfish.o \ | ||||
|   	buffer.o \ | ||||
|   	charset.o \ | ||||
| + 	crypt.o \ | ||||
| + 	crypt_zip.o \ | ||||
|   	diff.o \ | ||||
|   	digraph.o \ | ||||
|   	edit.o \ | ||||
| *************** | ||||
| *** 117,122 **** | ||||
| --- 119,126 ---- | ||||
|   blowfish.o:	blowfish.c  $(INCL) | ||||
|   buffer.o:	buffer.c  $(INCL) | ||||
|   charset.o:	charset.c  $(INCL) | ||||
| + crypt.o:	crypt.c  $(INCL) | ||||
| + crypt_zip.o:	crypt_zip.c  $(INCL) | ||||
|   diff.o:		diff.c  $(INCL) | ||||
|   digraph.o:	digraph.c  $(INCL) | ||||
|   edit.o:		edit.c  $(INCL) | ||||
| *** ../vim-7.4.400/src/Make_sas.mak	2013-05-06 04:06:04.000000000 +0200 | ||||
| --- src/Make_sas.mak	2014-08-10 16:26:41.536711411 +0200 | ||||
| *************** | ||||
| *** 92,97 **** | ||||
| --- 92,99 ---- | ||||
|   	blowfish.c \ | ||||
|   	buffer.c \ | ||||
|   	charset.c \ | ||||
| + 	crypt.c \ | ||||
| + 	crypt_zip.c \ | ||||
|   	diff.c \ | ||||
|   	digraph.c \ | ||||
|   	edit.c \ | ||||
| *************** | ||||
| *** 139,144 **** | ||||
| --- 141,148 ---- | ||||
|   	blowfish.o \ | ||||
|   	buffer.o \ | ||||
|   	charset.o \ | ||||
| + 	crypt.o \ | ||||
| + 	crypt_zip.o \ | ||||
|   	diff.o \ | ||||
|   	digraph.o \ | ||||
|   	edit.o \ | ||||
| *************** | ||||
| *** 186,191 **** | ||||
| --- 190,197 ---- | ||||
|   	proto/blowfish.pro \ | ||||
|   	proto/buffer.pro \ | ||||
|   	proto/charset.pro \ | ||||
| + 	proto/crypt.pro \ | ||||
| + 	proto/crypt_zip.pro \ | ||||
|   	proto/diff.pro \ | ||||
|   	proto/digraph.pro \ | ||||
|   	proto/edit.pro \ | ||||
| *************** | ||||
| *** 290,295 **** | ||||
| --- 296,305 ---- | ||||
|   proto/buffer.pro:	buffer.c | ||||
|   charset.o:		charset.c | ||||
|   proto/charset.pro:	charset.c | ||||
| + crypt.o:		crypt.c | ||||
| + proto/crypt.pro:	crypt.c | ||||
| + crypt_zip.o:		crypt_zip.c | ||||
| + proto/crypt_zip.pro:	crypt_zip.c | ||||
|   diff.o:			diff.c | ||||
|   proto/diff.pro:		diff.c | ||||
|   digraph.o:		digraph.c | ||||
| *** ../vim-7.4.400/src/version.c	2014-08-10 13:46:30.424780490 +0200 | ||||
| --- src/version.c	2014-08-10 16:27:26.380711088 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     401, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| When a fly lands on the ceiling, does it do a half roll or | ||||
| a half loop? | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
							
								
								
									
										103
									
								
								7.4.402
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								7.4.402
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,103 @@ | ||||
| To: vim_dev@googlegroups.com | ||||
| Subject: Patch 7.4.402 | ||||
| Fcc: outbox | ||||
| From: Bram Moolenaar <Bram@moolenaar.net> | ||||
| Mime-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| ------------ | ||||
| 
 | ||||
| Patch 7.4.402 | ||||
| Problem:    Test 72 crashes under certain conditions. (Kazunobu Kuriyama) | ||||
| Solution:   Clear the whole bufinfo_T early. | ||||
| Files:	    src/undo.c | ||||
| 
 | ||||
| 
 | ||||
| *** ../vim-7.4.401/src/undo.c	2014-08-10 13:34:59.064785459 +0200 | ||||
| --- src/undo.c	2014-08-12 20:08:23.915373819 +0200 | ||||
| *************** | ||||
| *** 929,935 **** | ||||
|   undo_flush(bi) | ||||
|       bufinfo_T	*bi; | ||||
|   { | ||||
| !     if (bi->bi_used > 0) | ||||
|       { | ||||
|   	crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used); | ||||
|   	if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1) | ||||
| --- 929,935 ---- | ||||
|   undo_flush(bi) | ||||
|       bufinfo_T	*bi; | ||||
|   { | ||||
| !     if (bi->bi_buffer != NULL && bi->bi_used > 0) | ||||
|       { | ||||
|   	crypt_encode_inplace(bi->bi_state, bi->bi_buffer, bi->bi_used); | ||||
|   	if (fwrite(bi->bi_buffer, bi->bi_used, (size_t)1, bi->bi_fp) != 1) | ||||
| *************** | ||||
| *** 1573,1582 **** | ||||
|   #endif | ||||
|       bufinfo_T	bi; | ||||
|    | ||||
| ! #ifdef FEAT_CRYPT | ||||
| !     bi.bi_state = NULL; | ||||
| !     bi.bi_buffer = NULL; | ||||
| ! #endif | ||||
|    | ||||
|       if (name == NULL) | ||||
|       { | ||||
| --- 1573,1579 ---- | ||||
|   #endif | ||||
|       bufinfo_T	bi; | ||||
|    | ||||
| !     vim_memset(&bi, 0, sizeof(bi)); | ||||
|    | ||||
|       if (name == NULL) | ||||
|       { | ||||
| *************** | ||||
| *** 1861,1866 **** | ||||
| --- 1858,1864 ---- | ||||
|   #endif | ||||
|       bufinfo_T	bi; | ||||
|    | ||||
| +     vim_memset(&bi, 0, sizeof(bi)); | ||||
|       if (name == NULL) | ||||
|       { | ||||
|   	file_name = u_get_undo_file_name(curbuf->b_ffname, TRUE); | ||||
| *************** | ||||
| *** 1905,1914 **** | ||||
|       } | ||||
|       bi.bi_buf = curbuf; | ||||
|       bi.bi_fp = fp; | ||||
| - #ifdef FEAT_CRYPT | ||||
| -     bi.bi_state = NULL; | ||||
| -     bi.bi_buffer = NULL; | ||||
| - #endif | ||||
|    | ||||
|       /* | ||||
|        * Read the undo file header. | ||||
| --- 1903,1908 ---- | ||||
| *** ../vim-7.4.401/src/version.c	2014-08-10 16:31:47.376709213 +0200 | ||||
| --- src/version.c	2014-08-12 20:11:13.879372598 +0200 | ||||
| *************** | ||||
| *** 743,744 **** | ||||
| --- 743,746 ---- | ||||
|   {   /* Add new patch number below this line */ | ||||
| + /**/ | ||||
| +     402, | ||||
|   /**/ | ||||
| 
 | ||||
| --  | ||||
| Far back in the mists of ancient time, in the great and glorious days of the | ||||
| former Galactic Empire, life was wild, rich and largely tax free. | ||||
| Mighty starships plied their way between exotic suns, seeking adventure and | ||||
| reward among the furthest reaches of Galactic space.  In those days, spirits | ||||
| were brave, the stakes were high, men were real men, women were real women | ||||
| and small furry creatures from Alpha Centauri were real small furry creatures | ||||
| from Alpha Centauri.  And all dared to brave unknown terrors, to do mighty | ||||
| deeds, to boldly split infinitives that no man had split before -- and thus | ||||
| was the Empire forged. | ||||
| 		-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" | ||||
| 
 | ||||
|  /// Bram Moolenaar -- Bram@Moolenaar.net -- 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    /// | ||||
| @ -331,3 +331,97 @@ Individual patches for Vim 7.4: | ||||
|   7820  7.4.305  making 'ttymouse' empty causes problems | ||||
|   2660  7.4.306  getchar(0) does not return Esc | ||||
|   4150  7.4.307  can't build without the +termresponse feature | ||||
|   1420  7.4.308  ":diffsplit" on empty file cursor is displayed on command line | ||||
|   2095  7.4.309  increasing size of lower window, upper window jumps to the top | ||||
|  11194  7.4.310  getpos()/setpos() don't include curswant | ||||
|   4740  7.4.311  can't use winrestview to only restore part of the view | ||||
|   6272  7.4.312  cannot know what argument list is being used for a window | ||||
|  10912  7.4.313  (after 7.4.310) changing return value of getpos() causes error | ||||
|   5875  7.4.314  completion messages can get in the way of a plugin | ||||
|   8020  7.4.315  (after 7.4.309) fixes for computation of topline not tested | ||||
|   1537  7.4.316  warning from 64-bit compiler | ||||
|   1434  7.4.317  crash when starting gvim, issue 230 | ||||
|   1748  7.4.318  fg/bg color settings ignored when checking syntax attributes | ||||
|   1764  7.4.319  crash when putting zero bytes on the clipboard | ||||
|   4439  7.4.320  possible crash when an BufLeave autocommand deletes the buffer | ||||
|   2515  7.4.321  can't build with strawberry perl 5.20 + mingw-w64-4.9.0 | ||||
|   3274  7.4.322  using "msgfmt" is hard coded, cannot use "gmsgfmt" | ||||
|   2898  7.4.323  substitute() with zero width pattern breaks multi-byte char | ||||
|   4631  7.4.324  in Ex mode, cyrillic characters are not handled | ||||
|   2070  7.4.325  incorrect display when starting GUI and setting 'laststatus' | ||||
|   1384  7.4.326  can't build Tiny version | ||||
|   4330  7.4.327  when 'verbose' is set may get E724 repeatedly | ||||
|   2580  7.4.328  selection of inner block is inconsistent | ||||
|   1945  7.4.329  window not scrolled if moving cursor and go to another window | ||||
|  32746  7.4.330  using regexp pattern to show a position match can be slow | ||||
|   1506  7.4.331  relative numbering not updated after a linewise yank | ||||
|   4079  7.4.332  GTK: ugly gaps when a sign icon doesn't fit exactly | ||||
|   2036  7.4.333  compiler warning for unused function | ||||
|   3295  7.4.334  (after 7.4.330) unitialized variables, causing some problems | ||||
|   3313  7.4.335  no digraph for the new rouble sign | ||||
|   3536  7.4.336  setting 'history' to a big value causes out-of-memory errors | ||||
|   1589  7.4.337  can't execute command line if there was an error before | ||||
|  52480  7.4.338  cannot wrap lines taking indent into account | ||||
|   2655  7.4.339  local function is available globally | ||||
|   3140  7.4.340  error from sed about illegal bytes when installing Vim | ||||
|   6001  7.4.341  sort() doesn't handle numbers well | ||||
|   1988  7.4.342  clang gives warnings | ||||
|   1850  7.4.343  matchdelete() does not always update the right lines | ||||
|   5304  7.4.344  small issues related to matchaddpos() | ||||
|   2618  7.4.345  (after 7.4.338) indent is not updated when deleting indent | ||||
|   1963  7.4.346  (after 7.4.338) indent is not updated when changing 'briopt' | ||||
|   3209  7.4.347  test55 fails on some systems | ||||
|   1738  7.4.348  Using "J1" in 'cinoptions' may cause too much indent | ||||
|   2967  7.4.349  avoid redrawing the whole window with highlighted matches | ||||
|   3909  7.4.350  C-indenting for Javascript fails for a {} block inside parens | ||||
|   6034  7.4.351  sort() is not stable | ||||
|   2637  7.4.352  with 'linebreak' a Tab causes a missing line break | ||||
|  14437  7.4.353  'linebreak' doesn't work with the 'list' option | ||||
|   1891  7.4.354  compiler warning | ||||
|  21483  7.4.355  several problems with Javascript indenting | ||||
|   1247  7.4.356  mercurial does not ignore memfile_test | ||||
|   1654  7.4.357  after completion some characters are not redrawn | ||||
|   8040  7.4.358  (after 7.4.351) sort is not always stable | ||||
|   2942  7.4.359  if 'ttymouse' set to 'uxterm' xterm version is not requested | ||||
|   2461  7.4.360  pattern with "$" followed by \[vV] is not used as end-of-line | ||||
|   1487  7.4.361  flickering when filling the preview window for 'omnifunc' | ||||
|   1608  7.4.362  short length in matchaddpos() highlights until end of the line | ||||
|   4445  7.4.363  in Windows console typing 0xCE does not work | ||||
|   2425  7.4.364  no error message when the viminfo file can't be renamed | ||||
|   3973  7.4.365  crash when using ":botright split" when there isn't much space | ||||
|   1602  7.4.366  can't run the linebreak test on MS-Windows | ||||
|   2165  7.4.367  (after 7.4.357) other solution for redrawing after completion | ||||
|   2581  7.4.368  window sizes not restored properly when closing cmdline window | ||||
|   2331  7.4.369  using freed memory when exiting while compiled with EXITFREE | ||||
|   9476  7.4.370  linebreak test fails when encoding is not utf-8 | ||||
|   1880  7.4.371  with 'linebreak' set control characters displayed wrong | ||||
|   5628  7.4.372  with 'winminheight' zero current window might be zero height | ||||
|   2668  7.4.373  compiler warning for unused argument and unused variable | ||||
|   2461  7.4.374  character after "fb" command sometimes not mapped | ||||
|   1967  7.4.375  test 63 fails when run with GUI-only Vim | ||||
|   1877  7.4.376  (after 7.4.367) popup menu flickers too much | ||||
|   4200  7.4.377  with 'equalalways' set a split may report "no room" | ||||
|   9720  7.4.378  title of quickfist list is not kept for setqflist(list, 'r') | ||||
|   1382  7.4.379  accessing freed memory after using setqflist(list, 'r') | ||||
|   3324  7.4.380  loading python may cause Vim to exit | ||||
|   1359  7.4.381  u_undo error when backspacing in Insert mode deletes 2 lines | ||||
|   1876  7.4.382  mapping chars may not work after typing Esc in Insert mode | ||||
|   1744  7.4.383  bad interaction between preview window and omnifunc | ||||
|   1522  7.4.384  test 102 fails when compiled with small features | ||||
|   2559  7.4.385  when building with tiny/small features .mo files build fails | ||||
|   5536  7.4.386  when splitting a window the changelist position is wrong | ||||
|   6083  7.4.387  "4gro" replaces one character then executes "ooo" | ||||
|   2972  7.4.388  with 'linebreak' set and 'list' unset Tab not counted properly | ||||
|  13930  7.4.389  still sometimes Vim enters Replace mode when starting up | ||||
|   1411  7.4.390  advancing pointer over end of a string | ||||
|   3316  7.4.391  no 'cul' highlight with cursor on a line with diff highlight | ||||
|   2701  7.4.392  not easy to detect type of command line window | ||||
|  53004  7.4.393  text drawing on newer MS-Windows systems is suboptimal | ||||
|   1890  7.4.394  (after 7.4.393) with DirectX last italic char is incomplete | ||||
|   2600  7.4.395  C indent wrong below an if with wrapped () followed by {} | ||||
|   8881  7.4.396  when 'clipboard' is "unnamed", :g/pat/d is very slow | ||||
|   5060  7.4.397  matchparen only uses the topmost syntax item | ||||
|   1533  7.4.398  (after 7.4.393) gcc error for argument of InterlockedIncrement | ||||
| 136105  7.4.399  crypt implementation is messy; blowfish crypt has a weakness | ||||
|   1848  7.4.400  list of distributed files is incomplete | ||||
|   8581  7.4.401  (after 7.4.399) new files missing in Makefiles | ||||
|  | ||||
							
								
								
									
										245
									
								
								vim.spec
									
									
									
									
									
								
							
							
						
						
									
										245
									
								
								vim.spec
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| %define patchlevel 307 | ||||
| %define patchlevel 402 | ||||
| %if %{?WITH_SELINUX:0}%{!?WITH_SELINUX:1} | ||||
| %define WITH_SELINUX 1 | ||||
| %endif | ||||
| @ -21,7 +21,7 @@ Summary: The VIM editor | ||||
| URL:     http://www.vim.org/ | ||||
| Name: vim | ||||
| Version: %{baseversion}.%{patchlevel} | ||||
| Release: 3%{?dist} | ||||
| Release: 1%{?dist} | ||||
| License: Vim | ||||
| Group: Applications/Editors | ||||
| Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}.tar.bz2 | ||||
| @ -355,6 +355,101 @@ Patch304: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.304 | ||||
| Patch305: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.305 | ||||
| Patch306: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.306 | ||||
| Patch307: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.307 | ||||
| Patch308: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.308 | ||||
| Patch309: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.309 | ||||
| Patch310: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.310 | ||||
| Patch311: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.311 | ||||
| Patch312: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.312 | ||||
| Patch313: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.313 | ||||
| Patch314: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.314 | ||||
| Patch315: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.315 | ||||
| Patch316: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.316 | ||||
| Patch317: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.317 | ||||
| Patch318: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.318 | ||||
| Patch319: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.319 | ||||
| Patch320: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.320 | ||||
| Patch321: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.321 | ||||
| Patch322: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.322 | ||||
| Patch323: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.323 | ||||
| Patch324: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.324 | ||||
| Patch325: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.325 | ||||
| Patch326: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.326 | ||||
| Patch327: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.327 | ||||
| Patch328: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.328 | ||||
| Patch329: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.329 | ||||
| Patch330: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.330 | ||||
| Patch331: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.331 | ||||
| Patch332: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.332 | ||||
| Patch333: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.333 | ||||
| Patch334: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.334 | ||||
| Patch335: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.335 | ||||
| Patch336: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.336 | ||||
| Patch337: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.337 | ||||
| Patch338: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.338 | ||||
| Patch339: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.339 | ||||
| Patch340: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.340 | ||||
| Patch341: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.341 | ||||
| Patch342: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.342 | ||||
| Patch343: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.343 | ||||
| Patch344: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.344 | ||||
| Patch345: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.345 | ||||
| Patch346: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.346 | ||||
| Patch347: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.347 | ||||
| Patch348: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.348 | ||||
| Patch349: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.349 | ||||
| Patch350: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.350 | ||||
| Patch351: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.351 | ||||
| Patch352: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.352 | ||||
| Patch353: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.353 | ||||
| Patch354: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.354 | ||||
| Patch355: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.355 | ||||
| Patch356: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.356 | ||||
| Patch357: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.357 | ||||
| Patch358: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.358 | ||||
| Patch359: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.359 | ||||
| Patch360: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.360 | ||||
| Patch361: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.361 | ||||
| Patch362: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.362 | ||||
| Patch363: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.363 | ||||
| Patch364: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.364 | ||||
| Patch365: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.365 | ||||
| Patch366: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.366 | ||||
| Patch367: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.367 | ||||
| Patch368: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.368 | ||||
| Patch369: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.369 | ||||
| Patch370: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.370 | ||||
| Patch371: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.371 | ||||
| Patch372: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.372 | ||||
| Patch373: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.373 | ||||
| Patch374: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.374 | ||||
| Patch375: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.375 | ||||
| Patch376: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.376 | ||||
| Patch377: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.377 | ||||
| Patch378: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.378 | ||||
| Patch379: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.379 | ||||
| Patch380: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.380 | ||||
| Patch381: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.381 | ||||
| Patch382: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.382 | ||||
| Patch383: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.383 | ||||
| Patch384: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.384 | ||||
| Patch385: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.385 | ||||
| Patch386: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.386 | ||||
| Patch387: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.387 | ||||
| Patch388: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.388 | ||||
| Patch389: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.389 | ||||
| Patch390: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.390 | ||||
| Patch391: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.391 | ||||
| Patch392: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.392 | ||||
| Patch393: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.393 | ||||
| Patch394: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.394 | ||||
| Patch395: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.395 | ||||
| Patch396: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.396 | ||||
| Patch397: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.397 | ||||
| Patch398: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.398 | ||||
| Patch399: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.399 | ||||
| Patch400: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.400 | ||||
| Patch401: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.401 | ||||
| Patch402: ftp://ftp.vim.org/pub/vim/patches/7.4/7.4.402 | ||||
| 
 | ||||
| Patch3000: vim-7.4-syntax.patch | ||||
| Patch3002: vim-7.1-nowarnings.patch | ||||
| @ -810,6 +905,101 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk | ||||
| %patch305 -p0 | ||||
| %patch306 -p0 | ||||
| %patch307 -p0 | ||||
| %patch308 -p0 | ||||
| %patch309 -p0 | ||||
| %patch310 -p0 | ||||
| %patch311 -p0 | ||||
| %patch312 -p0 | ||||
| %patch313 -p0 | ||||
| %patch314 -p0 | ||||
| %patch315 -p0 | ||||
| %patch316 -p0 | ||||
| %patch317 -p0 | ||||
| %patch318 -p0 | ||||
| %patch319 -p0 | ||||
| %patch320 -p0 | ||||
| %patch321 -p0 | ||||
| %patch322 -p0 | ||||
| %patch323 -p0 | ||||
| %patch324 -p0 | ||||
| %patch325 -p0 | ||||
| %patch326 -p0 | ||||
| %patch327 -p0 | ||||
| %patch328 -p0 | ||||
| %patch329 -p0 | ||||
| %patch330 -p0 | ||||
| %patch331 -p0 | ||||
| %patch332 -p0 | ||||
| %patch333 -p0 | ||||
| %patch334 -p0 | ||||
| %patch335 -p0 | ||||
| %patch336 -p0 | ||||
| %patch337 -p0 | ||||
| %patch338 -p0 | ||||
| %patch339 -p0 | ||||
| %patch340 -p0 | ||||
| %patch341 -p0 | ||||
| %patch342 -p0 | ||||
| %patch343 -p0 | ||||
| %patch344 -p0 | ||||
| %patch345 -p0 | ||||
| %patch346 -p0 | ||||
| %patch347 -p0 | ||||
| %patch348 -p0 | ||||
| %patch349 -p0 | ||||
| %patch350 -p0 | ||||
| %patch351 -p0 | ||||
| %patch352 -p0 | ||||
| %patch353 -p0 | ||||
| %patch354 -p0 | ||||
| %patch355 -p0 | ||||
| %patch356 -p0 | ||||
| %patch357 -p0 | ||||
| %patch358 -p0 | ||||
| %patch359 -p0 | ||||
| %patch360 -p0 | ||||
| %patch361 -p0 | ||||
| %patch362 -p0 | ||||
| %patch363 -p0 | ||||
| %patch364 -p0 | ||||
| %patch365 -p0 | ||||
| %patch366 -p0 | ||||
| %patch367 -p0 | ||||
| %patch368 -p0 | ||||
| %patch369 -p0 | ||||
| %patch370 -p0 | ||||
| %patch371 -p0 | ||||
| %patch372 -p0 | ||||
| %patch373 -p0 | ||||
| %patch374 -p0 | ||||
| %patch375 -p0 | ||||
| %patch376 -p0 | ||||
| %patch377 -p0 | ||||
| %patch378 -p0 | ||||
| %patch379 -p0 | ||||
| %patch380 -p0 | ||||
| %patch381 -p0 | ||||
| %patch382 -p0 | ||||
| %patch383 -p0 | ||||
| %patch384 -p0 | ||||
| %patch385 -p0 | ||||
| %patch386 -p0 | ||||
| %patch387 -p0 | ||||
| %patch388 -p0 | ||||
| %patch389 -p0 | ||||
| %patch390 -p0 | ||||
| %patch391 -p0 | ||||
| %patch392 -p0 | ||||
| %patch393 -p0 | ||||
| %patch394 -p0 | ||||
| %patch395 -p0 | ||||
| %patch396 -p0 | ||||
| %patch397 -p0 | ||||
| %patch398 -p0 | ||||
| %patch399 -p0 | ||||
| %patch400 -p0 | ||||
| %patch401 -p0 | ||||
| %patch402 -p0 | ||||
| 
 | ||||
| # install spell files | ||||
| %if %{withvimspell} | ||||
| @ -843,6 +1033,26 @@ mv -f Makefile.tmp Makefile | ||||
| export CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" | ||||
| export CXXFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2" | ||||
| 
 | ||||
| 
 | ||||
| perl -pi -e "s/help.txt/vi_help.txt/"  os_unix.h ex_cmds.c | ||||
| perl -pi -e "s/\/etc\/vimrc/\/etc\/virc/"  os_unix.h | ||||
| %configure --prefix=%{_prefix} --with-features=small --with-x=no \ | ||||
|   --enable-multibyte \ | ||||
|   --disable-netbeans \ | ||||
| %if %{WITH_SELINUX} | ||||
|   --enable-selinux \ | ||||
| %else | ||||
|   --disable-selinux \ | ||||
| %endif | ||||
|   --disable-pythoninterp --disable-perlinterp --disable-tclinterp \ | ||||
|   --with-tlib=ncurses --enable-gui=no --disable-gpm --exec-prefix=/ \ | ||||
|   --with-compiledby="<bugzilla@redhat.com>" \ | ||||
|   --with-modified-by="<bugzilla@redhat.com>" | ||||
| 
 | ||||
| make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} | ||||
| cp vim minimal-vim | ||||
| make clean | ||||
| 
 | ||||
| %configure --with-features=huge \ | ||||
|   --enable-pythoninterp=dynamic \ | ||||
|   --enable-perlinterp \ | ||||
| @ -909,24 +1119,6 @@ make clean | ||||
| 
 | ||||
| make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} | ||||
| cp vim enhanced-vim | ||||
| make clean | ||||
| 
 | ||||
| perl -pi -e "s/help.txt/vi_help.txt/"  os_unix.h ex_cmds.c | ||||
| perl -pi -e "s/\/etc\/vimrc/\/etc\/virc/"  os_unix.h | ||||
| %configure --prefix=%{_prefix} --with-features=small --with-x=no \ | ||||
|   --enable-multibyte \ | ||||
|   --disable-netbeans \ | ||||
| %if %{WITH_SELINUX} | ||||
|   --enable-selinux \ | ||||
| %else | ||||
|   --disable-selinux \ | ||||
| %endif | ||||
|   --disable-pythoninterp --disable-perlinterp --disable-tclinterp \ | ||||
|   --with-tlib=ncurses --enable-gui=no --disable-gpm --exec-prefix=/ \ | ||||
|   --with-compiledby="<bugzilla@redhat.com>" \ | ||||
|   --with-modified-by="<bugzilla@redhat.com>" | ||||
| 
 | ||||
| make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} %{?_smp_mflags} | ||||
| 
 | ||||
| %install | ||||
| rm -rf %{buildroot} | ||||
| @ -948,7 +1140,7 @@ cd src | ||||
| make install DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} | ||||
| make installgtutorbin  DESTDIR=%{buildroot} BINDIR=%{_bindir} VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/%{vimdir} | ||||
| mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64}/apps | ||||
| install -m755 vim %{buildroot}%{_bindir}/vi | ||||
| install -m755 minimal-vim %{buildroot}%{_bindir}/vi | ||||
| install -m755 enhanced-vim %{buildroot}%{_bindir}/vim | ||||
| install -m755 gvim %{buildroot}%{_bindir}/gvim | ||||
| install -p -m644 %{SOURCE7} \ | ||||
| @ -1322,9 +1514,18 @@ rm -rf %{buildroot} | ||||
| %{_datadir}/icons/hicolor/*/apps/* | ||||
| 
 | ||||
| %changelog | ||||
| * Wed Aug  6 2014 Tom Callaway <spot@fedoraproject.org> 2:7.4.307-3 | ||||
| * Wed Aug 13 2014 Karsten Hopp <karsten@redhat.com> 7.4.402-1 | ||||
| - patchlevel 402 | ||||
| 
 | ||||
| * Tue Aug 12 2014 Karsten Hopp <karsten@redhat.com> 7.4.401-1 | ||||
| - patchlevel 401 | ||||
| 
 | ||||
| * Wed Aug  6 2014 Tom Callaway <spot@fedoraproject.org> 2:7.4.373-2 | ||||
| - fix license handling | ||||
| 
 | ||||
| * Tue Jul 22 2014 Karsten Hopp <karsten@redhat.com> 7.4.373-1 | ||||
| - patchlevel 373 | ||||
| 
 | ||||
| * Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2:7.4.307-2 | ||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user